1 / 44
文档名称:

毕业设计:基于CAN总线数据采集系统的设计与实现.docx

格式:docx   大小:181KB   页数:44页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

毕业设计:基于CAN总线数据采集系统的设计与实现.docx

上传人:sssmppp 2021/2/28 文件大小:181 KB

下载得到文件列表

毕业设计:基于CAN总线数据采集系统的设计与实现.docx

文档介绍

文档介绍:基于CAN总线数据采集系统的设计与实现
——CAN总线通信实验
内容提要:
以 CAN (Controller Area Network)总线控制器 SJA1000 为核心,设 计了一种通用的基于CAN总线的数据采集系统,给出了数据采集系统的原 理、单个节点的软硬件设计;重点阐述了 CAN总线智能节点的设计、实现 与注意事项。试验表明,CAN总线的多主结构使系统改型灵活,数据传输 稳定,可靠性好,数据传输速率可达IMbit/s,能满足现场的实时性要求。 CAN总线的使用大大节约了连接导线、维护和安装费用,提高了系统的性价 比,具有广泛的应用前景。
关键词:数据采集CAN总线 现场总线 芯片SJA 1000
一、 弓丨言 1
二、 CAN 总线 3
(一) CAN总线介绍 3
(二) CAN 协议 3
三、 结构设计 6
四、 硬件设计 7
五、 软件设计 8
(一) 初始化子程序 9
(二) 发送子程序 11
(三) 查询方式接收子程序 12
六、 测试报告 17
附录 20
参考文献 36
引言
信息技术的飞速发展,引起了自动化系统结构的变革,形成以网络集成自动化为基 础的控制系统。现场总线顺应这一形式发展,已成为当前工业数据总线领域中一个新热 点,被广泛应用于工业现场控制、智能家居、交通工具、环境监测等众多领域。用数据 采集系统能实现数据采集与处理,加入高级算法即可实现智能控制,因而减轻了上位机 的负担。本设计设计了一个通用的基于CAN总线的数据采集卡,着重阐述了它的设计及 其实现。
CAN总线
(一)CAN总线介绍
CAN总线(Cont roller Area Network控制器局域网)是现场总线的一种。它是 德国***公司在1986年为解决现代汽车中众多的控制与测试仪器之间的数据交换而 开发的一种串行数据通讯总线。CAN总线与其它通信网的不同之处有二:一是报文传送中 不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符 过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多 站接收;二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系 统需求。CAN总线具有下列主要特性:
多主站依据优先权进行总线访问;
非破坏性的基于优先权的总线仲裁;
借助接收滤波的多地址帧传送;
远程数据请求;
配置灵活;
全系统的数据相容性;
错误检测和出错信令;
发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;
•暂时错误和永久性故障节点的判别以及故障节点的自动脱离CAN总线。
(二)CAN协议
数据传输的通信协议是指对数据传输的约定,包括定时、控制、格式化和数据表 示方法等等。
CAN分层结构的协议
CAN是一串行通讯协议CAN总线规范规定了任意两个节点之间的兼容性,包括电气 特性及数据解释协议,为保证设计使用的透明性及使用的灵活性,CAN协议分为如下几 层:目标层、传送层、物理层。
目标层的功能范围包括:信息识别、信息状态及处理。
传送层的功能范围包括:帧组织、总线仲裁、检错、错误报告、错误处理。
物理层的功能范围包括:实际位传送过程上的电气特性。
CAN网络通讯协议
总线控制器支持4种不同结构的CAN协议帧类型:
数据帧用于节点之间的数据传输
远程帧:用于请求发送具有相同标识符的数据帧
出错帧:用于指示检测到的错误状态
过载帧:用于提供先前和后续数据帧或远程帧之间的附加延时
数据帧、远程帧、出错帧、过载帧都按一定的格式进行编码
数据帧:由7个不同的位场构成,如图1所示。
它们是:帧起始、仲裁场、控制场、CRC场、ACK场和帧结束;
远程帧:由6个不同的位场构成:帧起始、仲裁场、控制场、CRC场、ACK场、 帧结束
出错帧:由两个不同的场构成。第一个场由来自不同节点的错误标志叠加给出,后随 的第二个场为错误定界符
超载帧:包括两个位场、超载标志和超载界定符。
数据帧和远程帧以帧间空间同先前帧隔开,帧编码和发送/接收。
•• ——
— ] ——: 1 )鼓超
忡3 控祕 CK« |

图1数据帧的构成
帧起始、仲裁场、控制场、数据场、序列帧段均以位填充方法进行编码,即在以送 位流中检测到5个数值相同的时候,自动插人一个补码位。数据帧或远程帧的其余位场、 错误帧、超载帧为固定格式,不使用位填充方法编码,帧中的位流按照非归零方法编码。
发送时从其SOF场开始逐个位场发送。对于发送器和接收器,一帧的有效点是不同 的。
对于发送器,若在帧结束完成前不存在错误,则该帧有效。
对于接收器,若在帧结束最后一位前不存在错误,则