0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于C8051F040+CP2101+SN65HVD251+ADuMl201的CAN总线远程传输可靠性的设计方法和实现方案

基于C8051F040+CP2101+SN65HVD251+ADuMl201的CAN总线远程传输可靠性的设计方法和实现方案

来源: chinaaet
2020-07-09
类别:工业控制
eye 77
文章创建人 拍明

原标题:CAN总线远程传输可靠性的设计方法和实现方案

  摘要: CAN总线属于总线式带同步位的串行通信网络,由于采用了许多新技术以及独特的设计,与一般的通信总线相比,CAN总线在远距离数据通信上具有突出的可靠性、实时性和灵活性。CAN的直接通信距离最远可达lOkm(通信速率5Kbps以下),通信速率最高可达lMbps(通信距离最长40m)。但在实际的远程传输过程中,通信数据受许多因素的影响,致使传输的波形失真,达不到预期的效果。本文针对CAN总线远程传输的可靠性进行了设计与分析。:

  0 引言

  现场总线能同时满足过程控制和制造业自动化的需求,成为工业数据总线领域最为活跃的技术之一。CAN(Controller Area Network,即控制器局域网)现场总线以其多主方式,报文自动过滤重发、极低的误码率和高通讯速率等特点,在各种低成本、高抗干扰的多机远程监控系统中得到广泛应用。

  CAN总线属于总线式带同步位的串行通信网络,由于采用了许多新技术以及独特的设计,与一般的通信总线相比,CAN总线在远距离数据通信上具有突出的可靠性、实时性和灵活性。CAN的直接通信距离最远可达lOkm(通信速率5Kbps以下),通信速率最高可达lMbps(通信距离最长40m)。但在实际的远程传输过程中,通信数据受许多因素的影响,致使传输的波形失真,达不到预期的效果。本文针对CAN总线远程传输的可靠性进行了设计与分析。

  1 远程CAN总线传输可靠性的主要影响因素

  (1)工作环境电磁干扰的影响。

  (2)传输介质分布电容和电阻的影响。

  (3)远近端阻抗不匹配的影响。

  (4)接收同步位端的相位变化和幅值变化的影响。

  (5)传送波特率位时钟设计的影响。

  (6)没有发送和接收帧的节点之问高阻状态性的漏电对CAN总线的影响。

  (7)对总线短路和断路监测处理的影响。

  2 远程CAN总线传输可靠性的设计方法

  系统运行在复杂的电磁空问里,有外界的各种电磁场变化,也有系统内部各个元器件之间的电磁干扰。尤其工作现场的电磁场环境是最容易干扰系统的可靠性。因此系统数据传输过程采用屏蔽双绞线,它综合了屏蔽线和双绞线两者的优点,是较理想的信号传输线,即可以抑制静电干扰,也可以抑制电磁感应干扰,从而提高系统的可靠性。

  元器件是构成系统的基础,选择集成化程度高,抗干扰能力强,功耗又小的电子元器件尤为重要。选择合适的MCU是CAN总线控制系统设计成功的关键。在综合比较了当前业界流行的几款MCU最终选择了Silicon Laboratories公司的C8051F040这款8位单片机作为CAN总线控制系统的控制核心。

  C8051F040(以下简称F040)单片机是完全集成的混合信号系统级芯片,具有与MCS一5l完全兼容的指令内核。由于采用了流水线处理技术,大大提高了指令执行效率。F040还采用了Flash ROM技术,集成了JTAG,实现了真正的在线编程和片上调试。它比SJAl000等片外CAN总线控制器具有更好的可靠性和集成度高的特点。F040的CAN控制器完全硬件化,解决了CPU与CAN,总线控制器之间的竞争矛盾。

  在主机CAN节点中,如图1所示,选择Silicon Laboratories公司的USB转UART桥接芯片CP2101,内部自带512B收发缓冲器,进一步从芯片本身上解决了数据冲突的问题。它还有300bps至921.6Kbps的波特率变化范围,满足高速通讯要求,外围电路十分简单;另外,CP2101还集成了5V转3V电压调节器,可以由USB总线来对整个主机节点供电,这样整个电路就只需一根USB连线即可实现与PC机通讯,无需额外电源,即插即用,十分方便。

  图1主机CAN节点的硬件连接图(参见下页)

  

  ADuMl20l是ADI公司生产的隔离器,采用平面磁场专利隔离技术,取消了光电耦合器中的光电转换过程。因此ADuMl201具有优于光电隔离器的优点:速度更高(最高速率达到25 Mbps)、功耗更低(最小工作电流为0.8mA)、性能更高、体积更小、价格更便宜、应用更灵活(多通道数字隔离器能在同一芯片内提供发送和接收通道)。选择ADuMl201用来实现CAN控制器和CAN驱动器之问的电气隔离,增强系统的稳定性,提高了系统的抗干扰能力。

  为了进一步提高系统的远程通讯可靠性,选择TI公司生产的芯片SN65HVD251作为CAN总线收发器。SN65HVD251能以高达1Mbps的速度提供到总线的差动传输功能,以及到CAN控制器的差动接收功能。具有差分收发能力、高抗电磁干扰、超小封装、低功耗性能。与F040配合使用,可使外围电路更加简洁,如图2所示。

  

  CAN收发器SN65HVD251在CANH和CANL输出引脚间并联一个电阻,作为CAN总线的终端电阻,在本节点作CAN总线终端节点时,闭合跳线片JPl,使终端电阻工作。终端电阻值R6等于传输电缆的特性阻抗,一般取值120Ω在文献中有详细的讨论,解决了远近端阻抗不匹配的影响。SN65HVD25l的Rs引脚为斜率电阻输入引脚,可以改变收发器工作的方式。在CANH和CANL上各自串联电阻R2、R3限流,再通过一组上下拉电阻R4、R5,有效抑制反射波干扰,保持总线处于高阻态时,接收端收到的始终是“l”电平,这样拉高信号的幅度,减少误码率。另外在CANH年NCANL之间并联一对方向相反的瞬态二极管Dl、D2,可防雷击,以及防止其他总线上的瞬变干扰。

  3 整体系统设计

  依据以上器件组建一个可靠的CAN总线远程控制系统网络平台。本系统由一个主机CAN节点通过USB接口与上位PC机相连,主节点采用总线方式与下面各个功能节点连接,如图3所示,其中主机CAN节点主要用来发送远程控制广播命令,收集所有节点传来的数据,并上传给上位机软件进行识别分类和统计,它实现了总线侦听、网络监控和上位机接口功能。而底层节点则控制系统中的底层设备,发送包含节点信息的8字节数据CAN总线报文,并侦听主机节点的网络广播指令,调整节点功能。

  图3 CAN总线控制系统多机测试平台

  

  4 实验分析

  4.1 不同公里数通讯结果分析

  将系统总线与模拟的1公里一5公里远程网络相连。为了更好分析CAN总线可靠性,使示波器更好的观察报文波形。将示波器CHl两端与距主节点0公里处相连,CH2两端与距主节点5公里处相连,如图4所示。这样,可以观察到相对主机CAN节点5公里通讯的近端(CHl)和远端(CH2)的通讯报文波形。

  

  CHl测试出来的波形位于上端,CH2测试的波形位于下端。CHl端标识为1的一段波形是主节点发出的报文,2是位于CH2端底层节点接收到的报文,4是底层节点发出的数据报文,3是主机CAN节点接收到的数据,称1和2、3和4为一组报文。每帧数据的最后一位是应答位。每两帧报文之间有时间间隙,其中一段是主机CAN节点和上位PC机处理数据的时间,另外一段是底层测量节点处理数据的时间。

  经过观察,近端发送的1报文经过5公里距离到远端接收到的2报文的幅值发生了衰减;同样近端收到的3报文也在远端4报文的幅值基础上发生衰减。分别测试1公里到4公里通讯的波形图,可以发现通讯距离越长,幅值衰减得越多。

  在其他条件不变的情况下,分别对1公里一5公里做实验,发现远程通讯距离的变化会对报文传输速率有影响但很小,将得出的数据制表如表1

  

  由表1可见,1公里处传输速率最大,每秒传输13.2972I帧,即0.0752秒传输一帧数据,所谓一帧实际一次发送,一次接收,对于CAN总线实际是2帧。随着传输距离的增大,传输速率稍有减小的趋势,说明远程传输有一定的网络时延, 但是在低波特率下影响不大。

  4.2 相同公里数不同测试点通讯结果

  接下来以通讯5公里距离为例,观察将CHl两端连接到0公里处的测试点,CH2两端连接到1公里、2公里、3公里、4公里、5公里处的测试点,可以看到报文波形幅值发生了相应的变化。经过1公里的衰减,同一组报文幅值降低了约O.2V;2公里距离的通讯会造成同一组报文幅值上发生约0.4V的变化;同理3公里、4公里、5公里传输同一组报文分别发生了0.6V、0.8V和lV的幅值衰减。因此可以得出结论:同一组报文每经过l公里距离通讯,报文信号的幅值即发生0.2V的衰减。

  4.3 CAN收发器SN65FIVD251工作电压的影响

  在实验的过程中,观察到SN65HVD251工作电压VCC端的大小对于传输距离的影响很大,经过大量的实验,得出1-5公里距离成功通讯的VCC临界电压值(精确到O.1V),所谓临界电压值是在确定距离内能正常传送数据的最小值。如表2所示。

  

  从表中可以得出,保证l公里成功通讯的前提是VCC端电压大于等于3.6V。VCC端电压越高,可以通讯的距离越远,在1-5公里实验中,每增加1公里,VCC端电压相应提高了约0.3V。最高VCC不能高过SN65HVD251的最高工作电压7V。

  远程通讯距离对于报文信号的幅值有比较大的影响,每公里约衰减O.2V;同时CAN收发器SN65HVD251的输入电压对于远程通讯距离有一定的影响,确保在电压正常范围内的高电压输入可以提高系统的远程通讯距离。电源电压每提高0.3V可延长1公里,而增加1公里损耗0.2V,余下的0.1V由驱动芯片内部所消耗了。

  5 CAN总线远程控制网络的性能总结

  CAN总线传输距离在驱动芯片工作电压和传送波特率确定之后,主要决定如下二个因素:(1) 发送端的应答位的隐性电压和接收端把隐形变成显性电平以后又传送到发送端时的电平差值;(2)发送端发的应答位到接收端被确认后又发回到发送端时该位相位变化。前者电平差值为0.6V,后者不能滞后每位的时间的一半。0.6V电平差比RS485、RS422识别“l”和“0”差值100mv要大很多。这也就是说同样传送条件下,RS485比CAN总线传送距离远。同样RS485、RS422因阈值过小,易受干扰。另外CAN总线其他性能优于RS485和RS422,如CRC硬化,可以多主通讯机构,以及多层已硬化的上层协议等。RS485的误码率10—7,CAN总线误码率可达2×10一ll。因此要提高远程传送可靠性可以采取如下方法:

  (1)增加驱动芯片的工作电压。

  (2)降低发送的波特率,减少相位滞后的影响。

  (3)使用更粗双绞线,减小通讯导线电阻,从而减少传送损耗。

  (4)用两个驱动芯片并联驱动,减少驱动芯片的内阻,提高驱动电流,即减少0.1V内部损耗。

  (5)选用分布电容较小的双绞线,降低分布电容对同步位相位的影响。

  总体来说, 本文设计的CAN总线控制系统无论从可靠性,还是从其他性能指标上来分析,都达到了很好的效果。并且在拉西瓦水电站边坡监测系统中承担数据采集通讯的任务。

     c8051F040

  Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了8位单片机控制系统的发展方向。

  基本信息

  Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了8位单片机控制系统的发展方向。

  芯片上有1个12位多通道ADC,2个12位DAC,2个电压比较器,1个电压基准,1个32kB的FLASH存储器,与MCS-51指令集完全兼容的高速CIP-51内核,峰值速度可达25MIPS,并且还有硬件实现的UART串行接口和完全支持CAN2.0A和CAN2.0B的CAN控制器。

  C8051F040是高度集成的混合信号SoC级微控制器芯片,具有与8051单片机兼容的高速CIP-51微控制器内核,除了标准8051的数字外设部件外,片内还集成了数据采集与控制系统中常用的模拟部件及其它一些数字外设部件。

  基本功能

  (1)增强型8051CPU-CIP-51微控制器

  C8051F040单片机系统控制器的内核采用CIP-51微控制器,它与MCS-51指令集完全兼容,可以使用标准803x/805x汇编器和编译器进行软件开发。CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART串行接口、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8个8位宽的I/O端口。

  (2)速度提升

  CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在标准8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12-24MHz。而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。CIP-51共有111条指令。CIP-51工作在最大系统时钟频率25MHz时,其峰值性能达到25MIPS。下表列出了指令条数与执行

  时所需的系统时钟周期数的关系:

  (3)功能改进

  C8051F040系列MCU对CIP-51内核和外设有几项关键性的改进,提高了整体性能,更易于最终应用。标准8051只有7个中断源,C8051F04x系列MCU通过对内核中断系统的扩展,可向CIP-51提供20个中断源。允许大量的模拟和数字外设中断微控制器。

  MCU可有多达7个复位源:一个片内VDD监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0提供的电压检测器、一个软件强制复位、CNVSTR0输入引脚及/RST引脚。/RST引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到/RST引脚。除了VDD监视器和复位输入引脚以外,每个复位源都可以由用户用软件禁止。

  (4)其他设备

  ◆控制器局域网(CAN2.0B)控制器,具有32个消息对象,每个消息对象有其自的标识符;

  ◆全速、非侵入式的在系统调试接口(片内);

  ◆100 ksps的12位ADC,带PGA和8通道模拟多路开关;

  ◆允许高电压差分放大器输入到12位ADC(60V峰-峰值),增益可编程;

  ◆500 ksps的8位ADC,带PGA和8通道模拟多路开关;

  ◆两个12位DAC,具有可编程数据更新方式;

  ◆64KB的可在系统编程的FLASH存储器;

  ◆4352(4K+256)字节的片内RAM;

  ◆可寻址64KB地址空间的外部数据存储器接口;

  ◆硬件实现的SPI、SMBus/I2C总线接口;

  ◆具有6个捕捉/比较模块的可编程计数器/定时器阵列;

  ◆片内看门狗定时器、VDD监视器和温度传感器

  (5)可编程数字I/O端口和交叉开关

  C8051F040中除具有4个标准的8051端口P0、P1、P2、P3外,还附加了4个端口P4、P5、P6、P7。这64个多功能的I/O端口每个引脚都可以被配置为漏极开路或推挽输出方式,方便用户使用[6]。

  特性

  可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配置在端口I/O引脚。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。





责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