针对现代总线控制管理计算机系统的发展趋势,结合某型飞机航空通信总线控制管理的实际需求,设计了基于PowerPC + DSP的总线通信系统软件,主要是对RS422串行通信总线和ARINC429总线进行控制和管理。该软件分为驱动软件和控制软件,驱动软件运行在PowerPC上,它实现DSP与主机应用软件间的接口控制和数据传递,可提供各类消息数据的读、写支持,并对DSP内程序进行调度。控制软件运行在DSP上,它负责RS422串行通信总线和ARINC429总线通信的控制、数据接收和发送等。
PowerPC和DSP通过双口存储器进行数据通信。该中还介绍了总线通信系统中PowerPC和DSP的故障管理功能。本软件充分利用系统资源,实现了通信总线的控制与管理,满足航电系统总线通信与管理的要求。
PowerPC是IBM和Motorola公司共同开发的高性能、低功耗、开放架构的处理器,采用简单的指令集(RISC),同时集成了PCI -Express、千兆网络、RapidIO及CAN等多种网络通信控制器,支持DMA、I2C、UART等数据交换组件,具有处理能力强、网络通信接口多等优点,被广泛应用于汽车电子、航空航天、工业控制等要求高性能和高可靠性的领域[1-3]。鉴于此,文中设计了一种基于PowerPC750配有VME总线的CPU模块,满足现代武器装备的需求。
TMS320F240系列DSP是美国TI公司于1997年推出的,专为数字电机控制和其他控制应用系统而设计的16位定点数字信号处理器。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合在一起,从而成为传统的多微处理器单元和多片设计系统的理想替代品。
F240片内外设包括双10位A/D转换器,带有锁相环PLL时钟模块,带中断的看门狗定时器模块,串行通信接口SCI及串行外设接口SPI,另外,还集成了一个事件管理模块EVM。因此,F240不仅具有高速数据处理能力,还具有控制和事件管理能力,可完成人机界面,与上位机进行串行通信[4-5]。
1 总线通信系统架构
总线通信系统由一个CPU(PowerPC)模块、一个DSP模块以及电源模块组成。CPU模块采用PowerPC750处理器,同时集成了网卡和大容量FLASH,具有高速的数据采集及处理、仿真任务调度以及数据存储等功能。DSP模块采用TMS320F240系列芯片,通过局部总线,与外界设备通过RS422、ARINC429等数据交换总线相连。
用户通过PowerPC发送和接收任务数据,PowerPC再通过双口存储器与DSP相连接,进行数据交换,DSP则负责RS422串行通信总线和ARINC429总线通信的控制管理、数据接收和发送等,以上整个系统完成了总线的通信功能。总线通信系统架构如图1所示。
2 总线通信系统软件设计
2.1总线通信系统软件概述
总线通信系统软件由驱动软件和控制软件组成,是实现RS422串行通信和ARINC429总线通信的专用软件。其中,驱动软件实现DSP与主机应用软件间的接口控制与数据传递,它可提供各类消息数据的读、写支持,对DSP内程序的调度。控制软件负责RS422串行通信和ARINC429总线通信的控制、数据接收和发送等。
2.2驱动软件
驱动软件运行在PowerPC模块上,是应用软件与控制软件的接口软件,为实现应用软件的管理功能,驱动软件控制DSP模块的初始化、启动、停止、自测试,监控DSP模块状态,控制DSP模块和主机的数据交换。驱动软件操作状态及转换关系如图2所示。
当DSP在处在停止状态,调用DSP_Bit进行DSP自检测,调用DSP_Initialize进行DSP初始化。初始化完成后可调用DSP_Go将DSP转入运行状态。在运行状态下可调用操作信息驱动程序、RS422驱动程序和ARINC429总线驱动程序,进行消息传输,也可调用DSP_Stop将DSP转入停止状态。
驱动软件按其功能分为:模块控制程序、RS422控制程序、ARINC429总线控制程序、操作信息控制程序。
模块控制程序的主要功能是启动DSP模块上的初始化程序,使DSP初始化,然后启动DSP上的启动程序使DSP开始工作,还可以停止DSP运行以及启动DSP上的BIT程序进行自检测。
RS422控制程序的主要功能包括对RS422各通道进行初始化(各通道的接收/发送数据缓冲区划分,每个数据块的新数据、错误、中断等标志字的设置,波特率、奇偶校验位、数据位和停止位的设置),接着从双口存储器读DSP端RS422接收到的消息,并将要通过RS422发送的消息数据写入双口存储器,最终由DSP上的RS422进行数据发送。通过检查RS422的接收缓冲区,可以检查是否有新数据。
ARINC429总线控制程序主要功能包括对ARINC429总线通道进行初始化,从双口存储器读ARINC429总线接收到的消息,并将要通过ARINC429总线发送的消息写入双口存储器。
操作信息控制程序主要包括读DSP模块的自检测结果,读取DSP的HeartBeat计数器的当前值,读取DSP的状态,建立主机和DSP之间的通讯,复位DSP模块。
2.3控制软件
控制软件运行在DSP模块上,它负责RS422串行通信总线和ARINC429总线通信的控制、数据发送和接收等。控制软件的主程序中包括对DSP的初始化、启动、自检测、停止及复位等功能。控制软件响应来自运行在PowerPC上驱动软件的下发的命令,进行相应功能操作。在DSP模块初始化中,定时器中断被使能。定时器中断服务程序会以固定的周期执行,其中包括RS422通信握手,RS422在线状态判断,RS422发送和接收数据,ARINC429总线发送和接收数据等程序。
RS422通信握手程序首先从PowerPC写入双口存储器的相应地址中读取通信状态字,然后判断各通道状态,若三次接收到的通信状态字均为预值,则通信建立成功。
RS422在线状态判断程序负责读取各通道的在线状态,如果该通道已建立好通信,则清空接收寄存器,发送该通道在线状态命令;接收在线状态程序接收的现行状态数据长度若等于该通道的数据长度,则判断该通道的设备在线。
RS422串行通信总线和ARINC429总线均采用查询方式进行数据的发送和接收。
2.4故障管理
故障管理分为两部分:PowerPC故障管理和DSP故障管理,每部分包含了故障检测、故障过滤和故障处理。如图3所示。
DSP的故障检测的手段主要有BIT和软件注入,PowerPC模块主要有BIT,VxWorks5.5捕获软件故障、DSP注入、应用软件注入。BIT包含PUBIT、PBIT和IBIT,PUBIT上电后对系统硬件资源的检测,PBIT系统运行过程中对硬件资源周期性的检测,IBIT由用户启动对系统硬件资源的检测,BIT能够完成整个周期硬件资源的检测。
应用软件在运行过程中,发现故障,将该故障注入故障队列中,实现应用软件故障的管理。DSP发生致命性的,自己无法处理或者需要PowerPC处理的故障时,将此类故障注入PowerPC的故障队列中,以提高系统处理故障的能力。系统运行过程中,VxWorks5.5将捕获的异常信息注入故障队列中,以解决运行过程中产生的异常。
系统中的故障按照存在程度分为暂时性故障和永久性故障。暂时性故障带有间断性,是在一定条件下产生的故障,通过系统的调整或者运行环境的改变消失的故障。永久性故障具有永恒性,一旦发生故障,则系统无法自身的恢复,一直处于故障状态。
按照故障的严重程度将故障分为破坏性故障和非破坏性故障,破坏性故障一旦发生,将对系统造成致命的破坏,导致系统无法正常工作;非破坏性故障一般是局部的,影响系统的部分功能,但不会对系统造成致命性破坏。故障管理需要将同时具有非破坏性和暂时性的故障采用门限值的方式过滤掉,将过滤后的故障和其他类型的故障提交给故障处理机制处理。
门限值的过滤方式:在故障检测时,发现设备故障后,设备的故障数N=N+1,当N超过门限值W时,则向故障处理机制提交故障;再次检测时,发现该设备正常则N=N-1,当N<0时,则将N设为0。
3 小结
在总线通信软件中采用PowerPC + DSP的结构,既能发挥PowerPC高速信号采集和处理能力,又能发挥DSP高速数字信号处理能力。PowerPC上运行的驱动软件是应用软件与控制软件的接口软件,实现了应用软件的管理功能;DSP上运行的控制软件,它负责RS422串行通信总线和ARINC429总线通信的控制、数据发送和接收等。该软件充分利用系统资源,实现了通信总线的控制与管理,满足了航电总线通信与管理的要求。
作者:王璇 朱守园 赵根学 来源:电脑知识与技术 2016年5期
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。