搜索
bottom↓
回复: 8

关于这个通讯协议,烦请大侠们看看是不是还有需要补充...

[复制链接]

出0入10汤圆

发表于 2014-1-8 09:16:16 | 显示全部楼层 |阅读模式
本帖最后由 chengtina 于 2014-1-8 09:46 编辑

  前提:做一仪器,需要跟对方进行串口通讯。对方发来了通讯协议,具体如下:
一、        通讯约定
1.说明
        RS232,全双工
        波特率:14400
        1起始位,8数据位,1停止位
        起始字符:A5H
        结束标识:5AH
2.双方都可以主动发送数据;
3.通讯约定:主动发送数据一方为发送方,另外一方为接收方,双方平时都处于空闲状态,接收数据时为接收状态,发送时为发送状态
4.一次通讯过程:发送方主动发送数据,接收方在收到数据后,先判断正误,然后回复消息,如果正确则这次通讯结束,如果错误则双方重复上述过程3次,同时如果发送方在发送了数据后10ms内没有接收到回复消息,也重复上述过程3次,以上过程如果仍然有错误,则上位机方应该提示出错;
5.通讯数据桢基本格式:
1)主动发送的数据格式
起始字符(A5H,1字节)+指令(1字节)+数据+校验(累加和,2字节,不要进位)+ 5AH;
2)回复消息的数据格式,共2字节
起始字符(A5H,1字节)+正误(1字节,00H正确,01H错误)+5AH;
3) 为保证通信正常,提高响应速度,任何一方在接到对方数据后,需要给对方回复消息。
6.作为正误判断的内容有:
1)起始字符
2)命令是否存在
3)数据长度
4)校验对错
5)结束字符
7.传输数据时,当这个数据不只有一个字节,则先传输高字节,后传输低字节;
  。
  。
  。



再后面就是通讯的具体命令的约定。
我想问的是,第三条,是否需要约定通讯一定要由某一方开始。按照目前的,如果双方同时发送数据,会出现怎么样的结果?AVR在发送的时候,能收到数据吗?能帮我看看这个需要怎么优化一下对我做软件比较有利吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入442汤圆

发表于 2014-1-8 09:31:47 | 显示全部楼层
时间太短了,10ms还不够传一帧的(10ms也就10个字节)。

出0入10汤圆

 楼主| 发表于 2014-1-8 09:49:28 | 显示全部楼层
wye11083 发表于 2014-1-8 09:31
时间太短了,10ms还不够传一帧的(10ms也就10个字节)。

恩,这个我记下了,谢谢了。
关于第三条,是否需要修正一下?我是在想双方都同时发送数据的话,AVR串口工作会怎么样?发的时候能收到数据么?

出0入0汤圆

发表于 2014-1-8 10:05:19 | 显示全部楼层
叫对方,直接使用,modbus   

出0入0汤圆

发表于 2014-1-8 10:07:23 | 显示全部楼层
如果要发送的数据都是ASCII码,则没问题;若是二进制数据,则需要在数据帧里增加“数据长度”的字段。

出0入0汤圆

发表于 2014-1-8 10:11:19 | 显示全部楼层
如果要发送的数据都是BCD码,则没问题;若是二进制数据,则需要在数据帧里增加“数据长度”的字段。

出0入0汤圆

发表于 2014-1-8 10:18:30 | 显示全部楼层
我觉得要看发送数据是否频繁,不频繁的话即便半双工也不怕。
最好加上个判断,在串口收到数据字节时5ms内不发送数据帧,减少在对方发送数据帧时,己方也发送数据帧的碰撞概率。
如果再错开双方的超时时间,例如一方用50ms超时,另一方用200ms超时,这样即便遇上同时发送数据帧,超时后也不会再次撞上。
超时时间要根据数据帧最大长度和数据帧响应的速度算一下,取个合适值。10ms是有些短。

出0入0汤圆

发表于 2014-1-8 10:44:54 | 显示全部楼层
如果双方都发数据是不是就乱掉了?都收不到回复。

这个是个标准长度的尾巴,你能看到这个尾巴说明你的浏览器是正常的。欢迎光临我的淘宝店。

出0入0汤圆

发表于 2014-1-8 11:31:49 | 显示全部楼层
直接用MODBUS吧。。否则,你还要处理双方同发送时的冲突,到时候你会发现复杂得头痛。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 22:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表