CAN总线

来源:ZLG致远电子 - 研发部

CAN总线由其高可靠和实时性被广泛应用于新能源汽车、轨道交通、医疗、工程机械等行业,但是由于大部分行业工作环境都比较恶劣,所以提高总线抗干扰能力是目前行业用户最为关注的方向。

常见CAN总线干扰现象

如下为一条流水线有两路CAN总线,一条总线有22个控制节点,每当启动工作时就会出现严重的失控状态,流水线都是通过电机驱动的。在使用CANScope测试发现,在未启动电机情况下,帧统计结果显示100%成功率,如图1所示。

“图1
图1 正常工作帧统计

此时CAN波形图如图2所示。

“图2
图2 正常波形

然而当电机启动之后,CAN总线质量急剧下滑,使用CANScope帧统计结果显示成功率仅仅为16.33%,如图3所示。

“图3
图3 干扰时帧统计

此时的CAN波形图如图4所示,可见干扰导致波形严重畸变。

“图4
图4 干扰时波形

干扰导致帧错误增加,重发频繁,正确数据不能及时到达。所以如何解决干扰带来的困扰呢,下面就为大家介绍CAN总线抗干扰的六大解决方案。

一、增加CAN接口电气隔离

干扰不但影响信号,更严重的会导致板子死机或者烧毁,所以接口和电源的隔离是抗干扰的第一步。隔离的主要目的是:避免地回流烧毁电路板和限制干扰的幅度。未隔离时,两个节点的地电位不一致,导致有回流电流,产生共模信号,CAN的抗共模干扰能力是-12~7V,超过这个差值则出现错误,如果共模差超过±36V,烧毁收发器或者电路板。

传统用户都采用分立器件自己搭建隔离电路的方式,如今大家更青睐使用隔离收发器做防护隔离。如图所示的CTM系列隔离收发器的总线隔离技术,与传统分立器件方案相比,产品具备更高的集成度与可靠性,能够有效提升总线通信防护等级,极大程度降低用户的采购与生产成本,大幅缩短开发周期。增加CTM隔离模块后,如图5所示。隔绝了地回流,限制了干扰幅度。

“图5
图5 CAN接口电气隔离

二、共收发器的信号地

共CAN收发器的信号地,并且CAN使用三线制信号传输。可以有效抑制共模干扰。注意图6中屏蔽层为近距离外壳等电势的情况下的接线方法。

“图6
图6 CAN信号共地

三、CAN线保证屏蔽效果与正确接地

带屏蔽层的CAN线,可以良好地抵御电场的干扰,等于整个屏蔽层是一个等势体,避免CAN导线受到干扰。如图所示,为一个标准的屏蔽双绞线,CANH和CANL通过铝箔和无氧铜丝屏蔽网包裹。需要注意的是和与接插件的连接,在连接部分允许有短于25mm的电缆不用双绞。

“图7
图7 屏蔽双绞线

使用屏蔽线后,在屏蔽层没有良好接大地前,屏蔽线是不起作用的。所以我们要选择一种接地方式。这里有三种外壳接地法:屏蔽层单点接地、屏蔽层分段屏蔽法、多点接地可以加快高频干扰信号的泄放。在CAN的应用场合,由于距离一般都较远,所以大部分采用屏蔽层单点接地的原则,在干线上找一点将屏蔽层用导线直接接地,该点应是所受干扰最小的点,同时该点位于网络中心附近。

“”

“”

“图8
图8 屏蔽层分段屏蔽法

四、提高CAN线双绞程度

CAN总线为了提高抗干扰能力,采用CANH和CANL差分传输,达到效果就是遇到干扰后,可以“同上同下”,最后CANH-CANL的差分值保持不变。如图9所示。

“图9
图9 差分干扰示意

CANH和CANL要紧密地绞在一起,通常双绞线只有33绞/米,而在强干扰场合,双绞程度要到45-55绞/米才能达到较好的抗干扰效果。另外线缆的芯截面积要大于0.35~0.5mm²,CAN_H对CAN_L的线间电容小于75pF/m,如果采用屏蔽双绞线,CAN_H(或CAN_L)对屏蔽层的电容小于110pF/m。可以更好地降低线缆阻抗,从而降低干扰时抖动电压的幅度。

五、增加信号保护器

增加信号保护器,提高抗浪涌群脉冲等EMC能力。上面的隔离只是阻挡,如果干扰强度很高,比如达到2KV浪涌,隔离也会被破坏。所以要想达到更高的防护等级,必须增加防浪涌电路。如图10所示,为ZLG致远电子高速总线标准防浪涌保护电路。

“图10
图10 信号保护电路

六、CAN转光纤传输

增加CAN转光纤转换器。解决超强干扰(比如远程激光与电磁脉冲发射装置)与雷击问题,光纤是一种无法被电磁干扰的传输介质,如图11所示,为使用ZLG致远电子的CANHub-AF1S1和CANHub-AF2S2组合的光纤主干网络。

“图11
图11 光纤传输

来源:ZLG致远电子 - 研发部
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 114

CAN总线虽然有强大的抗干扰和纠错重发机制,但目前CAN被大量应用于比如新能源汽车、轨道交通、医疗、煤矿、电机驱动等行业,而这些场合的电磁环境比较严重,所以如何抗干扰是工程师最为关心的话题。

前段时间有个做模台流水线的用户,一条流水线有两路CAN总线,一条总线有22个控制节点,每当启动模台就会出现严重的失控状态,模台下是由很多电机驱动的,而操控台下放着变频器。使用CANScope测试发现,在未启动电机情况下,控制台的CAN通信正常,帧统计结果显示100%成功率,如图1所示。

图1 模台静态状态下帧统计

此时CAN波形图如图2所示。

图2 模台静态状态下波形图

然而当模台电机启动之后,CAN总线质量急剧下滑,使用CANScope帧统计结果显示成功率仅仅为16.33%,如图3所示。

图3 模台动态态状态下帧统计

此时的CAN波形图如图4所示,可见干扰导致波形严重畸变。

图4 模台动态态状态下波形图

干扰导致帧错误增加,重发频繁,正确数据不能及时到达。所以如何解决干扰带来的困扰呢,下面就为大家介绍CAN总线抗干扰的六大解决方案。

增加CAN接口电气隔离

干扰不但影响信号,更严重的会导致板子死机或者烧毁,所以接口和电源的隔离是抗干扰的第一步。隔离的主要目的是:避免地回流烧毁电路板和限制干扰的幅度。如图5所示,未隔离时,两个节点的地电位不一致,导致有回流电流,产生共模信号,CAN的抗共模干扰能力是-12~7V,超过这个差值则出现错误,如果共模差超过±36V,烧毁收发器或者电路板。

图5 差分抗干扰示意图

