CAN总线接口电路设计的关键问题及解决方法_第1页
CAN总线接口电路设计的关键问题及解决方法_第2页
CAN总线接口电路设计的关键问题及解决方法_第3页
CAN总线接口电路设计的关键问题及解决方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CAN总线接口电路设计的关键问题及解决方法摘要:文章总结了 CAN 接口电路设计中的几个关键问题,提出应采取合理设置光电隔离电 路、隔离光电耦合器两侧的电源、 设置必需的上拉电阻、 总线阻抗匹配、 增加抗干扰等措施 , 提高了 CAN 总线接口电路的可靠性与安全性。0 引言CAN 总线是一种有效支持分布式控制和实时控制的串行通信网络,以其高性能和高可 靠性在自动控制领域得到了广泛的应用。 为提高系统的驱动能力,增大通信距离,实际应用 中多采用Philips公司的82C250作为CAN控制器与物理总线间的接口,即 CAN收发器,以 增强对总线的差动发送能力和对 CAN控制器的差动接收能力。为进一

2、步增强抗干扰能力, 往往在CAN控制器与收发器之间设置光电隔离电路。典型的CAN总线接口电路原理如图 1所示。1 接口电路设计中的关键问题1.1 光电隔离电路光电隔离电路虽然能增强系统的抗干扰能力,但也会增加CAN总线有效回路信号的传输延迟时间,导致通信速率或距离减少。82C250等型号的CAN收发器本身具备瞬间抗干扰 、 降低射频干扰(RFI)以及实现热防护的能力, 其具有的电流限制电路还提供了对总线的进一步 保护功能。因此,如果现场传输距离近、电磁干扰小,可以不采用光电隔离,以使系统达到 最大的通信速率或距离, 并且可以简化接口电路。 如果现场环境需要光电隔离, 应选用高速 光电隔离器件,

3、以减少 CAN总线有效回路信号的传输延迟时间,如高速光电耦合器6N13 7,传输延迟时间短,典型值仅为48 ns,已接近TTL电路传输延迟时间的水平。1.2 电源隔离光电隔离器件两侧所用电源Vdd与Vcc必须完全隔离,否则,光电隔离将失去应有的作用。电源的隔离可通过小功率 DC/DC电源隔离模块实现,如外形尺寸为DIP-14标准脚位的5 V 双路隔离输出的小功率 DC/DC模块。1.3 上拉电阻图1中的CAN收发器82C250的发送数据输入端 TXD与光电耦合器6N137的输出端OUT 相连,注意TXD必须同时接上拉电阻 R3。一方面,R3保证6N137中的光敏三极管导通时输 出低电平,截止时

4、输出高电平;另一方面,这也是 CAN总线的要求。具体而言,82C250的 TXD端的状态决定着高、低电平CAN电压输入/输出端CANH CANL的状态(见表1)。CAN总线规定,总线在空闲期间应呈隐性, 即 CAN 网络中节点的缺省状态是隐性, 这要求 82C25O 的TXD端的缺省状态为逻辑1(高电平)。为此,必须通过R3确保在不发送数据或出现异常情 况时,TXD端的状态为逻辑1(高电平)。表1 TXD与CANH、CANL的关系表TXD状态 CANH电平(V) CANL电平(V) CAN总线状态12.52.5 隐性(逻辑 1)0 3.5 1.5 显性 ( 逻辑 0)1.4 总线阻抗匹配CAN

5、总线的末端必须连接 2个120 Q的电阻,它们对总线阻抗匹配有着重要的作用,不可省略。否则,将大大降低总线数据通信时的可靠性和抗干扰性, 甚至有可能导致无法通信 。1.5 其它抗干扰措施为提高接口电路的抗干扰能力,还可考虑以下措施:(1)在82C25O的CANH、CANL端与地之间并联 2个30 pF的小电容,以滤除总线上的高频干 扰,防止电磁辐射。在82C250的CANH CANL端与CAN总线之间各串联1个5 Q的电阻,以限制电流,保护 82C250 免受过流冲击。在82C25O、6N137等集成电路的电源端与地之间加入 1个100 nF的去耦合电容,以降低 干扰。2 结语接口电路是 CA

6、N 总线网络中的重要环节,其可靠性与安全性直接影响整个通信网络的 运行。本文总结了 CAN接口电路设计中应注意的几个关键问题。只有抓住设计中的关键, 才能提高多接口电路的质量与性能,确保 CAN总线网络安全、可靠地运行。基于 CAN 总线的通信可靠性验证摘 要:作为一种很有前途的现场总线,CAN总线通信相对于一般的串行通信总线,它的实时性、可靠性和灵活性的特点更加突出。本课题的目的就是验证基于CAN总线上位机和下位机之间通信的可靠性。关键词 : CAN 总线;现场总线;单片机前言CAN总线是有德国BOSCH公司为实现汽车测量和执行部件之间的数据通信而设计的一种现 场总线,是一种支持分布式控制及

7、实时控制的串行通信网络,CAN总线规范已成为国际标准 。CAN总线通信的波特率可高达 1Mbps,最远距离可达10km ; CAN总线通信采用短帧结构, 使得数据传输的时间短, 受干扰的几率低,并且CAN总线协议有良好的检错措施, 因此CAN 总线通信的可靠性较高; CAN总线定义网络中的每一节点对应一地址,理论上基于CAN总线的网络上可以添加删除任一节点,在实际应用中CAN总线最多可挂110个节点,通信方式可以为点对点的方式也可以为广播方式,可以为单主方式也可以是多主方式,因此CAN总线通信有相当的灵活性;基于CAN总线通信对于传送的信息帧可以设定不同的优先级,并通过总线仲裁机制使高优先级的

