欢迎来到天天文库
浏览记录
ID:26236939
大小:63.50 KB
页数:11页
时间:2018-11-25
《can总线基础上数据控制体系构造》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CAN总线基础上数据控制体系构造-->第1章绪论1.1课题背景CAN是ControllerAreaNetBPS。 1、CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。 2、CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式
2、,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。 3、CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播
3、通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PCATXT兼容机上,方便地构成分布式监控系统。 4、结构简单,只有2根现与外部相连,并且捏布集成了错误探测和管理模块。第2章系统设计2.1系统模块总体设计依据上述功能的分析,系统中模块分别为:节点数据采集模块、节点数据处理模块、数据传送模块、主节点数据
4、处理模块,显示模块。各功能模块的具体功能如下:1.数据采集模块:在分节点中利用温度传感器,采集当前室内的温度值。2.分节点数据处理模块:分节点针对于采集到的数据进行处理,从而得到当前的温度值以及要通信的数据。3.数据传送模块:进行节点之间的通信。4.主节点数据处理:把分节点的数据进行再次的处理和分析从而做出相应的动作,并显示出当前各个分节点的状态。5.显示模块:在主节点中处理过的数据利用数码管显示出来,从而实现温度值的异地显示。2.2系统软件设计软件主要实现数据的采集,数据的分析,不同节点之间的通信,以及相应的数据分
5、析和数据处理。1.数据采集:利用温度传感器把数据读入分节点中,需要注意的是温度传感器读到的数据是通过串行输入的,时序的控制一定要注意。2.数据分析:分节点采集到得温度值并不是直观的温度,而是一个比较抽象的数据,需要用一些公式的计算把原始数据转化成为实在的温度值。3.节点间的通信:采用CAN总线进行高速,高稳定,高可靠的数据传输,从而增加系统的实时性和可靠性。4.数据显示:主节点把接收到的数据利用数码管显示出来,从而实现室温的远端显示。软件模块设计如图2-1所示2.2.1温度采集函数在温度采集模块,使用了DS18B20
6、作为温度传感器。CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。其流程图如图2-2所示:2.2.2CAN初始化函数SJA上电复位、硬件复位、软件复位后,必须对相关的寄存器进行设置。在设置寄存器的状态之前,必须首先通过控制寄存器设置SJA工作在复位模式,因为只有在
7、复位模式下有的寄存器才可以被写入设置信息,需要写入的寄存器及其功能如下(1)SJA1000的两个工作模式(Basic和Peli)所使用的寄存器数目不同,功能也不尽相同。BasicCAN有从0-31共32个寄存器可用,PeliCAN有从0-127共128个寄存器可用。要实现CAN通讯,主要就是怎么配置这些寄存器。(2)要掌握的重要寄存器:模式寄存器;命令寄存器;状态寄存器;中断寄存器;中断使能寄存器;总线定时器0,总线定时器1;输出控制寄存器;时钟分频寄存器;屏蔽寄存器0-3;验收代码寄存器0-3。(3)模式寄存器的作
8、用:控制SJA1000的运行在什么模式下。包括:睡眠模式;自检测模式;复位模式;只听模式。(4)命令寄存器的作用:启动发送或自发送;释放接收寄存器;中止发送(5)状态寄存器的作用:指示SJA1000的状态,以判断是否可以进行下一步操作。(6)中断寄存器的作用:当发生中断后,读其值可以判断是什么原因引起的中断。(7)中断使能寄存器的作用:打开相应
此文档下载收益归作者所有