传统用户都采用分立器件自己搭建隔离电路的方式,如今大家更青睐使用隔离收发器做防护隔离。如图6所示的CTM系列隔离收发器的总线隔离技术,与传统分立器件方案相比,产品具备更高的集成度与可靠性,能够有效提升总线通信防护等级,极大程度降低用户的采购与生产成本,大幅缩短开发周期。

图6 隔离CAN收发器

增加CTM隔离模块后,如图7所示。隔绝了地回流,限制了干扰幅度。

图7 隔离地回流

共CAN收发器的信号地

共CAN收发器的信号地,并且CAN使用三线制信号传输。可以有效抑制共模干扰。注意图8中屏蔽层为近距离外壳等电势的情况下的接线方法。

图8 CAN信号共地

CAN线保证屏蔽效果与正确接地

带屏蔽层的CAN线,可以良好地抵御电场的干扰,等于整个屏蔽层是一个等势体,避免CAN导线受到干扰。如图9所示,为一个标准的屏蔽双绞线,CANH和CANL通过铝箔和无氧铜丝屏蔽网包裹,如图9所示。需要注意的是和与接插件的连接,在连接部分允许有短于25mm的电缆不用双绞。

图9 屏蔽双绞线

使用屏蔽线后,在屏蔽层没有良好接大地前,屏蔽线是不起作用的。所以我们要选择一种接地方式。这里有三种外壳接地法:屏蔽层单点接地,可以避免地回流(不同位置的地电位不同而导致的产生电流),如图10所示。节点信号地阻容接自身外壳,如图11所示。屏蔽层分段屏蔽法,如图12所示,多点接地可以加快高频干扰信号的泄放,屏蔽层单点接地可以避免地回流,所以要根据实际情况选择合适的接地方式。

图10 屏蔽层单点接地

图11 节点信号地阻容接自身外壳地

图12 屏蔽层分段屏蔽法

在CAN的应用场合,由于距离一般都较远,所以大部分采用屏蔽层单点接地的原则,在干线上找一点将屏蔽层用导线直接接地,该点应是所受干扰最小的点,同时该点位于网络中心附近。

提高CAN线双绞程度

CAN总线为了提高抗干扰能力,采用CANH和CANL差分传输,达到效果就是遇到干扰后,可以“同上同下”,最后CANH-CANL的差分值保持不变。如图13所示。

图13 差分抗干扰示意图

CANH和CANL要紧密地绞在一起,通常双绞线只有33绞/米,而在强干扰场合,双绞程度要到45-55绞/米才能达到较好的抗干扰效果。另外线缆的芯截面积要大于0.35~0.5mm²,CAN_H对CAN_L的线间电容小于75pF/m,如果采用屏蔽双绞线,CAN_H(或CAN_L)对屏蔽层的电容小于110pF/m。可以更好地降低线缆阻抗,从而降低干扰时抖动电压的幅度。

表1 双绞线对磁干扰的衰减比

增加信号保护器

增加信号保护器,提高抗浪涌群脉冲等EMC能力。上面的隔离只是阻挡,如果干扰强度很高,比如达到2KV浪涌,隔离也会被破坏。所以要想达到更高的防护等级,必须增加防浪涌电路。如图14所示,为ZLG致远电子高速总线标准防浪涌保护电路。

注意,由于电容较大,一条总线最多增加2-3个保护器!

图14 信号保护电路

CAN转为光纤传输

增加CAN转光纤转换器。解决超强干扰(比如远程激光与电磁脉冲发射装置)与雷击问题,光纤是一种无法被电磁干扰的传输介质,如图15所示,为使用ZLG致远电子的CANHub-AF1S1和CANHub-AF2S2组合的光纤主干网络。

图15 使用光纤转换器实现光纤主干传输

以上就是今天跟大家分享的总线抗干扰的六种解决方案,在文章最后再补充在现场常用的两种手段吧。

1、CAN线远离干扰源

远离干扰源是最简单的抗干扰方法,如果CAN线与强电干扰源远离0.5米,干扰就基本影响不到了。可是在实际布线中,经常遇到空间太小而不得不和强电混在一起,如图16所示,为某新能源汽车的驱动系统,CAN线与驱动线混在一起,结果导致干扰很大。只要与CAN并行的驱动线,具备2A/秒的电流变化,就会耦合出强磁场而导致CAN线上出现干扰脉冲。所以CAN线必须要和电流会剧烈变化的线缆远离。比如继电器、电磁阀、逆变器、电机驱动线等。

图16 干扰现场图

而解决这个问题,只能尽量保证强电与弱电分开捆扎,距离上尽量远离。实在避不开,也要垂直交叉,也不能平行布线。

2、增加磁环或者共模电感

使用抗干扰的磁环,目的就是削弱特定频率的干扰的影响。如图17所示,为增加磁环的效果。CAN差分线缆可以两线一起加,或者单端单独加。

图17 增加磁环

需要注意的是增加磁环或者共模电感时,不可随意添加,如果适应频率不对,则会影响正常信号通讯哦。

本文转自:ZLG立功科技,转载此文目的在于传递更多信息,版权归原作者所有。

围观 460

CAN总线的设计经常遇到错误定位等问题,但是CAN总线测试工程师主要关注的问题不过是这几个!解决这几个问题,CAN通讯问题80%得以解决。

一、定位干扰原因

当总线有干扰时,有经验的工程师能够迅速定位,但是对于新手来说却很麻烦。造成总线干扰的原因有很多,比如通过电磁辐射耦合到通讯电缆中、屏蔽线接地没处理好、隔离了通讯没有隔离电源等。通过下图我们可以推导出,现场的干扰不是通过电磁辐射进来,整车的网络也没有干扰,基本可以断定干扰就是电机驱动器的CAN通讯没隔离好。

CAN总线工程师需要关注的几个问题
图1 定位干扰原因

二、消除延时误差的方法

为了减小延时,增加通讯距离和降低通讯错误率,我们可以采取以下措施:
  •   采用磁隔离的CTM1051方案设计接口收发电路;
  •   用较粗的导线代替细导线,标准为1.5线缆(延迟为5ns/m);
  •   使用镀金或镀银的线缆;
  •   增加网桥中继设备CANBridge延长通讯距离;
  •   采用光纤传输,如致远电子的CANHUB-AF1S1,同等波特率可延长1倍通讯距离。

三、信号地(CAN-GND)

1、信号地概念

信号地也称为隔离地,为使电子设备工作时有一个统一的参考电位,避免有害电磁场的干扰,使设备稳定可靠的工作,设备中的信号电路统一参考地,即CAN-GND。

2、信号地处理

许多实际应用中,设计者常直接将每个节点的参考地接于本地的大地,作为信号的返回地,看似正常可靠的做法,却存在极大的隐患!

信号地(CAN-GND)正确的接法主要分为两种:

  •   单屏蔽层线缆:如果线缆是单屏蔽层,信号地理想接法是使用专门的信号线将所有节点信号地连接,起到参考地的作用。但如果缺少信号地线,亦可将所有节点信号地都连接到屏蔽层,但这样屏蔽效果亦差强人意。

