2.2基于DSP的CAN测控仪的软件设计
TMS320LF2407A自带的CAN控制器完全支持CAN2.0B协议,可工作在标准模式和扩展模式,支持数据帧和远程帧,数据收发采用邮箱方式,邮箱0—1是接受邮箱,邮箱4—5是发送邮箱,邮箱2—3是随意配置邮箱,根据实际需要确定为接受邮箱或发送邮箱,邮箱由寄存器控制。
CAN总线智能节点的软件设计主要包括四大部分:CAN节点初始化、数据发送、数据接收以及数据处理。初始化模块将所用的寄存器清零,并将程序FLASH区和数据RAM区初始化,中断口等设置为主程序准备运行状态;看门狗监视DSP芯片的各资源的硬件运行情况,DSP芯片运行处于正常状态后,定时器软中断启动LS7266Rl采集一帧数据。TMS320LF2407中的数据处理模块对各通道数据进行处理。数据的发送和接收主要是通过CAN控制器来完成,CAN控制器经过初始化设置后即可进入正常的工作模式进行数据的发送和接收。控制系统的CAN数据发送采用查询方式、CPU一旦执行完中断处理程序,就检测是否有CAN数据对外发送。发送子程序负责节点数据的发送。发送时CAN控制器将待发送的数据按照特定格式组合成一帧报文,送入发送邮箱。为保证不丢失接收的数据,控制系统接收CAN数据采用中断方式。接收子程序接收到网络上其他节点发来的数据后,CAN控制器向DSP产生一个中断请求,DSP进入接收中断子程序后查询接收控制寄存器RCR。确定接收到的数据所存放的邮箱号,然后读取该邮箱的数据。图3为系统主程序的流程图。
3 中间测控子系统和顶层客服端子系统(上位测控子系统)
由于测控系统包含物理层、数据链路层、应用层三层协议,设计相对复杂,CORBA技术能够屏蔽底层复杂的不同的操作平台和网络通信的细节问题,使网络化控制系统的设计与实现更为简单方便,因此上位铡控系统引入CORBA技术。本设计采用CORBA Server(相当于网关),解决CAN总线与上位机以太网直接通讯问题,完成协议的转换和数据转发及服务器的一些功能。CORBAClien“被嵌入进web server)对现场设备进行监控并对远程web客户提供信息服务,CORBA server与CORBA Client通过以太网连接。ORB采用Borland公司的Visibmkcr,编程实现工具为C++BiIder6.0。
分布式远程控制功能是通过wEB浏览器来实现的,通过动态机制CGI与web服务器连接,最终实现了对现场总线设备的远程控制。HTTP协议是web服务器和浏览器的通信协议,HTTP规定了发送和请求的标准方式.规定了浏览器和服务器之间传输的消息格式及各种控制信息,允许不同种类的客户端相互通信而不出现兼容问题。
图3 软件流程图
根据实际要求,上位机应用程序功能模块主要有数据采集、数据显示、数据处理等,其结构如图4所示。
图4 应用程序功能模块