×
单片机 > 单片机程序设计 > 详情

基于PIC18LF6520的专用接口板设计

发布时间:2020-08-26 发布时间:
|
  1、引言

  在低成本MIMU/MR/GPS组合导航系统中,不仅系统内部各种设备之间存在大量的实时数据传输,而且系统与外界的一些设备之间也要进行实时的数据交换。然而,协同工作的不同设备的接口各不相同而且传输协议也有差异,导致这些设备之间不能够直接进行数据传输。市场上常见的接口卡,综合考虑其性能、尺寸和成本等因素不适合于低成本MIMU/MR/GPS组合导航系统。因此,研制一种专用的接口板,满足组合导航系统中不同设备间数据交互的需要,具有非常重要的现实意义和应用前景。

  2、设计要求

  低成本MIMU/MR/GPS组合导航系统的结构框图如图1所示,从图中可以地看到,系统内部各个分机设备以及系统外部相关设备的接口各不相同而且传输协议也有差异:OEM板使用RS-232异步串口交换数据;导航计算机通过SPI总线进行数据传输;MIMU、磁传感器、温度传感器和压力传感器等直接输出模拟差分信号;系统则通过RS-485和RS-232与系统外设备进行通讯。这些设备之间不能够直接进行数据传输,因而要求研制一种专用接口板,在各种设备间架起一座通讯的“桥梁”,对接口板的各项要求参见表1。

  3、硬件电路设计

  3.1 控制器的选择

  本设计中控制器选用Microchip公司的PIC18LF6520单片机。该单片机包含2个RS232串口,配置有一个主控同步串行端口(MSSP)模块,复用一个从动并行端口(PCP),完全可以满足本系统中各种设备的接口要求。另外,PICLF6520有7个并行端口,每个端口中的每根引脚都可以用软件的方式单独编程,控制能力强大;自带1K字节的电可擦写EEPROM存储器,拥有32K字节的FLASH存储器,2048字节的RAM、丰富的中断源,具有体积小、功耗低的特点。看门狗可以提高软件运行的可靠性,RISC(精简指令集计算机)指令易学易用,ICSP(在线可编程)方便可调。

  3.2 接口板与OEM板的接口设计

  接口板与GPS接收机接口的主要作用是接收GPS数据,并向GPS接收机发送控制指令。主要通过接口板上的PIC18LF6520来实现。

  本系统采用的GPS接收机是NovAtel公司的SuperStar II GPS-OEM板,它采用RS-232异步串行口(波特率范围在300Hz到38.4KHz)通过报文的形式与外部设备进行信息的交换并对其控制。SuperStar II GPS-OEM接收机具有20针的接口端子,设计中使用部分的管脚定义如表2所示。


  PIC18LF6520本身带有全双工的异步串行口(UART),因此两者之间的接口电路只需增加一个ADM232AARN电平转换芯片即可,原理图参见图2。在初始化SuperStar II GPS-OEM接收机和单片机串行口时定义相同的波特率、字符长度、停止位数、偶/奇/无校验等,两者之间的通信采用中断工作方式。

  3.3 接口板与主惯导、控制机构的接口设计

  在实际应用中,低成本的MIMU/MR/GPS组合导航系统需要从主惯导传送初始化数据和初始对准数据,由于通常传输距离较远,为保证数据传送的可靠性,采用RS-485/422通信协议。初始化完成后,该端口可用于向控制机构传递经过运算后的导航参数,这时距离较近,可采用RS-232通信协议。本设计中采用PIC18LF6520、ADM232AARN和ADM3491芯片并辅以少量其它电路,仅需要通过对相应管脚进行编程控制,方便地实现了RS-232/485/422多协议异步串口,实现导航处理器与主惯导或控制机构的数据通信。

  PIC18LF6520通过ADM232AARN、ADM3491芯片实现与主惯导和控制机构间通讯的多协议串口硬件电路如图3所示。当接口板需要与主惯导通讯时,由控制机构发送指令给接口板上PIC18LF6520的UART1端口,UART1端口响应中断并分别使能ADM3491芯片的输入/出管脚;在导航解算工作模式下,将ADM3491设置为节电模式,切断接口板与主惯导的通讯。

  