CAN总线工程师需要关注的几个问题
图2 带有屏蔽层双绞线

CAN总线工程师需要关注的几个问题
图3 含信号地线双绞线连接方式

CAN总线工程师需要关注的几个问题
图4 信号地与屏蔽层连接方式

  •   双屏蔽层线缆:当使用双层屏蔽电缆时,需要将所有节点信号地连接到内屏蔽层,若使用非屏蔽线进行数据传输时,请保持信号地管脚悬空处理。

CAN总线工程师需要关注的几个问题
图5 双屏蔽层信号地处理方式

所有节点信号地接到屏蔽层或者双屏蔽层的内层后,屏蔽层处理方式注意为单点接地,不可多点接地,否则会在信号地线上形成地环流。

另外,单点接地时为了加大供电地和信号地之间的隔离电阻,阻止共地阻抗电路耦合产生的电磁干扰,注意采用隔离浮地设计,通过阻容方式将屏蔽层与外壳隔离。

http://mcu.eetrend.com/files/2018-09/wen_zhang_/100014217-48426-6.jpg
图6 未进行单点接地处理的报文受到电磁干扰

来源: ZLG致远电子

围观 385

在CAN节点的设计中,我们通常为了总线的通讯更为可靠,为CAN接口增加各种器件,但实际并非所有应用都需要,过多防护不仅增加成本,而且器件的寄生参数必然影响信号质量。本文将简单介绍共模电感用于总线的作用。

我们在实际应用中看到许多CAN产品会使用共模电感,但在常规测试中却看不到它对哪一项指标有明显改善,反而影响波形质量。

许多工程师为了以防万一,确保可靠,会对CAN增加全面外围电路。CAN芯片已经有很好的抗静电,瞬态电压能力,有些收发器本身也有很好的EMC性能,我们在应用中可根据设计要求逐个增加防护、滤波等外围。

对于CAN总线要不要加共模电感,我们主要从电磁兼容方面考虑。

一、共模电感

先介绍共模干扰。图1、图2分别给出了差模和共模干扰及其传输路径。图中的驱动器及接收器为差分信号传输,类似CAN总线。差模干扰产生于两条传输线之间,共模干扰则在两条线中同时产生,其电势是以地为参考。

CAN总线到底要不要加共模电感?
图1 差模干扰及传输路径

CAN总线到底要不要加共模电感?
图2 共模干扰及传输路径

共模电感是在一个磁环的上下两个半环上,分别绕制相同匝数但绕向相反的线圈。共模干扰是相同的,所以在磁环中形成的磁力线相互叠加,电感阻抗大从而起到衰减干扰的作用。对于差模信号在磁环中形成的磁力线是相互抵消的,并没有抑制作用,仅有线圈电阻及很小的漏感对差模信号有略微影响。

共模电感本质上是一个双向滤波器,一方面滤除信号线上的共模信号干扰,另一方面抑制信号线本身不向外发出电磁干扰。图2中的干扰信号则能很好地被共模电感抑制,而差分信号则几乎无影响。

二、CAN总线特性

CAN收发器内部CANH、CANL分别为开源,开漏输出形式,驱动电路如图3所示。这种方式可以使总线轻松实现显性电平的驱动,而隐性电平则通过终端电阻放电来实现。

CAN总线到底要不要加共模电感?
图3 CAN收发器驱动电路

总线固有的差分传输形式使得CAN对于共模干扰有很好的抑制能力,如图4所示。通过CANH、CANL相减可很好地消除来自外部的共模干扰,但CANH、CANL并非理想对称,快速上升的跳变沿,这些均会带来EMC问题。我们通过示波器看总线波形很完美,测试静电,EFT,浪涌,传导骚扰抗扰均无异常。但测试传导发射,则不能满足限值要求,看起来很正常的总线实际却向外在发送传导干扰。

CAN总线到底要不要加共模电感?
图4 CAN传输波形

三、为什么要加共模电感?

对于CAN接口的EMC问题,除了选用更好性能,符号要求的CAN收发芯片,另一种简单的方法就是对CAN接口增加外围,共模电感是一种很好的选择。在现有汽车电子CISPR 25标准中,对传导骚扰限值有很严格要求。许多CAN收发器均会超过限值。如图5分别为按照车规限制测试增加和不加共模电感的CAN接口传导骚扰,共模电感值为51μH,可以看到在各个频段下对噪声改善较为明显,测试结果仍有很大裕量。

CAN总线到底要不要加共模电感?
图5 传导骚扰测试

共模电感对降低传导骚扰有明显作用,可帮助我们快速通过测试要求,满足现有汽车用要求,但总线增加共模电感也会带来两个问题:谐振和瞬态电压。共模电感不可避免地会有寄生电感,直流电阻,考虑总线节点数,通信距离等因素,会引起谐振,影响总线信号质量,如图6,绿色波形为增加共模电感的总线波形,信号下降沿已有明显的谐振。另外,共模电感感量较大,且直接节在收发器接口,实际应用中出现短路,热插拔等状态会使共模电感两端产生瞬态高压,严重时会直接损坏收发器。

CAN总线到底要不要加共模电感?
图6 增加共模电感的CAN波形

四、总结

共模电感用于总线的优缺点较为明显,它可以滤除信号线的共模电磁干扰,衰减差分信号高频部分,抑制CAN接口自身向外发出的电磁干扰,在传导骚扰方面有很好地改善作用,但应用仍要考虑其带来的谐振与瞬态电压,这些在长距离,多节点通讯中对总线信号质量是不利的,对于一般工业应用对传导发射并无严格要求,因此可不增加共模电感。

广州致远电子有限公司基于多年的总线防护设计积累推出了高防护等级隔离模块——CTM1051(A)HP系列。该系列符合国际ISO11898-2标准,静电防护等级可达接触±8kV,空气放电±15kV,浪涌防护可达±4kV隔离CAN解决方案,具体如下图7所示,能够适用于各种恶劣的工业现场环境。应用简便,即插即用,应用原理图如下图8所示。

CAN总线到底要不要加共模电感?
图7 CTM1051(A)HP的EMC性能

CAN总线到底要不要加共模电感?
图8 应用原理图

转自:微信号 ZLG致远电子

围观 383

导读:CAN总线的设计经常遇到错误定位等问题,但是CAN总线测试工程师主要关注的问题不过是这几个!解决这几个问题,CAN通讯问题80%得以解决。

一、定位干扰原因

当总线有干扰时,有经验的工程师能够迅速定位,但是对于新手来说却很麻烦。造成总线干扰的原因有很多,比如通过电磁辐射耦合到通讯电缆中、屏蔽线接地没处理好、隔离了通讯没有隔离电源等。通过下图我们可以推导出,现场的干扰不是通过电磁辐射进来,整车的网络也没有干扰,基本可以断定干扰就是电机驱动器的CAN通讯没隔离好。

