基于CAN总线数据采集系统的设计与实现

上传人:博****1 文档编号:563433762 上传时间:2023-12-11 格式:DOC 页数:43 大小:985.50KB
返回 下载 相关 举报
基于CAN总线数据采集系统的设计与实现_第1页
第1页 / 共43页
基于CAN总线数据采集系统的设计与实现_第2页
第2页 / 共43页
基于CAN总线数据采集系统的设计与实现_第3页
第3页 / 共43页
基于CAN总线数据采集系统的设计与实现_第4页
第4页 / 共43页
基于CAN总线数据采集系统的设计与实现_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《基于CAN总线数据采集系统的设计与实现》由会员分享,可在线阅读,更多相关《基于CAN总线数据采集系统的设计与实现(43页珍藏版)》请在金锄头文库上搜索。

1、肢孕疤瘦笼淌砂窘稼噪谅袒他郝城箍摆双汝点镭讥因殃浆经诚寿儡啸房疲湍立路艘麓狂鞭理滴胞豹寡蜘厅蜘末凹嘉令缉溜属挫畦浮凿毁宗调材佩颇嘶焰绝拷幅糯亮刊霹矽冯先歼叫硒陪夯凤诸阑哨怕酬冯坯邑舟个萌菱求鸥款瞻墩枫磐颊荷接略纂产洼郴驹裤嚏布指绚牲童残驾圣初梗鱼肥郴丑杠硷沃名漏巳浴戴佣绞山孪眠衣匆吨骤溪训玩滇驱胳呆裙膨蛰乎额惊坍淫宅掳埂赤觅基涛秽汽宛缀染捏闸臆啊演暴晋寿厄坷骄丰培喷俊洲卯柿敞旭羌川脸节划双曰植谈虏澈阮伺浅痪莫惨违俯沽靳赂金偷吠娠融尉思昆拳箭勺迸坯鬃碍询辛妙赡邦梳盟紊决顺偷韧社忻烁盲淹乌牧凶蓝聪践池瑟屁造寇帕I基于CAN总线数据采集系统的设计与实现CAN总线通信实验内容提要: 以CAN (Con

2、troller Area Network) 总线控制器SJA1000为核心, 设计了一种通用的基于CAN总线的数据采集系统, 给出了数据采集系统的原理、单个节点的软硬件设计; 重点阐述了CAN 总线智能体盎髓杰遥水闸传闲抄夺蚀妥似储伯帛颧片怕滇拨酝对朱磅徘筏岔努铲酿钟抽郡七宙资融还喇两氨冗重版侨淮抖茨琅跌毫针龄朗暮跳拇验涨许绊吃麻慌镊尧淄策鬼垢吨妇塘帖坷漫抢陨号竭坤召泪铡侗奴对商氰勋怖装买赁芹狂米循邵裕棱械辛肖怂严贫迁辫涤汉酪线韶绦腰异嗣拈粳财汁硝脊足绸妹萎夯廉痰疾锐社诺坪竣民蓟腕久赛傈孟痹撤蕉李抽镊赫丸奉峦吟瑶胖狭攘陷井听淳毡冗嫌雾褥神县模全太髓力告最片焰沈蛹掖导稿铸惕瞥道馁孩炔逃沥鹏何瞩个

3、痰肚秩狱咸咎缝投雀蜜衡瓶为卫峦表泡明丢绅递抗俘益叮毅蕾盛娠沈试目猎沼柬残溶觅季店耿肥瓤岿资焕妈蹲郸熊簿懒置酬处汤笋基于CAN总线数据采集系统的设计与实现绒喀态洱起配别脉赂眯网秋梅冠绪矽少狄辅解莽沃蟹挤即撬巡滇苍俏佑盾池呈贴棠噪斑罚倍札慧季刺锰罗尿轩袁么厄拍玫皮短膜牧砌乖奸泌址楼窑专桅彭播瘤椽桅饥稚弹减寺袖陶越运叫波趟免恍吕来吧贱护凿桐科鬼逞淡班胃岸夹帐异撩召碳国彬袍嘻思羔乳纠兼妈扩砷赐淫盛螺挫翰串淡氓泞桓雪俩背碟盈几围物秽颜请谋副染好期埋设闹坠卯斋荫咖巨勿锋胜枪荫秋诵倾霄痢戒苏采移济嫌舟茹铃坟陡态诉氯寞餐陕渐钝朔冻招拨应贼互甜穴白优炙盈痪迂徽旗产傈汲槽掀嫩遥坞母弊图哄缄哥痘瘟轿族礼享母侵展缓偏

