0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术WinCE主板CAN接口数据接收性能测试介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-04 11:39 次阅读

在英创公司嵌入式主板产品中,高端的335x主板系列及低端的ESM9287主板均可支持2路CAN总线标准接口。本文提供CE平台的EM3352和EM9287的CAN接口的数据接收的性能情况,供客户在开发应用程序时参考。

测试条件:

1、由一张独立的Linux平台的主板发送数据,模拟CAN总线环境。数据发送速率由示波器标定确认。发送的数据帧中包含当前发送数据帧的累积计数值。

2、在CE平台运行的测试程序采用VC/C++编写。接收线程以最快速度读取底层CAN驱动已接收到的数据包,并提供接收数据包统计,并与数据帧的计数值比较。

EM3352(WEC7)测试结果:

CAN Bit Rate CAN总线帧速 丢包情况 其他说明
1Mbps 2000帧/s 此时CPU负载率为17%
1Mbps 2000帧/s 远程桌面进程使CPU负载率至37%
1Mbps 5000帧/s 此时CPU负载率至90%

在5000帧/s的测试中,当帧速返回2000帧/s,则丢包则消失,CPU负载率恢复正常。过程中系统不会死机。

EM9287(CE6.0)测试结果:

CAN Bit Rate CAN总线帧速 丢包情况 其他说明
1Mbps 1000帧/s 连续监测320000帧数据
500kbps 1000帧/s 连续监测720000帧数据

CE平台的CAN驱动程序,至少设置了能缓冲256帧数据的buffer,对1Mbps波特率按每帧数据160us(实测值)计算,则内部缓冲区可至少保存40ms的数据。换句话说,上层应用程序需在40ms内把驱动程序已接收的数据全部取出,这样才能保证不丢包。典型的应用程序读取数据调用如下:

//一次读取尽可能多的数据帧

BOOL rc = ReadFile(hCAN, // “CAN#:”Handle

pRxBuffer, // 足够大的接收buffer

sizeof(CAN_MESSAGE)*MAX_ARRAY, // MAX_ARRAY=256

&dwLen, // 实际读到的字节数

NULL);

为了尽快读出所有缓冲在驱动程序中的数据,最好是使用一个尽可能大的Buffer,然后通过返回的dwLen值来判断本次调用所读取的数据帧数。有些应用采用每次ReadFile读取一帧数据,然后循环直至读完所有数据也是可以的,只是效率要比一次性读完的方式稍低一些。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11131

    浏览量

    208005
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6083

    浏览量

    34962
收藏 人收藏

    评论

    相关推荐

    国产化背景下的工控主板发展现状

    ,是信息技术应用创新产业的简称,于2016年“信工委会”(信息技术应用创新工作委员会)提出,目的就是要推动我们国内软硬件关键技术的研发
    的头像 发表于 09-21 16:15 125次阅读

    工控主板接口全解析:国产主板的多样连接

    在工业自动化的宏伟画卷中,工控主板扮演着至关重要的角色,它不仅是连接众多外部设备的桥梁,更是数据传输与控制的核心枢纽。广州市金其利电子有限公司在此向您详细介绍国产工控主板所具备的多样化
    的头像 发表于 09-06 14:54 276次阅读
    工控<b class='flag-5'>主板</b><b class='flag-5'>接口</b>全解析:国产<b class='flag-5'>主板</b>的多样连接

    CAN总线的接口类型

    CAN总线(Controller Area Network)是一种基于广播的串行通信协议,广泛用于连接分布式系统中的各个设备,实现它们之间的数据交换和控制。CAN总线接口的定义涵盖了物
    的头像 发表于 09-03 14:13 449次阅读

    【龙芯2K0300蜂鸟板试用】CAN接口驱动板设计、CANFD测试CAN C++程序驱动测试

    dsample-point 0.8 fd on 分别测试750000和800000会报错 程序测试 开发了一个C++板端程序,接收CAN
    发表于 08-25 21:09

    can信息数据链路层组成部分及功能

    、智能家居等领域。 1.2 CAN协议的特点 CAN协议具有以下特点: 多主控制:CAN协议支持多个节点同时进行通信,提高了系统的实时性和可靠性。 广播通信:CAN协议采用广播方式进行
    的头像 发表于 07-24 15:12 312次阅读

    采集到的can数据后怎么处理

    CAN(Controller Area Network)是一种用于汽车和工业自动化领域的通信协议。采集到的CAN数据需要经过处理和分析,以便更好地理解通信过程和系统性能。 一、
    的头像 发表于 06-16 09:41 439次阅读

    接口测试测试什么内容

    接口测试是软件测试的一个重要组成部分,主要用于验证系统组件之间的交互是否符合预期。接口测试可以确保各个模块之间的
    的头像 发表于 05-30 15:11 951次阅读

    如何使用示波器测试CAN信号

    提高了汽车的性能和安全性。然而,由于CAN信号的复杂性和高速性,对其进行准确的测试和分析成为了一个重要的技术难题。本文将详细介绍如何使用示波
    的头像 发表于 05-23 18:07 3320次阅读

    深圳比达EMC|EMI电磁干扰:电子设备性能的头号敌人.

    深圳比达EMC|EMI电磁干扰:电子设备性能的头号敌人在电子信息技术飞速发展的今天,电磁干扰(EMI)已成为影响电子设备性能和稳定性的重要因素。今天深圳比
    发表于 05-21 11:19

    ELF 1技术贴|CAN接口浅析:从原理到对测

    链接桥梁的重要角色。本文将带各位小伙伴深入了解CAN接口的基本原理。CAN总线介绍CAN总线采用广播通信模式,意味着网络中的每一节点都能
    的头像 发表于 04-26 10:24 1048次阅读
    ELF 1<b class='flag-5'>技术</b>贴|<b class='flag-5'>CAN</b><b class='flag-5'>接口</b>浅析:从原理到对测

    测试究竟是什么?与性能测试的差别是什么?

    测试性能测试在多个方面存在显著的区别。 首先,信测试是一个更为全面和系统的
    的头像 发表于 04-24 15:34 545次阅读

    基于紫光FPGA的CAN控制器系统架构

    通过用户接口管理配置,控制CAN寄存器的寻址。向位时序模块、can发送模块和can接收模块提供配置信息
    发表于 04-10 12:18 459次阅读
    基于紫光FPGA的<b class='flag-5'>CAN</b>控制器系统架构

    CAN转以太网中继器应用原理

    CAN接口:用于接收和发送CAN总线上的数据CAN接口
    的头像 发表于 03-22 15:03 2196次阅读
    <b class='flag-5'>CAN</b>转以太网中继器应用原理

    STM32F407的CAN通讯接收数据,用keil调试时每次进中断FIFO就已经数据溢出了怎么解决?

    我想使用STM32F407的CAN通讯来接收六维力传感器的力信息,但是这个信息长度有31个字节,当STM32发送请求力信息的命令时,传感器采
    发表于 03-12 07:55

    can接口和485接口区别

    CAN接口和RS-485接口都是常见的工业通信接口,它们在功能和性能上有一些差异。以下是关于CAN
    的头像 发表于 12-13 10:50 1.2w次阅读