图3 接口板与外部设备的接口

  3.4 接口板与MIMU、磁传感器、温度传感器和压力传感器的接口设计

 

  MIMU、磁传感器、温度传感器和压力传感器输出的都是模拟信号,需要经过A/D转换成数字信号后才能被系统使用。其中,MIMU输出三个轴向的加速度信号、三个角速度信号和三个温度补偿信号;磁传感器输出三个轴向的磁强信号;温度传感器的量程为-400C~+1250C;压力传感器的量程为15kPa~115kPa。上述信号都以差分形式输出,差分电压范围为-2.5V~+2.5V。

  A/D转换芯片选用AD公司生产的ADS1254E,ADS1254E是具有24位精度的4通道模/数转换芯片,每路通道均为差分输入信号,在本设计中使用了4片ADS1254E芯片组成一个16通道的A/D转换电路。

  ADS1254E芯片的精密参考电压输入管脚接入2.5V,由接口板上一个2.5V的精密电压产生模块供给。ADS1254E有4路差分数据输入通道,而每次仅能串行输出1路通道的转换结果,切换通道的控制信号由导航计算机提供。另外,ADS1254E还需要2路时钟信号,即采样时钟信号和串行输出时钟信号,4片ADS1254E的时钟信号严格同步,均由导航计算机提供。详细的硬件结构图参见图4。

  3.5 接口板与导航计算机的接口设计

  接口板与导航计算机的接口比较多,主要接口有:与PIC18LF6520通讯的SPI总线,包括电源、地、仿真口、LED指示灯输入电压、PPS信号、A/D转换电路输入/出信号等相关I/O口,与外部设备通讯的扩展UART端口。

  PIC18LF6520与导航计算机通过SPI总线通讯,利用PIC18LF6520的MSSP模块来实现。PIC18LF6520的MSSP模块可以工作在两种模式,即SPI模式和I2C模式,本设计中使用SPI工作模式,需要复用单片机的RC3、RC4、RC5和RF7管脚;导航计算机需要为模数转换电路中的AD芯片提供2路时钟信号、2路通道选择信号,并且接收4路数字串行输出信号;最后,导航计算机和接口板之间还留有2个UART扩展端口,为以后的系统升级提供了方便。硬件结构图参见图5,需要注意的是SEL0、SEL1是AD芯片的通道选择信号,4片AD芯片的通道选择信号相同,CLK、SCLK分别是AD芯片的采样时钟信号和串行数据输出时钟信号,4片AD的时钟同步。

  4、软件设计

  接口板的软件设计主要是对PIC18LF6520的编程,以实现导航计算机、GPS-OEM板、控制机构和主惯导之间的实时数据传输。软件设计分为主程序设计部分和中断服务子程序设计部分。主程序上电后执行参数的初始化和端口设置(SPI端口初始设置为主模式),然后进入循环等待状态;中断服务子程序响应UART端口的中断请求,判断中断源,然后跳转到相应的服务程序,中断服务程序流程图参见图6。

  如果是UART1端口的中断,则程序跳转到UART1的中断服务子程序中来。UART1端口负责接收上位机的指令,控制切换整个系统的工作模式,并且根据需要设定系统的参数。程序流程图参见图7。

  如果是UART2端口的中断,则程序跳转到UART2的中断服务子程序中来。UART2端口主要是根据当前的工作模式,响应OEM板GPS数据的中断,实时采集OEM接收板串行输出的导航电文,同时完成电文的解码。具体执行流程图参见图8。

  5、结论

  本文所设计的接口板成功地解决了低成本MIMU/MR/GPS组合导航系统中具有不同接口的设备之间的数据通讯问题。对比市场上常见的一些接口卡,本接口板成本低、尺寸小(只有134mm×116mm),功能集成度高,经过实际调试、使用,证明其性能可靠,功能强大,具有一定的通用性。

  参考文献

  [1]种秩萌 王 亮 韩崇昭 李峰. 基于DSP和FPGA的ARINC429机载总线接口板的硬件设计[J], 集成电路应用,2004,29(4):65-67

  [2]NovAtel Company. SUPERSTAR II Firmware Reference Manual[EB/OL]. Publication No. OM-20000086,2005.06




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义