新闻中心

EEPW首页>汽车电子>设计应用> 基于CAN 总线的信息采集系统设计

基于CAN 总线的信息采集系统设计

作者: 时间:2010-11-17 来源:网络 收藏

  在使用接口卡之前首先要对卡进行波特率、传输报文格式等参数的初始化。

  1) 初始化的传输报文格式为提供29 位地址的2.0B 扩展模式;2) 初始化CAN的波特率为500 Kb/s。

  利用PCI/cPCI -7841CAN 接口卡的CanOpen-Driver () 函数打开CAN 端口, 用CanConfigPort () 函数进行初始化,用CanSendMsg()函数发送数据包,用Can-RcvMsg()函数接收数据包,用CanCloseDriver () 函数关闭端口[3]。创建接收线程,接收数据之后按要求对数据进行处理。应用MFC 制作通信界面。注意,线程函数只能是静态成员函数,或者是在类外面声明的一个函数。

  初始化程序如下:

  PORT_STRUCT setPort;long handle[2];HANDLE rcvEvent0;HANDLE rcvEvent1;setPort.mode = 1; // 0 : 11-bit ; 1 : 29-bit CAN networksetPort.accCode = 0; // Only ID = accCode can pass thefiltersetPort.accMask = 0x7FF; // Don't care bitsetPort.baudrate = 2; // 0:125 Kb/s; 1:250 Kb/s; 2:500 Kb/s;3:1 Mb/s//open porthandle[0] = CanOpenDriver(0, 0);handle[1] = CanOpenDriver(0, 1);CanConfigPort(handle[0], setPort);CanConfigPort(handle[1], setPort);//get the receive event handleCanGetReceiveEvent(handle[0], rcvEvent0);CanGetReceiveEvent(handle[1], rcvEvent1);系统软件界面如图5 所示。

  2 实验结果:

  经过实验验证,该系统采集的数据经过通信后不变,确保了的可靠、准确。

  3 结束语:

  由于基于CAN的数据通信具有突出的可靠性、实时性和灵活性,同时由于TMS320F2812 DSP 的eCAN 模块使数据传输更加灵活方便,数据量更大,可靠性更高,功能更加完备,用该DSP 进行下位机的数据发送,PCI/cPCI CAN 接口卡进行数据接收,从而完成,并对采集的数据进行相应处理,对陀螺组合的状态进行监测,这对卫星等的导航有着重要意义。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