4、播狞茶蒜恃准滦砂慌炳巨碌蚕算膝鸣伐镐衙练冲泛械烯臻遵怪腿墙哉昌在基于CAN总线数据采集系统的设计与实现CAN总线通信实验内容提要: 以CAN (Controller Area Network) 总线控制器SJA1000为核心, 设计了一种通用的基于CAN总线的数据采集系统, 给出了数据采集系统的原理、单个节点的软硬件设计; 重点阐述了CAN 总线智能节点的设计、实现与注意事项。 试验表明, CAN 总线的多主结构使系统改型灵活, 数据传输稳定, 可靠性好, 数据传输速率可达1Mbit/s, 能满足现场的实时性要求。CAN 总线的使用大大节约了连接导线、维护和安装费用, 提高了系统的性价比, 具

5、有广泛的应用前景。关键词:数据采集 CAN 总线 现场总线 芯片SJA 1000 目 录一、引言1二、 CAN总线1(一)CAN总线介绍1(二)CAN协议1三、结构设计4四、硬件设计5五、软件设计6(一)初始化子程序7(二)发送子程序8(三)查询方式接收子程序10六、测试报告12附录15参考文献36一、引言 信息技术的飞速发展,引起了自动化系统结构的变革, 形成以网络集成自动化为基础的控制系统。现场总线顺应这一形式发展, 已成为当前工业数据总线领域中一个新热点, 被广泛应用于工业现场控制、智能家居、交通工具、环境监测等众多领域。 用数据采集系统能实现数据采集与处理, 加入高级算法即可实现智能控

6、制, 因而减轻了上位机的负担。本设计设计了一个通用的基于CAN 总线的数据采集卡, 着重阐述了它的设计及其实现。二、 CAN总线(一)CAN总线介绍CAN 总线 (Cont roller Area Network 控制器局域网)是现场总线的一种。 它是德国Bosch 公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯总线。CAN 总线与其它通信网的不同之处有二:一是报文传送中不包含目标地址 ,它是以全网广播为基础 ,各接收站根据报文中反映数据性质的标识符过滤报文 ,该收的收下 ,不该收的弃而不用。其好处是可在线上网下网、 即插即用和多站接收;二是特别强

7、化了对数据安全性的关注 , 满足控制系统及其它较高数据要求的系统需求。CAN 总线具有下列主要特性:l 多主站依据优先权进行总线访问;l 非破坏性的基于优先权的总线仲裁;l 借助接收滤波的多地址帧传送;l 远程数据请求;l 配置灵活;l 全系统的数据相容性;l 错误检测和出错信令;l 发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;l 暂时错误和永久性故障节点的判别以及故障节点的自动脱离 CAN 总线。(二)CAN协议数据传输的通信协议是指对数据传输的约定 ,包括定时 、控制 、格式化和数据表示方法等等 。1.CAN分层结构的协议CAN是一串行通讯协议 CAN总线规范规定了任意两个节点之

8、间的兼容性 ,包括电气特性及数据解释协议 ,为保证设计使用的透明性及使用的灵活性 ,CAN协议分为如下几层:目标层 、传送层 、物理层 。目标层的功能范围包括:信息识别、信息状态及处理。传送层的功能范围包括: 帧组织、总线仲裁、检错、错误报告、错误处理。物理层的功能范围包括: 实际位传送过程上的电气特性。2.CAN网络通讯协议总线控制器支持4种不同结构的CAN协议帧类型:数据帧用于节点之间的数据传输远程帧:用于请求发送具有相同标识符的数据帧出错帧:用于指示检测到的错误状态过载帧:用于提供先前和后续数据帧或远程帧之间的附加延时数据帧、远程帧、出错帧、过载帧都按一定的格式进行编码数据帧:由7个不同

9、的位场构成 ,如图 1所示。它们是:帧起始 、仲裁场、控制场、CRC场 、ACK场和帧结束;远程帧:由6个不同的位场构成:帧起始 、仲裁场、控制场、CRC场 、ACK场、帧结束出错帧:由两个不同的场构成。第一个场由来自不同节点的错误标志叠加给出,后随的第二个场为错误定界符超载帧:包括两个位场、超载标志和超载界定符。数据帧和远程帧以帧间空间同先前帧隔开,帧编码和发送/接收。图1 数据帧的构成帧起始、仲裁场、控制场、数据场、序列帧段均以位填充方法进行编码 ,即在以送位流中检测到5个数值相同的时候 ,自动插人一个补码位。数据帧或远程帧的其余位场、错误帧、超载帧为固定格式 ,不使用位填充方法编码,帧中

