新闻中心

EEPW首页>嵌入式系统>设计应用> USB通信协议——循环冗佘检验位

USB通信协议——循环冗佘检验位

作者: 时间:2013-10-12 来源:网络 收藏
每一个封包、令牌、数据、起始封包等都包含了用来作为错误检验的位,以用来确认跟随着封包PID字段之后的信息。而信息变化的特性是根据封包类型来决定的。每一个封包含了5或16个CRC(Cycle Redundancy Checks)位,其由封包的可能大小或类型来决定,如表所列。

  表 封包类型与字段

  CRC的计算方式是将要传输的数据块当作一堆连续位所构成的整个数值,并将此数值除以一个特定的除数。这个除数是以二进制来加以表示的,通常又称为衍生多项式(generatton polynomoal)。针对CRC错误检验,采用了5与12位。通常数值越大,则传输的数据越不容易受到噪声的干扰,相对地,处理的时间也就越长。其中,针对令牌封包的5位CRC字段由以下多项式产生:

  G(x)=x5+x2+1

  这个位模型所表示的多项式是00101b(取5位)。而在接收端的5位的循环冗余检验将是01100b,这也表示所有的位都接收正确。

  针对令牌封包的16位CRC字段由以下多项式产生:

  G(x)=x16+x15+x2+1

  这个位模型所表示的多项式是1000000000000101b。而在接收端的16位的循环冗余检验将是1000000000001101b,这也表示所有的位都接收正确。

  但须注意到,若CRC包含了连续6个1,该CRC位串流将会涵盖位填塞部分。

pid控制相关文章:pid控制原理


数字通信相关文章:数字通信原理


通信相关文章:通信原理




评论


相关推荐

技术专区

关闭