- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN总线基础上数据控制体系构造.doc
CAN总线基础上数据控制体系构造
--第1章绪论
1.1 课题背景
CAN 是Controller Area NetBPS。
1、 CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
2、 CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
3、 CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PC AT XT兼容机上,方便地构成分布式监控系统。
4、 结构简单,只有2根现与外部相连,并且捏布集成了错误探测和管理模块。
第2章 系统设计
2.1系统模块总体设计
依据上述功能的分析,系统中模块分别为:节点数据采集模块、节点数据处理模块、数据传送模块、主节点数据处理模块,显示模块。
各功能模块的具体功能如下:
1.数据采集模块:在分节点中利用温度传感器,采集当前室内的温度值。
2.分节点数据处理模块:分节点针对于采集到的数据进行处理,从而得到当前的温度值以及要通信的数据。
3.数据传送模块:进行节点之间的通信。
4.主节点数据处理:把分节点的数据进行再次的处理和分析从而做出相应的动作,并显示出当前各个分节点的状态。
5.显示模块:在主节点中处理过的数据利用数码管显示出来,从而实现温度值的异地显示。
2.2 系统软件设计
软件主要实现数据的采集,数据的分析,不同节点之间的通信,以及相应的数据分析和数据处理。
1.数据采集:利用温度传感器把数据读入分节点中,需要注意的是温度传感器读到的数据是通过串行输入的,时序的控制一定要注意。
2.数据分析:分节点采集到得温度值并不是直观的温度,而是一个比较抽象的数据,需要用一些公式的计算把原始数据转化成为实在的温度值。
3.节点间的通信:采用CAN总线进行高速,高稳定,高可靠的数据传输,从而增加系统的实时性和可靠性。
4.数据显示:主节点把接收到的数据利用数码管显示出来,从而实现室温的远端显示。
软件模块设计如图2-1所示
2.2.1 温度采集函数
在温度采集模块,使用了DS18B20作为温度传感器。CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。其流程图如图2-2所示:
2.2.2 CAN初始化函数
SJA上电复位、硬件复位、软件复位后,必须对相关的寄存器进行设置。在设置寄存器的状态之前,必须首先通过控制寄存器设置SJA工作在复位模式,因为只有在复位模式下有的寄存器才可以被写入设置信息,需要写入的寄存器及其功能如下
(1)SJA1000 的两个工作模式(Basic 和Peli)所使用的寄存器数目不同,功能也不尽相同。Basic CAN 有从0-31 共32 个寄存器可用,Peli CAN 有从0-127 共128 个寄存器可用。要实现CAN通讯,主要就是怎么配置这些寄存器。
(2)要掌握的重要寄存器:模式寄存器;命令寄存器;状态寄存器;中断寄存器;中断使能寄存器;总线定时器0,总线定时器1;输出控制寄存器;时钟分频寄存器;屏蔽寄存器0-3;验收代码寄存器0-3。
(3)模式寄存器的作用:控制SJA1000的运行在什么模式下。包括:睡眠模式;自检测模式;复位模式;只听模式。
(4)命令寄存器的作用:启动发送或自发送;释放接收寄存器;中止发送
(5)状态寄存器的作用:指示SJA1000的状态,以判断是否可以进行下一步操
文档评论(0)