始化CAN内部寄存器时注意使得各节点的位速率必须一致,而且接、发双方必须同步。发送一帧数据采用高速DMA,它允许在最多2个周期内,在CAN控制器和主RAM之间传送一个完整的报文(最多10个字节)。CPU功能的极大增强是由于高速传送是在后台完成的。一次成功的DMA传送后DMA位被复位。DMA传送期间,CPU可以处理下一条指令,然而,不允许对数据存贮器、CANADR、CANDAT、CANCON或CANSTA的访问。置DMA位后,各个中断均被禁止,直至传送结束。复位状态期间(复位请求位为高)不能进行DMA传送。为提高通信的实时性,报文的接收采用中断接收方式,这样也可保证接收缓存器不会出现数据溢出现象。
主机程序包括测量和控制子程序、通信子程序、数据处理子程序等。数据测量和控制子程序用来控制下位机进行测量,通信子程序根据通信协议发送控制命令并接收测量数据,数据处理子程序实现对数据的预处理和存储。主机程序用C语言编写。主机程序流程见图4。
3 水下物理场数据采集实验
在对水下物理场数据进行采集时,需要测量的信号共有3种8路:电场三个分量,磁场三个分量以及传感器在海底的倾斜角度两个分量。实际测量时,整个测量体(包括传感器,信号调理电路,水密容器等)放置在海底(约30米深),测量体距离岸边接收主机120米。其他一些实验参数设置如下:传输波特率为1Mbps,各节点的采样频率为10KHz,每采样4路信号向主机发送一次数据,每次送出4组8字节数据,分辨率:0.0495μA/m;信号输入范围:-50mV~50mV;信号频率带宽:500Hz~800Hz;供电电压:±5V,9V,±15V。测量系统在较复杂的海洋环境条件下从上午9:00开始工作,中间不停机,到下午5:00测量完毕。测量结果经过分析与理论计算吻合说明该系统工作稳定、可靠。此外,全套测量系统硬件设备(包括计算机与传感器)造价低于3万元。
4 结论
CAN总线已被公认为是最有前途的几种现场总线之一,在一些高档汽车车载系统中已经得到了广泛应用,也因其高性能价格比、实现简单等突出优点深得越来越多的研发人员的青睐。本文的创新点是提出一种基于CAN总线结构的远程数据采集系统方法,将CAN总线技术应用于工业现场控制中,设计了硬件电路和软件,并得到实际应用。该系统可在复杂的海洋中实现对8路传感器信号的实时采集与传送,实验证明该系统具有结构简单、性能可靠、传输距离远、价格低廉等优点。该系统设计方法也可应用到其他需要数据采集的多节点系统中去。
上一页 [1] [2]