阿老师问题提得好

论坛:江湖兵器作者:zihuatanejo发表时间:2011-03-04 09:13
帖子有很多不严密的地方,比如同步比异步快的条件是什么,比如校验方式等等;还有一个更大漏洞,两位老师手下留情没指出来:串行发送的时候,通常是低位在先,LSB先发送,最后是MSB,而不是先发送高位。早先有些串口发送器可以指定高先发,或低先发,现在没有了,都是默认低位在先。
 
鸡排老师说得对,同等条件下,同步比异步要快,这是因为异步传输,每一帧必须要加起始位或停止位,帧效率就低很多了,而同步可以不用;另外,异步传输的本质,是做上升沿或下降沿检测,每一帧都如此,因此内部时钟至少要花两个周期才能检测出沿的变化,这就是同等条件下,异步比同步慢的原因。大规模通信网里,高速数据传输基本都是同步的,内部有统一的时钟信号,同步各个信道的接收。
 
校验方式上,CRC循环冗余是块数据校验里最常见的,其他校验方式就更多了;帧校验的方法也有很多,不多说了。我没详细查SPDIF是怎么做的,我知道它的帧格式是32位:4起始位,24数据位,4个状态位(最后1位奇偶校验位),帧效率75%。
 
关于校验,SPDIF传输时每192帧数据组成一个BLOCK,至于是否做冗余校验,我没查,阿老师有兴趣就自己研究吧。但我估计一般的播放器里用不到,一段声音,出错就出错了,不至于要求重发重放。但SPDIF还用于转换录制设备,这时就有必要做CRC校验了。
 
附一个帧格式链接.
 

0 / 0

发表回复
 
  • 标题
  • 作者
  • 时间
  • 长度
  • 点击
  • 评价
  •   握手
  • zihuatanejo 
  • 2011-03-05 09:18
  • 2
  • 513
  • 0/0
  •   嘻嘻
  • 靠边 
  • 2011-03-04 21:09
  • 22
  • 535
  • 0/0
  •   天哪
  • 靠边 
  • 2011-03-04 01:28
  • 18
  • 585
  • 0/0

京ICP备14028770号-1