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

如何实现CAN通信ID自动编号

单片小白 2019-01-17 浏览量:2403

在进行CAN通信时需要保证每个节点的ID号一致,当CAN网络内节点较多时并且要求节点顺序编号时就有点头疼。

我之前尝试过利用一个浮空的AD引脚进行浮空采样,利用得到的AD值得出一个假的“随机数”,利用这个随机数进行排序编号,但这样效果并不是很好,测试发现还是有较大几率获得重复编号导致无法区分。

请问有什么好的方法实现在设备初次上电时自动顺序编号呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 生产的过程中加一步烧写ID号吧,这样就保证每一个节点ID都不同了,具体要看用的哪款单片机,实在不行外挂个eeprom之类的存ID号也可以。
    • 发布于 2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:8
  • 每个节点有自己处理的id,为什么需要上电分配,而且can有总裁机制,谁抢到谁通讯
    • 发布于2019-01-17
    • 举报
    • 评论 2
    • 0
    • 0
单片小白 回复了 yhj416606438 :因为每个节点的功能都是一样的,那肯定就烧录同一个程序呀,每个节点单独去给他分配一个ID不是很麻烦吗,所以想要他自动获取分配ID 回复
单片小白 回复了 yhj416606438 :不考虑使用某些芯片的唯一编号,因为所用的芯片没有这个东东 回复

  • 详细可参阅,CAN总线是如何编写一套ID以及过滤码
    • 发布于2019-01-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 很难,要么借用芯片的唯一识别码,要么自己写个配置程序,。
    • 发布于2019-02-13
    • 举报
    • 评论 0
    • 0
    • 0

  • CAN通信没有必要对ID进行限制,只需要各节点之间遵循一个协议,某个ID代表什么意思,这样就行
    • 发布于2019-02-13
    • 举报
    • 评论 0
    • 0
    • 0

  • CAN总线都是通过不同的设备ID来进行识别的,里面就是ID的地址
    • 发布于2019-02-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 要看对应你的里面的芯片识别码,通过识别码识别
    • 发布于2019-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般都是用的内部ID来对你的芯片区分的
    • 发布于2019-03-02
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何实现CAN通信ID自动编号