RK3506J CAN接口性能及可靠性测试

 2/12/2026 12:15:12 PM     作者:刘乾坤     联系作者     43次
文章标签:C/C++Ubuntu

RK3506J是瑞芯微电子(Rockchip)推出的三核Cortex-A7处理器芯片,RK3506J支持两路CAN接口,下面将从性能和可靠性两方面对RK3506J的CAN接口进行测试。

性能测试主要是指单台CAN设备在不同波特率下最大的发送帧数,CAN接口收发延迟等关键性能指标。可靠性测试则是模拟CAN设备在总线断路、短路、总线过载以及连续帧冲突等情况下,CAN接口的故障自恢复能力。


 1、测试环境搭建 

测试平台为b体育·(sports)公司基于RK3506J设计的工控主板ESM3506。ESM3506其主要特点包括:

1.  ESM3506可直接引出12路串口,弥补了在一些应用中RK3506J本身只有5路串口的不足。ESM3506采用的是基于并行数字总线的串口扩展方案,比USB串口扩展抗电磁干扰能力更强,不会有“掉串口”问题。

2.  ESM3506出厂配置了“开箱即用”的完整内核驱动和文件系统,用户只需专注于应用软件开发,可大大节省用户产品研发周期。b体育·(sports)公司提供“客户量产协助”服务可在板卡厂时烧写用户指定配置,预拷贝用户测试程序或正式应用程序数据,用户拿到b体育·(sports)板卡后可直接装机测试,省去诸多系统重写,软件配置等环节。

esm3506.jpg

我们将4台ESM3506评估套件的两路CAN连接在一起,同时在总线上增加1台PC机+PCAN用于辅助测试。另外总线上还有一台b体育·(sports)ESM3354作为总线监听设备,作为测试数据的二次验证。

1.jpg


 2、单台基本性能测试 

测试RK3506J CAN接口在不同波特率下最大的发送帧数,CAN接口收发延迟等关键性能指标。

2.1 压力测试

l  测试最大发送帧数,单发送;持续时间60s。

波特率

最大发送帧数

CPU负载

250 kBit/s

>2125 fps

7%

500 kBit/s

>4050 fps

10%

1M Bit/s

>4600 fps

7~12%

2.2 收发测试

l  波特率250 kBits/s时,板子和PCAN各每隔1ms发一帧,板子ID:123h / PCAN ID: 120h,测试10万帧。

l  波特率 ≥ 500 kBits/s时,板子和PCAN各每隔1ms发两帧:板子ID:123h, 124h / PCAN ID: 120h, 121h,测试20万帧。

波特率

CPU负载

总线平均负载

数据验证

250 kBit/s

15%

86%

无丢帧

500 kBit/s

%7~8%

84%

无丢帧

1M Bit/s

%7~8%

43%

无丢帧

2.3 延迟测试

l  CAN0发 -> CAN1收

l  CAN0每间隔5ms发送一帧,测试5万帧。

l  下表中延迟单位:ms


波特率

最小延迟

最大延迟

平均延迟

标准差

理论传输时间

250 kBit/s

0.517

0.757

0.538

0.013

0.533

500 kBit/s

0.294

0.488

0.312

0.013

0.266

1M Bit/s

0.183

0.421

0.199

0.013

0.133



 3、可靠性测试 

可靠性测试是模拟CAN设备在总线断路、短路、总线过载以及连续帧冲突等情况下,CAN接口的故障自恢复能力。

l  将4台ESM3506和两路CAN接口与PCAN和ESM3354(仅监听)连接在一起。

l  CAN口波特率配置250 kBit/s ,bus off 100ms自恢复(ip link set can0 up type can bitrate 250000 restart-ms 100)


测试项目

测试方法及说明

CPU负载

测试结果

不丢帧测试

PCAN满负荷发送10分钟以上,设备仅接收

8%

接收88888888帧,无丢帧

正常收发

测试

总线上8个CAN口同时收发,每个CAN接口每8ms发送2帧,总线负载设计2000帧/s

7%

总线负载1966帧/s

每台发送300000帧

每台接收88888888帧

短路测试

在正常收发时,将CAN总线短接30分钟以上,断开短接后,检查所有CAN口通讯是否恢复正常。测试2轮

1.2%

CAN收发成功恢复

自动恢复时间<1s

开路测试

在正常收发时,将所有CAN接口从总线断开30分钟以上,然后依次接入,检查所有CAN口通讯是否恢复正常。测试2轮

6%

CAN收发成功恢复

自动恢复时间<1s

过载测试

总线上8个CAN口同时收发,每个CAN接口每4ms发送2帧,总线负载设计4000帧/s

20%

总线负载2187帧/s

工作正常,无卡死

ID冲突测试

将所有CAN帧ID设置为一样,总线负载设计2000帧/s,连续测试30分钟,CAN接口仍在正常收发数据

5%

总线负载1107帧/s

工作正常,无卡死



 4、总结 

    ESM3506的CAN驱动程序在官方驱动的基础上进行了优化和完善。对CAN数据收发最大延迟时间的控制,以及代表延迟抖动指标的极小标准差值表明,ESM3506可以满足毫秒级CAN接口实时应用需求。ESM3506在CAN总线断路、短路等模拟故障下的快速恢复能力是其在实际恶劣工况下仍能可靠工作的保障。

文章标签:C/C++Ubuntu