1.PCAN-Diag FD简介
PCAN-Diag FD是一个手持式的CAN/CAN FD总线检测设备,适用于现场诊断CAN/CAN FD总线的故障。
PCAN-Diag FD可以监控CAN/CAN FD总线的通信情况,可以检测总线波特率,测量总线负载、终端电阻值、CAN_H和CAN_L的电压;支持数据库解析报文;集成了CAN总线记录的功能,因此也可以作为一个CAN记录仪来使用;也具有示波器的功能,可以触发和捕捉CAN/CAN FD的波形。
2.检测波特率
波特率(也称位定时,就是信号位的最小脉宽)是CAN 总线通讯的最基本要素。如果波特率不匹配或者波特率有所偏差,会导致识别信号的错误,造成无法通讯或者通讯异常。所以任何情况下,对异常的CAN 总线进行测试,首先都要测试波特率的准确性。波特率偏差主要发生在如下情况:使用了非整数值的晶振(比如11.0592MHZ)、极端温度导致晶振偏差、CAN 控制器内部波特率发生器偏差。
一旦波特率有所偏差就会导致出错的概率大大增加,重发的无效数据次数增多,数据传输延迟等现象,降低了CAN 重同步纠错能力。所以保证准确的波特率是CAN 通讯中最重要的因素。
诊断仪支持基于一个固定值列表自动探测比特率,这个固定值列表可以是由 14 个预设值和已定义的用户自定义值(最多 8 个)组成。另外,总线上有数据流才能检测波特率。
另外,诊断仪集成双通道示波器功能,支持分辨率达到 50ns 的时间测量,用户通过测量 CAN 信号最窄波形时间段值(位宽度)获知通讯波特率。波特率是位宽度的倒数。
解决措施:
1)将总线上每个节点单独上电,自动探测比特率,或者使用诊断仪集成的示波器单独测量位宽度,找到故障节点,亦对其程序中的位定时寄存器或者晶振进行修正为正确位时间。
2) 如果无法修改故障节点的程序,或者已经是同样的波特率还是无法正常通讯。这时需要考虑到可能是采样点不一致导致。所以建议修改正常节点的程序。需要提高正常节点波特率寄存器中的同步跳转宽度 SJW 值(加大到 3 个单位时间),则可以加大位宽度和采样点的容忍度。
3.测量终端电阻
高速 CAN 总线(ISO11898-2)必须在 CAN 线 CAN_L 和 CAN_H 之间的两端使用 120 欧姆电阻进行终止。这项措施将防止在电缆两端信号反射并且保证并联到 CAN 总线的 CAN 收发器工作正常。
两个终端电阻并联得到 60 欧姆的总阻值,总电阻的测量提供了有关正确的 CAN 总线终止信息。
诊断仪内置 120 欧姆终端电阻,可启用和关闭终端电阻,可重复测量,支持系统运行中测量。
4.测量引脚电压
诊断仪的 CAN 接口是 D-Sub 9 针连接器,引脚电平测量功能支持测量出 D-Sub 连接器每个引脚的电压值
如上图,选择测量 CAN_L和 CAN_H 两个引脚的电平。当一个高速 CAN 收发器
处于空闲状态(无 CAN 流量),信号线 CAN_H和 CAN_L上的电压大约 2.5V。如果所测量的电压差异显著,则电缆连接或 CAN 节点的 CAN 收发器可能存在问题。
解决措施:
查看电缆连接或 CAN 节点的 CAN 收发器是否存在问题。
5.总线状态查看
错误状态和计数值的关系:
6.测试总线负载
CAN 总线本质上还是半双工通讯,就是“单行道”,即一个节点发送的时候其他节点无法发送数据。虽然 CAN 报文 ID 有优先级的区分,但如果高优先级一直占用总线,导致低优先级的节点就无法发出数据,这就是堵塞现象。所以控制流量,防止堵塞是总线健康正常通讯的基本要素。
拥堵的还有一个重要的危害就是发生报文竞争,导致仲裁。在仲裁结束时,容易产生尖峰脉冲,有导致位翻转的隐患,特别是在容抗较大场合,容易导致位错误。
测量总线负载,通过时间负载图的方式显示,可选独立显示错误帧的总线负载。如下图, 黄色曲线图是总线负载平均值、红色曲线图是总线负载最大值。
如果总线平均负载都没有超过30%,则说明总线流量较好,没有明显的拥堵情况; 如果总线最大负载超过70%,则说有堵塞情况,建议进行流量分析整改。
如果总线平均负载都在 70%以上,则说明总线严重拥堵,必须进行流量分析整改
解决措施:
流量分析整改,针对传统的CAN2.0可以采取以下措施应对高总线负载情况:
﹂ 提高总线上的所有 CAN 节点的通讯波特率(注意会缩短通讯距离,有可能导致通讯异常),
﹂ 增加 CAN 网络内报文发送的周期时间,从而减少它们的出现(每个周期时间内更少的 CAN 报文)
如果是新开发CAN总线节点,可以考虑使用CAN FD。
7.CAN/CAN FD电平测量
使用诊断仪 Scope 功能测量 CAN 信号电平,可测 CAN-H、CAN-L 和 CAN-Diff 信号的电平值。如下图,直接从 Scope 显示区查看 CAN 波形的电平值。显示区通过游标可以显示出每个每个位置CAN_H和CAN_L的。
CAN 总线上面的信号值是接收节点能正确识别逻辑信号的保证。一般来说差分电平CAN diff=CAN_H-CAN_L 的幅值只有大于 0.9V 才能被 100%识别为显性电平,同理如果幅值低于 0.9V 就有被识别出隐形电平的可能。
上表中 0.5V~0.9V 是不确定区域,这个根据不同收发器而异,与温度也有关系。
ISO11898 规定了 CAN 电平的范围:
与 ISO11898 规范进行对照,标定节点的 CAN_H、CAN_L 和 CAN_diff 是否在 ISO-11898规范规定的范围内。当然这个幅值与终端电阻有着密切的关系,如下表。
解决方案:
1、测试结果如果幅值超过规定范围,先确认终端电阻是否没加或者只加了 1 个。确定已经有 2 个 120 欧,则说明节点的 CAN 收发器供电过高,导致输出幅值过高。这个原因有可能是给 CAN 收发器供电的 DC-DC 输出过高(一般隔离 DC-DC 为了保证带负载能力,都会输出高一点电压),可以通过在 DC-DC 输出并联负载电阻的方式降低供电电压。
2、如果幅值过低,则可能是供电电源过低,比如 5V 的 CAN 收发器却用 3.3V 供电。或者总线的终端电阻过小,或并得过多终端电阻。
8.CAN错误检测
先可以在总线状态那里查看当前网络是否有错误。如果总线有错误,则可以使用诊断仪的 Scope 功能捕捉错误帧,深入查看 CAN error。当然,也支持直接在接收显示区中标红显示接收的错误帧。
诊断仪 Scope 功能,触发捕捉波形,可以波形查看错误帧的波形。并且,标示出错误类型和帧 ID。
诊断仪接收显示区和状态区,可显示接收的错误帧、错误类型、帧 ID、错误状态和错误计数值。
错误的种类:位错误、填充错误、CRC 错误、格式错误、ACK 错误。
错误帧:用于在接收和发送消息时检测出错误通知错误的帧。错误帧由错误标志和错误界定符构成。错误标志包括主动错误标志和被动错误标志两种。主动错误标志:6 个位的显性位。被动错误标志:6 个位的隐性位。错误界定符由 8 个位隐性位构成。如下图,错误帧的构成:
错误帧的输出:
检测出满足错误条件的单元输出错误标志通报错误。
处于主动错误状态的单元输出的错误标志为主动错误标志;处于被动错误状态的单元输出的错误标志为被动错误标志。
发送单元发送完错误帧后,将再次发送数据帧或遥控帧。错误标志输出时序如下表所示。
9.监控和发送CAN/CAN FD报文
可以用PCAN-Diag FD设备用于CAN/CAN FD报文的接收和发送;
关于发送:可以手动发送,自动发送或者列表发送;
关于接收:正常显示是白色的,也可以标注特别关注的报文的颜色;如果显示红色的,就表示有CAN控制器报告的CAN总线错误
支持导入数据库文件,数据库文件解析接收的 CAN 报文为具体的物理量,数据库文件可以使.dbc 文件, 也可以是用户通过免费符号编辑软件编辑的符号文件symbol文件。
另外,启用不同的数据库文件,查看不同的报文,可用作过滤查看。
10.记录和回放
所有接收到的CAN报文,包括 RTR 帧和错误帧都可以存储到设备的内存卡中,内置的4G内存卡大概可以保存4亿条。
也支持将之前记录的文件回放到所连接的 CAN 总线上,会按照记录的文件保存期间的 CAN 时间戳来回放。
记录文件默认的是trc格式,在电脑上可以用文本打开,也可以用PEAK的相关软件如PCAN-View和PCAN-Explorer来打开或者分析;使用我们提供的格式转换工具,也可转换成.CSV 和.ASC 格式文件供第三方软件打开查看和分析。
三种格式的文件的特点和作用:
PCAN-Trace(.trc):基于文本的PEAK-System的跟踪文件。可以在PCAN-Explorer(CAN报文分析软件)中查看数据或者在PCAN-Trace程序中回放CAN报文。建议:与PCAN-Diag有关的跟踪文件,我们推荐使用格式版本1.1,因为PCAN-Diag的记录只有一个通道,而且这个格式版本适用于PEAK-System的所有程序。
Vector ASC Trace(.acs):Vector公司的基于文本的跟踪格式,也可用于很多第三方程序。
Character Separated Values (CSV)(.csv):一种常见的基于文本的格式,用于导入电子表格(分号作为分隔符),这种格式的文件可以直接用excel打开。
11.方便快捷的配置工具
通过我们提供的PC端配置软件来配置设备,PCAN-Diag FD可以更快的适用于不同的应用。工程由PCAN-Diag FD Editor创建和修改,然后直接传到PCAN-Diag的内存卡中。如图所示为PCAN-Diag Editor的界面,在图中方框中各个标签下调整我们的设置。同时可以创建一个或多个CAN发送列表。比如创建一条ID=123,data=11h 22h 33h 44h 55h 66h 77h 88h;将创建好的工程导入内存卡之后,可以看到我们创建发送报文。
另外还可以在Symbols标签下添加一个用于工程的符号文件。在Scope Settings标签下,可以快速的设置示波器功能的记录和显示方式,比如将示波器当前的图形保存为BMP格式、Data格式、或者两种格式同时保存。
- 关于虹科
广州虹科电子科技有限公司(前身是宏科)成立于 1995 年,总部位于中国南方经济和文化中心—广州市。我们耕耘的领域包括测试测量、汽车电子、自动化、嵌入式开发工具和软件工程、数据采集、无线电通信与监测、网络可视化。我们除了销售产品之外,还为中国客户提供二次开发、维护、测试和培训服务。
目前我们在广州、北京、上海、西安、成都、武汉、深圳、香港和伦敦设有分支机构。
主要产品有:
1、汽车总线工具方面
a)德国PEAK-System的CAN分析工具;
b)德国Lipowsky的Baby-LIN系列LIN总线仿真分析工具;
c)德国益驰的CAN总线仿真分析工具;
d)英国Influx数采模块和数据记录仪。
2、测试测量方面
a)英国PicoScope汽车诊断示波器;
b)英国Pickering Interfaces的产品:主要是有信号开关与程控电阻,架构形式有PCI,PXI,LXI,GPIB;分类有:通用、矩阵、多路复用、射频与微波模块,故障注入开关,光纤开关等;
c)美国Marvintest solution基于PXI/PXIe的功能模块和系统,主要有:数字I/O、 FPGA、万用表、模拟板卡、信号源、电源、机箱、控制器、ATeasy开发软件,半导体测试系统等;
d)意大利AT、美国DS信号源等。
3、工业自动化方面
a)德国SYSTEC的CANopen源代码,PLC Core;
b)德国KUNBUS的模块化工业网关,工业以太网和现场总线通讯接口嵌入式模块;
c)德国KPA的EtherCAT网络开发、安装和诊断工具,EtherCAT主站、从站协议栈;
d)其它还有Helmholz(赫姆赫兹),Softing,PROCENTEC等;
e)德国Microcontrol的坚固性数采模块。
4、数据采集方面
主要用于测量和/或记录温度、湿度、压力、振动,光照,CO2,4-20mA,0-10V等的传感器/变送器,数据记录仪,温度记录仪,*环境监测系统等。
a)药品供应链的温度等监测解决方案:主要品牌瑞士ELPRO,PDF温度/湿度记录仪,完全符合GxP法规;
b)数据记录仪:主要品牌瑞士MSR(微型记录仪),欧洲Comet,瑞士ELPRO;
c)工业变送器和传感器:主要品牌欧洲Comet。输出可选RS232,RS485,以太网,PoE,4-20mA,0-10V,继电器;
d)*环境监测系统:主要品牌瑞士ELPRO,欧洲Comet。
5、无线电通信与监测方面
a)拉脱维亚SAF的手持式频谱仪;
b)加拿大thinkRF的模块化频谱仪;
c)意大利Rover用于卫星通信的射频光纤链路、合路器/分路器、转发器矩阵、冗余开关等;
d)瑞典PROGIRA广播网络规划、频谱规划、在线可视化网络覆盖等的软件解决方案;
e)德国Novotronik用于音频、高频信号切换和分配的开关矩阵、多路耦合器、放大器等定制解决方案。
6、网络安全与可视化
a)网络可视化产品:主要品牌Cubro,Profitap,Ntop,包括网络数据包代理,分路器,旁路交换机,云交换机,网络探针,网络设备管理平台,网络流量分析器,多合一网络分析工具等;
b)软件安全:主要品牌Veracode,包括静态分析SAST,动态分析DAST,软件开发组件分析SCA,交互测试分析IAST等等;
c)时间同步:主要品牌Elproma,提供NTP PTP/IEEE1588 IRIG网络时间同步解决方案。