CAN总线工程师需要关注的几个问题

二、消除延时误差的方法

  •  为了减小延时,增加通讯距离和降低通讯错误率,我们可以采取以下措施:

  •  采用磁隔离的CTM1051方案设计接口收发电路;

  •  用较粗的导线代替细导线,标准为1.5线缆(延迟为5ns/m);

  •  使用镀金或镀银的线缆;

  •  增加网桥中继设备CANBridge延长通讯距离;

  •  采用光纤传输,如致远电子的CANHUB-AF1S1,同等波特率可延长1倍通讯距离。

三、信号地(CAN-GND)

1、信号地概念

信号地也称为隔离地,为使电子设备工作时有一个统一的参考电位,避免有害电磁场的干扰,使设备稳定可靠的工作,设备中的信号电路统一参考地,即CAN-GND。

2、信号地处理

许多实际应用中,设计者常直接将每个节点的参考地接于本地的大地,作为信号的返回地,看似正常可靠的做法,却存在极大的隐患!

信号地(CAN-GND)正确的接法主要分为两种:

  •  单屏蔽层线缆:如果线缆是单屏蔽层,信号地理想接法是使用专门的信号线将所有节点信号地连接,起到参考地的作用。但如果缺少信号地线,亦可将所有节点信号地都连接到屏蔽层,但这样屏蔽效果亦差强人意。

CAN总线工程师需要关注的几个问题
图2 带有屏蔽层双绞线

CAN总线工程师需要关注的几个问题
图3 含信号地线双绞线连接方式

CAN总线工程师需要关注的几个问题
图4 信号地与屏蔽层连接方式

  •  双屏蔽层线缆:当使用双层屏蔽电缆时,需要将所有节点信号地连接到内屏蔽层,若使用非屏蔽线进行数据传输时,请保持信号地管脚悬空处理。

CAN总线工程师需要关注的几个问题
图5 双屏蔽层信号地处理方式

所有节点信号地接到屏蔽层或者双屏蔽层的内层后,屏蔽层处理方式注意为单点接地,不可多点接地,否则会在信号地线上形成地环流。

另外,单点接地时为了加大供电地和信号地之间的隔离电阻,阻止共地阻抗电路耦合产生的电磁干扰,注意采用隔离浮地设计,通过阻容方式将屏蔽层与外壳隔离。

CAN总线工程师需要关注的几个问题
图6 未进行单点接地处理的报文受到电磁干扰
围观 455

CAN总线虽然有较强的抗干扰能力,但在实际应用中依旧会受到静电以及浪涌的干扰,在CAN总线组网中我们应该如何提升总线的浪涌防护能力呢?其实并不难,这几种器件让你无忧。

先了解几种典型的瞬态骚扰。

表1 几种瞬态骚扰的比较

如何提升CAN总线浪涌防护?

从表中可知,浪涌的能量最高,过电流最大,因此危害性也是最大。对于浪涌防护,介绍以下三种器件。

一、TVS

如何提升CAN总线浪涌防护?
图1 双向TVS管特性图

  •  反向截至电压VRWM:TVS不导通的最高电压;
  •  钳位电压VC:二极管导通通过一定电流时两端的电压,随电流增大而增大;
  •  反向电流IR:VRWM电压下的反向漏电流;
  •  击穿电压VBR:TVS管通过规定测试电流IT(通常为1mA)时的电压,表示TVS管导通的标志电压;
  •  峰值电流IPP:TVS管允许通过的10/1000μs或8/20μs波的最大峰值电流。超过这个电流可能造成永久性损坏。由于功率限制,击穿电压高的管子允许通过的峰值电流越小;
  •  CJ:TVS管的结电容比ESD器件大很多,单向的比双向的大,结电容会影响TVS管的响应时间,用于通讯总线时会限制总线带宽。

选型考虑参数:VC、IPP、CJ

二、气体放电管

  •  直流击穿电压VDC:在放电管上施加100V/s上升斜率的电压时,导致放电管击穿的电压值,这是放电管的标称电压值,该参数分散性较大;

  •  脉冲击穿电压VSI:在放电管上施加1kV/μs上升斜率的电压时,导致放电管击穿的电压值。冲击放电电流ID:分为8/20μs波和10/1000μs波冲击放电电流两种。
选型考虑:VDC、ID。

TVS管及气体放电管等器件手册中通常会给出两种电流波的测试参数。8/20μs波和10/1000μs波,两者的主要区别是持续时间及峰值电流,8/20μs峰值电流为kA级别,10/1000μs峰值电流为A级别。持续时间分别如图2、图3所示。

如何提升CAN总线浪涌防护?
图2 8/20μs电流波

如何提升CAN总线浪涌防护?
图3 10/1000μs电流波

三、PTC电阻

在浪涌防护电路中PTC电阻起到限流分压作用,既防止TVS管过流损坏,也抬升电压以使气体放电管导通。PTC特性如下图4所示。

如何提升CAN总线浪涌防护?
图4 PTC电阻特性

  •  最大工作电压VMAX:最高允许温度下,PTC电阻能够持续承受的最大电压;
  •  保持电流Ihold:使PTC阻值稳定在工作点阻值时的电流;
  •  触发电流Itrip:能够使电阻阻值呈现阶跃增加的最小电流;
  •  额定零功率电阻Rn:PTC在常温下的初始电阻;
  •  开关温度TC:阻值呈现阶跃增加的温度,此时阻值为最小阻值的2倍。

选型考虑:Rn、Itrip、Ihold。

四、抗浪涌一体化方案

在使用器件自主搭建时,不仅要考虑板内器件布局,还需要合理的选取器件的耐压值,稍微有些设计不当,就可能达不到预估标准;在生产阶段还可能受人工所干预,影响一致性,这可谓费时伤神啊。ZLG致远电子推出了整体的抗浪涌一体化方案。

1、CTM系列+总线保护器

总线保护器将浪涌防护器件全部集于一体,可用于各种信号传输系统,抑制雷击、浪涌、过压等 有害信号,对设备信号端口进行保护。本产品尤为适合 CAN、RS-485 等通信领域的浪涌防护。搭配ZLG致远电子的CTM系列隔离模块,可全面提升总线的浪涌防护能力,推荐外围应用图如下图5所示。

如何提升CAN总线浪涌防护?
图5 浪涌测试电路

2、高防护等级隔离模块

CTM1051(A)HP系列是致远电子有限公司最新推出的高防护等级隔离CAN收发器,符合国际ISO11898-2标准,静电防护等级可达接触±8kV,空气放电±15kV,浪涌防护可达±4kV隔离CAN解决方案,具体如下图6所示,能够适用于各种恶劣的工业现场环境。应用简便,即插即用,应用原理图如下图7所示。

