您的当前位置:首页基于CAN总线的数据采集节点的设计

基于CAN总线的数据采集节点的设计

2022-05-22 来源:爱问旅游网
2010年11丹 第"期 电子{贽I试 Nov.2o1o ELEcTR0Ntc TEsT No.11 基于CAN总线的数据采集节点的设计 于成毅,裴东兴,梁志剑 (中北大学电子测试技术国家重点实验室,山西太原030051) 摘要:CAN总线以其自身的技术特点和良好的性能在现代测控领域得到了广泛的应用,本文介绍了一种基于 CAN总线的数据采集节点的设计方案,给出了系统总体设计和节点的基本结构,详细说明了以MSP430F449 单片机、SJAIO0O为核心的节点的硬件及软件设计。可在CAN总线上挂载多个数据采集节点,解决了多个节 点之间的通信问题。研究表明该方案具有硬件结构简单、成本低廉、采集精度高、抗干扰能力强等优点,实 现了数据采集系统的网络化。 关键词:CAN总线;数据采集;传感器;SjalOOO 中图分类号:TP302.1 文献标识码:A Design of data acquisition node based on CAN bus Yu Chengyi,Pei Dongxing,Liang Zhijian (National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan,03005 1 China) Abstract:CAN Bus has been widely used in the field of modern measurement and control with its own technical features and good performance,this article introduces a kind of data acquisition node based on CAN Bus,the overall framework of system and basic structure of node are presented,the hardware and software design of node based on MSP430F449 microcontroller and SJAIO00 is illustrated.Besides,several or more data acquisition nodes can be connected to CAN Bus,the problem of communication between nodes has been solved.The result of study shows that the method has the advantage of simple structure,low COSt,high precision,anti—interference capabiliy,and realtizes the networking of data acquisition node. Keywords:CAN—Bus;data acquisition;sensor;SJAIO00 0引言 cAN(control1er Area Network),即控制器局域 网 是应用最广泛的现场总线之一,与一般的通 信总线相比,CAN总线的数据通信具有突出的可 靠性、实时性和灵活性。由于CAN总线的自身特 点,其应用范围已不再局限于汽车行业,而广泛应 用于机械工业、机器人、楼宇自动化、传感器等领 域。在数据采集系统中离不开传感器,传统的传感 器与上位机的点对点的模拟通道连接方式,抗干扰 能力差、精度低 。本文提出了一种基于CAN总 线的数据采集节点的设计方案,将传感器采集到的 数据以数字量的形式输出,通过CAN网络可方便 地与上位机相连,从而简化了系统结构,提高了精 度。同时,可在CAN总线上挂载多个数据采集节点, 实现数据采集节点的网络化,适合传感器分布比较 分散的数据采集系统 。 1系统总体设计 CAN总线为多主方式工作,网络上任意一点 可以在任意时刻主动地向网络上发送信息,而不分 主从,但在实际应用中经常把它设计成主从方式 。 本设计采用分布式模块化体系结构,主要由上位机、 多个数据采集节点、CAN总线网络组成。上位机 作为整个数据采集系统的主节点,用于接收系统运 行中传感器的信息,上位机通过CAN/PCI转换卡 与CAN网络相连,其它数据采集节点将采集到的 信号发送到CAN总线上,其总体结构框图如图l 所示。本设计采用的分布式数据采集系统有利于添 加或减少数据采集节点,对原有的CAN网络和节 点不会产生任何影响。 图1系统总体结构框图 2数据采集节点硬件组成 2.1数据采集节点 数据采集节点的关键技术在于将传感器与CAN 接口的一体化。数据采集节点基本结构图如图2所 示,硬件主要由微处理器、信号调理电路、传感器 及CAN总线接口电路组成,并且封装在同一壳体 内。传感器输出的模拟信号经过信号调理电路后输 送给微处理器,并通过其内嵌的ADC模块将模拟 信号转化为数字信号,进行必要的数据处理。微处 理器根据上位机的命令将数据通过CAN接口电路 传输到CAN总线上,或将采集到的数据存储在微 处理器的内部Flash中,以满足某些特殊场合传感 器数据不能及时传回的情况,方便事后分析和波形 再现。由上述分析可知,微处理器是整个数据采 集节点的核心,负责采集数据和CAN控制器的初 始化,通过控制CAN控制器实现数据的发送和接 收等通信任务。本设计的微处理器采用TI公司的 MSP430F449型单片机m ,该型单片机体积小,功 耗低,具有丰富的片上模块:48个可独立编程的I/O、 l2位ADC、3个16位定时器、60KB的Flash存储器、 2KB的RAM,完全满足设计要求。 离 。这里需要注意,采用光电隔离必须保证光电 隔离器件两端所加电源和地完全隔离,否则光电隔 离将失去应有的作用。MSP430F449的Pl口与P2 口具有中断功能,SJA1000的中断输出引脚INT# 与P2.0相连。为了能够让MSP430正确检测到下 数据采集节点外壳 降沿的中断信号,所以在该端口上加上了上拉电阻。 图2数据采集节点基本结构图 在CAN总线两端需各加一个l20n匹配电阻,以 抑制反射回波。 2.2 CAN通信接口电路 CAN通信接口电 路口 主要由CAN控制器 SJA1000、CAN收发器 82C250、高速光耦6N137 等3部分组成,其电路原 理框图如图3所示。微处 理器MSP430F449负责 SJA1000的初始化,通过 控制SJA1000实现数据 的发送与接收。SJA1000 图3 CAN接口电路原理框图 的工作在Inter模式,工作时钟为16MHz。由于 2。3信号调理电路 SJA1000的工作电压为5V,在与MSP430的接口 传感器将被测物理量转换为电信号,但其输出 电路设计中需要考虑电平逻辑匹配问题,否则会导 一般很微弱,且包含各种干扰和噪声,需要由信号 致系统不能正常工作。电平转换芯片选用TI公司 调理电路将其放大、滤波,使其满足A/D转换器的 的SN74LVC4245,该芯片是一个8位的双向电平 输入要求。本设计的信号调理电路主要由测量放大 转换器件,支持3.3V与5V电平之问的双向转换, 器和低通滤波两部分组成。图4是由3个运算放大 A1~A8连接5V电平数据端口,B1~B8连接3.3V 器构成的测量放大器,该测量放大器具有高的输入 电平数据端口,OE#是输出使能控制,DIR端口控 阻抗,低的输出阻抗,较高的共模抑制比。其输出 制电平转换方向:DIR为低电平时, ̄N3"N Eh B 为: 。 到A;DIR为高电平时,数据方向由A到B。为 了增强CAN总线节点的抗干扰能力,SJA1000的 TX0和RX0并不是直接与82C250的TXD和RXD 相连,而是通过高速光耦6N137后与82C250相连, 这样就很好地实现了总线上各CAN节点的电器隔 图4测量放大电路 低通滤波电路用来滤除信号中的高频噪声,保 证信号的正确性,提高系统信噪比。在此,采用二 阶压控电压源低通滤波电路对信号进行滤波。该电 路的特点是:运算放大器为同相接法,滤波器的输 模块,把模拟信号转换成数字信号。ADC转换模式 为单通道单次转换,选择Timer A的输出信号作为 采样触发源,即采样频率由Timer A决定。 CAN报文发送是指向指定的节点发送数据,本 设计中将数据采集节点的数据发送到上位机,发送 入阻抗很高,输出阻抗很低,滤波器相当于一个电 压源,具有电路性能稳定,增益容易调节的优点。 时微处理器将待发送的数据按标准帧格式组成一 电路如图5所示,其传递函数为: An(S) 丽 其中: =I+R,/R。。滤波截止频率为/ =1/2rtRCo 图5低通滤波电路 3数据采集节点软件设计 CAN数据采集节点软件设计主要由初始化、数 据采集、接收和发送组成。其中初始化程序包括 MSP430的初始化、SJA1000的初始化,以及各端 口的设置。由于MSP430系列单片机不开放内部 总线,因此需要通过I/O口模拟总线时序来完成对 SJA1000的控制,完成读写操作。在程序设计时采 用了SJA1000的PeliCAN工作模式,CAN格式选 用标准帧格式。 初始化SJA1000是对其相关寄存器写入相应的 控制字来确定其工作方式。初始化工作主要包括模 式设置、命令寄存器设置、总线时序设置、中断使 能设置及接收验收滤波设置等。当所有配置全部完 成后,一定要清除复位标志,在确定SJA1000进入 操作模式后,该节点可进行正常的通信任务。 数据采集程序控制MSP430自带的l2位ADC 帧报文,送入SJA1000发送缓存区中,然后启动 SJA1000发送即可。CAN报文接收主要有两种方 式:中断接收方式和查询接收方式,由于在本设计 中,节点何时从总线上收到报文是不可知的,如果 采用查询法,将耗费大量的时间来查询SJA1000的 接收状态,且实时性也大受影响,所以在本设计中 采用中断接收方式。CAN数据采集节点的程序流程 图如图6所示。 图6数据采集节点程序流程图 4测试结果 为了测试数据采集节点和CAN网络的通信功 能,将3个下位机节点接进CAN网络中,组成了 一个小型的分布式网络。上位机节点采用CAN/PCI 转换卡与总线连接,监控软件可以对转换卡进行初 始化设置,可以发送数据、接收并显示下位机数据。 设置CAN总线通迅波特率为500Kbps,发送帧格 式为扩展帧。通过转换卡,在PC上向下位机节点 发送各种不同的指令,检查下位机节点反馈给PC 的数据。经过反复测试,所得测试结果表明通信过 应用技术嗍.北京:北京航空航天大学出版社,20O7. [2】 阳宪惠.现场总线技术及其应用嗍.北京:北京清华大学 出版社,]999. 程中各种指令和数据传输稳定、准确。 表l为其中一个下位机节点对0-2.5V电压进 行采集,通过CAN网络接口反馈回PC的测试结果, f3]石晨.基于Lt:C2ll9的数据采集系统应用阴.火炮发射与 控制学报,2OO9(3):8o- . 张慧慧.基于总线技术的网络智能传感器研究 由表1可以看出,数据采集精度较高,符合设计要求。 [4] 李屹,表1数据采集节点测试结果 计算机测量与控制,2O 19(7):1869-1870. [5】赵小安,吴庆彪.—种基于FPGA的CAN总线计算-棚测 试系统设计田.计算机测量与控制,2ID 14(6):719-721. 【6J沈建华,杨艳琴.MSP430系列l6位超低功耗单 .原理 与实践 .北京:北京航天吭空大学出版社,200& [73刘史冶,周乐,韩志军.基于AT89S52的CAN点对点通 5结束语 本文设计的基于CAN总线的数据采集节点, 能够成功地采集到传感器的信号,并把数据传送至 上位机节点。在由CAN总线组成的分布式数据采 信的软硬件设计 .电子钡 试,2O08'(8):6%66. [8] 贺亮.基于CAN总线的数据采集系统的研究与实现Ⅲ. 国外电子测量技术,2008,27(2):23-25. 作者简介: 集系统中,可以根据测试环境的需要增减节点,具 有良好的可扩展能力。利用CAN接口作为节点的 通信接口,实现了数据采集系统的网络化,提高了 信号传输的可靠性,传输速率高,结构简单,可对 一 动于E-态成m测毅ail试:。y与在uc智读he能硕ng仪士yi器l研9。8 究5生@1,6研3.c究om方 向为 裴东兴,副教授,硕士生导师,研究方向为动态测 试与智能仪器、数据压缩、动态校准。 E-mail:peidongxing@nuc.edu.cn; 不同的传感器信号进行采集,具有一定的应用价值。 参考文献 【1】饶运涛,邹继军,王进宏,郑勇芸.现 }cAN原理与 更正声明 201 0年第七期(总205期)《电子测试》测试工具与解决方案专栏中刊登的“XA270与DSP的SPI DMA通讯设计”一文的标题刊登有误,应该为: “PXA270与DSP的SPI DMA通讯设计”,特此声明更 正,为作者及读者带来的不便特此郑重致歉。 电子测试杂志社 

因篇幅问题不能全部显示,请点此查看更多更全内容