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

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

3天内不再提示

英创信息技术SJA1000的CAN通讯接口函数扩展应用介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-15 14:11 次阅读

在现有的can_api.h所提供的接口函数的基础上,推出CAN接口通讯一些扩展应用功能,主要是为每个接收的数据包均加上了时间标签,以支持实时控制的应用。为了兼容以前接口函数,can_api.h保持不变,英创公司另外定义了一个can_api_ex.h,在该文件中定义了带有时间标签的CAN数据报文结构。

typedef struct
{
// CAN数据报文ID,其中
bit 0-28 : CAN identifier (11/29 bit)
bit 29 : error frame flag (0 = data frame, 1 = error frame)
bit 30 : remote transmission request flag (1 = rtr frame)
bit 31 : frame format flag (0 = standard 11 bit, 1 = extended 29 bit)
DWORD dwCAN_ID;
// CAN数据报文中的数据长度
DWORD dwCAN_DatLen;
// CAN数据报文中的数据
UCHAR ucDat[8];
// CAN数据报文的时间标签,单位为毫秒
DWORD dwTimeTick;
} CAN_FRAME, *PCAN_FRAME;

获取带有时间标签的CAN接收报文,可通过调用标准的ReadFile( ) 来实现,相应的发送函数也可调用WriteFile( )来处理。以下为接收线程中的获取带有时间标签的CAN数据报文的方法:

WaitForSingleObject( ceCAN->m_hRxEvent, 15 );
{
dwLen = 0;
bResult = ReadFile(ceCAN->m_hCAN,
&ceCAN->can_frame,
sizeof(CAN_FRAME), &dwLen, NULL );
if( dwLen==sizeof(CAN_FRAME) ) // receive a can frame
{
if( dwLastTimeTick == 0 )
{
printf( '0x%08x - %ld\n', ceCAN->can_frame.dwCAN_ID, ceCAN->can_frame.dwTimeTick );
dwLastTimeTick = ceCAN->can_frame.dwTimeTick;
}
else
{
printf( '0x%08x - %ld\n', ceCAN->can_frame.dwCAN_ID, ceCAN->can_frame.dwTimeTick-dwLastTimeTick );
dwLastTimeTick = ceCAN->can_frame.dwTimeTick;
}
}
}

经过测试,在英创嵌入式主板上CAN时间标签的精度能够保证在±1ms。

由于读取带有时间标签的CAN数据报文采用的是系统标准函数ReadFile,所以对该扩展功能感兴趣的老客户,需要对已有的英创嵌入式主板WinCE内核进行升级,而can_api.lib不需做任何变化。具体can_api.h中定义的接口函数参见《基于SJA1000的CAN通讯接口函数使用说明》一文。

感兴趣的客户可以和英创的技术支持联系。

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

    关注

    7

    文章

    6085

    浏览量

    35201
收藏 人收藏

    评论

    相关推荐

    深圳鸿合智远 DSB211SJA/DSB221SJA:表面贴装TCXO

    深圳鸿合智远|DSB211SJA/DSB221SJA:表面贴装TCXO
    的头像 发表于 11-05 11:41 149次阅读
    深圳鸿合智远 DSB211<b class='flag-5'>SJA</b>/DSB221<b class='flag-5'>SJA</b>:表面贴装TCXO

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 375次阅读

    如何部署北斗定位应用,基于国产自主架构LS2K1000LA-i处理器平台

    ,拥有自主知识产权,摆脱了对外部技术的依赖,不受外部专利约束,确保了在信息技术领域的自主可控性。兼容性:设计时充分考虑了对主流指令集的兼容性,支持包括但不限于Linux在内的多种操作系统,便于开发者
    发表于 10-29 09:52

    CAN/CANFD卡接口函数使用说明

    电子发烧友网站提供《CAN/CANFD卡接口函数使用说明.pdf》资料免费下载
    发表于 10-15 17:35 0次下载

    EN Power Bus二总线接口转接485方案芯片-485接口芯片

    EN20F18 是采用低压直流供电总线通讯技术设计的一款通讯接口芯片,是锐恩EN Power Bus二总线
    发表于 09-29 16:04

    梯度科技入选2023年信息技术应用创新解决方案名单

    日前,工业和信息化部网络安全产业发展中心(工业和信息化部信息中心)在天津举办2024信息技术应用创新发展大会暨解决方案应用推广大会。会上正式公布了2023年
    的头像 发表于 09-09 16:29 384次阅读

    业内超高性价比CAN BUS通讯接口静电防护器件SENC23T24V2BC

    业内超高性价比CAN BUS通讯接口静电防护器件SENC23T24V2BC CAN接口在工业自动化领域应用十分广泛,为了防止静电放电事件对端
    的头像 发表于 08-21 15:36 356次阅读
    业内超高性价比<b class='flag-5'>CAN</b> BUS<b class='flag-5'>通讯</b><b class='flag-5'>接口</b>静电防护器件SENC23T24V2BC

    [can开发板] 一款低价can/obd2总线Linux开发板

    :https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO_Air/zh CAN/OBD开源扩展板详细介绍:https://gitee.com/usb7
    发表于 07-05 16:46

    芯力特车规TVS产品助力CAN/LIN通讯接口保护

    芯力特深耕车规CAN/LIN通讯接口芯片,在大量的客户项目应用中深入了解客户需求后,推出了汽车级TVS防护器件,助力车规CAN/LIN通讯
    的头像 发表于 07-02 08:07 403次阅读
    芯力特车规TVS产品助力<b class='flag-5'>CAN</b>/LIN<b class='flag-5'>通讯</b><b class='flag-5'>接口</b>保护

    BIG WALNUT大核桃全面响应国家“信”号召,倾力“智”造国产芯片+国产加密安全系统通讯产品

    信息化高速发展的今天,信息技术的自主可控和信息安全已经成为国家发展的重要基石。国家信战略的提出,旨在推动国产信息产业的崛起,实现
    的头像 发表于 06-18 17:42 484次阅读

    如何检测can通讯电路的好坏

    CAN(Controller Area Network)是一种基于总线通信的局域网技术,广泛应用于汽车电子、工业控制等领域。在实际应用中,CAN通讯电路的好坏对整个系统的稳定性和可靠性
    的头像 发表于 06-16 09:42 2433次阅读

    两片STM32的CAN接口,可以直接用TX与RX引脚连接正常通讯吗?

    两片 STM32的CAN接口,可以直接用TX与RX引脚连接(不接CAN收发器芯片)正常通讯
    发表于 04-01 07:38

    龙芯中科三项信方案入围工信部2023年信息技术应用创新应用示范案例名单

    近日,工业和信息化部通报了2023年信息技术应用创新解决方案征集遴选结果,本次共评选出典型解决方案173个、应用示范案例83个、单项创新案例64个。
    的头像 发表于 03-07 16:45 854次阅读
    龙芯中科三项信<b class='flag-5'>创</b>方案入围工信部2023年<b class='flag-5'>信息技术</b>应用创新应用示范案例名单

    XMC4500 CAN通讯能发不能接收是怎么回事?

    刚开始结束英飞凌的片子,需要用到CAN通讯,使用的是keil。在程序中,XMC_CAN_MO_Transmit可以发送数据,使用CAN-USB模块能在电脑端查看到。用另一块班子给它发
    发表于 02-06 06:31

    PCB企业力三期项目顺利投产

    近日,PCB企业四川力电子科技股份有限公司三期(载板厂和特种板厂)顺利投产。通过这个项目,力公司成功地将业务范围从单一的普通通孔多层板扩展
    的头像 发表于 01-15 14:20 568次阅读