现场总线大作业文档格式.docx
- 文档编号:20030676
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:6
- 大小:130.46KB
现场总线大作业文档格式.docx
《现场总线大作业文档格式.docx》由会员分享,可在线阅读,更多相关《现场总线大作业文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
起止日期2016/11/4-2016/12/14
37
一、设计任务
1.系统整体方案设计,包括
(1)课题分析,方案选择;
(2)主控制器和通信控制器的选择;
(3)温度传感器的选择
(4)系统总体结构框图及各模块功能。
2.系统硬件设计,包括:
2.1测量对象的数据采集
(1)测量电路的设计;
(2)数据采集电路的设计;
2.2CAN通信最小系统的设计
(1)主控制器最小系统电路
(2)根据主控制器的类型(是否集成CAN控制器功能)设计CAN通信接口与驱动电路;
3.CANopen通信节点的软件设计;
(1)数据采集模块程序流程;
(2)主程序流程设计;
(3)底层CAN通信程序流程设计,及各功能模块子程序设计,包括:
初始化程序设计、接收报文程序设计、发送报文程序设计;
(4)应用层的CANopen协议程序设计;
(5)CANopen对象字典部分的程序设计,依据DS301和DS401对CANopen对象字典进行配置;
二、总体方案
CAN是ControlerAreaNetwork的缩写,即控制器局部网,通常称为CANbus(CAN总线),是一种支持分布式控制的串行通信协议。
CAN最初出现在汽车工业中,是20世纪80年代德国Bosch公司为汽车的监控、控制系统而设计的,主要是解决汽车中的电子控制装置之间的通信,减少不断增加的信号线。
CAN总线的直接通信距离最远可以达到10km,此时通信速率为5kbps以下;
而通信速率最高可达1Mbps,此时通信距离长为40m。
同时CAN总线的通信媒介采用双绞线或光纤,选择灵活,其结构较简单,总线接口芯片支持8位、16位的CPU。
由于CAN总线采用短帧结构,在标准格式中,短帧的字节数为8个,因此传输时间短,受干扰的概率低,重新发数据帧的时间短,并且每帧信息都有CRC校验及其他检错措施,这样可以保证极低的数据出错率。
CAN总线上的节点在错误严重时,可以自动关闭总线的功能,使总线上的其它操作不受到影响。
由于CAN总线的数据通信具有卓越的特性及极高的可靠性,因而非常适合工业过程监控设备互连,也是最有前途的现场总线之一[2]。
由于CAN总线的特点,使得其广泛地应用于电力、航空航天、治金、交通工具、机器人、医疗设备、环境监控和家用电器等众多领域。
本文提出基于CAN总线的温度测量节点的设计。
1系统总体结构设计
图1分布式温度测量节点结构框图
根据系统的设计要求,其总体设计结构如图1所示。
整个系统由主站节点、分布式温度测量节点两部分组成。
由于基于CAN总线的温度测量节点是一种分布式、实时的通信系统,可采用主从方式通信,其特点就是系统中任一节点设一为主站节点,其余均为从站节点,主站节点通过CAN总线与各个从站节点进行通信。
我们只需设一个主站节点作为主监控器,以点对点方式进行通信,其余的从站均为各个温度测量节点。
各个节点都通过CAN总线实现信号数据的连接,各个温度测量节点具有较强的独立性,具有工作可靠性、性能稳定、测量精确、安装调试方便、造价低廉等特点。
三、硬件设计
CAN总线温度测量节点主要任务是温度采集与CAN通信,其硬件结构框图如图2所示。
硬件电路由微处理器STC89C52、总线控制器SJA1000、总线驱动器PCA82C50和传感器DS18B20四个部份组成。
微处理器负责对SJA1000和DS18B20进行初始化,通过总线控制器SJA1000实现数据的接收和发送等通信任务。
图2温度测量节点硬件电路结构框图
2.1温度传感器DS18B20
DS18B20是美国DALLAS公司推出的第一片支持“一线总线”接口的温度传感器[3],该传感器只需一个端口引脚进行通信,就可以实现多点分布的应用,具有低功耗、高性能、抗干扰强等优点。
其传感器的特性为:
(1)温度测量范围宽,能测到-55℃~125℃的温度,在-10℃~+85℃时精度为正负0.5℃。
(2)提供9-12位的测量分辩率,对应的温度精度分别为0.5℃、0.25℃、0.125℃和0.0625℃,实现了高精度的测量。
(3)接口方式独特,仅需一条信号线就可以实现与微处理器的双向通信。
(4)测量出的温度能直接转化成串行数字信号供CPU处理,同时还传送CRC校验码,具有很强的抗干扰纠错能力。
温度传感器的电路设计由单片机的引脚P3.5与传感器DS18B20的DQ脚相连,实现微处理器与传感器的双向数据的通信。
同时DQ单总线外接一4.7k的上拉电阻。
温度传感器的电路图如图3所示。
2.2CAN通信电路的设计
CAN通信电路是整个系统实现通信的关键部分,系统中各个节点和节点控制器是通过CAN通信电路接入CAN总线网络上的,实现信号数据的传输。
CAN通信电路采用STC89C52处理器、PHILIPS公司的总线控制器SJA1000、NXP公司的总线收发器82C250和高速光电耦合器6N137等器件组成。
在CAN通信电路中微处理器负责对SJA1000进行初始化,各信号通过CAN总线控制器实现信号数据的接收和发送等通信任务。
同时为了增加CAN总节点的抗干扰能力,更好地实现了总线上各CAN节点间的电气隔离,SJA1000的TX和RX引脚通过连接光耦6N137后再与总线收发器PCA82C250相连,总线收发器82C250的TXD和RXD分别接光耦6N137的输出OUT和输入IN端,再通过具有差动发送和接收功能的总线终端CANH和CANL连接入总线电缆中,完成通信的传输。
图3温度传感器电路
四、软件设计
温度测量节点的软件设计包括CAN总线初始化、发送子程序及中断接收程序软件设计和温度传感器DS18B20的程序设计。
其节点流程图如图4所示。
图4温度测量节点流程图
3.1CAN初始化程序
CAN初始化即初始化CAN节点。
要保证通信正确可靠则必须先对控制器SJA1000进行初始化参数设置。
初始化设置是通过微处理器对SJA1000的寄存器进行初始化,这些初始化包括控制寄存器的配置、命令寄存器的配置、状态寄存器的配置、中断管理寄存器的设置、总线定时寄存器的配置、输出控制寄存器的设置以及时钟分频寄存器的设置等。
系统上电后,对CAN初始化只有在复位模式下才可以开始,初始化设置完成后,CAN控制器就可以回到工作状态,即进入工作模式,执行正常的通信任务。
CAN控制器初始化流程图如图5所示。
图5CAN控制器初始化流程图
3.2CAN通信电路程序
CAN总线节点要完成通信任务则还必须包括发送子程序及中断接收程序[4]。
发送子程序负责各节点报文的发送任务。
发送时只需将待发送的数据信息按特定的格式组合成一帧报文,送入CAN控制器SJA1000的发送缓冲器中,启动SJA1000发送即可完成发送报文任务。
在向SJA1000发送缓冲器发送报文之前,可先做一些判断,判断其是否正在接收数据、先前发送是否成功以及发送缓冲器是否锁定等等,以确保数据发送的可靠性。
中断接收程序主要是负责节点报文的接收以及其它中断情况的处理。
当进入中断后要进行是否有数据的判断,以防干扰误中断。
3.3温度传感器的程序设计
温度测量节点电路上电后也要进行初始化设置,初始化完成后,温度测量节点中的温度传感器对采集到的数据信息实时处理、现场数据实时显示,并判断采集的信息是否超过正常值,如出现异常,则报警提示并通过CAN通信电路进行通信。
五、设计总结
本文主要介绍了以DS1820为传感器测温的程序及SJA1000部分程序流程图。
基于CAN总线温度测量节点的设计具有良好的可靠性和实时性,得到了广泛的应用,已广泛应用于工业现场,化工、食品生产、温室温度控制等。
六、参考文献
[1]杨春杰,王曙光,亢红波.CAN总线技术[M].北京:
北京航空航天大学出版社,2010.
[2]章欢.基于CAN总线的火灾报警系统的设计与实现
[D].武汉理工大学,2008.5.
[3]戴明.基于CAN总线的温度监控系统[D].南京理工大学,2006.12.
[4]雷霖.现场总线控制网络技术[M].北京:
电子工业出版社,2004.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现场总线 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)