资源描述:
《一种基于can总线的温度控制系统设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一种基于CAN总线的温度控制系统设计摘要:根据温度控制系统的需要,本文设计了一种基于CAN总线的温度控制系统,该系统观测节点采用80C552单片机作为主控制器,控制并处理采集到的温度数据,并通过CAN控制器SJA1000将数据送至上位机。该系统结构简单、可靠性高,便于扩展及维护。 关键词:CAN总线80C552SJA1000温度控制系统 :TP272:A:1007-9416(2010)08-0011-02 温度是工业对象中主要的被控参数之一,随着微机和电子技术的飞速发展,微机测控技术在温度测量与控制中广泛使
2、用,该控制简单方便,测量精度高,测量范围广。 由于CAN总线广泛应用于从高速X络到低成本的多线路X络,实现控制系统中的各检测和执行机构之间的数据通信。所以本文设计了一种基于CAN总线的温度测量和控制装置,能够对加热炉中的温度进行测量,并根据温度设定值给出的调节量,驱动控制电路,对炉温进行控制。 1系统总体结构 基于CAN总线的温度控制系统总体结构如图1所示。在该系统中,被控对象是加热炉,被控参数是加热炉内的炉温,该系统主要由上位机和各个CAN总线智能测控节点组成,上位机主要采用传统的PC机,并通过CAN总线
3、智能适配卡PCCAN与分布在CAN总线上的各个智能测控节点进行通信,并接受下位机采集的数据,下位机主要是采集各个测控节点观测加热炉内的温度参数。 2CAN总线智能测控节点硬件结构 下位机的CAN总线智能观测节点在系统中主要作用是对现场温度数据进行采集和控制以及与CAN总线进行通信。其硬件结构如图2所示。 下位机CAN智能观测节点采用Philips公司生产的80C51系列单片机80C552作为主控制器,该控制器以80C51为内核,指令系统与MCS-51系列单片机完全兼容。使用80C552控制器进行设计,可以简
4、化硬件装置,从而使系统的稳定性和可靠性显著提高。 通信接口部分采用Philips公司生产的CAN通信控制器SJA1000和CAN总线驱动器PCA82C250,实现与CAN总线的数据通信。 3CAN通信接口硬件电路设计 CAN总线通信接口硬件电路原理图如图3所示。 CAN总线控制器SJA1000由微控制器80C552通过P0口的8位地址数据复用总线和读写控制信号进行控制。SJA1000的中断请求信号INT接80C552的外部中断输入INT0,CAN总线控制器可以通过中断方式与微控制器进行数据传输。 SJA
5、1000的片选信号CS由微控制器80C552的P2.1提供,在访问SJA1000时,只要P2.1引脚输出低电平即可。SJA1000的Tx0和Rx0与82C250的TxD和RxD相连,82C250的CANH和CANL引脚各自提供一个5Ω电阻与CAN总线相连,起限流电阻作用,保护82C250免受过流冲击。另外两根CAN总线输入端和地之间分别接一个防雷二极管,CAN总线两端接有120Ω电阻,起匹配总线阻抗,提高数据通信的抗干扰性和可靠性。 4系统软件设计 系统软件设计包括智能测控节点软件设计和测控节点与上位机通信设
6、计两部分。 4.1智能测控节点的软件设计 测控节点软件设计包括三大部分:80C552单片机与CAN总线初始化、温度数据采集与处理及数据的发送与接收。设计中采用模块化设计思路。 80C552单片机初始化包括I/O口初始化、A/D转换初始化和为传感器接口分配合适的存储单元,SJA1000初始化包括主要是设置CAN的通信参数:波特率、发送通道、接收通道、标识符码等信息。 初始化结束之后,80C552单片机开始启动数据采集通道,调用A/D转换子程序及数据采集与处理子程序,数据经过处理后单片机将数据送至数据存储区,同时
7、送往LCD进行显示,当单片机接收到上位机要求发送数据请求时,启动发送子程序,将数据传送至上位机。 智能测控节点主程序流程图如图4所示。 4.2上位机与智能测控节点的通信设计 上位机与80C552单片机之间的通信设计主要有:通信协议的设定、SJA1000初始化及报文的发送与接收,SJA1000初始化已经在80C552单片机初始化阶段完成,根据所设计的温度控制系统需要,报文格式采用标准帧格式。 发送子程序过程如下:发送子程序将数据存储区待发送的数据取出,加上标识符等信息,组成信息帧,待发送缓冲区数据清空后,将信息
8、帧发送至SJA1000的发送缓冲区。在接收到上位机发送的控制命令后,启动发送子程序,将信息数据发送出去。 相反,接收过程如下:信息从CAN总线送至SJA1000的接收缓冲区,接收程序从接收缓冲区读取信息,并将其存入数据缓冲区,接收方式采用中断接收。 5结语 本文主要介绍了一种基于CAN总线的温度控制系统,重点介绍了系统总体设计方案及C