如何提升CAN总线浪涌防护?
图6 CTM1051(A)HP的EMC性能

如何提升CAN总线浪涌防护?
图7 应用原理图

转自: ZLG致远电子

围观 471

为了更好的将USB的通用性和CAN的专业性结合起来,通过计算机的USB接口接入CAN专业网络,实现系统控制的便利性和应用的高效性,本文讲述了一种基于ARM7处理器实现USB接口与CAN总线的实例,通过其可以在PC实现对CAN总线上设备的监控。

1、硬件系统设计

1.1 处理器简介及其外围电路设计

主控制器选用NXP公司的ARM7核处理器LPC2119。LPC2119是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STM CPU,并带有128 KB嵌入的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。实行流水线作业,提供Embedded ICE逻辑,支持片上断点和调试点,具有先进的软件开发和调试环境。LPC2119具有非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、2路CAN、PWM通道、多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400 kHz)和2个SPI接口,46个GPIO以及多达9个外部中断,特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。

LPC2119内部集成2个CAN控制器,每一个CAN控制器都与独立CAN控制器SJA1000有着相似的寄存器结构。它的主要特性有:单个总线上的数据传输速率高达1 Mb/s;32位寄存器和RAM访问;兼容CAN2.0B,ISO11898-1规范;全局验收滤波器可以识别所有的11位和29位标识符;验收滤波器为选择的标准标识符提供Full CAN-style自动接收。图1所示为LPC2119外围电路,为保证可靠复位,采用外部复位电路STM809。

基于ARM7处理器的USB接口与CAN总线的实例
图1 LPC2119外围电路

1.2 USB接口电路设计

USB接口采用沁恒电子的CH375。CH375是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式。在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。CH375提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连接。图2所示为CH375的接口电路。

基于ARM7处理器的USB接口与CAN总线的实例
图2 USB接口电路

1.3 CAN总线接口电路设计

CAN总线收发器采用82C250,并选用6N137作隔离,LPC2119的TD和RD引脚不是直接与82C250的TX、RX引脚相连,而是通过高速光耦6N137与82C250相连,这样可增强CAN总线节点的抗干扰能力,从而实现总线各节点间电气隔离。高速光耦6N137用于保护LPC2119内部CAN总线控制器,该光耦两侧采用5 V的DC-DC电源,可使器件的VCC与VCC1完全隔离,提高系统的抗干扰能力以及节点的稳定性和安全性。图3所示为LPC2 119与CAN驱动器82C250的连接电路。DC-DC电源模块采用B0505LS-2W,电路在图4中所示。

基于ARM7处理器的USB接口与CAN总线的实例
图3 CAN驱动器82C250的连接电路

基于ARM7处理器的USB接口与CAN总线的实例
图4 DC-DC隔离电路

1.4 系统电源设计

整个电路的电源由USB供电,由于LPC2119的IO电路电源要求为3.3 V,内核电路电源要求为1.8 V,在本应用中采用两片低压差线性温压器(LDO)1117为系统供电,如图4所示。

1.5 系统PCB设计

整个系统的PCB采用双面板方式设计,大小为100×120,布局及外形如图5所示。

基于ARM7处理器的USB接口与CAN总线的实例
图5 布局及外形

2、固件设计

本系统软件设计时采用μVision3 IDE,μVision3IDE是一个窗口化的软件开发平台,它集成了功能强大的编辑器、工程管理器以及各种编译工具(包括C编译器、宏汇编器、链接/装载器和16进制文件转换器),通过ULINK仿真调试。程序框架采用传统的前后台方式。CAN控制器驱动程序包括4部分内容:CAN控制器的初始化、报文的接收、报文的发送和总线异常处理。由于LPC2119没有开发内部读写总线,本设计在对CH375操作时使用通用I/O模拟并口读写时序,其端口定义方式如下:

基于ARM7处理器的USB接口与CAN总线的实例

程序在使用通用I/O模拟并口读写时序对CH375的基本操作包括CPU端口初始化、向CH375写命令、向CH375写数据、从CH375读数据,其实现过程包含:初始化void CH375_PORT_INIT();向CH375写命令void xWriteCH375Cmd(uint8 mCmd);向CH375写数据void xWrite CH375 Data(uint8 mData);从CH375读数据uint8 xReadCH375Data(void)等4个基本函数。

3、结语

本系统设计采用内置CAN控制器的LPC2119作为主控制器,CH375作为USB接口芯片,实现USBCAN转换器,论述了LPC2119的外围电路、CAN总线驱动电路以及LPC2119与CH375之间的接口连接,并在软件给出LPC2119使用通用I/O模拟并口读写时序的方法,对LPC2119,CH375及CAN总线的实际应用具有一定的参考价值。

来源:畅学电子网

围观 382

1.CAN总线是什么?

CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。

CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。

“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。

总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。

下图显示了一个典型的CAN拓扑连接图。

连接在总线上的所有单元都能够发送信息,如果有超过一个单元在同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它单元执行接收操作。

CAN总线基础知识(一)

2.CAN总线的特点

CAN总线协议具有下面的特点:

1) 多主控制

当总线空闲时,连接到总线上的所有单元都可以启动发送信息,这就是所谓的多主控制的概念。

先占有总线的设备获得在总线上进行发送信息的资格。这就是所谓的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)方法

如果多个设备同时开始发送信息,那么发送最高优先级ID消息的设备获得发送资格。

2) 信息的发送

在CAN协议中,所有发送的信息要满足预先定义的格式。当总线没有被占用的时候,连接在总线上的任何设备都能起动新信息的传输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定优先级。ID并不是指明信息发送的目的地,而是指示信息的优先级。如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收操作。因为总线上同一时刻只可能有一个发送者,而其它均处于接收状态,所以,并不需要在底层协议中定义地址的概念。

3) 系统的灵活性

连接到总线上的单元并没有类似地址这样的标识,所以,添加或去除一个设备,无需改变软件和硬件,或其它设备的应用层软件。

4) 通信速度

可以设置任何通讯速度,以适应网络规模。

对一个网络,所有单元必须有相同的通讯速度,如果不同,就会产生错误,并妨碍网络通讯,然而,不同网络间可以有不同的通讯速度。

5) 远程数据请求

可以通过发送“遥控帧”,请求其他单元发送数据。

6) 错误检测、错误通知、错误恢复功能

所有单元均可以检测出错误(错误检测功能)。

检测到错误的单元立刻同时通知其它所有的单元(错误通知功能)。如果一个单元发送信息时检测到一个错误,它会强制终止信息传输,并通知其它所有设备发生了错误,然后它会重传直到信息正常传输出去(错误恢复功能)。

7) 错误隔离

