原来多台设备之间是通过UART用RS485进行通讯,每台设备通过拨码开关设一个地址。然后主设备通过轮讯的方式查询下游设备的信息。
有些客户认为设置拨码开关不方便,希望取消拨码开关,主设备能够自动的获取下游设备的信息。
另外所有的设备都是同种类型的设备,每台设备软硬件上完全一样。
现在想通过can总线进行设备之间的信息交互。对这个不太熟悉,不知各位达人能够提供一个方案或者解决问题的思路。
重新描述一下问题:
设备a,b,c,d完全一样,通过can总线联结,假设a为主设备,则a可以自动的获取到b,c,d的信息。而且需要支持热插拔:c设备移出后,a设备能够知道现在一共有3台设备。当e设备接入后,a设备能够知道,并且能够自动的获取e设备的信息。
主设备需要和上位机进行通讯,也就是将它自身以及其他设备的信息全部汇总上报给上位机。所以每台机器都可能作为主设备。