• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

同一路CAN总线上挂不同速率的CAN外设可以吗

Key一哥 2018-10-12 浏览量:2289
我想在STM32的某一路CAN上,挂2路250K速率的CAN外设和1路500K速率的CAN外设,可以吗?
STM32中分时切换速率为250K和500K,去读取2种速率的外设。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以的,理论上是可以的,实践试一下
    • 发布于 2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:18

  • 在实际使用过程中,这种用法基本上是没有的,一条总线上,使用一种速率,高速率的降为低速率的,统一使用低速率的通讯速度。由于CAN中没有主从之分,不同的速率,可能会使其他的设备收到不正常的数据。

    但你说的分时修改速率也是可行的,只是所有的总线上的设备最好有一个约定好的协议,防止数据误传。

    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不行总线会有比较多的错误帧,之前试过,通信信息少的话是可以通信的,一般没有这么用的,可以用stm32f105带有两路CAN总线的芯片,或者nxp的mc9s12系列4路can总线
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • CAN总线会有识别总线的,总线错误会发错误帧,速率不同的节点识别相互发送的报文都视为错误,会发送大量错误帧在总线上,总线无法稳定工作 


    不过又不是完全不行 ,加一个CAN中继器,祝你成功。

    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好不要这样用 速率不同容易被误读信号
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 做实验的话,可以测试,但是具体应用的话,可能会涉及到通信的稳定性的问题。所以不建议采用
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 同一CAN总线上如果有不同速率的节点存在,在数据传输时会有大量的错误帧产生,这些错误帧会影响到正常的通讯。

    如果非非要在同一总线上挂接多种速率设备,可以考虑物理连线的切换,比如控制两个单刀双掷信号继电器把不同速率的设备在不同时间接入总线。

    不过最好还是同一总线速率相同,可以使用多CAN口的MCU,不同速率的设备使用不同CAN口就可以了。

    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以,can是无主机系统异步通信,无法判定某一时刻那个设备在发送数据来修改自身时钟。
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个思路很清奇

    如果您在设计主机程序,并且您3个外设通讯方式都是召唤方式的话——就是主机先发询问,从机再应答。倒是可行。虽然频率不同的外设会收到错误帧,好在CAN总线这点健壮性还是有的。

    不过,CAN总线的特点本就是多主通讯。也就是说,应该允许每个外设随时发起通讯。这样的话,您的主机在分时的方式用不同频率监听时,可能错过信息。

    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以的啊,在使用哪个速率 的时候,就重新配置一下呗
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 数据量大的话,没有校验还是可以的
    • 发布于2018-10-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能波特率不同收发数据时候会产生错误造成无法正常通讯。 
    • 发布于2018-10-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 绝对不允许这样做,这种做法会导致CAN总线上面出现严重干扰,一般的CAN设备,累计错误达到255,就会关闭CAN总线的

    因为你的CAN上面挂了不止一个设备,就算STM32那里可以正常工作,别的设备也有可能收到干扰而异常

    • 发布于2018-10-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能这样操作,波特率不同的的通信很容易出现乱码的情况
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以的,因为速率不同,传输的时候没有解码的标准
    • 发布于2018-10-30
    • 举报
    • 评论 0
    • 0
    • 0

  • can总线在同一时间只能识别一种速率的外设,不可以两种速率的外设共存。
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能识别多种速度的,一般一条总线只能用一种速度
    • 发布于2018-11-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

同一路CAN总线上挂不同速率的CAN外设可以吗