donglaile 发表于 2015-1-10 17:40:11

请教,单片机系统中主机与N个从机的通信方式

本帖最后由 donglaile 于 2015-1-10 17:40 编辑

做一个单片机项目,有一个主机和N个从机,他们之间要相互通讯,传输自定协议的数据,数据长度不定(最大256字节)。协议如下:
帧头(2字节)+长度(1字节)+命令(3字节)+数据(长度-1字节)+校验(12字节)+帧尾(2字节)
目前,使用串口一主多从的方式,每次通信主机发起从机应答,已经实现了主机和从机的通信,但是现在需要远距离通信,有些疑惑向大家请教:
1、是否不改动代码,把串口扩展成RS485接口就能实现?
2、modbus是不是就像自定协议一样,仅仅是一个协议,通信还是用串口?
3、如果使用can总线,大概思路是怎样的?
请指点,谢谢!
ps:不知道有没有表达清楚,文笔较差,请见谅!

yaoyyie2003 发表于 2015-1-10 17:49:45

modbus是基于寄存器方式的,用modbus的话,你要重新组织你的通信,可能不是你现在这个格式.
用CAN的话,你得数据帧超过了CAN的数据帧长度,所以你要先实现CAN的打包和解包.

两条路:
用串口转CAN模块,不用换数据格式,你现在的程序也不用改变.
或者直接用MODBUS重组你的通讯

donglaile 发表于 2015-1-12 16:39:18

yaoyyie2003 发表于 2015-1-10 17:49
modbus是基于寄存器方式的,用modbus的话,你要重新组织你的通信,可能不是你现在这个格式.
用CAN的话,你得数 ...

谢谢,我看了一些modbus和can方面的资料,你的建议很好
页: [1]
查看完整版本: 请教,单片机系统中主机与N个从机的通信方式