<font color="#FF8000">作者:许雪松 ,硬件十万个为什么</font>
公司里做项目,嵌入式系统大大小小,到处都是。因为都是一个系统里的,所以都需要通讯,既然通讯就涉及到协议问题。
谈及协议,很多工程师觉得协议的设计相对简单,主要是报文的设计。大多数时候,协议的应用场景简单,没有复杂的交互。这么做的确也是没什么太大的问题。然而,就是这么简单的场景,仍有一些协议会在实际中发生意想不到的问题。归根结蒂,还是没有把握协议涉及的规律。下面我们简单的聊聊协议设计的规律。
协议设计中面临的问题:
1.设计者大多数情况下,从应用出发,仅仅考虑了基本需求的满足,没有考虑扩展需求的满足;
2.从osi七层理论上,我们往往设计的协议时站在比较高层的角度去设计,往往忽视了RS485/RS232, I2C, CAN, ETHERNET等物理层承载特点,设计缺乏对具体应用的针对性,导致潜在问题的产生;
3.容错和效率的考虑不足。