当前位置:首页 > can
  • CAN FD升级要如何避免与CAN总线的冲突?

    CAN FD升级要如何避免与CAN总线的冲突?

    随着新能源汽车的发展,需要传输的数据量也逐渐增加,很多车厂都在考虑使用CAN FD来替代CAN实现数据量传输的提速。那么如何稳定地升级到CAN FD呢?本文为您解答。 一、CAN FD与CAN的主要区别 图1  CAN帧基本格式 图 2  CAN FD帧基本格式 如图1、图2所示分别是CAN帧和CAN FD帧的基本格式,区别主要分为两大点: 1. BRS(可变速率) CAN FD的传输速率分为两个频段,从BRS位开始到CRC校验之前这一段是可变速率段,这一段的波特率可以进行加速,理论最高可达到5Mbit/s,而其他位置则和CAN2.0一样,最高速率可达到1Mbit/s。 2. 数据场长度增加BRS CAN FD对数据场的长度做了扩充,从CAN的8字节增加到CAN FD的64字节。如图3所示,当DLC小于8字节时和CAN一样是线性增长,当大于8字节时是非线性增长。 图3  DLC编码方式 二、CAN FD的升级与CAN是否有冲突? 由于使用CAN FD网络时,需要ECU和CAN控制器、收发器均支持CAN FD通讯。所以当CAN网络中某些节点升级为CAN FD时,车辆上CAN与CAN FD处于共存的情况,因为普通的CAN节点无法正常解析CAN FD报文,节点就会一直报错,出现大量错误报文,导致总线通讯异常。 图 4  CAN与CAN FD报文的波形对比 如图三所示,可以看到CAN FD的传输速率是5Mbit/s,而CAN的传输速率为500Kbit/s,我们在平常使用上位机软件解析CAN报文的时候需要设置对应的波特率,否则报文就无法解析。那么用一种简单的方式来理解,对于CAN节点来说,它的波特率是500K,那么5M的波特率与它不匹配,所以不能被正常解析,该节点就会报错,导致CAN FD报文一直无法正常发送,干扰总线的正常运行。 三、CAN FD升级的解决方案 针对CAN FD升级的情况,一般有三种解决方案。 1. CAN节点忽略CAN FD报文 支持CAN2.0的ECU忽略CAN FD报文,不对其进行识别,这样虽然无法对CAN FD报文进行解析处理,但是也不会将其识别为错误帧,总线可以保证正常通讯。因为CAN FD是向下兼容CAN的,所以所有的CAN节点和CAN FD节点对于CAN报文都可以正常通讯,但是CAN FD的报文只能在支持CAN FD的ECU之间进行传输。由于只能保证CAN FD节点可以正常接收所有类型的CAN报文,CAN节点无法接收解析CAN FD报文,所以该解决方案仅可作为临时使用。 2. 全部节点升级为CAN FD 将所有网络上所有的节点都替换成CAN FD,由于CAN FD可以向下兼容CAN,此时的网络既可以进行CAN报文收发也可以进行CAN FD报文收发。但是由于整体网络全部更新替换,成本较高,所以使用率很低。 3. 利用CAN网桥进行CAN FD与CAN的转换 在原有的CAN网络上通过CAN网桥与新的CAN FD节点进行连接,将传统的CAN总线网络通过协议转换与CAN FD网络进行融合,快速实现CAN设备的升级。工作原理如图5所示,当接收到CAN FD报文的时候,CAN网桥会采用直转、合并、拆分三种方式实现传统CAN的8字节长度和CAN FD的64字节长度的互相转换,无损还原原有数据。 总结: 对于CAN FD的升级,如果不是全部节点都进行升级,那么为了避免与CAN总线的冲突,相对来说,使用CAN网桥作为转换来完成是更好的方法。工程师可以不用在意如何完成CAN与CAN FD报文之间的转换,可以将工作重心放到产品功能的实现上,这样对于产品的快速更迭,抢占市场会更加有帮助。

    时间:2020-06-03 关键词: can fd

  • 经验分享:节点BusOff恢复过程分析与测试

    经验分享:节点BusOff恢复过程分析与测试

    总线关闭是CAN节点比较重要的错误处理机制。在总线关闭状态下,CAN节点的恢复流程是怎样的?如何理解节点恢复流程的“快恢复”和“慢恢复”机制?本文将为大家详细分析总线关闭及恢复的机制和原理。   故障界定与总线关闭状态 为了避免某个设备因为自身原因(例如硬件损坏)导致无法正确收发报文而不断的破坏总线的数据帧,从而影响其它正常节点通信,CAN网络具有严格的错误诊断功能,CAN通用规范中规定每个CAN控制器中有一个发送错误计数器和一个接收错误计数器。根据计数值不同,节点会处于不同的错误状态,并根据计数值的变化进行状态转换,状态转换如下图所示。 图1 节点状态转换图情形1 以上三种错误状态表示发生故障的严重程度,总线关闭是节点最严重的错误状态。并且,节点在不同的状态下具有不同的特性,在总线关闭状态下,节点不能发送报文或应答总线上的报文,也就意味着不能再对总线有任何影响。 状态跳转和错误计数的规则使得节点在发生通信故障时有了较好的自我错误处理和恢复机制,从一种较严重的错误状态跳转到另一种严重性相对较低的状态,本质上就是一种恢复过程。图1所呈现的转换过程是CAN通用规范所要求的,我们从设备供应商买回来的CAN控制器已经把这些功能固化在硅片之中。 在通信过程中,错误主动和错误被动两种状态下节点的恢复过程一般不需要MCU进行额外的编程处理,直接使用CAN控制器固有功能即可。但对于总线关闭状态,往往不直接使用CAN控制器固有的恢复过程,而是对其进行编程控制,以实现“快恢复”和“慢恢复”机制。 注: 1、由于篇幅有限,关于错误计数的详细规则以及各状态下节点的具体特性不在本文进行讨论,读者可以查阅CAN的相关协议规范。 2、本文的“CAN控制器”是指已经实现了CAN通用协议物理层和数据链路层所要求的功能和特性的器件,如SJA1000;而“节点”是指把CAN控制器与MCU、收发器等相关器件进行整合开发出来的具有一定功能的CAN节点。   为什么需要对总线关闭状态的节点实现“快恢复”和“慢恢复”策略? 当节点进入总线关闭状态后,如果MCU仅是开启自动恢复功能,CAN控制器在检测到128次11个连续的隐性位后即可恢复通信,在实际的CAN通信总线中,这一条件是很容易达到的。 以125K的波特率为例,128*11*(1/125000)= 0.011264s。这意味着如果节点所在的CAN总线的帧间隔时间大于0.011264s,节点在总线空闲时间内便可轻易恢复通信。我们已经知道,当进入总线关闭状态时,节点已经发生了严重的错误,处于不可信状态,如果迅速恢复参与总线通信,具有较高的风险,因此,在实际的应用中,往往会通过MCU对CAN控制器总线关闭状态的恢复过程进行编程处理,以控制节点从总线关闭状态恢复到错误主动状态的等待时间,达到既提高灵活性又保证节点在功能上的快速响应性的目的。具体包括“快恢复”和“慢恢复”策略,两种策略一般同时应用。 通过以上的讨论,我们可以知道,节点进入总线关闭状态后,存在以下几种恢复情况: MCU仅开启CAN控制器的自动恢复功能,节点只需检测到128次11个连续的隐性位便可以恢复通信,恢复过程如图1所示。 MCU没有开启CAN控制器的自动恢复功能,也不主动干预总线关闭错误,节点将一直无法“自动”恢复总线通信,只能通过重新上电的方式使节点恢复, 恢复过程如图2所示。 图2 节点状态转换图情形2  MCU对CAN控制器的恢复过程进行编程处理,这时,节点的恢复行为由具体的编程逻辑决定,各厂家普遍采用了先“快恢复”后“慢恢复”的恢复策略,恢复过程如图3所示。   图3 节点状态转换图情形3   MCU如何实现“快恢复”和“慢恢复”? MCU编程实现总线关闭“快恢复”和“慢恢复”的一般过程可用以下流程图描述: 图4 MCU实现总线关闭恢复流程 节点以正常发送模式发送报文的过程中,如果出现了发送错误,发送错误计数会增加,只要发送错误计数没有超过255, CAN控制器便会自动重发报文,如果出现多次发送错误,使发送错误计数累加超过255,则节点跳转为总线关闭状态。MCU能够第一时间知道节点进入了总线关闭状态(例如在错误中断处理逻辑中查询状态寄存器的相应位),这时MCU控制CAN控制器进入“快恢复”过程,即控制CAN控制器停止报文收发,并进行等待,计时达到需要的时间T1(如100ms)后,MCU重新启动恢复CAN控制器参与总线通信,这样便完成了一次“快恢复”过程。 节点每进入一次“快恢复”过程时,MCU会对此进行计数,当节点“快恢复”计数达到设定的值N(如5次),则后续再次进入总线关闭状态时MCU把恢复总线通信的等待时间T2进行延长(如1000ms),这样便实现了“慢恢复”过程。“快恢复”和“慢恢复”过程的主要区别就在于恢复节点参与总线通信的等待时间的不同。 通过MCU对于总线关闭后的恢复行为进行编程控制,实际上是对CAN控制器的错误管理和恢复机制进行了补充,使得总线关闭状态后的恢复过程更加灵活,更能适应实际应用的需要。对于 “快恢复”和“慢恢复”的等待时间,以及“快恢复”计数多少次后进入“慢恢复”过程,不同厂家可根据具体的需求进行编程实现。   实测总线关闭恢复过程 通过广州致远电子有限公司的CAN总线分析仪的流量分析功能,可以很方便分析总线关闭后节点的恢复过程及测试“快恢复”和“慢恢复”的恢复时间。 第一步,连接DUT但先不要上电。按以下配置,使能接收干扰功能,并开启报文读取功能。 图5 功能设置 第二步,给DUT上电,并采集一段时间报文,停止采集后使用流量分析功能进行分析。 图6 采集报文并进行流量分析 第三步,鼠标放置于波形“团”(本文把包含多帧密集帧的波形称为波形“团”)之间读取恢复时间。 图7 读取恢复时间 至此,我们便可以得出结论:该DUT对总线关闭的恢复过程进行了编程控制,采用了先“快恢复”后“慢恢复”的恢复机制,节点进入总线关闭状态后,进行一次“快恢复”过程,后续进行“慢恢复”过程,两个恢复过程的恢复时间分别为27.5ms和209.5ms。 那么,我们该如何根据所得波形理解该DUT进入总线关闭状态及恢复通信的整个过程呢?  把第一个波形“团”放大得到下图: 图8 放大波形“团”观察 可以清晰的看到,波形“团”中包含共32帧CAN报文。把其余各波形“团”放大后也都是包含32帧,这里不再把详细的图片贴出来。 DUT上电后,初始发送和接收错误计数都为0。由于在测试时配置了接收干扰功能,当DUT开始发送报文后,每一帧报文都受到CAN总线分析仪的干扰而出现发送错误,第一次发送时发送错误计数加8,并自动重发,第二次发送时错误计数再加8,直到发送了32次后,发送错误计数大于255,根据图3的错误状态的转换规则,这时DUT跳转为总线关闭状态,MCU控制进入“快恢复”过程同时对“快恢复”次数进行计数,并等待约27ms后,MCU控制DUT从总线关闭状态恢复为错误主动状态,由MCU继续启动发送,由于仍然受CAN总线分析仪的持续干扰,发送32帧后再次进入总线关闭状态,再次执行“快恢复”或“慢恢复”过程,以此类推。 根据流量分析的结果可知,该DUT进入“快恢复”的计数达到1次后便执行“慢恢复”过程,“慢恢复”等待时间约为209ms。 注: 1、干扰的设置可以根据需要设置其他的参数,只要保证能对DUT发送的帧进行干扰使其出现发送错误即可。 2、为了分析完整的总线关闭恢复过程,建议DUT和CAN总线分析仪连接好后,先开启“报文读取”和“接收干扰”功能后再上电DUT。因为这样能确保DUT的接收错误计数和发送错误计数的初始计数都为0。 3、需要对DUT进行连续的干扰,否则DUT恢复后成功发送了报文,“快恢复”次数的计数会递减,这不利于分析DUT总线关闭后的整个恢复行为。  4、总线关闭后节点的“恢复”是指恢复参与总线的通信,但并不意味着恢复后一定能成功发送或接收报文。如上述案例,DUT恢复通信后由于仍然受CAN总线分析仪的干扰,导致报文发送再次失败。  总结 在总线关闭状态下,“快恢复”和“慢恢复”不是CAN控制器固有的功能,而是通过MCU的编程逻辑实现的恢复机制,是总线关闭状态下恢复过程的补充,使恢复过程更具有灵活性。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2020-06-03 关键词: can MCU

  • 德州仪器新款汽车系统基础芯片 满足车载网络对高带宽和数据速率灵活性

     近日,德州仪器(TI)(NASDAQ:TXN)推出了业界新款汽车系统基础芯片(SBC)TCAN4550-Q1。该芯片集成了使用灵活数据速率控制器局域网(CAN FD)的控制器和收发器,旨在满足车载网络对高带宽和数据速率灵活性的需求。它采用了几乎所有微控制器的串行外围接口(SPI)总线来部署CAN FD接口或提高系统中CAN FD总线端口的数量,同时最少量地对硬件进行改动。   以往,在升级至或扩展CAN FD功能时,设计师不得不在其设计中整合多个分立的组件或彻底修改微控制器,通常来说这既耗时又成本高昂。借助TCAN4550-Q1系统基础芯片(SBC),设计师能够保有汽车电子和照明、高级驾驶员辅助系统(ADAS)及汽车网关设计的基于微控制器的现有架构,简化了CAN FD的升级或扩展。   什么是CAN FD?   CAN FD通信协议是基于原始CAN总线标准(又称为“经典CAN”)而设计的,有助于确保多种车载网络数据传输率和吞吐量在继续演进的同时,汽车微控制器和连接的系统能够以各种速率高效通信。CAN FD协议支持高达5 Mbps的数据传输率和高达64字节的有效负荷,有效提升了设计师的能力,使其能够在其下一代汽车应用中更快速地移动数据。   TI TCAN4550-Q1的主要特点和优势   简化物料单(BOM)和削减系统成本:设计师依托高度集成的TCAN4550-Q1可以简化设计,包括集成式±58-VDC总线故障保护、看门狗计时器及故障切换模式。TCAN4550-Q1还能够交叉兼容经典CAN协议。   更便捷地在汽车设计中扩展总线:如果微控制器的CAN FD端口数量有限,设计师还可以使用这款芯片经由汽车系统中现有的SPI端口添加更多的CAN FD总线。通常来讲,此类总线扩展需要重新设计系统,而在使用TCAN4550-Q1时则不必这样做。   更小的电源设计占用空间:凭借集成式125 mA低压差(LDO)线性稳压器,TCAN4550-Q1可以为自己供电,此外,还能够为传感器或其它组件供应70 mA的外部输出。由于减少了对外部电源组件的需要,电源设计所占的空间也因此变小。   降低功耗:TCAN4550-Q1可帮助设计师藉由唤醒和休眠功能降低待机时的系统功耗。   提高最大数据传输率:全新SBC支持汽车在组装期间能够基于8 Mbps最高数据传输率来更快速地编写汽车软件程序,超越了CAN FD协议的5 Mbps最高数据传输率。   节省空间的同时提高系统性能   这一全新产品隶属于TI不断壮大的SBC产品系列,它将CAN FD、CAN、本地互联网络(LIN)收发器和电源组件集成到了单一芯片解决方案中,其中包括TCAN4550-Q1与TLIN1441-Q1。与集成组件较少的竞品相比,这些高度集成的设备有助设计师减少他们的BOM、提高系统性能并使其设计更快上市。设计师还可将TI SBC与TI C2000™微控制器配对,以轻松快捷地扩展可用总线端口数量和提升总体系统功能。   加快设计的工具和支持   ·借助TCAN4550-Q1评估模块轻松评估TCAN4550-Q1及其CAN FD协议支持,现在即可从TI商店和授权经销商处购得。   ·借助“通过双CAN FD输出对象数据的汽车RFCMOS 77GHz雷达模块参考设计”迅速启动尺寸优化的汽车雷达模块设计。   封装和供货情况   TCAN4550-Q1采用4.5mm×3.5mm极薄(VQFN)封装,已通过TI商店与授权经销商供货。 

    时间:2020-06-02 关键词: 德州仪器 芯片 can

  • SBC基础课程——CAN/LIN SBC初学者指南

    SBC基础课程——CAN/LIN SBC初学者指南

    什么是系统基础芯片(SBC)? SBC是纯粹的集成电路,它将控制器局域网络(CAN)或本地互联网络(LIN)收发器与内部/外部“功率器件”集成在一起。该功率器件可以是低压差线性稳压器(LDO)、DC/DC转换器或两者兼有。 当设计师需要更多输出功率,或需要离散式解决方案的布局选项并且该离散式解决方案需要收发器和离散式LDO或DC/DC转换器,这时SBC是您的理想选择。 SBC对于市场来说不是新生事物,但是,近期在集成和性能方面的创新均拓展了这些设备的使用。对汽车设计师而言,其高水平的集成和更高的可靠性可以使其实现质量更轻和成本更低的设计。从经典CAN向灵活数据速率CAN(CAN FD)的转型,要求解决方案能够弥补CAN FD控制器处理器可用性之间的差距,同时亦有助于增加经典CAN/CAN FD总线的数量。 在比较深入地介绍SBC之前,我们首先来重点谈谈CAN或LIN收发器。如果您熟悉这些协议,您就一定知道这些收发器提供其相应技术的输入和输出。一旦它们收到数据包,这些收发器就会将数据传送给微控制器或微处理器进行进一步的操作。反之,它们会从同一处理器接收信息,经由相关总线进行出站通信。 尽管CAN和LIN收发器在本质上看是相当基础的技术,但供应商持续向其添加更多功能,在力求增加保护功能的同时,削减设计的复杂性、空间和成本。这些功能通常包括总线故障保护和静电释放保护,以及通过1.8 - 3.3V 或 1.8 - 5V输入/输出(也称为VIO)与处理器往返数据的能力。 下面我将重点介绍基于LDO的SBC,不过相同的概念也适用于具有更高输出的DC/DC转换器。 一个很恰当的SBC示例是TCAN4550-Q1,它将CAN FD控制器和收发器置于单一的封装内。该设备藉由串行外围接口(SPI)与微控制器和微处理器通信,在大部分处理解决方案中占有重要地位,支持向几乎所有的设计增添CAN FD的先进功能。图 1是该设备及其如何连接到微处理器的基本框图。 图1:突出显示了处理器/设备连接的TCAN4550-Q1框图 TCAN4550-Q1提供的其它功能包括VIO(1.8V、3.3V和5V支持);唤醒;休眠;及在非正常可用情况下支持处理器功能的超时看门狗等。 图 2突出显示了SBC(蓝色突出显示)的LDO部分。TCAN4550-Q1的集成式LDO提供125 mA电流。约50 mA用于为CAN FD收发器供电,并保持高达70 mA的输出为嵌入式微控制器或其它组件供应电流。 图2:突出显示LDO的TCAN4550-Q1 CAN和LIN SBC将继续集成关键功能,以支持以前需要多个分立设备提供的诸多功能。其中包括更多LDO、用于提高输出电流的DC/DC转换器、用于开/关处理器的高压侧开关以及多种协议支持。 德州仪器(TI)拥有利用其标准CAN和LIN收发器系列开发出来的CAN和LIN SBC。TLIN1441-Q1 LIN SBC还包括上述提及的许多功能和一个125-mA LDO。 其他资源 ·欲了解更多关于TCAN4550-Q1中的LDO功能,请参阅应用说明书“了解TCAN4550-Q1中的LDO性能”及应用报告。 ·通过技术文章“对更高速度的需要:CAN FD。”,更多了解CAN FD协议。 ·参考基于双CAN FD目标数据输出的汽车RFCMOS 77 GHz雷达模块参考设计,快速启动尺寸优化的汽车雷达模块设计。 ·了解用于 CAN、CAN FD 和 LIN 收发器的不断壮大的TI SBC系列。

    时间:2020-06-01 关键词: lin can sbc dc-dc转换器

  • 金升阳研发出可实现UART/SPI转CAN双向数据通信的TD5(3)USPCAN系列

    金升阳研发出可实现UART/SPI转CAN双向数据通信的TD5(3)USPCAN系列

    一、产品简介 随着新能源汽车的迅速发展,电气化程度的提高和传感器技术的进步,车身总线由之前的2路CAN变成了4路甚至5路CAN的需求。针对传统板子上CAN接口不够的情形,金升阳开发了可以实现UART/SPI转CAN双向数据通信的产品——TD5(3)USPCAN系列。 TD5(3)USPCAN系列集微处理器、CAN收发器、电源隔离、信号隔离于一体。它可将UART/SPI信号转换为CAN总线差分电平,实现信号接口拓展、隔离;同时产品兼容UART/SPI接口,可以直接嵌入到UART/SPI设备中,在设备上拓展更多的CAN通信接口,实现设备和CAN总线网络之间数据通信。 二、产品应用 可广泛应用于汽车电子、充电桩、轨道交通、仪器仪表、工业通信、电力等行业。 产品典型应用电路图如下: 三、产品特点 ● 内置高效隔离电源 ● 两端隔离:3000VDC ● UART或SPI与CAN接口的双向数据通信 ● UART波特率高达921.6Kbps、SPI速率高达1.5Mbit/s、CAN波特率高达1Mbps ● 工作温度范围:-40℃ to +85℃ ● 支持透明转换、透明带标识转换、自定义协议转换三种协议转换 ● 同一网络可支持连接110个节点 ● 集隔离与ESD总线保护功能于一身 四、产品清单: 用户可以通过上位机的USB或RS-232转UART,进行产品配置; 应用笔记和配置软件可在官网下载。 评估板仅实现UART与USB/RS-232之间的物理电平转换及模块配置端口上下拉功能,用户也可自行设计。 详细产品技术参数请参考技术手册: TD5(3)USPCAN 产品型号详细信息展示:

    时间:2020-05-26 关键词: uart can 数据通信 新能源汽车 spi

  • 纳芯微推出隔离CAN收发器,提升工业系统的集成度和可靠性

    纳芯微推出隔离CAN收发器,提升工业系统的集成度和可靠性

    2020年5月21日-国内领先的信号链芯片及其解决方案提供商苏州纳芯微电子股份有限公司(以下简称“纳芯微”)宣布推出隔离CAN收发器NSi1050,继续扩充公司丰富的隔离产品线,满足客户对隔离产品的多样化需求。该芯片集成了双通道数字隔离器和高可靠性CAN收发器,高集成度方案有助于简化系统设计,提升工业系统的可靠性。NSi1050隔离耐压高,满足增强隔离要求,并符合各种工业系统的安规需求,可广泛应用于工业自动化、电梯、电力、不间断电源、储能和其他工业接口卡等各类需要隔离CAN的工业通信系统中。 NSi1050具有高隔离耐压、高共模抗扰、高ESD、高集成度以及高可靠性的特点,其隔离耐压值可达5kVrms,抗共模瞬态干扰度(CMTI)达到80kV/us,传输速率高达1Mbps。与传统CAN接收器加光耦的分立方案相比,NSi1050集成度更高,可帮助设计者节约PCB布板面积。基于创新的“Adaptive OOK”电容隔离技术,NSi1050实现了更低的辐射噪音和更高的抗干扰性能。 NSi1050性能特点: ·完全符合ISO11898-2标准 ·高达5kVrms的隔离耐压 ·80KV/us抗共模瞬态干扰度 ·传输速率可达1Mbps ·芯片级ESD:HBM ±8kV ·逻辑测供电范围:2.5V ~ 5.5V ·CAN总线供电范围:4.5V ~ 5.5V ·总线保护电压:-40V ~ +40V ·TXD显性超时保护功能 ·电流与温度保护机制 ·工作温度范围:-40℃~125℃ NSi1050提供WB SOIC-16、DUB-8两种封装形式,完全兼容ISO11898-2技术标准,可广泛应用于各类需要隔离CAN的通信系统中,例如变频、伺服、PLC等工业自动化场景,电梯的变频器、轿厢板、内外呼板等模块,配网自动化终端xTU、充电桩等电力系统,以及不间断电源、储能和其他工业接口卡应用中。 NSi1050功能框图 纳芯微致力于技术突破与应用创新,后续将推出包括隔离ADC、隔离电流运放、隔离电压运放等一系列隔离产品,为客户提供更加丰富的产品组合与解决方案,敬请关注。

    时间:2020-05-21 关键词: 收发器 can 工业系统

  • 新能源汽车CAN总线干扰定位与干扰排除的几个方法

    新能源汽车CAN总线干扰定位与干扰排除的几个方法

    CAN总线是当今汽车各电控单元间通信的总线标准,并广泛应用在新能源车中。新能源车的CAN总线故障和隐患将影响驾驶体验甚至行车安全,如何进行CAN总线故障定位及干扰排除呢?本文为设计师们提供几点建议。 行业现状 目前,国内机动车保有量已经突破三亿大关。由于大量的燃油车带来严峻的环境问题,因此全面禁售燃油车的日程在全世界范围内被提起。国内新能源汽车动力以锂电池为主,整个行业已经进入高速发展阶段。我们注意到,除新能源车、充电桩之外无人驾驶、智慧停车等延伸行业也步入快速发展期。上述行业都有一个共同点——使用CAN总线,因此,CAN总线的应用问题始终贯穿在新能源行业的发展中。   图1 CAN总线应用行业 新能源车常见故障 新能源汽车中的CAN总线故障可从两个方面考虑,即通信应用层和物理层。应用层的问题比较依靠软件的抓包或仿真,而物理层则更依赖硬件的测试和模拟。在物理层,CAN总线故障的诱因集中在以下几个方面:干扰问题、网络拓扑问题、总线容抗阻抗控制、节点设计规范及一致性等。本篇文章重点为大家介绍干扰问题及干扰解决。   图2 保证CAN稳定的核心设计 干扰定位解决方案 如何进行CAN总线物理层的干扰定位呢?我们需要借助专业的干扰分析工具——频谱分析,CANScope是专业的CAN总线分析工具,其FFT分析功能可以对CAN_L、CAN_H、CAN_差分、CAN_共模分别测试,定位干扰频点。 一般地,CAN总线应用在工业通讯时干扰来源不固定,特别依赖此类频点分析工具,而当CAN总线应用于新能源汽车时其干扰源比较单一,多来源于电机驱动器,此时分析仪可做整改前、整改后的验证工具。图4是FFT分析功能的实际测试案例,CANScope通过FFT频谱分析统计定位到干扰源频率与逆变器频率吻合。   图3 被干扰后的CAN总线波形   图4 使用CANScope的FFT功能 干扰排除解决方案 定位到干扰后如何进行干扰排除呢?我们从干扰的来源入手。干扰的来源有两个,传导与辐射: 针对传导过来的干扰,我们采取隔离的方式阻断干扰传播; 针对辐射过来的干扰,我们采取屏蔽方式隔绝干扰传播。 1、隔离方案,在CAN收发器总线端加光耦或磁耦器件,同时为CAN收发器提供隔离供电,这种隔离方式常被称作分立器件式隔离方案,如图5。对于一些对体积、防护等级、稳定性要求高的场合,一体式隔离方案是最优选择。在新能源客车中,大功率空调压缩机系统市场干扰到总线通信导致空调功能异常,准车规级的CTM1051(A)HQ (图6)在此类场景下有广泛应用。   图5 分立器件隔离方案   图6 准车规级CAN总线隔离模块CTM1051(A)HQ 以上讨论的隔离都是板级隔离,适用于车型开发阶段,如果由干扰导致的故障出现在车辆出厂后或者售后阶段,隔离方式请使用CAN隔离网桥。   图7 CANBridge+在总线隔离中的应用 2、屏蔽方案,选择的CAN通讯线缆应具备至少一层可靠的屏蔽层,并且保证最外层屏蔽层通过单点接到参考地。如果遇到屏蔽层不可避免从中间某处截断,则应针对每一段做单点接地处理,如图8。   图8 屏蔽层单点接地处理 除屏蔽层外,通信线的横截面积、直流阻抗值、寄生容抗、单位长度的双绞数等参数都会影响到通信质量,如何平衡成本与通信距离间的关系,本文提供图10数据供读者参考。 图9 CAN总线专用双绞屏蔽线   图10 CAN总线线材参数与通讯距离 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2020-05-14 关键词: can 电动车 干扰定位

  • 解读CANDT测试项——采样点测试

    解读CANDT测试项——采样点测试

    CAN总线广泛应用于汽车电子、轨道交通、医疗电子等领域,保障CAN节点间稳定通信变得尤其重要。本文将介绍如何利用CAN采样点测试方案,有效提高CAN网络通信成功率。 为什么要进行采样点测试? 为了保证有效的通信,对于一个只有两个节点的CAN网络,其两边距离不超过最大的传输延迟和每个节点的时钟容差能够正确地接收和解码每个传输的消息,这需要每个节点都能对每个位正确采样。 CAN总线的每一帧可以看作一连串的电平信号。大多数设备使用单点采样,也就是在一个位时间内从采样点的位置读取一个电平信号,以此确定这个“位”的显隐性。在CAN网络中,当每个节点的采样点位置不一样时,由于总线过长引起的通信延迟或现场对总线的干扰,就容易发生读取的电平不一致现象,产生CRC错误报文。为了提高CAN网络的通信成功率,各节点的采样点应设置一致。 如何计算采样点? 在讲采样点之前,我们先了解一下位时间的相关定义。一个位时间可以看作一条水平的时间轴,一般分为四个段,如图1:   图1 位时间图 同步段:通过此段实现时序调整,一个位的输出从同步段开始;用于同步总线上的各个节点,跳变沿产生在此段内;通常为1Tq; 传播段:用于补偿信号通过网络和节点传播的物理延迟;传播段长度应能保证2倍的信号在总线的延迟;其长度可编程(1-8Tq); 相位缓冲段1和相位缓冲段2:重同步在此段作用,用于补偿细微的时钟误差。作用方式为加长相位缓冲段1或者缩短相位缓冲段2; Tq:是指一个最小时间量子,来源于对系统时钟可编程的分频; 时间段1:为了方便编程,许多CAN模块将传播段和相位缓冲段1合并为一个时间段(TSEG1)。 根据图1,采样点的计算公式如下: 公式1 公式2 Prescaler:波特率分频系数 例:时钟频率为8M,Prescaler = 2,Tseg1 = 13,Tseg2 = 2; 由公式2可得:波特率 =  8M/((1+13+2)*2)=250K; 由公式1可得:采样点=(1+13)/(1+13+2)=87.5%;   图2 采样点配置 由图2可以看出:在同一波特率的条件下,Tseg1、Tseg2、Prescaler有不同的组合,不同的组合有不同的采样点配置,可自行配置适合采样点位置。 CANDT采样点测试的测试原理是什么? 连接CANDT设备和电脑后,再在电脑上打开CANDT软件,选中“采样点”并设置好对应的参数,然后开始测试即可进行采样点的测试,如图3,最终的测试结果为:84%。   图3 CANDT测试结果 CANDT测试原理及过程如下: 1、用CANScope发送ID 为0的报文100帧,在此报文的第一个ID位(1注1)的0%处施加一个宽度为27%位宽(2注2)的干扰(如图4),记录这100帧报文中出现的错误帧数,但由于此时距离采样点位置较远,暂时不会出现错误帧。   图4 干扰1 2、27%位宽的干扰逐渐以1%位宽的步进向右移动,在干扰的右边沿快靠近采样点时(如图5),由于通信延迟的关系,此时采到的电平和CANScope发送的不一致了,导致DUT接收到的CRC校验和DUT计算的CRC校验不一致,DUT就会主动发出错误帧,把每一个不同干扰位置的错误帧数记录下来。从此刻开始,继续往右步进,错误帧数也会有所增加。   图5 干扰2 3、继续步进,当干扰的左边沿位置过了采样点后(如图6),此时DUT就不会再出现错误帧了。因此,最后一个出现错误帧的位置就是我们想要知道的采样点位置。   图6 干扰3 注意事项 1、确保CAN总线上的终端电阻为60Ω。当CAN总线上终端电阻为120Ω或其他值时,虽然在正常情况下可以通信,但在采样点测试时,会对结果产生一定的偏差。 2、采样点测试过程中不允许DUT发送报文,因为采用的是发送100帧报文和检测错误帧的方法,DUT发送报文会造成判断的误差,影响测试结果的准确性。 CAN一致性测试系统——CANDT CANDT是基于CANScope强大的CAN总线底层测试分析基础,配备必要的电压源、PLC等核心外围设备,可自动化完成汽车零部件CAN节点物理层、链路层及应用层测试的CAN一致性测试设备。 物理层测试的目的是验证节点及测试系统在电路设计、物理电平特性等方面的性能,就是保证节点能够正确连入总线的基础,其测试内容包括电阻电容特性、节点差分电阻、故障容错测试、CAN线上的物理电平特性等等。 数据链路层的测试目的是保证每个节点的通讯参数能够保持一致性,所组成的网络能够正常有效的工作,内容包括位定时测试、采样点测试、SJW测试等等,节点测试完成后,可自动化导出详细CAN一致性测试报表,准确判断节点工作情况,一目了然。 图7  CANDT一致性测试系统   图8  一致性测试报表 本文注释: 1注1:第一个ID位是SOF后的第一个位,干扰此位能有效减少重同步带来的误差。 2注2:在三点采样的情况下,要干扰到2个采样点才能使干扰生效,由图1可得一个位时间的时间量子(Tq)最小为4个,所以2个采样点之间的距离最大为1/4。所以保证干扰宽度大于25%位宽即可。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2020-05-14 关键词: 网络通信 can

  • 硬件接口协议之“CAN总线EMC设计”

    硬件接口协议之“CAN总线EMC设计”

    本文主要介绍CAN总线的EMC设计。 CAN总线多用于汽车、工业控制等领域,用于数据的传输控制。采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信。但在实际应用的过程中通讯线缆容易耦合外部的干扰对信号传输造成一定的影响,单板内部的干扰也可能通过电缆形成对外辐射。所以在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用屏蔽双绞线作为CAN总线的传输线。 CAN总线在实际使用过程中一般会针对性的进行隔离和防护。隔离包括信号线的隔离和电源的隔离,隔离可以增强系统的抗干扰能力,但也会增加CAN总线的传输延迟,导致通信速率和通信距离减少。防护主要针对EMC相关问题,包括RE、CE、RS、CS、ESD、SURGE、EFT/B等等。 CAN总线隔离 CAN总线的隔离包括电源和信号线,传统的设计,电源隔离采用变压器等实现,信号隔离采用光耦、磁耦等实现。 随着技术的发展及需求的驱动,像致远等厂家就推出了面向车载CAN总线的隔离防护方案,比如CTM1051HQ。 CAN接口防护 CAN总线的防护思路主要是屏蔽干扰、提供泄放通道、隔离保护等。其中隔离部分上面已经介绍了,下面介绍一下屏蔽和泄放。 常见的CAN接口防护顺序为:第一级进行雷击浪涌的防护,第二级进行滤波。 如果第一级的防护要求不高,可以采用下图所示的方案: 第一级只采用TVS管。D1、D2为TVS管,典型选值要求反向关断电压3.5V以上;因为TVS只是用来静电防护,TVS的功率不作要求。TVS管的结电容对信号传输有一定的影响,CAN接口推荐使用结电容小于100pF的TVS管。 第二级采用共模电感加滤波电容。L1为共模电感,用于滤除差分线上的共模干扰,其阻抗选择范围为120Ω/100MHz~2200Ω/100MHz,典型值选取600Ω/100MHz。C1、C2为信号线上的滤波电容,给干扰提供低阻抗的回流路径,容值选取范围为22PF~1000pF,典型值选取100pF。C3为接口地和数字地之间的跨接电容,典型取值为1000pF,耐压要求达到2KV以上,C3容值可根据测试情况进行调整。 如果CAN接口是在可能有大能量雷击的场合使用,则推荐进行多级防护,这样可以抑制大能量的雷击浪涌,详细见下图的三级防护电路。 第一级采用GDT,放置在接口最前端。当雷击、浪涌产生时,GDT瞬间达到低阻状态,为瞬时大电流提供泄放通道,将CAN_H、CAN_L间电压钳制固定的电压值范围内。 第二级采用电阻进行限流,后端的TVS提供第三级浪涌防护,这样可以对CAN接口电路提供有效的防护。 CAN接口PCB设计 CAN接口的防护不光需要在原理上进行设计,同时PCB也要设计得当才能发挥防护器件的性能。 防护器件及滤波器件要靠近接口位置处摆放且要求摆放紧凑整齐,信号线上的防护器件GDT、TVS管和滤波电容要接到接口地;按照信号流向布局器件,走线时要尽量避免走线曲折的情况。 接口及接口滤波防护电路周边不能走线且不能放置高速或敏感的器件。 当接口与单板存在相容性较差或不相容的电路时,需要在接口与单板之间进行“分地”处理,即根据不同的端口电压、电平信号和传输速率来分别设置地线。“分地”可以防止不相容电路的回流信号的叠加,防止公共地线阻抗耦合; 共模电感及跨接电容要置于“分地”隔离带中。隔离带下面投影层要做掏空处理,禁止走线。 CAN接口信号传输速率较高,内部PCB板高频噪声很容易由公共地线通过接口向外传导辐射,因此将公共地分割且通过电容相接,可以阻断共模干扰的传播路径。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2020-05-14 关键词: PCB can emc

  • 车载串行网络系统是哪一种通信

    车载串行网络系统是哪一种通信

    为了满足人们对汽车性能和功能的更高要求,制造商争相在汽车设计中运用先进电子控制技术。随着汽车内部信息交换量的急剧增加,采用多路传输方式的车载串行网络系统应运而生。目前,CAN(控制器区域网络)协议已成为车载网络(IVN)协议的标准。除了CAN网络,业界还开发了针对低成本应用的汽车串行协议LIN(本地互连网络)总线,以支持车内分层式网络。 作为具备丰富汽车专业知识的领先汽车半导体解决方案供应商,安森美半导体广泛的汽车元器件组合为车载网络提供了各种优化解决方案,包括独立的LIN收发器、独立的CAN收发器、系统级芯片,以及FlexRayTM 收发器等,为汽车制造商提高汽车电子系统的性能提供了多种选择。 车载网络的优势 随着汽车技术的发展以及电子技术和控制技术在汽车上的大量应用,汽车中的电子控制模块越来越多,已由原来的几个发展到现在的几十个,传统的数据传输方式已不能满足模块之间数据传输的要求。在汽车控制系统中日渐普及的CAN有助于高速传输汽车控制系统的数据,并使汽车控制系统的设计更为简单。 目前,CAN协议及其网络系统已被全球汽车厂商普遍采用。CAN协议明确定义了数据链路层和物理层的内容。CAN具有十分优越的特点,可实现性能、功耗及电子控制单元(ECU)成本的优化,有利于实现车身控制模块、车内温度控制、座椅控制、电动助力转向(EPS)、自适应照明、雨量/光强传感器、泊车辅助及传输模块等广泛的车载应用。 LIN则是一种低成本的串行通信网络,用来实现汽车中的分布式电子系统控制。LIN的目标是为现有汽车网络(例如CAN总线)提供辅助功能,因此LIN总线是一种辅助的总线网络。在不需要CAN总线的带宽及多功能的场合(如智能传感器和制动装置之间的通信)使用LIN总线可以大大节省成本。 安森美半导体的车载网络解决方案 目前,汽车制造商都在利用行业标准的接口连接分布式系统。安森美半导体提供了一系列创新的车载网络产品组合,包括CAN、LIN和FlexRay收发器,这些产品均获得了AEC和TS16949认证。该公司还提供集成了稳压器、驱动器、收发器和监控功能等其他电路的系统级芯片。图1是LIN和CAN总线连接的典型系统划分及安森美半导体的典型器件。 图1:LIN和CAN总线连接的典型系统划分 1. 独立的CAN收发器 最新一代的CAN收发器可实现业界领先的静电放电(ESD)和抗电磁干扰(EMI)能力。安森美半导体的这类器件采用了经过验证的创新I3T技术,能够提供非常坚固耐用的高品质元件,测得的故障率为十亿分之几(ppb)。 安森美半导体的NCV7341是一款CAN收发器,可作为CAN协议控制器和物理总线间的接口,用于12 V和24 V系统。NCV7341为总线提供差分传输功能,具有很好EMI能力的高共模范围差分接收器可为CAN控制器提供强大的差分接收能力。当移除电源后,NCV7341具有理想的无源特性,完全符合ISO11898标准,速率高达1 Mb。如果使用分裂终端(Split Termination)电压源,其VSPLIT(分裂终端电压)引脚可稳定闲置总线电平,进一步改善电磁辐射(EME)性能。该器件的总线拓扑功能最多可连接110个节点,数字接口独立的VIO(输入输出电压)电源有助于不同电源供电的CAN控制器和微控制器(MCU)的通信,因此广泛用于汽车和工业网络。此外,针对汽车环境瞬态保护的总线引脚、VSPLIT引脚短路保护及热保护使该器件成为了汽车应用的理想选择。图2是采用NCV7341的5V CAN控制器应用的电路图。 图2:采用NCV7341的5V CAN控制器应用电路图 2. 独立的LIN收发器 LIN总线通信与控制装置的数据速率较低(最高20 kBaud),主要用于门锁、后视镜、汽车座椅和天窗等非时间关键功能的应用。LIN总线协议的每个节点只使用单线,可最大限度地降低布线成本。LIN总线的每个节点都包含一个从MCU状态机,能够识别和转换针对特定功能的指令。这类产品均符合美国(SAE J2602-2)和欧洲(LIN物理层规范2.1修订版)的标准。 安森美半导体功能丰富的LIN收发器NCV7321可在低数据速率的IVN应用中作为LIN协议控制器与物理总线之间的接口。NCV7321具备极佳的EMC特性,以及高达13 kV的强固系统级ESD性能,不需要外部ESD元件,功耗也很低,非常适合严苛的汽车应用环境。图3是独立的LIN收发器NCV7321框图。 图3:独立的LIN收发器NCV7321 NCV7321采用安森美半导体创新的I3T技术及智能电源技术,使高压及敏感的数字技术能够共存于同一个芯片。它为客户提供了符合现有LIN收发器规范的替代产品。该器件采用高密度、节省空间的SOIC-8封装,典型应用包括多种车身电子功能和舒适功能应用,如遥控车门接收器、车窗和遮阳罩升降器、报警器、电动视镜及座椅调节器,以及电子转向锁和轮胎监测电子控制单元(ECU)等其他功能。图4是基于安森美半导体NCV7321的典型LIN电路。 图4:基于安森美半导体NCV7321的典型LIN电路 NCV7321的突出特点是最大限度满足了汽车的省电要求,休眠模式下的电流消耗仅为10μA。其他关键特性包括热关闭、模糊短路保护及45 V负载突降保护。值得一提的是,该器件支持-45 V至45 V的电压范围,可承受额定5 kV的ESD脉冲,提供了强大的保护功能。 3. 成本优化的系统级芯片 安森美半导体利用自主知识产权结合多年集成定制电路设计经验,成功开发了系统级芯片(SBC)产品组合。这些系统级芯片集成了关键系统元件,如在ECU内提供的LIN、CAN和稳压器,可有效提高系统可靠性,降低功耗,节省电路板空间。通过汽车行业认证的线性稳压器具有极低的静态电流和宽线性稳压能力,均具备短路保护和过温保护,可用于电池负载突降瞬态保护或电源后稳压;低RDS(on)MOSFET具备高电流能力和低栅极电荷;采用自保护MOSFET的集成电路元件可取代继电器和保险丝驱动电磁线圈和灯;消除反向恢复振荡的高压整流器可提供低正向压降,提高效率;具有瞬态电压保护功能的高可靠电子模块可实现I/O和传感器保护、负载突降保护、网络数据线保护和负载开关保护。图5是安森美半导体的NCV7420/25 LIN-SBC框图。 安森美半导体的NCV7420和NCV7425分别集成了50 mA稳压器、150 mA稳压器及LIN收发器,可有效节省PCB空间,又可为MCU单独供电,有效抑制其他模块对MCU电源的干扰,应用成本也很低。 除此之外,安森美半导体还在开发用于车载网络的FlexRay v3.0器件产品组合,预计不久将投放市场。符合V3.0规范的收发器将为汽车制造商提供更强的流水线错误检测、更快的误差控制等功能。下一代FlexRay产品的目标是更加强大的功能,进一步改善EMC和提高集成度,从而优化系统成本。 总结 作为提供汽车应用高能效半导体解决方案的领先供应商,安森美半导体运用先进的技术和丰富的研发经验,开发出各种汽车元器件,包括高电压接口、智能电源管理、车载网络、系统级集成和传感器接口等。 由于汽车电子含量越来越多,电磁兼容性已成为一个不容忽视的问题;车载网络应用需要具有更好抗ESD脉冲和抗EMI的能力。安森美半导体提供的一流器件采用I3T50/I3T80技术,如深沟道隔离工艺,降低了芯片上不同单元结构之间的干扰。除了具备先进的功能,这些器件还能满足汽车行业制定的相应性能标准,有助于汽车制造商实现可靠稳固的设计。

    时间:2020-05-13 关键词: 通信 can

  • 单片机通信协议有哪一些常用的

    单片机通信协议有哪一些常用的

    在单片机的应用中,通信协议是必不可少的一部分,上位机与下位机,单片机与单片机,单片机与外设模块之间的通信都需要通信协议实现信息交换和资源共享。由于设备之间不同的传输速率、电气特性、可靠性要求的不同,产生了许多类型的适用于不同情况的通信协议,并被广泛接受和使用。主要有以下几种: 浅析六种常用的单片机通信协议 一、UART和USART 分别名为通用异步收发器和通用同步异步收发器(具体后文会进行详解),速率不快,可全双工,结构上一般由波特率产生器、UART/USART发送器、UART/USART接收器组成,硬件上两线,一收一发。 二、I2C(IIC) 双向、两线、串行、多主控接口标准。速率不快,半双工,同步接口,具有总线仲裁机制,非常适合器件间近距离经常性数据通信,可实现设备组网。 总线仲裁:线与,谁发0就仲裁成功。 三、SPI 高速同步串行口,高速,可全双工,收发独立,同步接口,可实现多个SPI设备互联,硬件3~4线;也是所有基于SPI的设备公共有的,他们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。 四、USB 高速同步串行口,高速,可全双工,由主机、hub、设备组成。设备可以与下级的hub相连构成星型结构。一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+、D-是差分输入线,它使用的是3.3V的电压。数据在USB线里传送是由低位到高位发送的。 五、CAN 采用双线传输,两根导线分别作为CAN_H、CAN_L,并在终端配备有120Ω的电阻。收到总线信号时,CAN收发器将信号电平转化为逻辑状态,即CAN_H与CAN_L电平相减后,得到一个插值电平。各种干扰在两根导线上的作用相同,相减后的插值电平可以滤过这些干扰。 六、DMA DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。这样数据的传送速度就取决于存储器和外设工作速度。 通常系统总线是由CPU管理的,在DMA方式时,就希望CPU把这些总线让出来,即CPU连到这些总线上的线处于第三态(高阻状态),而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束信号。

    时间:2020-05-13 关键词: 通信 can 单片机

  • 采用LPC2294四路CAN控制器实现智能通信卡系统的设计

    采用LPC2294四路CAN控制器实现智能通信卡系统的设计

    LPC2294是PHILIPS公司推出的一款功能强大、超低功耗且具有ARM7TDMI内核的32位微控制器。它具有丰富的片上资源,完全可以满足一般的工业控制需要,同时还可以减少系统硬件设计的复杂度,提高系统的稳定性。 CAN(“Controller Area Network”)总线控制器局域网是一种能有效支持分布式控制或实时控制的串行通信网络。CAN总线以其高性能、高可靠性、廉价等特性,越来越受到人们的重视和青睐。为了有效的管理工业现场的CAN节点,充分发挥CAN总线的性能,通信卡的设计与研究十分必要。但目前市场上类似产品存在着两点不足。 首先是一般工业现场中可能拥有不止1条CAN总线,而目前设计的通信卡上的CAN的接口太少,因而会给设备的集中管理带来困难。 二是目前两条CAN网段问的通信主要通过一对一CAN总线网桥来实现,但这种方式解决不了工业现场中同时在几条CAN网段问传输数据的需求,也容易导致组网混乱。 为此,本设计选用的ARM控制器LPC2294内部集成有四路CAN控制器,完全符合CAN规范CAN2.0B标准和ISO11989-1标准。全局验收过滤器可识别几乎所有总线的11位和29位Rx标识符。作为本设计的核心部件,LPC2294的使用能够很好地解决上述2个问题,它不仅能担起主控制器的工作,同时还可作为CAN网络的数据传输控制器,来与网络中的节点实现数据交换。 1 、硬件设计方案 目前计算机的发展,除了少数专门的工控机还在使用ISA总线以外,PC机上使用最为普遍的就是PCI总线了。PCI总线是Intel公司推出的一种高性能32/64位PC机局部总线,可能同时支持多组外围没备而不受制于处理器,其数据吞吐量很大(33 MHz总线频率、32位传输时,其峰值可高达132 MB/s),PCI总线依靠其优越的性能必将取代ISA总线。因此,本文基于PCI总线来设计一个带有4个CAN总线网段的智能通信卡。图1是该通信卡的整体硬件结构图。 1.1 PCI总线接口的实现 PCI总线具有非常严格的规范,也具有良好的兼容性。但是PCI总线协议也比较复杂。本设计选用专用的PCI总线接口芯片PCI9030来实现网关的PCI总线接口。PCI9030是PLX公司开发的低价格PCI总线从模式接口芯片。该芯片功耗低,符合PCI2.2规范,用户设计时只需考虑局部总线一侧的逻辑控制电路和用于配置的外部EEP-ROM,而不必考虑PCI协议的具体实现方法,这样就大大简化了设计难度,缩短了开发周期。 PCI9030要求有一块EEPROM作为初始化存储器。在系统加载时,PCI9030先从该EEPROM中加载初始数据,进行初始设置,因此,EEP-ROM中的信息是否正确决定了PCI卡的加载和运行是否正常。本设计选用ST93CS56作为PCI9030的初始化存储器,其结构方案如图2所示。 1.2 CAN总线接口的实现 该通信卡中CAN总线接口部分实现有以下两种常用的方法: (1) 独立CAN总线控制芯片实现 即采用飞利浦公司的SJA1000独立CAN控制器来实现CAN协议。这种方法的优点是能实现较复杂的功能,灵活性也不错,但由于它是独立的控制器,设计通信卡拥有4个CAN网段就需要4片SJA1000,这样会造成资源冗余,系统会比较庞大,而且稳定性也会受影响,设计难度也较大。 (2) 带CAN接口的微控制器实现 该方法具有代表性的有飞利浦公司的ARM芯片LPC2294,它集成有4路片上CAN总线控制器,能很方便地实现多路CAN总线接口,减小系统规模,提高系统稳定性。 比较上述两种方法,在传统的SJA1000中,接收过滤只能满足一些规律性较高的ID筛选过滤,或对个数较少的ID (一般小于10~15个)进行任意筛选过滤,而难以实现更复杂的任意ID进行筛选过滤,这无疑增加了系统软件设计及运行负担。 而第二种设计方法相对较为简便。由于LPC2294微控制器中为所有CAN控制器提供了全局的接收标识符查询功能,因而能容易地设计较复杂的ID接收过滤,其工作的重点主要在ARM芯片的软件设计上。本文采用第二种方法来实现CAN总线接口,并采用PCA82C250作为CAN总线驱动器,同时将6N137连入CAN控制器和CAN驱动器之间以降低CAN总线对网关卡的电磁干扰。图3所示是LPC2294中一个CAN接口的连接图,其它接口与之类似。 1.3 微控制器与PCI9030之间的硬件接口设计 微控制器与PCI9030之间的硬件设计是该通信卡的核心控制部分。本设计采用ALTERA公司的FPGA EPlC6来实现微控制器与PCI9030之间的接口。EPlC6是ALTERA公司的一款FPGA芯片,它内部集成了20块128×36 bits的RAM模块,可以方便地将它编程为所需要的“双口RAM”,然后将上行数据(CAN节点发往PC机的数据)和下行数据(PC机发往CAN节点的数据)通过该“双口RAM”缓存转发。由于EPlC6拥有丰富的I/O口,故可灵活选择数据格式(32位/16位/8位)以及传输方法,本文采用16位复用传输模式。 EPlC6还要编程实现PCI9030与ARM之间的逻辑控制时序转换。由于PCI9030与ARM的控制信号不完全一致,所以需要进行逻辑控制时序转换。同时,本文PCI9030的局部总线一侧采用的是地址/数据复用模式,而ARM控制器采用的是非复用模式,因此也需要EPlC6进行模式转换:在PCI9030的地址周期内可利用LALE将16位地址锁存到EPlC6内部寄存器,等到PCI9030的数据周期来临时,再与数据一起送到ARM的地址口与数据口上,以方便ARM取用。 2 、软件设计 2.1 通信卡软件设计 通信卡上的软件主要指的是ARM控制器上的软件程序。本文选用ARM控制器LPC2294来实现智能数据传输路径选择。LPC2294是通信卡的控制核心。它集成有4路CAN控制器,每个CAN控制器都与独立CAN控制器SJA1000有着相似的寄存器结构,它只是对器件寄存器访问由原来的8bit字节访问转变为了32 bit的双字访问。LPC2294可实现CAN网段与上位机之间的数据传输控制(包括上行数据传输和下行数据传输)以及不同CAN网段间的数据传输控制(平行数据传输)。 LPC2294为所有CAN控制器提供了全局接收标识符查询功能。它包含一个512×32 (2 k字节)的RAM,可通过软件处理在RAM中存放1~5个标识符表格。整个接收滤波RAM可容纳1024个标准标识符或512个扩展标识符,或两种类型的混合标识符。由于允许的表格范围有2 k字节,故能容易地满足复杂的ID接收过滤要求。LPC2294在FullCAN模式下能自动接收并选定网段的标准帧,但本文不采用FullCAN模式。 若在EPlC6的“双口RAM”中设置一个状态与控制寄存器组(SOR),那么,上位机便可通过访问该寄存器组查询通信卡的运行状态。为了有效管理数据传输,防止传输过程中的数据丢失,本设计在ARM内部的静态RAM区开辟了一个全局数据收发缓存区(GRTB),其示意图如图4所示。 图4中,对于标准帧来说,它只有11位标识符,因此,图中的标识符字节3和4保留不用。而帧格式用来区别此帧是标准帧(0)还是扩展帧(1)。当RTR为1时,表示此帧是远程帧。图中的源段号和目的段号用于表明此帧来自哪个网段以及将要送往哪个网段(此处将上位机也作为其中一段来处理)。DLC表明传输的数据字节数目。 2.2 通信卡的运行流程 系统上电复位后,系统将首先运行初始化程序。LPC2294的初始化主要是初始化全局接收和发送缓冲区以及清除状态寄存器中的值等;PCI9030的初始化主要是从EEPROM中加载初始数据以进行初始设置,CAN初始化包括设置模式、总线时序、中断使能、标识符表格,这些设置均可通过给CAN芯片的内部寄存器赋值来实现。初始化成功之后,通信卡将进行自检,并在确定启动正常之后进入工作状态。这一部分的程序流程图如图5的A部分所示。 系统进入工作状态后(图5中的B部分)将等待中断产生,如有,则进人相应的中断服务程序。如果是数据传输,则转入数据传输子程序,数据传输子程序主要包括3个部分: (1) 下行数据传输 下行数据传输指的是上位机向CAN网段发送数据。即上位机把数据写入到“双口RAM”中以等待LPC2294将数据取走。LPC2294将上位机发来的数据暂时存放在全局数据收发缓存区(GRTB)中,然后检查匹配的目的段是否有空闲的发送区(CANSR中的TBS位为1),若有则将数据分别写入每个网段的发送区并发送。如果匹配网段的3个发送缓冲器全为忙,则循环等待,直到有一个以上的发送缓冲器为空再进行发送。 (2) 上行数据传输 上行数据传输指的是CAN网段向上位机发送数据。当程序检测到某个网段X的CAN中断/捕获寄存器(CANICR)中的接收中断位(RI)置位后,它将进入接收中断服务程序。此时程序将到标识符表格中查找匹配的标识符,CAN控制器会在接收时自动搜索接收滤波器的RAM中的表格并进行匹配,只要找到匹配值则产生接收中断并通知用户保留信息,否则自动放弃这一帧信息而不产生接收中断,如果它只找到一个匹配值(源网段中),则说明此数据是只传输给上位机的,此时程序会将接收到的数据信息按上面介绍的格式保存到全局数据收发缓冲区(GRTB),以等待LPC2294将其发送给EPlC6的“双口RAM”,以便上位机读取。 (3) 平行数据传输 当出现接收中断时,程序也会到标识符表格中查找匹配的标识符,如果找到一个以上的匹配值,则说明还有其他网段需要这些数据。此时程序会将接收到的数据信息读入到全局数据收发缓冲区(GRTB)中去,然后把数据发往匹配网段。 在调用相应的数据传输子程序后,程序将置标志位并返回。如果是其它一些中断,则转入相应的中断服务程序。若没有中断产生,则检查PC机是否有参数配置需要,最后进行系统自检。本系统会在系统闲暇时进行自检并上传状态报表,这样可以使用户随时了解通信卡的工作情况,对于提高系统的工作可靠性以及出现故障时的查错效率具有重要的意义。 2.3 上位机程序设计 本设计中,上位机软件设计程序主要包括通信卡底层驱动程序和用户服务程序。其设计框图图6所示。 通信卡底层驱动程序的功能主要是配置CAN总线接口、收发CAN总线上的数据、对CAN总线进行实时监测、执行用户程序的收发命令等。CAN总线和PCI总线错误均采用中断处理,并通过事件(Event)内核对象直接通知给用户程序。 PCI的用户服务程序则通过PCI通信程序与系统PCIDI (PCI device interface)进行通信,并由系统完成PCI协议的处理与数据传输。用户可以在设计好的上位机界面上方便的设定节点参数,查询节点状态信息。 3 、结束语 本文设计的CAN/PCI智能通信卡采用功能强大的ARM芯片LPC2294作为核心控制芯片,因此,该通信卡能够同时处理4路CAN总线向上位机的数据传输。对于CAN网段之间的通信需求,本通信卡也能够很好地满足,并可使工业现场的CAN网络组网更为简单。

    时间:2020-05-08 关键词: 控制器 can 总线

  • UltraSoC推出CAN Sentinel增强汽车的网络安全性

    解决所有车辆的CAN总线中内在的安全漏洞 UltraSoC近日宣布推出CAN Sentinel,从而推动其汽车网络安全产品实现重要迈进。全新的知识产权(IP)在CAN总线中增加了一个亟需的基于硬件的安全层,CAN总线是汽车制造商和整车厂(OEM)所遵循的互连技术的全球性行业标准。UltraSoC的CAN SenTInel驻留在总线上,可以监测与车辆电子控制单元(ECU)之间的事务,识别可疑行为,防止恶意消息,并抑制攻击。 CAN SenTInel可以用户自定义的安全规则进行配置,从而提供保护以防范诸如框架欺骗等常见的漏洞利用手段,并且允许系统随着威胁态势的演变而升级。开发CAN SenTInel是Secure-CAV联盟(Secure-CAV ConsorTIum)工作的一部分,UltraSoC是该联盟的领导成员。CAN Sentinel与UltraSoC更广泛的安全嵌入式分析和监测架构相结合,可以实现强大的全系统网络安全保护。 自30年前出现以来,CAN(控制器局域网)总线在汽车行业中已经变得无处不在。但是最近,它也被公认为可能是汽车中最严重的安全漏洞。诸如Miller和Valasek对 Jeep汽车实施的黑客攻击等众多备受关注的攻击就是利用了其内在的安全功能缺陷。网络安全是汽车行业日益关注的问题,也是汽车产品召回的一个主要原因:2016年,仅通用汽车就在一年内召回了2300万辆汽车,据估计给整个行业造成了260亿美元的损失。 考文垂大学(Coventry University)未来运输与城市研究所(IFTC)的Siraj Shaikh教授评论道:“CAN总线是当前和未来汽车设计的一个关键领域,就网络安全而言,存在着巨大的机会来进一步增强其安全性。UltraSoC CAN Sentinel的设计目的不仅是去发现和处理框架欺骗带来的真正威胁,还在于能够等待并监测可能出现的任何其他威胁和入侵。” UltraSoC首席技术官Gajinder Panesar补充道:“30年来,CAN总线一直在帮助保持车辆的安全,但是在现代车辆中,没有防护就无法保证安全。汽车技术开发人员认真对待不断演变的网络风险是至关重要的。现在,我们为他们提供了一款简洁的技术,在提升汽车网络安全性方面拥有巨大的潜力。我们的产品提供了智能分析功能,能够不断学习并演进,以应对快速变化的威胁态势。” CAN Sentinel紧随UltraSoC Bus Sentinel之后推出,Bus Sentinel是UltraSoC网络安全硬件产品系列中的首款产品。该产品于2019年末发布,旨在简化将安全监测架构嵌入任务关键型和安全关键型设备的核心部分这项工作,尤其是在联网和自动驾驶汽车(CAV)等应用中。这些新的网络安全硬件IP产品与UltraSoC的安全嵌入式分析架构相结合,可以提供一套完整的嵌入式安全解决方案。 CAN总线的设计目的是在恶劣的车辆环境中提供可靠的通信(以及可靠的系统,例如刹车、转向、发动机、安全气囊、门锁和车头灯)。尽管其设计考虑了安全性,但是并没有考虑防护和抵御网络攻击。迄今为止,保护CAN总线的方法主要还是阻止来自外部的网络入侵(通过软件补丁或API使Wi-Fi设备安全),而不是将安全防护措施嵌入总线本身。这使得CAN总线和车辆容易遭受来自于框架欺骗黑客攻击的各种潜在攻击,这些攻击可能会远程禁用车辆,从而导致潜在的勒索攻击,甚至对道路基础设施实施大规模攻击。

    时间:2020-05-06 关键词: can 网络安全 ultrasoc

  • 通过CAN模块和PIC30系列芯片实现船舶电站控制系统的设计

    通过CAN模块和PIC30系列芯片实现船舶电站控制系统的设计

    引言 船舶电站一般由燃油发动机、发电机、主配电屏组成,如图 1所示,每个组成部分有各自的输入输出信号,传统的控制方式是将各自的输入或输出连接到对应的控制器,由对应的控制器实现单台设备的控制,如电网检测到负载较大时,自动产生一个备用发电机起动信号,备用的发动机控制器接受到该信号后自动起动,延时并建立电压后,由自动并车装置控制将该台发电机并入电网运行,运行过程中由负载分配装置进行负载的自动调节,如果电网负载较小时,经过负载平衡分配后,每台发电机的负载过小,系统将会自动卸载一台原来备用的发电机,待脱离电网运行延时后自动熄火并回到备用状态,实现电站的自动解列。 1. CAN总线与船舶电站 随着航运事业的发展和船舶电站的要求提高,总线技术逐渐在船舶控制技术中使用,分布式系统在新设计系统中渐渐成为主角。其中控制器局域网(Controller Area Network,CAN)模块是一个串行接口,可用于与其他外设或者单片机之间进行通信,此接口/协议是针对允许在噪声环境下通信而设计的。本文以CAN总线为基础,结合单片微机(MCU)技术, 将船舶电站中的三台发动机、三台发电机、三个主配电屏构成的供电电站系统实现无人自动控制并可实现远程监控。 CAN具有几个重要的特点:一是总线协议完全开放,从相关 CAN芯片或 MCU中可以直接得到相关的控制字及寄存器,只要对相关的寄存器进行有效的设置,CAN总线模块能自动地进行通讯,MCU可以直接通过读或写处理 CAN通讯的信息;二是 CAN为底层协议,用户完全可以在此基础上进行用户自定制的高层协议;三是该总线有成熟的市场使用,有可靠的抗干扰特性。所以在船舶控制系统中也越来越多地使用CAN 总线。 船舶电站按控制功能可以分成如下几个部分: 1) 发动机的起动、停止控制 2) 发电机的电压控制和无功分配控制 3) 发电机的信号检测及保护控制 4) 发电机自动并车控制 5) 发电机的电能管理控制 上述控制各有对应的传感器,信号变送器和执行控制器与之相配,本系统将各环节或组成部分用带 CAN总线的单片微机来实现,系统结构具体如图 2所示,系统分为三层,昀高一层是一个电网的电能管理控制器( PMU), 检测电网的用电情况,并根据情况向中间一层对应的控制器发送起动或停止信号,或发出负荷增减信号,中间一层是每台发电机所需要的控制器,根据需要调节控制各自的电量信号,如电压或电流等,昀低一层是传感器和执行器层,由一个或几个传感器或执行器构成一个 CAN总线的单元,所有的组成均挂在一个 CAN总线网上,为保证系统可靠,物理上每个单元带双 CAN接口,整个网络构成两个 CAN网络,即 CAN 总线实现冗余控制,理论上,任意一个控制器均可控制任意一个传感器或执行器,即可实现控制器的冗余控制,实际上是将三台发电机对应功能的控制器做成相互冗余,不同性质的控制器不做冗余,但是昀高一级的控制器( PMU)内带中间以及所有控制器的功能,可以实现向下冗余控制。 开关量输入变送器 1是检测燃油发动机的一些基本信号并将其转换成CAN 总线接口信号,这些基本信号包括:冷却水压力,滑油温度,油底壳油位,发动机备用状态,发动机自动控制位置,燃油压力,起动空气压力等;CAN总线 2是整个系统通讯的网络总线,图示为一条总线,实际为保证系统可靠,使用两条总线方式,每个单元均带 2个总线接口,实现双总线冗余;起停输出执行器 3是带 CAN接口的继电器输出,去控制发动机的起动、停止和紧急停止电磁阀;发动机起动停止及保护控制器 4是控制发动机运行或停止的控制核心,一方面接受控制按钮等信号,一方面接受 CAN总线的信号,并根据这些命令信号去控制发动机;加减输出执行器 5是带CAN总线的继电器输出控制器,并带本地手动输出,其作用是控制发动机内调速器的输入,起到调节速度或负载的目的;燃油发动机 6根据起动或停止电磁阀控制运行,根据调速器来调节运行速度或输出功率;转速等模拟输入变送器 7是检测发动机的速度,冷却水温度,滑油压力,排气温度等一些重要参数的传感器并将信号转换为 CAN总线接口的信号;电站电能管理控制器 8是整个控制系统的调度控制单元,检测电网和每台发动机的状态,实现调频调载的自动控制,或实现自动起动,或控制自动卸载解列;调压执行器9是带CAN总线控制的相复励自动调压控制器,根据 CAN总线来的命令或自带的调节旋钮信号调节其旁路可控硅的触发角,从而实现发动机的调压控制;发电机 10接受 9的励磁调节,由原动机 6带动输出电能给配电装置;自动调压及无功控制器 11根据发电机的电压,电流信号,同时需要判断其无功功率和功率因素值,来调节其输出给单元9,实现电压恒定及无功分配均衡;电压电流信号输入变送器 12是检测本发电机输出的电压和电流信号以及两者之间的相位差,计算出需要使用的功率值,无功功率值,功率因素值等电量,并转换为数字信号通过 CAN接口提供给需要的其他环节;主开关保护控制器 13主要实现发电机的过电流、欠电压、逆功率的保护,其输入信号由环节 12提供,主开关及配电屏状态信号作为辅助信号输入,其控制的是主开关的分断控制;屏上按钮等输入变送器 14是将配电屏上的按钮等所有操作信号转换为标准的CAN 接口信号并提供给 CAN网络上的有关环节使用;主配电屏15是含主开关,有关继电回路,有关设备安装其内部的配电装置;主开关并车控制器 16将检测本发电机和电网之间的电量差别,通过调节本发电机实现两者的同步并自动并车;主开关合闸/分闸执行器 17是带 CAN接口的继电器输出环节,其与主开关配套,实现主开关的储能,合闸或分闸的控制;供电母线 18是船舶电站三台发电机供电的电网,所有外部用电设备均经过本电网供电。 [page] 2. 带 CAN总线接口的 MCU单元 从图2可以看出,控制系统相关环节均需要配有CAN总线接口,包括传感器信号输入和控制输出,其中有些信号变送环节还需要经过计算和分析,基本上带CAN总线的单元均需要配单片微型计算机MCU,通过MCU采集需要的信号或输出控制信号,由MCU和CAN实现总线接口,为方便该功能的实现,选择带CAN总线接口的MCU,本系统使用MICROCHIP公司的PIC30系列的控制芯片来实现,其内置CAN模块主要特性如下: • 实现CAN协议:CAN 1.2、CAN 2.0A和CAN 2.0B • 标准和扩展的数据帧 • 数据长度为0 到8 字节 • 可编程比特率达到1 Mb/s • 支持远程数据帧 • 双缓冲的接收器,带两个区分优先级的接收报文存储缓冲器 根据上述具备 CAN通讯接口的 MCU特性描述,结合使用场合,配以相关的电路可以实现带双 CAN接口的多种多样的变送器和执行器,MCU采用 dsPIC30f5011,内置两路 CAN接口。MCU与 CAN接口电路如图 3所示,C1Tx是 1号 CAN总线的发送信号,C1Rx是 1号 CAN总线的接受信号,C2Tx是 2号 CAN总线的发送信号,C2Tx是 2号 CAN总线的接受信号,外围开关量可以实现昀大 48路输入或输出,模拟量昀大可以实现 16路输入。MCU与外围采用高速芯片 6N137进行光电隔离 , CAN总线收发器采用标准的 PCA82C250,其输出为差分信号,定义为 CANH和 CANL一对,采用双绞线方式挂在整个系统 CAN总线网络上。CANH 和 CANL之间并联小电容可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力,另外,在 CAN 总线的终端处的两根线 CANH 和 CANL间还并联一个 120欧姆的电阻,以消除信号的反射。 MCU内具备强大功能, 16位 CPU,程序存储器达 66K,4K RAM,1K EEPROM,16 ×16bit工作寄存器,昀高时钟可以使用 10M晶振倍频 16倍,所以一般应用场合均能适应,由于自带 DSP核心,对要求快速响应的数据处理也能胜任,一般不需要扩展即可满足需要,具体需要实现的信号输入输出,只要配以合适的外围接口电路即可实现;需要实现的控制功能也可编程实现。在本系统中除电站电能管理控制器要求比较复杂,需要进一步增强系统配置外,其它控制器和信号接口或变送器等均使用上述电路实现,带 CAN接口的变送器或执行器一端如图 3所示实现 CAN总线接口,另一端配以 MCU对应的外围电路,可实现带CAN总线的不同功能的输入输出。具体如下: 2.1 带 CAN总线的常用信号变送器 常用的信号分为开关量输入, 0-5V,4-20mA,热电阻,热电偶等,其中开关量信号输入采用光耦隔离输入,模拟量输入采用高性能的仪表运算放大器构成,热电阻,热电偶等均采用标准的信号调理电路,所以对 MCU而言,输入的均为标准的0-5V信号,对应传感器的昀大量程。经信号调理后的 16路模拟量输入接到 MCU的RB0-15,即可实现 MCU对该 16路模拟量输入的采样。开关量输入信号变送器将输入信号隔离后送到 MCU的PORTB-G口,昀大可以实现 48个输入,除使用光耦隔离电路外中间不需要其它电路。 2.2 带 CAN总线的编码信号变送器 正交脉冲编码输入,有A,B正交的2相输入,即相位上相差90度,其昀到频率可达20KHz。由于频率较高,光电隔离应采用高速光耦来采样,可以使用 MCU的信号捕捉接口 RD8—11来实现 2组 4个正交脉冲编码输入,配置 MCU相应的寄存器可实现正交脉冲编码的计数和正负判断。 2.3 带 CAN总线的电量信号变送器 电量信号的采样需要采集电压和电流信号并转换成有效值,调理成 MCU需要的0-5V信号,同时需要正弦-方波的转换,送到 MCU的中断接口处,便于相位计算。电压信号的调理电路如图 4所示,电流型电压互感器将取样电压信号转换成 mA电流信号经运放 U2放大成电压信号,经 U1A比较电路取得交流电压过零方波的检测信号,供频率转换和相位计算用,运放 U1B,U1C电路构成整流电路,U1D电路为滤波电路,其输出为 MCU需要的0-5V电压信号。电压信号采样考虑到变化幅度有限,选择 1.5倍额定电压对应 MCU昀大输入5V,而电流信号变化比较大,特别是大电机起动时,电流可以达到其额定电流6-8倍,电流的保护控制也需要能有效地实现8-10倍的保护控制,所以同一个电流的采样分成三个等级来实现,一是 2倍额定电流对应 MCU对答输入5V,一是 4倍额定电流对应 MCU的 5V输入,另一是 10倍额定电流对应 5V输入。电路原理与图 4所示类似,这样,一台发电机输出的三相电压和电流的采样要用到 12个模拟量输入,3个电压过零中断输入,3个电流过零中断输入。根据上述信号 MCU将不仅得到相应的电压值、电流值,还要计算出相位差,功率因素,有功功率,无功功率,视在功率,有功电能统计等,同时需要根据额定值确定是否有过电压、欠电压、长延时过电流、短延时过电流、瞬时过电流,逆功率等故障信号,所以本电量变送器含多重功能。 2.4带 CAN总线的执行器 MCU的 I/O口可以配置为输出,根据需要将相应的 I/O配置成输出后,接到光电耦合单元,其输出再经过三极管驱动继电器实现继电器的输出。执行器的控制为其控制电源经过继电器的触点后送到执行器上,控制其正反运转实现相应的调节,或控制电磁阀回路的通断等。在一些特殊场合,MCU的输出可经过光电耦合后再经三极管驱动MOSFET,实现 PWM的调节控制,或有关的执行器件的动作调节。 3. 带CAN总线接口的各种控制器 带 CAN总线的控制器 CAN接口与上述 MCU的相同,在控制器中,输入输出不是主要的,主要的是 MCU的运算能力,存储能力,控制能力,显示驱动等,所以考虑使用的 MCU为 PIC系列中较为高端的MCU,其硬件电路也大同小异,除与图 3使用 CAN接口电路相同外,另外为配合需要使用了一些带I 2C的扩展电路,如EEPROM,时钟电路等,如图5所示,其中SCL,SDA为 MCU中自带的 I 2C的接口,定义为时钟线和数据线,A0,A1,A2为相同器件同时使用时的选择信号,由 MCU控制,U3为时钟芯片DS1307,与为时钟源晶振,24C08为I 2C接口的EEPROM。如需要其他功能,可以在原来I 2C总线接口电路上再扩展。在此硬件基础上,通过 CAN接受总线上的信息,各控制器按其需要的功能编制相应的软件,并将相应的输出信号通过 CAN发送到对应的输出 CAN接口模块去。控制器按具体位置和功能分成发动机控制器、自动调压及无功调节控制器、配电保护控制器、同步并车控制器、电能管理控制器等。 4.冗余控制技术 除主要的电能管理控制器 PMU外,设计的其他几个控制器的硬件电路接近,实现的功能不同,但是可以通过软件实现相互间的控制冗余,所以在实际设计中,每个控制器内设计成两套控制程序,正常情况下,一套本身主要的程序在工作,另一套作为其它控制器的备用在读取 CAN总线上的数据,但是备用的程序不作输出动作。当系统中某控制器故障出现时,CAN总线网络上无该控制器正常工作的心跳信号后,作为它备用的控制器将其备用的程序唤醒工作并输出,以替代故障的控制器,同时在工作的控制器上出现相应的显示。系统设计中各控制相互冗余备用的关系如表 1所示,其中电能管理控制器可以作为其他控制器的备用。 除控制器具备的冗余外,前述 CAN总线均采用双 CAN接口,实际线路也是对应的双 CAN网络,其中一个 CAN总线出现故障后,系统可以自动启用备用 CAN网络,从而实现 CAN总线的冗余控制。 5. 结论 船舶电站控制系统采用分布式结构 , 硬件设计标准化,软件设计模块化,使整个系统设计组合较为灵活,这种设计方法对于其他项目的研制也具有一定参考价值。系统实际运行效果良好,工作可靠,说明 CAN总线技术在船舶电站中的使用是成功的,并可推广使用。 本文创新点:昀初开发的 CAN协议被运用于汽车制造领域,现把 CAN技术移植到船舶电站的控制方面,实现了船舶电站的无人操纵、过程自动控制及远程监控,提高了船舶自动化程度,改善了系统性能。

    时间:2020-05-01 关键词: 芯片 控制系统 can

  • 基于单片机AT89C51和CAN控制器实现柴油发动机测试系统的设计

    基于单片机AT89C51和CAN控制器实现柴油发动机测试系统的设计

    1. 引言 许多现在正在使用的柴油发动机测试平台都是通过仪表读数来分析、判断一台柴油发动机测试时的工作状态,不仅效率低、精度差,而且综合分析判断能力有限。为了能够更加全面、直观地了解柴油发动机测试过程,迅速发现并排除故障隐患,使测试操作人员提高分析判断能力,结合企业技术改造,我们开发了基于CAN现场总线的柴油发动机测试系统,实现了同时对多台柴油发动机测试过程的监控与测试。 2. 测试系统结构组成 根据柴油发动机的测试要求,本系统主要完成对柴油发动机测试过程中各种传感信号的处理以及柴油机工况数据的采集,并将数据通过CAN总线送上位机,要求处理16路模拟信号、16路I/O信号。采集的参数主要有:机油压力和温度、冷却水温度、进排气温度、燃油液位、启动蓄电池电压、转速等。 柴油发动机测试系统的关键是引入了CAN总线技术,形成基于CAN总线的分布式测控体系模型,由于CAN总线作为现场总线的类型之一,属于开放式底层控制网络,是应用于生产现场、在微机化测量控制设备之间实现双向串行多节点数字通信的系统,因此基于CAN总线的分布式测控系统是开放式的,而不是封闭和专用的。这种测试系统将监控功能分散到每个试车台,每个试车台均由一个CAN智能节点完成监控任务。每个CAN总线节点的组成是相同的,都包括:主控单元、CAN总线通信管理单元、数据采集与处理单元等。各节点通过CAN总线与上位机相连,通过总线完成彼此间的通信。 3. 测试系统硬件设计 柴油发动机测试系统采用两级分布式结构。上位机采用PC机,在上位机的PCI总线插槽中安装了PC-CAN总线适配卡,这样就可以通过CAN总线将上、下位机联系在一起构成控制网络。下位机控制器采用单片机AT89C51和CAN总线控制器SJA1000共同组成的智能节点,它们直接对各现场设备(如:传感器、继电器、电机等进行控制,采集现场数据,并根据接收到的命令或者主动将数据发送到CAN总线。 通过事先设置验收码和验收屏蔽码可以控制智能节点从总线上接收哪些数据或命令。如果某些数据需要进一步复杂的处理(如动态显示),则上位计算机可以从总线上接收数据。当上位机需要对某个节点施加控制动作时,可以采用点对点方式与该节点通讯,而当它要同时对所有节点施加控制动作时,可以采用广播方式将命令发送到总线。这样当系统正常运行时完全可以没有上位机的参与,大大减少了数据的传输量,同时提高了系统的实时性和可靠性。 柴油发动机测试系统的硬件设计主要涉及上位机中的PC-CAN适配卡以及下位机CAN智能节点。这里重点分析CAN智能节点的结构组成。 在图2CAN智能节点中,核心器件是CAN总线控制器SJA1000、CAN总线驱动器82C250以及单片机AT89C51。AT89C51主要有两方面的任务:一是负责对CAN控制器SJA1000的初始化,并通过控制SJA1000实现数据的接收和发送等通信任务;二是负责对现场信号的采集以及对现场设备的控制。 SJA1000是Philips公司的CAN控制器,它实现了CAN总线网络中的数据链路层和物理层功能,通过对其编程,微处理器可以设置它的工作方式,控制它的工作状态,进行数据的发送和接收,把应用层建立在它的基础之上。在本设计中,为了增强CAN总线节点的抗干扰能力,采用SJA1000的具有光电隔离的CAN总线接口。SJA1000的发送输出端TX0与接收输入端RX0、RX1分别经高速集成光电耦合器6N137隔离后与CAN总线接口驱动芯片82C250的TXD和RXD相连,82C250则直接与CAN物理总线相连。 上位机监控软件采用组态软件进行开发。组态软件作为用户可定制功能的软件平台工具,是随着分布式控制系统及计算机控制技术的日趋成熟而发展起来的 当前,随着现场总线技术的逐步推广,现场总线和开放系统已成为组态软件成长所依赖的外部环境,这使得组态软件更易于与众多的输入/输出设备连接,从而促进了组态软件在现场总线控制系统中的应用。通过对现有组态软件性能及价格的比较,同时结合本技改项目的实际需要,选择国产“世纪星”组态软件来开发CAN总线系统的监控程序。为了将上位机人机界面程序与下位机数据采集与交换程序有机地结合起来,我们把临控程序分成两部分,即:将服务器-客户机结构应用到CAN总线控制系统的组态软件设计中,实现以人机界面程序作为客户机端程序,以与硬件进行数据交换的程序作为服务器端程序。 (2) 下位机软件: 每个柴油发动机试车台作为CAN总线的一个智能节点,通过CAN通信接口将各试车台的检测状态和控制结果等信息向上位机传送,并随时准备接收上位机的控制指令。下位机控制程序采用模块化编程,包括CAN总线通信管理模块、柴油发动机运行状态监控模块、A/D巡检采样及数据转存模块、I/O开关量信号处理模块等。其中,CAN节点通信模块部分至关重要,它关系到整个分布式控制网络能否正常工作。CAN节点通信模块由CAN初始化子程序、CAN中断程序和CAN数据收发子程序组成,如图4所示。 4. 结束语 本论文的研究内容在围产135系列柴油发动机的试车台上已经过试验并运行良好,实践表明:基于CAN总线的分布式测试系统稳定可靠,具有配置灵活简单、成本低、可靠性高、抗干扰能力强和可扩充性好等优点,可以对柴油机的测试过程进行全面监控,大大减少了测试时间,改善了监控工作条件,提高了对设备的科学化管理,对某些故障还能够及早发现,防止滞后处理所造成的损失。

    时间:2020-05-01 关键词: 控制器 can 单片机

  • 基于单片机和CAN控制器sja1000实现分布式监控系统设计

    基于单片机和CAN控制器sja1000实现分布式监控系统设计

    引言 can(controller area network)即控制器局域网,是国际上应用最广泛的现场总线之一。与一般的总线通信相比,can的数据通信具有突出的可靠性、实时性和灵活性。本课题设计了一种基于can总线的监控系统,并对位定时这一关键问题进行了详细的阐述。借助该系统,使用者可以实现对can网络的实时监控,并可对系统参数进行优化。 监控系统整体结构 整个监控系统(如图1)是一个分布式控制系统,由三部分组成:上位机、转换模块、can节点。上位机负责监控整个系统的运行状况;转换模块作为各个节点与上位机的通信中介,实现上位机与节点间的双向通信;各个can节点均可以在任意时刻,遵循通信协议完成上传信息和执行控制命令等任务。 can节点接口电路设计 can总线上各节点均采用atmel公司生产的8位单片机为主控器,除完成节点自身的控制功能外,还与can控制器sja1000配合以实现can网络通信功能。 设计中选择sja1000控制器并采用其性能优越的pelican扩展模式。can收发器tja1050是philips公司生产的高速can总线驱动器。tja1050具有速率高、低功耗、电磁性能优越等特点。can接口电路如图2所示。 节点模块中采用高速光耦来实现收发器与控制器之间的电气隔离,抗干扰。光耦选择高速器件tlp113以满足在最高速率500kbps下的电气响应。采用dc/dc模块提供5v电源并实现系统电源与网络电源之间电气隔离措施。为了确保该系统的安全,在dc/dc模块及系统的输入和输出端增加tvs保护。 系统通信的实现 can控制器协议 can控制器实现的串口通信网络遵循osi模型,划分为两层:数据链路层和物理层。物理层按照ieee802.3lan标准构造,实现将数据发送到传输介质上和接收数据流的功能。在数据链路层实现比特流的拼装。can通信协议约定了4种不同的帧格式,本系统中使用标准帧格式,其格式如表1。can首先接收到仲裁场,根据仲裁场的内容判断所接收到的信号是哪种帧格式,用户将相应的数据写入数据场中进行发送,或从数据场中读取接收到的数据。 can应用层协议 在can 2.0规范中,只对物理层和数据链路层作了规定,用户需要根据自己的需求制定应用层协议。本设计以各个节点为控制对象,设计其应用层通信协议。can总线上传输的信息一般可分为2类: 命令信息:包括上位机要数命令、上位机控制命令。每周期上位机经can—rs232转换模块下发至各个节点要数命令。上位机接到状态信息后,根据情况下发控制命令,经由转换模块下发至各个节点模块。 状态信息。节点接到命令信息后,由各个节点采集现场数据信息,发送到can—rs232转换模块,再由其上传给上位机。信息包括:设备开关状态,电压电流量等。 根据系统实际情况,本系统can2.0标准帧格式的基础上(见表2),制定了一个多帧传输的应用层协议。协议中,实用软件滤波,即屏蔽了验收滤波器,将除了帧信息外,包括11位标识符的第二、三字节都进行了分配,如表3所示。 其中,帧信息可以根据实际情况而定。 标识符id10~id3代表模块地址,所以协议理论上可满足256个控制节点,标识符id2、id0以及该字节后六位定义为帧类型:命令帧或状态帧,数据信息这样划分简单明了。上位机根据模块地址收集判断节点信息,并下发相应命令。协议还规定,按优先权由高到低,从低向高为模块分配地址,以保证总线竞争中优先权高的节点能更先占有总线。 系统软件设计 基于总体设计要求和硬件组成,结合can总线协议的模型结构,整个系统的软件设计可以分为两部分:节点部分、上位机部分。 节点部分包括:初始化模块,can通信模块,串行通信模块,数据处理模块。正确的can初始化,可以充分利用can总线的优势,保证can通信正确可靠工作。对can节点初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(amr)的设置、接收代码寄存器(acr)的设置、波特率参数设置和中断允许寄存器(ier)的设置等。在完成can控制器的初始化设置以后,can控制器就可以回到工作状态,执行正常的通信任务。其他模块,不再详述。 上位机部分:上位机软件由vc++6.0软件编写,应用mfc类库编写并生成了具有windows风格的人机交互界面。软件应用mscomm控件通过串行端口传输和接收数据,为应用程序提供了串行通讯功能。microsoft communications control(mscomm)是microsoft公司提供的简化windows下串行通信编程的acTIvex控件,为应用程序提供了通过串行接口收发数据的简便方法。具体来说,它提供了两种处理通信问题的方法:一是事件驱动(event-driven)方法,一是查询法。我们采用事件驱动方式。使用者可以通过良好的人机界面对整个系统进行实时监控。 位周期参数确定 在初始化can控制器的时候,要考虑配置总线时序寄存器的配置等重要问题。事实上,can通信协议中规定、通信波特率、位周期的取样点以及取样个数均可以自主设定,这样为用户在网络通讯性能的优化上提供了空间。如果位周期采样点偏后,可以接受较大的信号传输延迟,相应总线的传输距离可以延长;如果周期的取样点接近中间,则可以容忍系统节点间的参考时钟误差。这些矛盾直接影响了网络系统性能,所以总线位定时非常重要,合理的位定时可以提高系统的整体性能。 can 总线周期由4个部分组成: 同步段(sync_seg) 、传播延时段、相位缓冲段1 ( phase_seg1) 和相位缓冲段2 (phase_ seg2) ,如表4所示。 同步机制 can是有效支持分布式实时控制的串行通讯网络。从位定时的同步方式考虑,它实质上属于异步通讯协议,每传输一帧,以帧起始位开始,而以帧结束及随后的间歇场结束。这就要求收/发双方从帧起始位开始必须保持帧内信息代码中的每一位严格的同步。从位定时编码考虑,它采用的是非归零编码方式,位流传输不像差分码那样可以直接用电平的变化来代表同步信号,它属于自同步方式(接收端设法从收到的信号中提取同步信息的方式),can节点从一个位值到另一个位值的转变中提取时钟信息。为保证同步质量,can协议定义了自己的位同步方式:硬同步和重同步。 通过同步机制,可以消除由于相位误差带来的影响,保证信息正确解码。硬同步后,内部的位时间从同步段重新开始。因此,硬同步强迫同步沿处于重新开始的位时间同步段之内。重新同步的结果使相位缓冲段1增长,或使相位缓冲段2缩短。相位缓冲段加长或缩短的数量有上限,此上限由重新同步跳转宽度给定。 一个沿的相位误差由相关同步段的沿的位置给出。相位误差定义如下: le = 0如果沿处于同步段里; le 》 0 如果沿处于采集点之前; le 《 0 如果沿处于前一个位的采集点之后。 当引起重新同步沿的相位误差的幅值小于或者等于重新同步跳转宽度的设定值时,重新同步和硬同步的作用相同。当相位错误的量级大于重新同步跳转宽度时有2种情况: 如果相位误差为正,则相位缓冲段1被增长,增长的范围与重新同步跳转宽度相同; 如果相位误差为负,则相位缓冲段2被缩短,缩短的范围与重新同步跳转宽度相同。 硬同步和重新同步是同步的2种形式,遵循以下规则: 在一个位时间里只允许一个同步; 仅当采集点之前探测到的值与紧跟沿之后的总线值不相符合时,才把沿用作于同步; 总线空闲期间,有一“隐性”转变到“显性”的沿,无论何时,硬同步都会被执行。 位时间参数计算规则 位时间参数计算规则是为保证系统在极端恶劣条件的两个节点间,能够正确接受并解码网络上的信息帧。极端恶劣条件是指这两个节点的钟振偏差在系统容忍偏差极限的两端,并且两个节点间具有最大的传输延迟。在没有噪音干扰的正常通信情况下,相位误差累计的最坏情况是:重同步边沿之间间隔有10个位周期(5个显性位后跟5个隐性位)。实际系统都运行在噪音环境中。由于噪音干扰,可能会导致重同步边沿之间的间隔超过10个位周期,在这种情况下必须进行严格的采用,否则可能进入错误处理模式。本监控系统各节点模块是以sja1000作为can控制器的。所以,考虑各方面的影响,位定时参数在只有1个取样点时的公式设置如下: ( sjw) min =max{(20×nbt×δf)/(1 - δf) ,((nbt(1-25×δf )- prop max -(1 -δf)+prop min/2))/(1-δf)} ( s j w) max = 4 t(seg2) min = max{2 , s j w} t(seg2) max =min{8,((n b t (1-25×δf ) - ( pro p) max)/ (1 - δf), (nb t(1 - 25×δf) - ( pro p) max - (1-δf) + prop min )/ 2) / (1-δf ) 以上所述为位时间参数的计算规则,在实际监控系统中,以此规则根据适当的方法进行位定时参数确定和优化,使系统性能达到最优。 结语 现场总线系统用开放的现场总线控制通信网络将自动化最底层的现场控制器和现场智能仪表设备互连的实时网络控制系统。是工业控制系统发展的一个新的阶段。本文所设计的基于can总线的监控系统设计简单方便,性能稳定,能很好的满足控制系统对实时性和可靠性的要求,并在现场运行,效果良好。

    时间:2020-04-30 关键词: 控制器 can 单片机

  • 基于CAN控制器P8xC591和传感器实现车窗智能控制系统的设计

    基于CAN控制器P8xC591和传感器实现车窗智能控制系统的设计

    1、引言 目前.以微控制器为代表的汽车电子在整车电子系统中应用广泛,汽车控制正由机电控制系统转向以分布式网络为基础的智能化系统。CAN总线是一种支持分布式和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域广泛应用。作为目前最具应用潜力的现场总线之一,CAN总线技术为我国汽车产业升级、降低成本,扩大市场占用率提供支持。 现在各中高档轿车都安装有电动车窗,按钮控制车窗玻璃的升降。如果车窗无智能,司机在没有注意到乘客的手或物体伸出窗口的情况下按下按钮,乘客容易被车窗夹伤。为了安全,很多乘车都采用电动防夹车窗。在充分研究有关CAN总线在汽车电子系统中的应用和电动车窗防夹方案的基础上,提出一种基于CAN总线的轿车车窗智能控制系统的设计方案,实现车窗在正常工作模式下防夹控制功能和紧急情况下(异常工作模式)快速升降车窗控制功能。 2、 系统功能结构 2.1 CAN总线通信实现原理 CAN总线属于多路复用总线的一种,最早是由德国Bosch公司研制的主要用于汽车电器系统控制的总线规范。它采用非破坏总线仲裁技术,多主方式工作。直接通信距离最远可达10 km,通信速率最高可达1 Mb/s,帧消息采用CRC校验和其他检错措施,具有自动关闭错误严重的节点功能。CAN节点通过报文的标识符滤波实现数据传输,不同优先级满足不同实时要求,节点数取决于总线驱动电路,通信介质可为双绞线、同轴电缆或光纤,选择灵活。报文采用短帧结构,传输时间短,受干扰概率低,保证数据出错率极低。汽车网络系统中的总线以报文为单位传输数据,节点对总线的访问采用位仲裁方式。报文起始发送节点标识符分为功能标识符和地址标识符。CAN总线系统节点分为不带微控制器的非智能节点和带微控制器的智能节点。该系统采用智能节点设计,轿车车窗按CAN总线结构和电器元件在汽车中的物理位置划分为左前、右前、左后和右后4个节点单元。其中左前节点为主控制单元,除负责本地(左前)车窗的升降,还可以远程控制其他车窗。各节点采用独立的带CAN功能的微控制器设计,其CAN网络结构如图1所示。 2.2 车窗的智能控制 电动车窗系统每个车门都有一个车窗玻璃升降机构,与传统的手摇机构相似,只不过是采用直流永磁电机驱动。电机尺寸非常小,可以安装在车门里面,并且带有一套减速机构,用来增加输出扭矩、减小输出转速。电机转动方向(即车窗的上下移动)通过改变输入电压的极性来实现,车窗升降速度取决于输入电压的大小。 系统使用一个小阻值(约1Ω)的电阻作为电流传感器,传感电阻与电机串联,其压降与电机的工作电流成正比,通过检测电阻两端的电压检测流过电机的电流。在传感电阻上的电压未到达设定的阈值前,电机一直工作,一旦传感器的压降达到阈值。电机停止转动,检测车窗位置。如果车窗位置未达到最终位置。说明车窗遇到障碍,车窗将自动退回初始位置。如果车窗到达行程终点,电机电路断开。为了完成该操作控制,需要实时控制车窗位置,为此在车窗导轨的顶部和底部各安装压电传感器,根据压力产生的电压来判断车窗是否到达预先设的极限位置。 该系统设计除了在正常情况下实现自动防夹功能,还要求在突发事件(如歹徒抢劫或乘客遇险逃生等)时司机能够控制车窗的强制关闭或打开。系统对每个节点单元都有3个用于车窗控制的按键(K1、K2和K3)。其中Kl用于控制车窗的上升和下降,是一个2值信号开关;K2暂停/恢复按键用于车窗上升或下降途中的暂停,再次按下K2将继续运动;K3模式选择按键,其默认为执行正常工作模式(带防夹功能),按下K3后执行异常工作模式(不带防夹功能),具有最高优先级,用于快速设定车窗上升或下降。主控节点单元即左前节点单元,除负责本地车窗的升降外,还控制所有节点单元的车窗同步动作,在前3个控制按键基础上,增加了本地/全局控制模式按键K4,默认为本地控制模式,按键后切换控制模式。以主控节点单元按键动作说明车窗的智能控制过程,其结构逻辑如图2所示。 3、 系统硬件设计 系统左前节点单元除具有全局控制外,其余节点单元只负责控制本地车窗,硬件设计仅多一个按键K4,主要在于软件设计。该系统设计的控制电路不仅支持节点单元间的CAN总线通信,还要检测压电传感器和负载电流等模拟量,判断各种逻辑,通过驱动器实现控制功能。 该系统采用片内含有CAN控制器的P8xC591作为节点单元主控制器。P8xC591采用强大的80C51指令集;内部集成有SJAl000 CAN控制器的PeliCAN功能;全静态内核提供了扩展的节电方式:振荡器停止和恢复而不丢失数据;改进的1:l内部时钟分频器在12 MHz外部时钟频率时实现500ns指令周期。 控制器P8xC2591读取按键信息,驱动车窗电机按预先编制的软件指令运行,同时监测传感器的输出电压和负载电流,作为车窗在上升(下降)过程中与障碍物夹持时的逻辑判断,然后驱动电机。为了防止车窗玻璃上升到顶部或下降到底部时,电动机受到冲击堵转而降低电动车窗机械的使用寿命,该系统设计具有软停止功能,并且手动或自动上升、下降时都有此功能。当玻璃上升(下降)快到顶(底)部时,在上升软停止点切断电动机的电源使其停止工作,通过电动机的惯性使玻璃上升(下降)到顶(底)部。 各节点单元相关命令和状态通过CAN控制器以报文格式由CAN总线完成与其他节点单元信息间的传输和共享。系统节点单元硬件设计框图如图3所示。 电机驱动电路采用汽车电子专用的电机驱动器MC33486。该器件带有两个双高端开关和两个预驱动低端开关,其低端开关可外接两个MOSFET管,可连续输出10 A的电流。同时能够采集电机电流,利用它反馈给单片机A/D转换采样模块得到电机电流值,完成电机控制,实现车窗堵转和防夹功能。系统通过滤波电容降低噪声的耦合,收发器PCA82C250与CAN总线之间加接光电隔离器6N137,采用DC—DC变换器隔离电源,总线两端接终端电阻以消除反射信号。 4、 系统软件设计 系统软件设计目主要包括CAN控制器初始化、节点发送接收报文和主控程序3个模块。 4.1 CAN控制器初始化 CAN控制器上电或硬件复位后必须初始化,包括操作模式、验收滤波器、总线位定时、中断和配置TXDC输出引脚。 4.2 节点发送/接收报文 报文的发送由CAN控制器遵循CAN协议规范自动完成。首先CPU必须将待发送的数据按特定格式组合成一帧报文,进入CAN控制发送缓冲器中,并置位命令寄存器中的发送请求标志,发送处理可通过中断请求或查询状态标志进行控制。其发送程序分发送远程帧和数据帧两种,远程帧无数据场。 报文的接收程序负责节点报文的接收以及总线关闭、错误报警、接收溢出等其他情况处理。报文的收发主要有中断接收方式和查询接收方式。软件设计采用报文接收的查询中断控制方式和报文发送的中断控制方式。报文的发送/接收程序流程如图4所示。 4.3 主控程序 在各车窗节点单元中,左前节点单元功能最复杂,具有最高控制优先权。这里以左前节点单元为例,详细介绍其主控程序设计。首先初始化系统,包括P8xC591控制器的CAN模块初始化、中断、I/0端口、定时模块、看门狗模块、A/D转换器模块和设置全局变量,还要将电机堵转时的最大电流和车窗到顶(底)时传感器的电压阈值写入EPROM。P8xC591将实测电流与EPROM中的标定值比较,实现防夹功能,比较电压阈值与测得的传感器电路电压值判断车窗到达极限位置。初始化完成后,读取组合按键信息,根据按键动作实施具体操作,同时发送CAN报文,完成各节点单元间的CAN通信和智能化控制。图5为左前节点单元主控程序流程。 5 、系统主要技术参数和功能 电动车窗控制系统除了具有车窗自动上升、下降和手动暂停、恢复功能外,还有以下功能: (1)防夹功能 初始化后,手动和自动上升时都具有防夹功能,防夹次数不受限制;从车窗上极限下沿40mm往下,车窗上极限上沿40 mm往上的区间为防夹区间:在室温(22±5)℃、80 mΩ的线间电阻、15 V的工作电压,以10 N/mm的测量仪测量时,玻璃上升的防夹力小于100 N。 (2)省电模式 在输入信号消失120 ms后。且电动机温度接近室温25℃时,系统自动进入省电模式.静态电流小于300μA。当电动机控制单元一旦得到输入指令就被唤醒。 (3)软停止功能 上升软停止点为上极限位置约2 mm处,下降软停止点为下极限位置上约12 mm处。 (4)电动机保护功能对电动机采取保护措施,提高电动机和电动车窗系统的使用寿命。在电动机堵转的250 ms内,控制单元切断电动机电源,电动机停止工作。在控制单元接通电源后,如果没有初始化,则电动机的初始温度定为80℃;如果初始化,则电动机初始温度定为160~C。正常情况下,如果电动机温度达到170℃,则输入的指令无效,一旦电动机温度降低后就恢复功能;如果电动机温度到190℃,则立即停止电动机的工作,一旦电动机温度降低后就恢复功能。 (5)自诊断保护功能 为保证系统的可靠性,同时提高系统的平均无故障时间,采用自诊断保护措施:如果电源电压超过16 V±0.5 V,关闭自动上升功能。 (6)系统抗干扰设计技术软件抗干扰以其设计灵活、节省硬件资源、成本低等优势得到广泛应用。该系统的软件设计嵌入看门狗,进一步提高系统的可靠性。 6、 结语 设计了基于CAN总线的轿车车窗智能控制系统,节点单元以P8xC591单片机为核心,将车窗电机和电子控制元件接入系统。采用CAN总线传输、共享和查询数据,实现分布式控制。与传统汽车电器手动操作和点对点式互联方式相比.采用CAN总线技术,布线明显减少,车身系统结构简单,系统可靠性高,更易于维护。同时,系统通过监测车窗电机的电流实现电动车窗的防夹功能,并针对人身安全隐患设计了强制车窗“动作”功能,使整车的智能化、人性化和安全性得到进一步提高。目前,该系统设计已在国内某轿车上安装试行.反映效果良好。所提出的方案具有较强的可移植性和可扩展性,同样也适用于汽车电气系统的智能化升级,开发其他功能更为强大的CAN总线智能产品。

    时间:2020-04-29 关键词: 控制器 can

  • 采用can总线技术解决电动汽车充电机模块间的通信问题

    采用can总线技术解决电动汽车充电机模块间的通信问题

    1、 引言 电动汽车(ev)是由电机驱动前进的,而电机的动力则是来自可循环充电的电池,并且电动汽车对电池的工作特性的要求远超过了传统的电池系统,因此电动汽车电池系统电压高而且电流大,所以对电动汽车充电机的要求比较高。 电动汽车充电机需要能够在以分钟计算的时间内完成对电池的充电,而不是通常的以小时来计算。以一个电池容量为30kwh的电动汽车蓄电池来计算,如果在15分钟内将它充满,那么充电功率将达到120kw,假设电动汽车的充电电压在200~400v,那么相应的他的充电电流将会达到300a。如此大的充电电流,如果仅用单一的电源模块很难实现。面对充电机的日益大容量化,并联均流是一个很好的解决方法。因为软件均流具有成本较低,扩容能力强,扩容方便,方案改变、升级容易实现等优点,所以在实现的过程中采用软件均流的方法,但是实现过程中需要解决的关键问题是模块间的通信问题。 can总线因为具有通信可靠性高,成本低,简单实用等优点得到了越来越多的应用,所以充电机内部模块间通信采用基于can总线的软件均流方案;电动汽车充电机需要和蓄电池管理系统(bms)之间通信,同时由于can总线还具有较高的网络安全性等特点,并且作为国际标准已逐渐发展成汽车电子系统的主流总线,因此将采用can总线作为充电机与电池管理系统之间的通信方式;而且can总线的通信距离较远(10km),同时可靠性较高,所以监控中心和充电机之间的通信也采用can通信的方式。 本文对can总线的研究将集中在如何将can总线应用在电动汽车充电机上,并完成充电机在工作过程中与蓄电池管理系统,内部电源模块以及监控中心的通信流程。 2、 电动汽车充电机的通信拓扑 电动汽车充电机在工作的过程中,需要和车载电池管理系统(bms)、充电站的集中监控中心和充电机内部电源模块之间通信。 如图 1所示,充电机的通信系统中包含三个can通信网络: 充电机主控制器与蓄电池管理系统(bms)之间的通信网络(can1):实现充电机与车载蓄电池管理系统的之间数据交换,为动力电池充电提供参数信息。 充电机主控制器与充电监控系统之间的通信网络(can2):实现监控中心与充电机的实时数据采集、监控和控制功能,能够实时的通过监控中心掌握充电机的工作状态,并能通过充电机间接获取蓄电池的信息。 充电机主控制器与电源模块之间的网络通信网络(can3):实现充电机主控制器与独立电源模块之间的数据交换,实现基于can总线的软件均流方案,其中n个电源模块作为工作模块,n个电源模块作为备用的电源模块。 can网络应用在电动汽车充电机上,主要是根据充电机的工作原理并结合can总线的工作特性,制定合适的基于can总线通信的工作流程图。 图2 充电机与电池管理系统之间的工作流程图 3、 充电机与bms的can通信 3.1 can1通信 蓄电池与电池管理系统之间的通信流程图如图 2所示,在图2中将充电机的工作流程和电池管理系统的工作流程联系在了一起,并且通过can总线进行数据的传输。充电机与蓄电池之间通过can总线的数据传输主要包括以下几个部分: (1)开始给蓄电池充电之前,bms首先和充电机建立联系,然后将电池的类型、容量、最大的充电允许电压电流等信息通过can总线发送给充电机。 (2)充电过程中,bms将电池的充电参数电压、电流、soc等信息定时(500ms)发送给充电机,为充电机改变充电策略、调整充电参数提供参考。 (3) 充电结束后,bms将充电完成的信息通过can总线发送给充电机,并切断和充电机之间的通信,完成充电。 3.2 can2通讯 充电机与充电监控系统的通信系统为一个独立的can网络,包括了监控计算机和若干台充电机。充电机与充电监控系统的通信网络在应用层应能实现以下功能: (1) 监控计算机至充电机传送的数据: l充电机开机 l充电机停机 l紧急停机 l充电机参数设置 l时间同步 (2) 充电机至监控计算机传送的数据: l电压、电流、温度数据传输 l累计输入输出电量 l充电机故障代码 l充电时间 (3)监控计算机通过充电机读取蓄电池的数据: l蓄电池的标识、类型及参数 l蓄电池电压数据 l蓄电池温度数据 l蓄电池soc数据 l蓄电池实时状态 3.3 can3通讯 充电机与电源模块之间的通信主要是为了实现充电机的软件并联均流功能,在工作的过程中需要传输的是充电过程中的电压电流等参数值,以及充电机的工作状态等信息。其工作流程包括了以下几个部分: (1) 充电开始之前,电源模块初始化,检查工作状态,确定能否正常工作,设立允许或禁止充电标志位,并且将信息发送给主控制器; (2) 充电机主控制器在得到电池信息,确定充电策略后,会选择适当的充电模块参与充电,并将充电的参数发送给电源模块; (3) 在充电机主控制器确认需要的电源模块可以工作后,发出开始充电的指令,并采集充电的参数; (4) 主控制器根据采集的数据实时改变充电策略,调整充电参数,并实时的监控模块的工作状态; (5) 当发现充电过程中有电源模块发出报警信息后,立即启动备用模块,并将问题模块切除充电状态; (6) 充电机的主控制器在综合充电状态信息后,做出停止充电的判断,并结束充电过程,恢复待机状态。 图4为充电机内部并联均流的工作流程图,将充电机主控制器和电源模块的详细工作流程做了规定,同时包括了can总线在其中的串联作用。 图3 充电机与监控中心的充电流程图 图4 充电机内部并联均流工作流程图 4 、结束语 can总线作为一种可靠的网络总线已经在许多工业领域得到广泛的应用,由于can总线具有诸多的优点,而且随着can总线技术的不断应用和推广,can总线在汽车充电机上的使用将会越来越广泛。本文结合国家电网的充电机工作标准并根据实际充电机的工作情况,将can总线应用在电动汽车充电机中,并将can总线应用到充电机的具体的工作流程中,并根据实际的测试过程中对can通信的工作流程做出相应的修改,能够满足充电机的高可靠性的要求。

    时间:2020-04-29 关键词: can 电动汽车 电池管理

  • 电子标签在煤矿井下人员监控定位中的应用

    电子标签在煤矿井下人员监控定位中的应用

    目前,煤矿井下普遍存在入井人员管理困难,管理人员难以及时掌握井下人员的动态分布及作业情况,一旦事故发生,对井下人员的抢救缺乏可靠信息,抢险救灾、安全救护的效率低。引入和运用煤矿井下人员定位系统,工作人员佩戴的电子标签通过井下监控节点向监控中心传送他们的位置信息,实时掌握每个人在井下的位置及活动轨迹,对煤矿的安全生产将有积极作用,在一定程度上减少人员伤亡。平时,上传的位置信息也可以用做工作人员的考勤记录。 1、射频识别技术 1.1 射频识别发展 RFID是20世纪90年代兴起的一种非接触式的新型自动识别技术, 它利用无线传输方式进行双向数据通信, 进而达到自动识别并交换信息的目的。近年来, 自动识别技术得到了快速普及和推广, 自动识别方法多种多样: 条形码是一种应用广泛、廉价的自动识别术, 但条形码信息量小, 不能改写; 有触点排的IC卡是电子数据载体最普遍的结构, 但在许多情况下, 机械触点的接通是不可靠的;RF ID却可以让物品实现真正的自动化管理, 其优势非常明显: 存储信息量大, 每一个产品拥有独一无二的ID号; 读写不需要光源, 可以透过外部材料读取数据; 使用寿命长,能在恶劣环境下工作; 能够轻易嵌入或附着在不同形状、类型的产品上; 读取距离更远, 可以写入及存取数据, 实现标签的内容动态改变; 能够同时处理多个标签; 标签的数据存取有密码保护, 安全性更高; 可以对RF ID标签所附着的物体进行追踪定位。 1.2 射频识别系统组成 射频识别系统主要由Tag、读写器、天线等组成, 一般还需要其他软硬件的支持。 1) 读写器。读写器可以简化为两个基本的功能模块:高频接口模块(发送器和接收器)和控制单元两部分。读写器读取电子标签中的信息, 然后将信息发送到地面监控中心。 2) 无源电子标签。电子标签由耦合元件和ASIC ( IC)组成。无源电子标签, 即没有自己的电源供给的电子标签,由读写器发出的高频场提供能量。模拟前端配合解调器从电子标签天线吸收电流, 整流后使电容充电, 再经稳压后为电子标签供电。 2、CAN总线技术 CAN是由ISO定义的串行通讯总线, 最初应用在80年代末的汽车工业里。它具有高位速率、高抗电磁干扰性、高可靠性而且能够检测到产生的任何错误。CAN在微控制器之间需要互相通信或微控制器和远程的外围器件要互相通信的情况下是一个理想的解决方法, 在各种控制系统得到了广泛应用。 CAN采用了新技术及独特的设计, 与RS485相比具有突出的可靠性、实时性和灵活性。CAN具有多主节点的网络特性, 总线利用率高, 数据传输速度快, 可扩充性好,通讯距离长, 加中继器通讯距离可达数十千米, 具有可靠的错误处理和检错机制, 个别节点失效并不影响整个通讯网络的运行, 实时性好等优点。另外, CAN的双向通信弥补了RS485半双工通信的缺陷, 不仅能够实现位置信息的上传, 当需要时还可以实时修改井下某监控接点信息。比较可知, RS - 485 网络除了硬件成本、开发难度比CAN -bus网络稍具优势外其他性能方面都没有可比性。在产品更新速度特别快的今天, 如果将产品的上市时间, 产品的后期维护软件开发难度等计算在一起, RS - 485 的硬件成本优势也变得不十分明显, 因而用CAN 总线取代RS - 485 总线是一种比较彻底的方案。 3、煤矿井下人员定位系统设计 3.1 定位系统基本构成 系统由井上与井下两部分设备组成。井上设备主要由监控中心(包括服务器)及共享网络终端等组成; 井下设备以CAN总线作为主传输途径, 开发相应的煤矿井下人员监控节点, 配合天线、电子标签、传输介质、中继器R等与监控中心挂接, 从而实现井下作业人员的定位和安全管理。系统网络结构如图1所示。 3.2 定位系统工作原理 定位系统主要实现井下人员及设备安全监测工作。在坑道、作业面的交叉道口安装监控节点, 入井工作人员按照要求佩戴安装电子标签的腰带, 或佩戴装有电子标签的安全帽。RF ID读写器通过固定频率的射频载波向电子标签传送信号, 电子标签(工作人员随身佩戴)进入读写器的天线工作区域后被激活, 并将载有个人信息的射频信号经卡内收发模块发射出去; 读写器天线接收到电子标签发来的射频信号, 经过处理后, 提取出个人信息, 通过现场总线送至井上监控中心, 记录井下工作人员经过地点、时间、活动轨迹等实时信息, 还可自动生成考勤作业的统计与管理等方面的报表资料, 提高管理效益。 3.3 定位系统核心部件—RF ID监控节点 1) RF ID监控节点硬件设计。监控节点由读写器、微控制器(MCU) 、CAN节点组成。设计中读写器使用的射频芯片是R I - STU - 650A, 它具有抗干扰能力强、通信速率高、功耗低、性能稳定等优点。考虑到成本等方面的问题,设计时RF ID采用的工作频率为915MHz, 经过试验测试,证明在传输距离及数据可靠性等方面, 可以达到本系统的功能要求。读写器与微控制器89C51间利用SP I串行接口进行通信。CAN 节点由三部分所构成: 独立CAN 控制器SJA1000、CAN 驱动器82C250 和高速光电耦合器6N137,如图2所示。为了增强CAN 节点的抗干扰能力, SJA1000并不是直接与82C250相连, 而是通过高速光耦6N137 与82C250相连, 这样就很好的实现了总线上各CAN节点间的电气隔离。 2) RFID监控节点软件设计。监控节点单片机软件设计是使用C51和汇编语言混合编程, 包括复位模块、防冲突模块、读写模块、通信模块, 其流程图见图3。当Tag被验证为合法时, 读写器才正式读/写Tag数据, 经过信息处理之后, 由CAN总线上传到地面监控心。当Tag被验证为非法时, 读写器转到直接复位应答状态, 等待下次读写操作开始。 3.4 系统实现的主要功能 1) 考勤管理功能。通过操作平台专用管理软件对下井人员进行下井次数、井下停留时间等信息分类统计, 便于考核, 实现工作人员的考勤统计管理功能和有关报表的打印。 2) 安全保障功能。系统根据数据库中储存下来的历史数据信息, 可迅速知道井下人员及重要设备的分布情况, 一旦出现矿井灾难, 可对现场被困人员进行定位和搜寻,便于有效救护。 3) 生产调度功能。通过调用数据库中的数据, 可以查询井下人员分布情况并根据需要迅速进行人员调配, 实现井下有限资源的优化配置, 达到事半功倍的效果。 4、 结语 煤矿安全是煤矿生产永恒的主题, 人员监控与定位是实现煤矿安全生产的重要保证之一。为此本文对煤矿人员考勤管理系统进行了调研与分析, 对当前的定位技术进行了研究, 提出了一种以RF ID为核心, 以CAN - bus通信网络为纽带的煤矿井下人员定位系统。经过试验验证, 达到了预期的目的, 该系统极大地满足了实时掌握煤矿入井人员的动态分布及安全管理的需要, 可实现考勤管理功能及快速指导矿井突发性事故的救护工作。

    时间:2020-04-29 关键词: 射频识别 can 单片机

  • 克服CAN设计挑战:应对CAN电压和功率挑战

    克服CAN设计挑战:应对CAN电压和功率挑战

    在“克服CAN设计挑战”的第一期中,我讨论了设计和终止控制器局域网(CAN)总线的复杂性和挑战。在第二部分中,我将重点介绍功耗和在CAN应用程序中使用多个电压轨进行设计。计算CAN收发器中的功耗并不像看起来那样简单,而在收发器周围添加多个电压轨只会增加这种复杂性。另外,使用所有不同类型的CAN收发器,您可能会发现自己选择了错误的收发器,或者在系统中添加了不必要的电压轨。 问题1:如何计算处于活动状态的CAN收发器的功耗? CAN收发器的功耗涉及多个方面。 图1以蓝色显示了设备处于隐性状态时为设备供电所需的静态电流部分,以红色显示了驱动CAN总线的主导电平所需的部分静态电流。 图1. CAN收发器的电流流,显示为设备供电所需的静态电流。 正确评估CAN收发器的功耗要求您知道/假设/测量收发器处于每种总线状态的时间以及以下参数: l  总线处于隐性状态时,收发器的电流消耗。 l  总线处于显性状态时,收发器的电流消耗。 l  公交车处于显性和隐性状态的总时间百分比。 l  优势状态下的差分输出电压。 l  VCC电源电压。 l  VIO电源电压(如果存在VIO引脚)。 l  输入/输出(I / O)电源电流(如果存在VIO引脚)。 在此计算中,收发器在两种状态下的电流消耗以及总线在两种状态下的时间量都是不言自明的。由于这两种状态下的电流消耗都大不相同,并且在通信过程中CAN总线状态一直在变化,因此总线处于隐性或显性状态的时间量将严重影响收发器的功耗。   在主导状态下的差分输出电压是必需的,因为从VCC电源消耗的某些功率将通过终端电阻。了解该电阻的压降将帮助您确定通过该电阻消耗了多少电流。   在总线处于隐性状态时,不需要差分输出电压,因为在总线处于隐性状态时,电阻两端不应有明显的压降(或根本没有压降)。 CANH和CANL如果彼此之间的精确电压不同,则应在数十毫伏的范围内。没有电流通过电阻,并且收发器没有向总线提供大量功率。   公式1表示所有这些变量后的功耗公式: P = [(1-D)*IREC*VCC] + [D*IDOM*(VCC-VOD)]  公式2表示具有VIO引脚的收发器的公式: P = [(1-D)*IREC*VCC] + [D*IDOM*(VCC-VOD)] + VIO*IIO 其中P是功率,D是总线处于主导状态的时间百分比,VCC是收发器的电源,IREC是处于隐性状态的VCC的电流消耗,IDOM是处于主导状态的VCC的电流消耗, VOD是处于主导状态的总线输出差分电压,VIO是设备的IO电压(如果有VIO引脚),而IIO是设备的I / O电流。   让我们以TCAN1042 CAN灵活数据速率(CAN-FD)收发器为例,并假设该设备50%的时间处于显性状态,而50%的时间处于隐性状态。 VCC = 5 V,IREC = 1.5 mA,IDOM = 40 mA,VOD = 2.25 V和D = 0.5,将这些值代入公式1可得出: P = [(1-0.5)*1.5*5] + [(0.5)*40*(5-2.25)] = 3.75 mW + 55 mW = 58.75 mW 如您所见,计算功率并不总是一个直观的过程,但是可以通过使用正确的参数来简化计算。 问题2:5V和3.3V CAN收发器可以一起在同一总线上运行吗? 简短的回答是,他们可以。 所有3.3V CAN收发器均设计为具有隐性电平以及显性和隐性阈值,以便它们可以正确地从5V或3.3V CAN收发器发送和接收消息。 在3.3V CAN收发器设备系列中,有两个隐性电平:1.85 V和2.3V。   像SN65HVD230这样的3.3V汽车CAN总线收发器具有2.3V隐性电平,旨在与5V CAN收发器一起最佳工作。 其他产品,例如带有CAN-FD的3.3V CAN收发器,例如TCAN330,也可以与5V CAN收发器一起很好地工作,但是它们的隐性电平为1.85V,以最大程度地减少单个设备的电磁干扰。 诸如楼宇和安全自动化以及气候控制系统之类的工业应用将使用3.3V收发器,因为它们相对于5V CAN可以节省功率,并且在这些类型的系统中仅提供3.3V电压轨。 问题3:如果您的MCU使用3.3V作为逻辑电源,您是否需要3.3V CAN收发器? 除非您使用3.3V CAN总线,否则不需要3.3V CAN收发器。 3.3V CAN收发器与能够接受3.3V逻辑电平的CAN收发器之间存在差异。 3.3V CAN收发器使用3.3V VCC电源电压,通常用于工业应用。 CAN总线的参考电压为3.3V,因此隐性和主导电压与更典型的5V CAN收发器相比有所不同。   微控制器仅连接到CAN收发器的逻辑引脚,例如TXD,RXD和STB。 它们不与实际的CAN总线接口。 因此,如果您的MCU使用3.3V逻辑电源,则可以使用将其逻辑引脚引用到3.3V电源的CAN收发器,同时仍在5V CAN总线上工作,例如TCAN1042V或TCAN1051V。 引脚5是VIO引脚,向这些收发器上的此引脚施加3.3V电压将使RXD,TXD和STB / S引脚使用3.3V逻辑电平。 图2显示了此配置。 图2.具有3.3V MCU和5V CAN收发器的CAN节点 结论 尽管在5V领域之外思考CAN似乎有些令人困惑,但是一旦您了解了不同收发器的功能,选择合适的收发器并计算由该收发器引起的功耗就会更加容易。    

    时间:2020-04-29 关键词: can 电路设计 功率

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包