我正在使用一个数据传输系统,它在每个超帧的开头使用固定的SYNC字(0xD21DB8)。我很想知道如何选择这样的SYNC字,即根据设计者选择这种SYNC字的长度和值的标准。
答案 0 :(得分:11)
简而言之:
唯一性的高概率
高转变密度
这取决于底层的“服务器层”(通信术语)。如果所述服务器层没有提供区分有效载荷数据和控制信号的方法,则必须设计协议。在面向同步比特流的传输层中,通常依赖于SYNC模式来描绘有效载荷单元。这种技术的一个很好的例子是SONET / SDH / OTN,这是主要的光传输通信技术。
通常,选择SYNC字的主要标准是唯一性的高概率。当然是什么使其唯一性属性取决于用于有效负载的编码。
示例:在SONET / SDH中,一旦找到找到SYNC字,就会验证多个超帧(我不要在声明有效的 sync 状态之前,要记住很多。这是必需的,因为可能发生误报:无法保证同步比特流上的编码生成与SYNC字正交的编码有效载荷模式。
还有另一个标准:高密度的过渡。有时,服务器层由 clock 和 data 信号组成(即不是分开的)。在这种情况下,为了使接收器能够从流中描绘符号,确保在oder中最大数量的0-> 1,0-> 1转换以提取 clock 信号。
希望这有帮助。
已更新:这些presentations也可能会引起您的兴趣。
答案 1 :(得分:6)
在物理层,另一个考虑因素(除了在jldupont的回答中提到的那些)是可以使用同步字来将接收器的通信时钟与发送器的通信时钟同步。同步可能只需要将接收器的时钟归零,但也可能涉及更改时钟频率以更紧密地匹配发送器。
对于典型的异步协议,发送方和接收方需要具有相同的时钟。当然,实际上,时钟永远不会完全相同,因此通常会指定最大误差。
某些协议不要求接收器调整其时钟速率,但可以通过过采样或其他方法来容忍错误。例如,典型的UART能够通过在起始位的第一个边沿上归零来处理错误,然后在预期每个位的中间位置处取多个样本。在这种情况下,同步字只是起始位,并确保在消息开始时进行转换。
在HART工业协议中,同步字为0xFF,加上零奇偶校验位,重复多次。这表示为使用FSK编码的模拟波形,并且显示为1200Hz正弦波的8个周期(等于8位时间),然后是2200Hz的一个位时间。该模式允许接收器检测到有效信号,然后通过检测从2200 Hz到1200 Hz的转换来同步到字节的开始。如果需要,接收器也可以使用此波形来调整其时钟。