USB通信協議——循環冗佘檢驗位
發布時間:2008/12/17 0:00:00 訪問次數:1035
每一個封包、令牌、數據、起始封包等都包含了用來作為錯誤檢驗的位,以用來確認跟隨著封包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通信協議——錯誤檢查