在CAN总线上有两种类型的错误:暂时性的错误(总线上的数据由于受到噪声的影响而暂时出错);持续性的错误(由于设备内部出错(如驱动器坏了、连接有问题等)而导致的)。CAN能够区别这两种类型,一方面降低常出错单元的通讯优先级以阻止对其它正常设备的影响,另一方面,如果是一种持续性的错误,将这个设备从总线上隔离开。

8) 连接

CAN总线允许多个设备同时连接到总线上且在逻辑上没有数目上的限制。然而由于延迟和负载能力的限制,实际可连接得设备还是有限制的,可以通过降低通讯速度来增加连接的设备个数。相反,如果连接的设备少,通讯的速度可以增加。

3.错误

3.1 错误状态

设备总是处于下面三个状态之一:

1)主动错误状态

在此状态下,设备能够参加总线上的正常通讯。如果处于主动错误状态的设备检测到一个错误,它会发送一个主动错误标志,更细节见第6章的“CAN协议”。

2)被动错误状态

是指易于引起错误的状态。

尽管处于被动错误状态的设备能够参加总线上的通讯,但是在接收期间,它不可能主动地向其它设备发送错误通知,以避免影响它们的通讯。处于被动错误状态的设备即使检测到一个错误,如果其它处于主动错误状态的设备没曾检测到错误,那么也认为在总线上未曾出现过任何错误。

当处于被动错误状态的设备检测到一个错误的时候,它发送一个被动错误标志。

另外,处于被动错误状态的单元在发送结束后不能立刻再次开始发送。在开始下次发送前,在间隔帧期间内必须插入“暂停发送期”(由8个位的隐性位组成)。

更细节见第6章的“CAN协议”。

3)总线切断状态

处于此状态下时,设备不能参加总线的通讯。设备所有的收发操作都被禁止。

这些状态是通过发送错误计数器和接收错误寄存器来管理,相关错误状态由这些计数器值的组合来标识,错误状态和计数器值之间的关系见表1和图4。

CAN总线基础知识(一)

CAN总线基础知识(一)

3.2 错误计数器的值

发送和接收错误计数器的值按照规定的条件来改变。

表2小结了错误计数器值改变的条件。

在一个数据收发操作中可能会发生多个条件重叠。

错误计数器增加的时间发生在错误标志的第一bit位置。
CAN总线基础知识(一)
CAN总线基础知识(一)

4.CAN协议的基本概念

CAN协议包括OSI参考模型的传输层、数据链路层、物理层。图5显示了CAN协议每个层的定义。

数据链路层划分为MAC(Medium Access Control媒体存取控制)和LLC(Logical Link Control罗辑链路控制)。MAC子层组成CAN协议的核心。数据链路层的功能是将从物理层接收到的信号组织成有意义的信息,提供如传输错误控制等数据传输控制流程。更具体来说,包括:信息如何封装成一帧,数据冲突仲裁、应答、错误的检测或通知。数据链路层的这些功能通常由CAN控制器硬件来实现。

物理层定义信号的实际传输方式、位的时序、位的编码、同步的过程步骤,然而,CAN协议并没有定义了信号电平、通讯速度、采样点值、驱动器和总线电气特征、连接器形式。对每个系统,这些特征由用户自行确定。

在BOSCH公司的CAN协议中,并没有关于收发器和总线的电气特征的定义,而在ISO CAN协议中,如ISO11898和ISO11519-2却对此有明确的定义。

CAN总线基础知识(一)

CAN总线基础知识(一)

转自: 苍月代表我

围观 325

CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台、期间升级过度到CortexA8与Cortex M3平台,再到现在的Cortex M4平台,围绕CAN进行了一系列产品的开发,CAN总线的稳定性是毋庸置疑的。

CAN总线物理结构与特性

CAN总线网络

CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻,但是为什么是120欧姆呢?那是因为电缆的特性阻抗为120欧。

CAN总线要点

CAN收发器

CAN收发器的作用是负责逻辑电平和信号电平之间的转换。

CAN总线要点

即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。具体的管教定义如下:
CAN总线要点

信号表示

CAN总线采用不归零码位填充技术,也就是说CAN总线上的信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(recessive)逻辑1,信号每一次传输完后不需要返回到逻辑0(显性)的电平。

位填充规则:发送器只要检测到位流里有5个连续相同值的位,便自动在位流里插入补充位。

观察下图:

CAN总线要点

可以看到上图中的当第一段为隐性(recessive),CAN_H和CAN_L电平几乎一样,也就是说CAN_H和CAN_L电平很接近甚至相等的时候,总线表现隐性的,而两线点位差较大时表现为显性的,按照定义的:

• CAN_H-CAN_L < 0.5V 时候为隐性的,逻辑信号表现为"逻辑1"- 高电平。

• CAN_H-CAN_L > 0.9V 时候为显性的,逻辑信号表现为"逻辑0"- 低电平。

下面将差分信号和显隐性之间对应关系总结为下表:

CAN总线要点

由上面的分析我们可以知道:

CAN总线采用的"线与"的规则进行总线冲裁。即1&0=0;所以0为显性。

这句话隐含的意思是,如果总线上只要有一个节点将总线拉到低电平(逻辑0)即显性状态,总线就为低电平(逻辑0)即显性状态而不管总线上有多少节点处于传输隐性状态(高电平或是逻辑1),只有所有节点都为高(隐性),总线才为高,即隐性。

通讯速率与通讯距离

下面的SAE J2411为美国汽车标准。

CAN总线要点

CAN总线上任意两个节点的最大传输距离与其位速率有关,如下表:
CAN总线要点

这里的最大通信距离指的是同一条总线上两个节点之间的距离。可以看到速率越低通讯距离就越远,也就是说CAN总线的通讯距离和波特率成反比。在位速率为5千比特位每秒的时候达到最大的传输距离10公里。其中一般的工程中比较常用的为500K每秒的通讯速率。这个速率在实际测试的时候也是非常可靠的。
CAN总线要点

如果想要更远的传输(大于10公里);可以考虑用多个CAN控制器连接或是加其他通讯协议(如485或是TCP/IP)的接口芯片组成的一个设备,这样就可实现长距离的通讯需求。
CAN总线要点

CAN总线关键概念

仲裁

只要总线空闲,总线上任何节点都可以发送报文,如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。

CAN总线要点

在仲裁期间,每一个发送器都对发送的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一"隐性"电平而监视到的是一"显性"电平,那么这个节点失去了仲裁,必须退出发送状态。如果出现不匹配的位不是在仲裁期间则产生错误事件。

帧ID越小,优先级越高。由于数据帧的RTR位为显性电平,远程帧为隐性电平,所以帧格式和帧ID相同的情况下,数据帧优先于远程帧;由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐形电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高。

CAN总线协议

CAN 总线是一个广播类型的总线,所以任何在总线上的节点都可以监听总线上传输的数据。也就是说总线上的传输不是点到点的,而是一点对多点的传输,这里多点的意思是总线上所有的节点。但是总线上的节点如何知道那些数据是传送给自己的呢?CAN总线的硬件芯片提供了一种叫做本地过滤的功能,通过这种本地过滤的功能可以过滤掉一些和自己无关的数据,而保留一些和自己有关的信息。

