基于CAN总线的数据通信采集系统
1.2 系统软件设计:
系统软件主要完成基于CAN 总线的数据通信, 并在接收数据之后按要求对采集的导航数据进行处理,转换成实际所需数据类型,对陀螺组合的状态进行监测。
本系统CAN 总线通信报文格式采用CAN2.0B 扩展模式,通信数据格式主要是对CAN 总线协议中的(仲裁场ArbitrationField)和(数据场Data Field)进行定义,要求数据传输速率为500 Kb/s。协议帧格式如图3 所示。

系统的接收软件设计流程图如图4 所示。

在使用CAN 接口卡之前首先要对卡进行波特率、传输报文格式等参数的初始化。
1) 初始化CAN 总线的传输报文格式为提供29 位地址的CAN2.0B 扩展模式;2) 初始化CAN 总线的波特率为500 Kb/s。
利用PCI/cPCI -7841CAN 接口卡的CanOpen-Driver () 函数打开CAN 端口, 用CanConfigPort () 函数进行初始化,用CanSendMsg()函数发送数据包,用Can-RcvMsg()函数接收数据包,用CanCloseDriver () 函数关闭端口[3]。创建接收线程,接收数据之后按要求对数据进行处理。应用MFC 制作通信界面。注意,线程函数只能是静态成员函数,或者是在类外面声明的一个函数。
评论