- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)