USB通信协议——循环冗佘检验位
发布时间:2008/12/17 0:00:00 访问次数:1041
每一个封包、令牌、数据、起始封包等都包含了用来作为错误检验的位,以用来确认跟随着封包pid字段之后的信息。而信息变化的特性是根据封包类型来决定的。每一个封包含了5或16个crc(cycle redundancy checks)位,其由封包的可能大小或类型来决定,如表所列。
表 封包类型与字段
crc的计算方式是将要传输的数据块当作一堆连续位所构成的整个数值,并将此数值除以一个特定的除数。这个除数是以二进制来加以表示的,通常又称为衍生多项式(generatton polynomoal)。针对usb 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位串流将会涵盖位填塞部分。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
每一个封包、令牌、数据、起始封包等都包含了用来作为错误检验的位,以用来确认跟随着封包pid字段之后的信息。而信息变化的特性是根据封包类型来决定的。每一个封包含了5或16个crc(cycle redundancy checks)位,其由封包的可能大小或类型来决定,如表所列。
表 封包类型与字段
crc的计算方式是将要传输的数据块当作一堆连续位所构成的整个数值,并将此数值除以一个特定的除数。这个除数是以二进制来加以表示的,通常又称为衍生多项式(generatton polynomoal)。针对usb 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位串流将会涵盖位填塞部分。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:USB的传输类型简介
上一篇:USB通信协议——错误检查