浅析can2.0标准的can-串转换通信技术研究.doc

浅析can2.0标准的can-串转换通信技术研究.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析can2.0标准的can-串转换通信技术研究

基于CAN2.0标准的CAN-串转换通信技术研究 于素梅 蔡祥宝 (南京邮电大学 电子科学与工程学院,南京 210003) 摘 要:现场总线是自动化领域的计算机网络,已成为当今自动化领域技术发展的热点。CAN总线是现场总线的一种,它与串口之间的通信,是通过硬件电路的电平转换,和软件设计的数据处理实现的。此方法实现了双CAN功能,提高了通信的可靠性。 关键词:CAN总线;CAN设置;双CAN;串口RS232;看门狗 1 引言 CAN (Controller Area Network) 总线又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网。它是一种串行通信网络,支持分布式实时控制,最大传输速度可达1Mbit/s,最大传输距离为10km。CAN规范已被 ISO 国际标准组织制订为国际标准,即CAN标准,现在最常用的是2.0标准,分为2.0A和2.0B。其区别仅在通信数据位数,前者是11位的标准帧,后者是29位的扩展帧。CAN 协议建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层,用户可在其基础上开发适合系统实际需要的应用层通信协议。而串口 RS232 作为标准计算机串行接口,与 CAN 网的结构、传输特性、通信协议等都不相同,所以导致不同设备间无法进行直接通信。因此实现二者之间的直接信息流交互成为问题的关键。 2 原理 这里采用嵌入式芯片 STM32F103 作为主控,CAN网和串口数据的转换是通过芯片相应管脚收发数据,然后把转换后的数据发送出去的过程。此方法实现了双CAN的功能,即通过继电器切换实现两个CAN切换使用,相当于单刀双掷开关,这样增强了CAN的可靠性。 2.1 CAN网切换 通过芯片连接继电器的管脚拉高和拉低实现CAN网的切换,默认为低,是一路,当软件程序中写高时就会拉高,则继电器切换到另外一路,实现双CAN 的功能。 2.2 CAN-串通信协议转换 CAN网设置是通串口发送的数据来实现的,即芯片STM32F103根据上位机串口发来的数据,把CAN属性设置成相应的值。这样就与上位机串口设置一致,便于观察与记录。不仅美观还节省测试者的大量时间。 串口RS232互连总线接口主要功能是与通信。通信速率kbit/s。字节发送帧结构:按发送顺序依次为1个起始位信息位,。FE F0 F1 EF FE FE EF,则设置CAN,同时会把这组数据发给串口,串口接收到这组数之后,才可以进行CAN-串转换通信。设置CAN时串口发送数据为下表一所示: 此处 CAN 波特率可有十个选择(如表A),因为要实现 CAN 的正常通讯,通讯节点之间设置的波特率必须相同。所以用户可以根据自己的需要,设置自己的波特率。 表 1 设置CAN的数据 帧头DATA0 DATA1 DATA2 DATA3 DATA4 0xFE 波特率设置 (见表A) 0xF1:CAN-1路 0xF0:CAN-2路 0xFE:单滤波 0xEF:双滤波 0xFE:只听模式 0xEF:正常模式 DATA5 DATA6 DATA7 0xFE:标准帧 0xEF:扩展帧 0xFE:远程帧 0xEF:数据帧 用户自定义 A)波特率DATA1设置: 0xF0:5k 0xF5:125k 0xF1:10k 0xF6:250k 0xF2:20k 0xF7:500k 0xF3:50k 0xF8:800k 0xF4:100k 0xF9:1M 3 软硬件设计 3.1 硬件设计 电原理图如下图1: 图 1 电原理图 内部晶振:32KHZ;外部晶振:8MHZ; 管脚配置:PA12为CAN_TX,PA11为CAN_RX, PA10为USART_RX,PA11为USART_TX; 复位电路模块:D54部分,MAX809R作为复位电路芯片; 双CAN模块:D51部分,XS509和XS510是两路CAN,XS510是CAN-1路,为高时通,XS509是CAN-2路,为 s低时通。默认为低,是XS509通,当PD1管脚控制切换; 外部串口收发模块:D52部分; 电机模块:K2; 为了保证CAN网的可靠性,并在错误出现时尽快定位错误设备,找出错误原因,规范规定了看门狗稳定性保证措施,两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断或产生系统复位,以防止程序意外跑飞。这样为系统提供了更高的安全性、时间的精确性和使用的灵活性。 3.2 软件设计 软件设计主要包括上位机和下位机的编写,上位机用的VC++平台,下位机用嵌入式IAR EWARM平台。 (1)上位机 由

文档评论(0)

jcc001 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档