CL2*_*L22 4 serial-port protocols
我需要(设计?)用于通过串行连接在微处理器驱动的数据记录器和PC(或类似)之间进行通信的协议.没有控制线,设备/ PC可以知道它们连接的唯一方式是它们接收的数据.连接可能随时被破坏并重新建立.串行连接是全双工的.(8N1)
问题是要使用什么类型的数据包,握手代码或类似的.微处理器的能力非常有限,因此协议需要尽可能简单.但是数据记录器将具有许多功能,例如调度记录,下载日志,设置采样率等,这些功能可能同时处于活动状态.
我的臃肿版本将是这样的:对于数据记录器和PC,固定的数据包大小为16字节,带有简单的1字节校验和,可能是开头/结尾的0x00字节,以简化数据包的识别,一个字节表示数据包中的数据类型(命令/设置/日志数据/实时馈送值等).为了进行同步,可以由PC发送唯一的"hello/reset"数据包(例如所有零),然后返回设备检测到该数据包以确认同步.
我对这种方法的任何评论表示感谢,并欢迎任何其他建议以及一般性意见.
观察:我认为我必须自己动手,因为我需要尽可能轻量化.我将从答案中提出的协议以及我发现的其他一些内容中获取点点滴滴...... Slip, PPP和HLDC.
微控制器互连网络 (MIN) 正是为此目的而设计的:微型 8 位微控制器与其他设备通信。
该代码已获得 MIT 许可,并且有嵌入式 C 和 Python 实现:
https://github.com/min-protocol/min
| 归档时间: |
|
| 查看次数: |
2826 次 |
| 最近记录: |