【发布时间】:2009-12-09 19:44:45
【问题描述】:
我需要为串行协议进行一些设计,并且遇到了一些我认为必须在其他地方考虑过的问题。
所以我想知道是否有一些关于设计串行协议的最佳实践的建议。(请陈述一个易于验证的事实,或者如果你提出了一个有信誉的来源一个声明。)也欢迎对网站/书籍的一般建议。
特别是我必须处理诸如
之类的问题- 将字节流解析为数据包
- 验证数据包是否正确(例如,使用 CRC 很容易)
- 识别可能发生的合理错误类型(例如,在点对点串行流中,偶发的单比特错误和丢失的字节系列都是可能的,但不太可能出现额外的幻像字节;而存储的记录在闪存或磁盘驱动器中,主要的错误类型是不同的)
- 错误纠正或恢复(如果我检测到数据包中有错误,我可以纠正它吗?如果没有,我可以重新同步到下一个数据包的边界吗?)
- 如何使可变长度数据包对纠错/恢复具有鲁棒性。
有什么建议吗?
【问题讨论】:
标签: protocols serial-communication error-correction