8、信息能够优先传送,从而增加了 CAN总线通信的实时性;CAN总线的完善可靠的通信协议主要有接口器件完成,这降低了软件开发的难度。硬件及软件设计为了研究基于 CAN总线通信的可靠性,我们所采用的通信实验为上位机和下位机之间的数据传输, 首先由上位机传送数据到下位机,下位机再将接受到数据发回到上位机, 有上位机来统计数据传输的成功率, 由上位机接受到某一下位机的数据和由上位机发送到该下位机 节点的数据一致时,我们就定义上位机和上位机的这次通信成功。上位机选用PC机,由于PC机具有良好的人机交互界面, 通过数字能够直观的反映出基于CAN总线上位机和下位机之间通信的可靠性。下位机节点的处理器采用单片机

9、。硬件设计通信实验的结构框图如图1所示,有上位机节点 PC机,PCCAN卡,下位机节点 51型单片机,CAN控制器SJA100Q CAN收发器82C250,光电隔离器6N137,以及发光二节管,置位 开关等器件构成。为了调试硬件电路板,设置上位机和下位机的通信为三种工作模式:单发单收,单收单发,循环接收发送 。通过外部的置位开关选择 51 单片机的三种工作模式。由于每一节点对应网 络中的一地址,下位机节点 51 单片机的地址也通过置位开关设定,这样下位机节点不会因 为地址不同而要改变程序。CAN收发器82C250和CAN控制器SJA1000执行了 CAN协议的数据链路层和物理层的功能,CAN控

10、制器82C250作为物理电平的接收发送。为了观察在CAN控制器和CAN发送器之间有无隔离光耦时对数据传输的影响,在其中一个从结点的CAN收发器82C250和CAN控制器SJA1000之间加有隔离光耦 6N137。51型单片机通过访问 SJA1000的寄存器来实现和上位 机的通信。CAN控制器SJA1000内的接收寄存器和发送寄存器用于暂时存放接收和发送的数 据。单片机发送数据是通过设置SJA1000的命令寄存器发送命令位。下位机单片机接收数据是通过中断方式实现的,CAN控制器芯片提供了中断所需的中断引脚。本实验所用的PCCAN卡集成有微处理器 80C188、CAN控制器SJA1000 CAN收

11、发器82C250、1MB/2MB的RAM,以及相关的光电隔离电路。微处理器80C188减轻了 PC机的通信负担,所带的RAM直接映射到PC机的内存,加快了 PC机和CAN总线的数据交换率。PCCAN上自 带光电隔离保护PC机避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。软件设计上位机PC机通过PCCAN卡接至U CAN总线上,PCCAN卡在CAN2.0A协议的基础定义了自己 的与CAN2.0A兼容的协议,在程序设置时,数据帧格式应依照PCCAN卡协议规定的数据格式。为了研究基于CAN总线下数据传输的可靠性,程序的流程为首先有上位机分别传送三个随 机数据到三个下位机节点, 下位机节点接

12、收到数据后再将接收到数据发回上位机节点。我们在统计数据时, 规定上位机发送到某一下位机节点的数据和再接收来自这一节点的数据相同 作为一次成功的发送接收,并通过上位机来统计发送接收数据的正确率。软件设置包括上位机节点 PC机的软件设计和下位机节点单片机的软件设计两部分。PC机的软件由PCCAN卡提供了支持 DOS和WINDOWS的驱动程序,包含可以被程序调用的 动态链接函数库。PCCAN卡提供了两种协议:直接映射协议和 Hilon协议。直接映射协议是指 CPU直接访问CAN控制器的寄存器,Hilon协议在CAN协议的基础上定义了自己的协议。 PC 机通信的编程是通过高级语言调用PCCAN卡自带的

13、动态链接库的函数来实现和单片机之间的通信,接收和发送的数据都以数组的形式存在。上位机接收和发送数据都用采用查询的方式。 当上位机接收到下位机的数据时, 按照 PCCAN 卡的协议规定的帧格式, 不能判断接收的数据是来自那一下位机的数据, 因此规定了下位机 节点发回来自上位机节点的数据时, 定义发送的首字节作为该下位机节点的地址; 上位机把 接收到的数据也做相应处理, 取下接收到的第一字节作为发送数据的下位机节点的地址。上位机软件流程图如图 2所示。单片机的软件是通过单片机访问CAN控制器的寄存器来实现的,单片机对CAN控制器的寄存器的访问是作为单片机的对外部存储器。PCCAN卡协议是在CAN2

14、.A协议的基础上规定了自己的协议,定义的数据帧结构完全兼容CAN2.A的数据帧结构。因此在对单片机编程时的传输的数据帧格式应按照PCCAN卡协议规定的数据帧格式,PCCAN卡传送的数据帧结构分为单帧和多帧,单片机的通信程序也分单帧和多帧。 下位机单片机的通信程序分为下位机接收程序和下位机发送程序两部分。单片机接收数据采用中断方式,当 CAN控制器SJA1000接收到上位机的数据并且接收缓冲 区有空余空间,接收的数据被依次放在 SJA1000的接收缓冲区中。SJA1000的接收缓冲区为64 字节, 接收寄存器对应着接收缓冲区中的一部分。 当调用清除命令清除接收寄存器中的数据 后,FIFO接收缓冲区会把数据填充到已清空的接收寄存器中,同时会发一个中断信号。单 片机把这个中断信号作为单片机的外部接收中断,单片机响应接受中断后读出CAN控制器中的接收缓冲区数据并保存,再清空CAN控制器的接受寄存器,流程图如图3所示。单片机发送数据时,首先把要发送的数据按照PCCAN卡协议规定的帧格式转移到发送缓冲区,再通过调用发送命令来发送数据。实验结果本课题的目的是为了测试基于CAN总线下上位机和下位机通信的可靠性。本通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论