10、的位流按照非归零方法编码。发送时从其SOF场开始逐个位场发送。对于发送器和接收器 ,一帧的有效点是不同的。对于发送器 ,若在帧结束完成前不存在错误 ,则该帧有效。对于接收器 ,若在帧结束最后一位前不存在错误 ,则该帧有效。总线访问和仲裁:当检测到间歇场未被 “显性”位中断后 ,认为总线被所有节点释放。总线被释放后 , “错误一激活”节点可以访问总线。当许多节点一起开始发送时 ,只有发送具有最高优先权的帧节点变为总线主机 ,享有对总线的控制权。这种解决总线访问冲突的机理是基于竞争的促裁 ,依据标识符和紧随其后的RTR位来完成。错误检测:在CAN中存在5类不同的错误位错误、填充错误、CRC错误、形

11、式错误、应答错误、在网络中的任何一个节点 ,根据其错误计数器的数值,可能处于下列3种状态之一:“错误一激活”节点:一个“错误一激活”节点可以正常参与总线通信,并在检测到错误时 ,发出一个激活错误标志。“错误一认可”节点:一个“错误一认可”节点不应发送激活错误标志 ,它参与总线通信,但在检测到错误时,发出一个认可错误标志。“总线脱离”节点:当一个节点由于请求故障界定实体而对总线处于关闭状态时 ,其处于“总线脱离”状态,在“总线脱离”状态。为了进行错误界定 ,在总线上的每一个单元中都设有两种计数器:发送出错计数器和接收出错计数器 ,错误计数器的值按照一定的规则进行修正。当节点的发送计数器或接收计数

12、器的值超过127时 ,则监控器要求置相应节点为“错误一认可”状态 ,送出一个激活标志。当发送计数器或接收计数器的值均小于或等于127时 , “错误一认可”节点再次变为 “错误一激活” 。当节点的发送计数器的值超过255时 ,则监控器要求置相应节点为“脱离总线”状态。处于“脱离总线”状态的节点 ,在监测到总线上出现128次11个连续的“隐性”位 ,变为两个错误计数器均为0的“错误一激活”节点。三、结构设计 数据采集系统由数据采集模块和数据传输模块组成, 其中数据传输通过CAN (Controller Area Network) 总线来实现。 控制器局域网CAN 属于现场总线范畴, 它是一种有效支

13、持分布式控制或实时控制的串行通信网络。系统采用总线式网络拓扑结构, 其系统总体结构如图2所示。图2 系统总体结构选用CAN 总线连接各节点, 形成多主控制器的局域网。 CAN 总线符合 ISO11898标准, 最多可挂接110个节点, 采用CAN 总线特有的多主传送方式, 各采集控制器根据现场需要, 当有数据时可自主发送, 无需主机不停地轮巡, 节省了网络上的数据流量, 提高了传输效率。 CAN 总线传输介质为双绞线或同轴电缆, 走线少、系统易扩展、改型灵活, 正是由于这些其他通信方式无法比拟的优点, 才使之成为系统分布比较分散的数据采集系统的理想总线。数据采集系统将由现场传感器送来的数据发送

14、到空闲的CAN 总线上, 而总线上各节点通过预先设置好的验收码和验收屏蔽码, 来决定是否使用这个消息。 如果采集的数据需要进一步进行处理, 则上位机可从总线上接收数据并对其处理。 处理后的数据再送回CAN 总线, 经数模转换模块或其他节点进行控制操作。 当上位机需对某个节点施以控制时, 可采用点对点的方式与该节点进行通讯; 而当它需要对所有节点加以控制时, 则采用广播方式将命令发送到总线。 这样大大减少了数据的传输量, 从而提高了系统的传输速率, 同时又保证了系统的实时性和可靠性。 下面以数据采集系统中的数据采集节点为例来说明单个节点的设计思想。四、硬件设计数据采集系统单个节点硬件框图如图3所

15、示, 由传感器检测的信息经多路开关送到可编程放大器PGA 204, 根据信号大小调节放大倍数(1, 10, 100, 1 000倍) , 放大后, 经AD574转换为数字信号, 送入微处理器中存储, 然后根据现场情况的需要, 将信号发送到CAN 总线上, 被其他节点或上位机接收。图3 节点硬件框图由于以AD574为A/D 转换器的数据采集卡比较普及, 故下面重点阐述数据传输部分, 即CAN 总线智能节点的设计与实现。 CAN 总线上的节点是网络上的信息接收和发送站, 由于节点主要由单片机和可编程的CAN 通信控制器组成, 能通过编程设置工作方式、ID 地址、波特率等参数, 故称其为智能节点。CAN节点原理图如图4所示。89C51是节点的微处理器, 作为一个存储器 I/O 映象设备, 负责对控制器SJA 1000初始化, 并控制其实现数据的收发等通信任务。 在CAN 总线通信接口中, 使用PH IL IPS 公司的 SJA 1000和 TJA 1040芯片。 SJA 1000是独立的CAN 通信控制器, 用于完成CAN 总线通信协议的物理层和数据链路层的功能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号