CAN消息机制

CAN标准定义了四种消息类型,每条消息用一种叫做比特位仲裁(Arbitration)机制来控制进入CAN总线,并且每条消息都标记了优先权。另外CAN标准还定义了一系列的错误处理机制。

CAN报文的四种消息类型:

• 数据帧:数据帧将数据从发送器传输到接收器。
• 远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。
• 错误帧:任何单元检测到总线错误就发出错误帧。
• 过载帧:过载帧用在相邻数据帧或远程帧之间的提供附加的延时。

数据帧

下图为基本的格式:

CAN总线要点

CAN总线中有标准帧和扩展帧两种格式,两种格式不同的地方在于仲裁域格式的不同,看下面两个表格可以很清楚的看出两者的不同,下面第一个表是标准帧(CAN2.0 A),第二个为扩展帧(CAN2.0 B):
CAN总线要点

下面为扩展帧格式(CAN2.0B):
CAN总线要点

其中

• SOF为帧开始
• SRR为"替代远程请求位
• IDE为扩展标识符位
• RTR为远程传输请求位
• CRC delimiter 为CRC定界符。
• ACK delimiter 为应答定界符.

我们看到上图中的基本帧格式可以总结为以下几个域:

CAN总线要点

远程帧

作为数据接收器的站,通过发送远程帧,可以启动其资源节点传送它们各自的数据。远程帧和数据帧非常类似,只是远程帧没有数据域。

CAN总线要点

上图就是远程帧的帧格式,它相对与数据帧没有远程帧,但是要注意发送远程帧的时候RTR位要置1,表示发送的是远程帧。下图更加清晰了呈现了这种结构。
CAN总线要点

错误帧

错误帧是当总线的某一个节点检测到错误后发送出来的,它会引起所有节点检测到一个错误,所以当有任何一个节点检测到错误,总线上的其他节点也会发出错误帧。CAN总线设计了一套详尽的错误计数机制来确保不会由于任何一个节点反复的发送错误帧而导致CAN总线的崩溃。

CAN总线要点

如上图所示错误标志和错误定界符组成,高低代表分别代表隐性和显性,其中错误标志为所有节点发过来的错误标志的叠加(Superposition)。下图更为清楚的看出各个数据位的分布:
CAN总线要点

下面通过以下数据结构框图概括各个部分的定义:

错误标志有两种形式:

• 主动错误标志,它由6个连续的显性位0组成,它是节点主动发送的错误标志。

• 被动错误标志,它由6个连续的隐性位1组成,除非被其他节点的显性位覆盖。

刚才说到一个节点上检测到错误会导致总线上所有的节点都会检测到错误并发送错误标志,这是为什么呢?

因为单一节点上的错误标志格式违背了从帧起始到CRC界定符的位填充规则,也破坏了ACK域或帧结尾的固定格式。下面简要说下位填充规则。

位填充规则:发送器只要检测到位流里有5个连续相同值的位,便自动在位流里插入补充位。

注意:位填充规则只是针对数据帧和远程帧,错误帧和过载帧格式固定。

所以所有其他的节点会检测到错误条件并且开始发送错误标志,因此错误帧就是各个站的不同错误标志叠加在一起的结果。

当某个节点发送错误帧(带有错误标志),其他节点收到了错误帧,检测到错误条件,就通过发送"被动错误标志"的错误帧来提示错误。

错误定界符:

传送了错误标志以后,每一个站就发送一个隐性位,并一直监视总线直到检测出一个隐性位为止,然后就开始发送其余7个隐性位。

过载帧

过载帧是接收节点用来向发送节点告知自身接收能力的帧。

过载帧,意思就是某个接收节点来不及处理数据了,希望其他节点慢点发送数据帧或者远程帧,所以告诉发送节点,我已经没有能力处理你发送过来的数据了。

过载帧跟错误帧结构类似包括过载标志和过载定界符,有3中情况会引起过载:

• 接收器内部的原因,它需要延迟下一个数据帧或是远程帧。

• 在间歇字段(看下面的帧间空间)的第一位和第二位检测到一个显性位(间歇字段都是隐性位的)

• 如果CAN节点在错误界定符或是过载界定符的第八位(最后一位)采样到一个显性位逻辑0,节点会发送一个过载帧,错误计数器不会增加。

CAN总线要点

上图中很清晰的表示了过载标志有6个显性位组成,而叠加部分和"主动错误"标志一样,过载的标志破坏的是间歇域的固定格式。所以导致其他的节点都检测到过载条件,并一同发出过载标志。

过载定界符:

也就是上图的过载结束符,过载标志被传送以后,节点就一直监听着总线,直到检测到有一个从显性位到隐性位的跳变为止。当从总线上检测到这样的跳变,则就标志着每一个节点都完成了各自过载标志的发送,并开始同时发送其余7个隐性位。

帧间空间(Interframe Space)

帧间空间说白了就是帧与帧之间的间隔,但是这种间隔在CAN的帧中只存在于数据帧和远程帧,其他的帧就不一定是帧间空间隔开的,而是其他形式,或是直接是没有间隔,例如过载帧和错误帧之间就没帧间空间。过个过载帧之间有间隔但是不是有帧间空间隔开的。

这里所说的针间空间包括"间歇"、"总线空闲"的位域。如果是发送前一报文的"被动错误"的站,则还包括叫做"挂起传输"的位域。

若不是"被动错误"的站,或作为前一报文的接收器的站,帧间空间格式为下图:

CAN总线要点

若是"被动错误"的站,如果想要发送8个隐性电平,在发送其他帧,帧间空间格式为下图,即包括了挂起传输,
CAN总线要点

可以看到

间歇字段有3个隐性位。
特别的在间歇期间,所有的节点都不允许传送数据帧和远程帧,唯一看做的是标示一个过载条件。

总线空闲:
只要总线空闲,任何节点就可以往总线发送数据,并且是开始于间歇之后的第一个位。一旦总线上检测到显性位即逻辑"0",可以认为是帧的开始。

挂起传输
"被动错误"的节点发送报文之后,在下一个报文开始传送之前或是确认总线空闲之前发出8个隐性位跟随在间歇的后面。如果这个时候有一个报文从其他的节点发过来,则这个节点就成为了接收器。

错误处理机制

错误侦测

下标是几个错误类型:

CAN总线要点

错误计数

下面是错误计数表:

CAN总线要点

错误抑制

为防止某些节点自身出错而一直发送错误帧,干扰其他节点通信,CAN协议规定了节点的3种状态及行为,如下图:

CAN总线要点

