2. 北海职业学院 电子信息工程系,广西 北海 536000
2. Department of Electronic and Information Engineering, Beihai Vocational College, Beihai 536000, China
随着舰船信息技术的发展,舰载武器系统的信息化、自动化程度得到了迅速的提升,尤其是火控设备,已经由传统的简单机械控制,逐渐向全自动、数字化控制方向转化。
串行通信技术相对于其他通信手段具有数据传输可靠性高、通信线路简单等优点,是武器系统最常规、最基础的一种通信方法。以较为复杂的舰载武器系统为例,串口通信不仅需要实现单机控制任务,在一些特定工况下还需要与系统的其他外设进行组网,因此,必须要保证串口通信控制中心具有足够的软硬件资源。
本文的研究方向是搭建一个基于MPC8247微处理器的舰载火控计算机串行通信模块,研究重点是MPC8247微处理器的通信控制、串口通信硬件设计和通信流程等。
1 MPC8247微处理器的硬件结构MPC8247处理器不仅继承了MPC860的CPM通信处理模块,也在性能上得到进一步的提升,主工作频率更高,总线接口更丰富。
MPC8247微处理器的内部结构基于G2LE PC内核,包括16位指令cache和16位数据cache,采用RAM存储器和中断控制器、串行DMA控制器,最高工作时钟频率为200 MHz。
MPC8247微处理器的内部结构如图1所示。
MPC8247微处理器的基本特性包括:
1)MPC8247微处理器带有32位地址总线和64位数据总线,可外接多个硬件设备接口。
2)具有18位局部地址总线和18位局部数据总线。
3)MPC8247微处理器通过接口引脚控制存储器,通过总线控制附加存储器和外部设备。
4)具有8个外部中断引脚,中断请求寄存器具有存放外部输入的中断请求信号的功能,中断屏蔽寄存器IMR用来存放屏蔽信息,中断服务器寄存器ISR起到记录执行中的中断请求功能。
5)MPC8247微处理器的时钟源为外部时钟源,采用标准的JTAG引脚。
6)波特率发生器的作用是从输入时钟转换出需要的波特率clk。
2 MPC8247微处理器通信控制器CPMMPC8247微处理器集成了高性能的通信控制器CPM,该模块主要负责MPC8247微处理器底层的通信任务,通信控制器CPM的缓冲区描述符(BufferDescriptor)存储在MPC8247微处理器的RAM[1]。
缓冲区描述符的主要作用是描述MPC8247微处理器的数据传输状态,采用32位字符[2],前16位字符包含状态字符和控制字符,对应于不同的通信控制器FCC有不同的定义,后16位字符用来表示数据的长度,最大数据长度由RAM定义。
表1为缓冲区描述符的基本定义。
通信控制器CPM的内部存储空间大小为256 kB,按照功能特征划分为寄存器、BD以及数据缓冲区。其中,内部存储空间中有16 kB双口RAM,主要负责存储CPM的相关参数。
双口RAM具备以下功能:
1)参数存储
包括FCC、SCC、SPI、串行DMA控制器等相关参数的存储。
2)数据缓冲功能
通信控制器CPM的内部传输通道需要通过设置数据缓冲机制来缓和数据的不均匀性。双口RAM能够降低CPU资源占用率,提升通信控制模块的性能。
3)临时存储功能
通信控制器的数据流如图2所示。
串口通信方式的可靠性高,在设计舰载火控计算机通信模块时,以串口通信方式为主,总线通信方式为辅,图3为舰载火控计算机串口通信模块基本架构。
可知,舰载火控计算机串口通信模块基本架构以MPC8247处理器为核心,包括64M SDRAM、16 M FLASH、复位电源、IDT70261、串口电路、PCI 总线等。
MPC 8247处理器的功能包括基本通信控制、外接设备管理等,处理器与内部模块之间的指令传递通过串口信道,处理器与外部设备之间的数据传递通过PCI总线。
相对于传统的单片机架构,舰载火控计算机串行通信模块具有下述特征:
1)通信模块的数据传递与业务功能模块划分清晰,能够保证系统的性能;
2)主处理器与外接设备采用PCI总线实现数据传输,确保了通信数据的时效性;
3)采用RS232串口和RS485串口信道,指令传输速度快。
3.2 基于MPC 8247的舰载火控计算机串行通信模块硬件设计重点针对舰载火控计算机串行通信模块的硬件进行设计研究。
1)双口RAM设计
舰载火控计算机串行通信模块的双口RAM关键设计指标为双口RAM容量和带宽,由于系统的串行通信主要建立在MPC8247处理器-数据缓冲区-PCI总线之间,正常工作时使用8路RS232通道,因此双口RAM设计时需要满足数据的存储空间要求。
选用IDT70261作为系统高速双口RAM,该双口RAM采用16位存储空间,具备双向控制能力,适应于舰船火控系统的工况。
2)PCI桥接电路设计
火控计算机串口通信模块的PCI总线接口电路可以分为2种,其一是专用PCI芯片电路,其二是结合FPGA芯片构成电路。其中,采用外挂FPGA芯片的电路设计复杂度高,成本高,而采用专用PCI芯片进行电路设计可以保证PCI桥的基本功能以及数据传输的速度。同时,专用PCI芯片的开发周期短,有助于降低开发成本。
在设计PCI桥电路时,选用PLX公司的PCI 9052专用芯片作为控制核心,图4为舰载火控计算机串口通信模块的PCI桥接电路图。
3)复位电路设计
舰载火控计算机串口通信模块复位电路对于工作稳定性有很高的要求,选用专业复位控制芯片MAX706T作为复位电路的控制核心,该芯片的复位控制包括手动复位和上电复位,芯片的复位时间小于400 ms,能够满足舰载火控计算机串口通信模块对于系统复位的效率要求。
4)电源电路设计
MPC8247采用3V交流供电,图5为串口通信模块的电源电路图。
可知,舰载火控计算机串口通信模块的电源电路采用LM3475为电源控制器[3],防止电源电路出现短路、断路等故障。同时,LM3475可以配置不同的电路,实现电源电压、电流的精确控制。
3.3 基于MPC8247的舰载火控计算机串行通信流程基于MPC8247的舰载火控计算机串行通信流程分为信号接收流程和信号发送流程。
1)信号接收流程
信号接收流程是指MPC8247控制中心[4]通过串口通道接收数据,并将数据写入指定数据缓存器,用户可通过主机系统读取数据。
火控计算机串行通信模块的MPC8247处理器将8路串口信道的数据存储在缓存器中,将数据设置一个可读标志位和指针。同时,系统产生一个中断信号发送至主机系统。
主机系统接收到中断信号后,首先检测可读标志位的状态,当标志位显示可读时,主机系统读取该数据的指针,然后根据指针读取缓存器中的数据。主机系统读取完成后,将指针和可读标志位置0[5]。
2)信号发送流程
信号发送流程是指舰载火控计算机串行通信模块将数据写入到指定发送缓存器中,然后通过指定串口通道将数据发送至外部设备。
当数据需要发送时,MPC8247处理器首先检测发送缓存器中的可写标志位和指针,如果可写标志位的状态为1,则将缓存器的数据读出,并通过指定串口通道发送。
图6为舰载火控计算机串行通信模块通信流程。
舰载火控系统关系到舰船的作战能力,本文的研究方向是火控计算机通信模块,分别对MPC8247处理器的内部结构、通信控制模块CPM的控制特性和数据流、串行通信模块的硬件设计、串行通信模块的数据传输流程等进行详细介绍。
[1] |
张斌峰, 曹兴冈, 谢涛. 机载通信管理器的处理器模块设计[J]. 航空计算技术, 2014, 44(3): 128-131. DOI:10.3969/j.issn.1671-654X.2014.03.002 |
[2] |
张斌峰, 曹兴冈, 王斌. 基于MPC8245的通用处理器模块的设计[J]. 航空计算技术, 2011, 41(5): 102-104. DOI:10.3969/j.issn.1671-654X.2011.05.026 |
[3] |
周洪, 沈华. 基于MPC8640处理器的通用处理模块硬件设计[J]. 电脑知识与技术, 2014, 10(20): 4922-4925. |
[4] |
张继伟, 王平, 朱勇发. 通信处理器MPC852T的无线接入点的系统设计[J]. 单片机与嵌入式系统应用, 2005, 5(2): 57-60. DOI:10.3969/j.issn.1009-623X.2005.02.016 |
[5] |
朱采葳. 计算机间异步方式数据通信中实现数据流平衡的软SILO方法[J]. 计算机应用与软件, 1984(6): 9-11. |