《基于CAN总线的数据收集模块设计.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的数据收集模块设计.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于CAN总线的数据收集模块设计jiangf导语:本文提出了一种以CAN总线为根底的数据收集模块设计方案1引言众所周知,对于每一个复杂的控制系统都是由各种各样的传感器,变送器等检测设备组成,以便及时地将现场设备的运行状态和被控对象的各种参数反响到控制器或者控制计算机,进而实现整个系统的准确控制.我们将这些传感器检测到的现场信号尽快的传送到控制器或者上位机进展显示,处理,传输和记录的技术,称之为数据收集技术,他是当今控制领域所研究的一个重要方向.目前,对于数据收集设备也提出了微型化,低功耗,长寿命,高可靠性等要求.同时,为了适应多种任务的需要以及在各个领域中普遍应用,需要研制一种比拟灵敏通用的数
2、据收集模块,对不同的收集任务应具有一定的适应性和实时性.随着计算机,通讯,集成电路,传感器技术的开展,在控制领域又出现了一种新兴的控制技术,即现场总线FCS.现场总线的出现,为数据收集提供了一种新的手段.在总线系统中,总线中的各个单元将分别完成各种不同的任务,系统中的测量,控制任务将大局部下放到现场的智能仪表单元中去.这种智能化仪表设计的概念使得总线系统的数据收集任务可以通过单独的数据收集单元来完成.而基于CAN总线的数据收集模块那么是为了适应这样的要求而设计的.CAN总线是一种有效支持分布式控制和实时控制的串行通讯网络,具有可靠性高,本钱低,传输间隔远,传输速率快等优点,在国际上已经得到了广
3、泛的应用.2.数据收集模块的功能由于分布在控制现场的各种传感器,变送器的输出可以是模拟量,也可以是数字量,为了将这些不同形式,不同类型的信号可以被基于CAN总线的控制器或者上位机所识别,因此基于CAN总线的数据收集模块所要完成的功能分为两个方面:一方面是将未知的连续的模拟输入信号转换为微计算机能接收的数字信号,即模拟量数据收集,另一方面是将现场数字传感器,变送器等设备所输出的遵循某一协议格式的数字信号或者数字量I/O信号转换成符合CAN总线协议的信息,即数字量数据收集.其详细实现功能图如图1所示:由图1可知,对于模拟量数据收集局部,多路模拟信号通过模拟输入通道进入A/D转换器的输入端,A/D转
4、换器在微计算机即CPU的控制下开场逐个对多路模拟信号进展转换,并将转换的结果读入CPU中,当一轮数据转换完后,判定各路转换结果是否公道,图1基于CAN总线的数据收集模块功能图对公道的结果进展必要的处理,然后将数据写入CAN微控制器转换成CAN协议的数据格式通过其接口发送到总线上供上位机进一步处理或者其他模块使用.而对于数字量数据收集局部,该模块主要是将从控制现场以RS-232协议形式传送来的数据信息转换成CAN协议要求的数据格式并发送到CAN总线上供上位机和其他模块使用.由于该数据收集模块带有CPU,是一种微机化的智能设备,能对收集到的数据作初步的处理和完成一定的控制,显示任务,因此在该模块上
5、还扩展了多路数字量输入输出和与其他单片机进展直接串行通讯的接口.整个模块可实现对现场信息的收集,对设备状态的显示,报警,与现场设备及上位机进展通讯等功能.3.数据收集模块硬件实现根据基于CAN总线的数据收集模块所要实现的功能,其硬件实现电路如图2所示:图2基于CAN总线的数据收集模块硬件构造图由图2可知,基于CAN总线的数据收集模块以单片机SST89C54为核心处理芯片;SST89C54单片机是MCS-51系列单片机的派消费品.它在指令系统,硬件构造和片内资源上与标准8052单片机完全兼容,只是加大了内部程序存储器Flash的容量.内置20KROM,程序空间余量大,方便系统的软件晋级,而且SS
6、T89C54内置EEPROM,看门狗定时器,本钱低廉,可靠性高.整个硬件实现电路由四个局部组成:1CAN总线接口电路:由SJA1000及82C250组成,SST89C54对SJA1000的操纵相当于外部RAM的操纵,其P0口接SJA1000的AD0AD7,ALE,/WR,/RD,P2.4端分别接SJA1000的ALE,/WR,/RD,/CS端,另外SJA1000的中断信号端/INT接SST89C54的/INT0端,使得SST89C54可收发各类信息.CAN总线收发器82C250提供了CAN控制器与物理总线之间的接口,提供总线的差动发送和接收才能,抗干扰才能,使得信号能更远更可靠的传输.其TXD
7、,RXD端通过高速光隔分别接SJA1000的TX0,RX0,两个输出端CANH和CANL分别与物理总线的CANH和CANL连接.2A/D转换电路:由11路模/数转换芯片TLC2543实现,SST89C54的P1.0P1.3引脚分别与TLC2543的/CS,CLOCK,DATAIN和DATAOUT相连,通过这些连接,SST89C54可以控制A/D转换的时机,选择转换通道,极性;当A/D转换完毕后,TLC2543通过EOC引脚,以中断的形式通知SST89C54接收数据.其中TLC2543为CMOS12位开关电容逐次逼近模/数转换器.具有快速转换和通用的控制才能.片内设有采样-保持电路.3RS-23
8、2协议转换电路:SST89C54通过串口TXD,RXD与MAX232的相应管脚相连,当SST89C54需要将从现场收集到的数据或者从CAN总线上接收到的数据转换成RS-232协议格式的信息与现场设备或者其他模块进展通讯时,可直接将信息通过串口TXD,RXD传送给MAX232,由芯片MAX232完成数据格式的转换.同时该局部还扩展了串口通讯电路,通过高速光电隔离器隔离可实现与其他设备进展串行通讯.4多路输入输出电路:由于基于CAN总线的数据收集模块可直接与多种模拟量或者数字量设备相连,且内部带有CPU,具有一定的数据处理和控制才能,所以当模块需要收集现场的I/O量信息或者需要根据处理结果进展显示
9、,报警,控制时,可通过由P1.4-P1.7和高速光隔组成的多路输入输出电路实现.此外,为了知足数据存取和处理的需要,电路中还扩展了8K的数据存贮器空间RAM.4.数据收集模块软件构造基于CAN总线的数据收集模块的软件构造图如图3所示:图3基于CAN总线的数据收集模块软件构造图由软件构造图可知,SST89C54先对自身进展初始化,然后立即对SJA1000进展初始化以尽快建立该数据收集模块与CAN总线之间的通讯链接,其中对SJA1000的初始化是该软件设计中一个比拟关键的局部,主要包括在复位形式下设置通讯的波特率,AMR,ACR,OCR,CDR,在通用形式下写控制存放器命令字等.其中对ACR,AM
10、R存放器中所写的内容要根据网络系统和现场工艺的实际要求来确定,并且与将要发送的报文标识符有关;BTR0,BTR1存放器的内容可唯一确定系统的通讯波特率和同步跳转宽度,所以整个系统中的所有节点,这两个存放器的内容必须一样,否那么将无法进展通讯;对OCR的操纵可确定CAN控制器的输出方式,并建立起CAN总线要求的电平逻辑所需输出驱动器的配置.与CAN总线的通讯建立之后,SST89C54就开场收集现场数据,先是模拟量,然后是数字量,在对模拟量的数据收集中,为了减少外部干扰带来的误差还进展了消除误差处理,主要包括判定数据是否存在超大误差,对连续屡次采样得到的数据求平均值作为采样值等措施,以减少系统采样
11、误差.在收集到了现场的各种数据后,CPU还要进展数据处理,主要包括将收集到的数据进展组装,拆包打包,简单的数据运算,与设定值作比拟;判定现场参数是否超出了设备正常工作的上下限,是否需要显示设备状态或者报警,如需要那么进展显示或者报警;判定是否需要往CAN总线上发送数据,如需要那么要进展不同数据格式的转换,当需要往CAN总线发送超过8个字节的数据时,还要按事先设计好的算法分多个数据包发送.5.完毕语理论证实基于CAN总线的数据收集模块具有采样数据更新速度快10毫秒,转换精度高0.5%,转换线性误差小1LSBMax,通讯速率高,抗干扰性能强,出错率极低,传输举例较远等特点,能很好地完成对现场信息的收集和进展简单的数据处理及数据通讯,由该类模块组成的系统十分合适于现场环境比拟复杂,实时性要求高的分布式控制系统,且由于其价格低廉,在自动化领域有着广泛的应用前景.