一个节点挂到CAN总线上之后,处于ACTIVE状态;TEC>127或者REC>127导致节点进入passive状态;TEC>255之后节点处于bus off状态,就是不允许再往bus上发送东西了;处于bus off状态的节点,在检测到128个连续的11个1之后将回到active状态。
转自:
wfjiang
围观 699

1 引言

现在,人们对工作和生活环境不仅要求舒适健康、可靠便利,而且更加看重安全性,并利用安防系统来提高家庭抵御各种意外情况的能力。现在的安防系统可借助计算机技术、IC 卡技术、通信技术等来实现,CAN总线应用于安防系统对家居智能化发展起到了良好的促进作用。CAN总线是一种应用较为广泛的现场总线,它支持多主节点,有完善的错误处理机制,通信速率快,传送距离远,可挂接控制设备多。而把DTMF 技术应用于安防系统,不需要专门的布线,不占用无线电频率资源,没有电磁污染。文中设计了一种基于CAN 总线和DTMF技术的以AT89S52单片机为核心的新型智能家居安防系统,使原来小区安防系统的实时性和可靠性有了一个新层次的提高。本系统可以对整个家居的安全环境进行实时监控,监控的范围包括室内防盗、火灾报警、煤气泄露等一系列不安全因素。一旦有上述事故发生,该报警系统就会发出相应的报警信息,用语音播出警情类别,向远方用户和相关部门提供警情语音。

2 系统总体构成

系统框图如图1所示。单片机控制DTMF收发电路、数字语音电路、摘挂机控制电路。探测器能够快速、准确地监测到住宅的异常状况,经确认后及时通知控制器,再由单片机来控制电话接口电路,实现模拟摘机,自动拨打预先设置的电话号码进行语音报警并通知管理中心。当监测到对方回应后,自动恢复警戒状态。

基于单片机的家居安防系统设计

3 硬件设计

系统主控部分采用AT89S52单片机,无需扩展外部存储器。看门狗电路采用具有可编程的串行EEPROM - X25045。X25045依次存储了标志字段、话机号码、警情代号、系统设置等数据信息。数字语音电路采用数字语音芯片ISD1420。系统中ISD1420仅作为基本录放音电路,所以所有的地址线全部置为0, 因此放音的起始地址是0。语音信号由驻极话筒拾取,从M IC和M IC REF两端输入芯片内部的放大器放大,经过功放后的音频信号从SP+ 被用来与通话电路相连,以送出语音信号。

3. 1 振铃检测及模拟摘挂机单元

系统并于电话线两端,时刻处于监控状态,不会影响电话的正常工作。当系统接收到振铃信号时,会进行振铃检测。振铃信号经三个反相器后接入AT89S52的P3. 4口。若5次振铃后无人接听,则系统进入自动摘机状态。单片机P1. 2 引脚输出高电平,三极管V501导通则继电器K1动作,将负载电阻接入电路实现模拟摘机。此后电话线上就会出现大于10mA的电流,交换中心检测到这一电流后就不再输出振铃信号而是转为接通电话。如果振铃信号没有达到预设值就消失,则单片机的计数值清零,控制器不动作。

3. 2 DTMF收发单元

DTMF收发电路采用DTMF信号编/解码芯片MT8880[ 5] 芯片,单片机通过DTMF收发电路拨出电话号码进行电话报警,DTMF收发电路如图2所示。

基于单片机的家居安防系统设计
图2 DTMF收发电路

MT8880提供了与微处理器相连的接口,以对其发送、接收和工作模式进行控制。它的接收部分采用单端输入,由R27、R28和C16 组成,其输入电压增益为1, 通过改变R28可调节输入信号的增益。它的发送部分由R29、C17、C18和XTAL2构成。它的控制部分由R30 和C19 构成。IRQ /CP与单片机P3. 5 脚相连。当MT8880接收到有效的双音多频信号时,单片机进行中断处理。MT8880的IN - 端和通话电路TEA 1062 的QR 端相连,MT8880的TONE端和TEA1062的DTMF端相连。

3. 3 通话单元

通话电路使用电话机专用通话集成电路TEA1062。送话时,语音信号(来自ISD1420)通过M IC + 引脚输入,DTMF信号(来自MT8880)通过DTMF引脚输入,经过TEA1062 放大后从LN 引脚一起送到电话外线上。受话时,信号通过消侧音网络,从IR 引脚输入,放大后从引脚QR 输出,分两路:一路送到ISD1420的ANA IN端供语音录制用,另一路送到MT8880的IN-端提取DTMF信号。

3. 4 CAN 总线数据传输单元

CAN 总线数据传输单元由两部分构成,一部分是CAN控制器,实现对总线数据的交互与控制,另一部分是CAN 数据收发器,实现数据的网络传输。

单片机AT89S52通过控制CAN控制器来实现对总线的访问,同时还负责功能单元的测量和控制, CAN 总线接口电路如图3所示。

基于单片机的家居安防系统设计
图3 CAN总线接口电路

AT89S52通过中断方式访问CAN控制器SJA1000,为了增强CAN总线节点的抗干扰能力,SJA1000通过高速光耦6N137与CAN总线驱动器PCA82C50相连。PCA82C50的CANH和CANL引脚各自接了一个5的电阻与CAN总线相连,可以起到限流作用,以免PCA82C50受到过电流冲击。

4 软件设计

系统的软件采用模块化设计,主要包括主程序模块、CAN通信模块、振铃检测模块、语音报警模块、DTMF收发模块等,这里主要介绍主程序和CAN通信模块设计。

4. 1 主程序设计

主程序主要完成各功能模块的调用,检测系统输入,然后根据系统状态进行判断处理。程序进行主循环之前还要进行必要的初始化,如MT8880、ISD1420、SJA1000相关标志位等。主程序流程如图4所示。

基于单片机的家居安防系统设计
图4 主程序流程图

4. 2 CAN通信模块设计

CAN通信模块包括控制器初始化、数据接收和发送子程序。SJA1000有复位模式和工作模式两种状态,两种状态下寄存器配置不同。当参数设置完后,CPU发出命令,SJA1000处于工作状态,进行正常通信。如果通信出错,CPU会使SJA1000回到复位模式。接收模块负责节点报文的接收及相关处理。接收过程中CPU会读数据,根据命令字判断数据帧的类型进行不同处理。发送模块负责报文的发送,SJA1000发送数据前,要判断是否满足发送条件,如果满足,则把报文帧信息、标识符和要发送的数据写入缓冲区,即可发送。JA 1000的收发流程图如图5所示。

基于单片机的家居安防系统设计
图5 JA 1000的收发流程图

5 结束语

本系统以AT89S52单片机为核心,不用对电话网进行任何改造,实现对家居设防点进行自动检测和语音报警。设计中用CAN总线结构组成安防系统,有较好的灵活性和扩展性,同时利用CAN 总线引入实时的数据处理,提高了系统的可靠性。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值。

来源: ofweek

围观 363

页面

订阅 RSS - CAN总线