当前位置 : 主页 > 大数据 > 区块链 >

serial-port – 通过串行设计命令和数据的协议

来源:互联网 收集:自由互联 发布时间:2021-06-22
我需要(设计?)用于通过串行连接在微处理器驱动的数据记录器和PC(或类似)之间进行通信的协议.没有控制线,设备/ PC可以知道它们连接的唯一方式是它们接收的数据.连接可能随时被破坏
我需要(设计?)用于通过串行连接在微处理器驱动的数据记录器和PC(或类似)之间进行通信的协议.没有控制线,设备/ PC可以知道它们连接的唯一方式是它们接收的数据.连接可能随时被破坏并重新建立.串行连接是全双工的. (8N1)

问题是要使用什么类型的数据包,握手代码或类似的.微处理器的能力非常有限,因此协议需要尽可能简单.但是数据记录器将具有许多功能,例如调度记录,下载日志,设置采样率等,这些功能可能同时处于活动状态.

我的臃肿版本将是这样的:对于数据记录器和PC,固定的数据包大小为16字节,带有简单的1字节校验和,可能是开头/结尾的0x00字节,以简化数据包的识别,一个字节表示数据包中的数据类型(命令/设置/日志数据/实时馈送值等).为了同步,可以由PC发送唯一的“hello / reset”数据包(例如所有零),然后返回设备检测到该数据包以确认同步.

我对这种方法的任何评论表示感谢,并欢迎任何其他建议以及一般性意见.

观察:我认为我必须自己动手,因为我需要尽可能轻量化.我将从答案中建议的协议中获取一些零碎,以及我发现的其他一些…… Slip,
PPP和HLDC.

微控制器互连网络(MIN)就是为此目的而设计的:微型8位微控制器与其他产品进行通信.

代码是MIT许可的,还有嵌入式C和Python实现:

https://github.com/min-protocol/min

网友评论