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

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

3天内不再提示

致远电子ZPS-CANFD支持总线数据的发送和接收

科技绿洲 来源:ZLG致远电子 作者:ZLG致远电子 2022-04-20 15:26 次阅读

采样点是接收节点判断信号逻辑的位置,采样点对CAN总线来说极其重要,尤其是在组网的时候,多个节点尽量保持同一个采样点,若网络中节点采样点不一致会导致同样的采样频率出现采样错误,使整个网络出现故障。

采样点的规则及原理

CAN协议里将一个位时间分为同步段、传播段、相位缓冲段1和相位缓冲段2。这些段又由称之为Time Quantum(以下称为Tq)的最小时间单位构成。1位由多少个Tq构成、每个段由多少个Tq构成等是可以设定的。通过设置bit时序,使得可以设定一个采样点以使总线上多个单元可同时采样,所谓采样点就是在这一时刻总线上的电平被锁存,这个锁存的电平作为位的值。采样点的位置在相位缓冲段1(PBS1)的结束处。

pYYBAGJftTaAHJB3AACJNLY0qT8038.png

图1 CAN 位时间结构图

同步段(SS):多个连接在总线上的单元通过此段实现时序调整,同步进行接收和发送工作,边沿包含在此段中;

传播时间段(PTS):用于补偿网络上所有的物理延迟;

相位缓冲段1(PBS1)和相位缓冲段2(PBS2):当信号边沿不能被包含于(SS)段中时,可在此段进行补偿;

采样点:读取并解释总线上各位值的一个时间点。

采样点位置如图1所示,它是读取总线电平,并将读到的电平作为位值的点,所以从一个位的开始到采样点的时间占一个完整位的总时间的百分比就是所求的采样点的值:

sample =(1+TSEG1)/(1+TSEG1+TSEG2)

ZPS-CANFD采样点测试的测试原理

将ZPS-CANFD设备连接好后,再选择“采样点测试”并设置好对应的参数,然后开始测试即可进行采样点的测试,如图2,最终的测试结果为:90%,误差为5%位宽。

poYBAGJftUqACmH5AAC-9cgAiTE373.png

图2 采样点测试结果

ZPS-CANFD测试原理及过程如下:

1、用ZPS-CANFD发送ID 为0的报文100帧,在此报文的第一个ID位(1注1)的0%处施加一个宽度为27%位宽(2注2)的干扰(如图3),记录这100帧报文中出现的错误帧数,但由于此时距离采样点位置较远,暂时不会出现错误帧。

poYBAGJftVSAVWYoAAAkp-dh13o101.png

图3 干扰1

2、27%位宽的干扰逐渐以1%位宽的步进向右移动,在干扰的右边沿快靠近采样点时(如图4),由于通信延迟的关系,此时采到的电平和ZPS-CANFD发送的不一致了,导致DUT接收到的CRC校验和DUT计算的CRC校验不一致,DUT就会主动发出错误帧,把每一个不同干扰位置的错误帧数记录下来。从此刻开始,继续往右步进,错误帧数也会有所增加。

pYYBAGJftV2APZssAAAmhmVFZBY525.png

图4 干扰2

3、继续步进,当干扰的左边沿位置过了采样点后(如图5),此时DUT就不会再出现错误帧了。因此,最后一个出现错误帧的位置就是我们想要知道的采样点位置。

pYYBAGJftWaAYB1qAAAmoO2IS2w829.png

图5 干扰3

常规采样点的设计

采样点对CAN总线来说非常重要,在组网的时候,多个节点应尽量保持同一个采样点,且最好在但不超过7/8位时间点上,标准中也给了如下几个例子。

pYYBAGJftYOAQqkSAABzrOtgl5I299.png

关于采样点的计算:

sample =(1+TSEG1)/(1+TSEG1+TSEG2)

例如上面的计算举例:晶振时钟频率16M,SJW为1个Tq, TSEG1为13, TSEG2为2,则采样点计算带入上面的公式,sample =(1+13)/(1+13+2)=87.5%。

半导体行业采样点测试现状半导体行业下游市场涉及汽车、工业消费电子等各个领域,仅控制器市场在2020年就已达175亿美元,2021年重返正增长,2020-2025年CAGR为8%。以汽车电子为例,当前汽车领域随着新能源汽车的蓬勃发展,对于该分类汽车的开发也愈加成熟。其系统可以分为几大板块,即动力总成、车身控制、辅助驾驶系统等,而每个系统下又有多个子单元进行单独控制,例如发动机、座椅调节、空调、影音装置等。因此从数量上来说,一辆车所需要的ECU和MCU的数量也在随之增加。到目前为止,各系统下的节点数量一般都会达到20-50个。

ECU的增加使得汽车线束排线困难、软件维护与升级困难、模块间信息沟通效率低,因此就需要使用CANFD技术来增加通讯的速率和效率,而此时随着带宽的增加,各节点的采样点测试就成为了保证通讯的核心点。

总结

ZPS-CANFD是致远电子总线分析仪第二代CAN总线开发辅助工具,是适用于CANFD、CAN、LIN总线的测量及测试仪器,支持总线数据的发送和接收,高层协议解析及诊断,能对CANFD、CAN总线物理层电气信号实时采集和记录,并附带有高速模拟通道、通用数字IO及模拟IO,通过提供的硬件接口及软件功能,用户能够便捷地构建总线信号测量与分析、节点功能仿真及测试、网络可靠性诊断及评估的自动化系统。

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

    关注

    69

    文章

    4945

    浏览量

    87503
  • 总线数据
    +关注

    关注

    0

    文章

    9

    浏览量

    6570
  • 致远电子
    +关注

    关注

    13

    文章

    406

    浏览量

    31310
