文档库 最新最全的文档下载
当前位置:文档库 › 现场总线大作业

现场总线大作业

现场总线大作业
现场总线大作业

南京工程学院

现场总线大作业

课程名称基于CANopen总线的温度测量节点的设计

院(系、部、中心)自动化学院

专业自动化

班级、姓名数控133 吴雅雯

起止日期 2016/11/4 -2016/12/14

3

7

目录

一、设计任务 3

二、总体方案 3

三、硬件设计 4

四、软件设计 6

五、设计总结 8

六、参考文献 8

一、设计任务

1.系统整体方案设计,包括

(1)课题分析,方案选择;

(2)主控制器和通信控制器的选择;

(3)温度传感器的选择

(4)系统总体结构框图及各模块功能。

2.系统硬件设计,包括:

2.1测量对象的数据采集

(1)测量电路的设计;

(2)数据采集电路的设计;

2.2 CAN通信最小系统的设计

( 1)主控制器最小系统电路

(2)根据主控制器的类型(是否集成CAN控制器功能)设计CAN通信接口与驱动电路;

3.CANopen通信节点的软件设计;

(1)数据采集模块程序流程;

(2)主程序流程设计;

(3)底层CAN通信程序流程设计,及各功能模块子程序设计,包括:初始化程序设计、接收报文程序设计、发送

报文程序设计;

(4)应用层的CANopen协议程序设计;

(5)CANopen对象字典部分的程序设计,依据DS301和DS401对CANopen 对象字典进行配置;

二、总体方案

CAN是 Contro l erAreaNetwork的缩写, 即控制器局部网,通常称为CANbus(CAN总线),是一种支持分布式控制的串行通信协议。CAN最初出现在汽车工业中,是20世纪80年代德国 Bosch 公司为汽车的监控、控制系统而设计的,主要是解决汽车中的电子控制装置之间的通信,减少不断增加的信号线。CAN总线的直接通信距离最远可以达到10 km, 此时通信速率为 5 kbps以下;而通信速率最高可达1 Mbps, 此时通信距离长为 40 m。同时 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端, 再通过具有差动发送和接收功能的总线终端CAN H和CAN L连接入总线电缆中,完成通信的传输。

图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.

相关文档