收藏 人收藏

    评论

    相关推荐

    CAN/CANFD 总线干扰仪TESTBASE-BDI

    总线干扰仪是CAN/CANFD总线一致性测试中必不可少的重要设备,用于实现采样点以及故障注入等测试项配合桌面式车载网络自动化测试系统TESTBASE-DESKNAT以及基于VBA的CAN/CA
    的头像 发表于 12-26 11:24 470次阅读
    CAN/<b class='flag-5'>CANFD</b> <b class='flag-5'>总线</b>干扰仪TESTBASE-BDI

    rk3588 canfd发送部分数据失败的问题

    在使用rk3588的板子进行canfd通信时,有些数据发送必然失败: 1,cansend can0 200##065.68.00.00.96.00.00.01 必然成功 2,cansend can0
    发表于 12-18 10:53

    MD9360四路CANFD应用实例

    随着通信技术的进步和总线技术的广泛应用,对总线带宽和传输速率提出了更高的要求。MD9360-T核心板提供四路CANFD,让你的数据传输更快速、更可靠。MD9360-EV-Board评估
    的头像 发表于 08-08 08:25 413次阅读
    MD9360四路<b class='flag-5'>CANFD</b>应用实例

    STM32G474发送CANFD数据出现异常的原因?

    环境:stm32g474re,加上主板,CAN总线上一共有9个节点,其中有一个节点是CAN扩展帧协议,其他为CANFD BRS开启,标准帧 配置:仲裁域 1M 80%,数据域 5M 75%,开启自动
    发表于 05-30 06:44

    CYT2B75 SK Rev03无法正常发送CANFD数据,为什么?

    _TYPE, 0,stcMsg) 发送测试数据,直接return CY_CANFD_BAD_PARAM,经调用函数Cy_CANFD_GetTxBufferStatus查看
    发表于 05-24 07:37

    喜讯 | 行稳致远,进而有为!ZLG致远电子荣获“中国汽车软件领军企业”

    2024年3月13日,中国汽车软件“风云奖”颁奖典礼胜利召开,ZLG致远电子荣获“中国汽车软件领军企业”称号。3月13日,盖世汽车设立的“中国汽车软件风云奖”在上海顺利举行,ZLG致远电子
    的头像 发表于 03-17 08:23 701次阅读
    喜讯 | 行稳<b class='flag-5'>致远</b>,进而有为!ZLG<b class='flag-5'>致远</b><b class='flag-5'>电子</b>荣获“中国汽车软件领军企业”

    TC275D系列的芯片支持标准CANFD能配置成非标准CANFD的吗?

    TC275D系列的芯片支持标准CANFD,是否也能配置成非标准CANFD的呢,有那位技术人员配置过吗?
    发表于 02-06 08:31

    在同一路CAN上配置经典CAN时能正常发送数据 ,按规格书配置为CANFD时,未能发送成功的原因?

    你好,我在同一路CAN上配置经典CAN时能正常发送数据 ,但是按规格书配置为CANFD时,未能发送成功,想请问我以下配置是否正确。 cy_stc_c
    发表于 02-02 07:33

    使用CYT2B75芯片CANFD模块无法发送消息是什么原因导致的呢?

    接收到报文,Debug模式下,Tx buffer 一直不为空,返回CY_CANFD_BAD_PARAM,发送失败。 可以帮忙测试下吗,是代码的问题还是其他问题?可能出现这种问题有可能是什么原因呢?
    发表于 02-02 06:57

    cyt2b94使用can总线的时候无法使用CANFD_CONFIG_STD_ID_FILTER_RANGE滤波器怎么解决?

    cyt2b94使用can总线的时候无法使用CANFD_CONFIG_STD_ID_FILTER_RANGE滤波器 代码如下: static const cy_stc_id_filter_t
    发表于 02-01 08:25

    CANFD SDL无法被接收到的原因?

    任何 CANFD 消息,如果把 cy_stc_canfd_config_t 的 .canFDMode 改为 false 就可以收到,是因为 BAUDRATE 与 DATARATE 的关系吗 ?,我应该要填多少 ?,该怎么从代码推算呢 ?
    发表于 02-01 07:27

    CAN总线最大能够带多少节点?CANFD相对于CAN2.0有哪些差异呢?

    CAN总线最大能够带多少节点?CANFD相对于CAN2.0有哪些差异呢? CAN总线最大能够带多少节点? CAN总线是一种广泛应用于汽车领域的多主机串行通信
    的头像 发表于 01-31 14:08 3769次阅读

    TC297 CANR支持CANFD吗?

    TC297 CANR 支持 CANFD 吗? 我目前正在测试CAN达到5Mbit/s的 节点。但是,在以 5Mbit/s 的速度测试 CANR 节点的速度时,会出现错误。
    发表于 01-29 06:09

    MCU如何配置固定TDC?

    如附图所示,在发送接收消息期间,控制器开始发送比特的时间与从接收终端接收到位置的时间之间存在延迟,即
    发表于 01-22 07:29

    M467的CANFD通道如何使传送效率最高?

    现在我在用M467-64PIN 进行解算与数据收发; M467的CANFD通道,如何使传送效率最高? 例如使用1M+5M传输模式,如何使传送效率最高? 例如循环发送64 Byte的计算数据
    发表于 01-16 06:18