歩き遍路 平成19年春(J1) 記録の準備

CRC5ハードウエアアルゴリズムの実装

 以前、「Tokenパケット用CRC5のハードウエアアルゴリズム」で検討したものを、ハードウエアに実装しました。

●実験の構成と結果
 構成図の様に、USB Hostと USB Device 間のUSBケーブルに流れる信号を捉え、CRC5をハードウエアで計算しました。計算結果と、信号から抽出したCRC5 を比べています。
 
 ロジックスコープの波形は、捉えたパケット信号で、ハンドエンコードした結果を合成しました。
 ハンドエンコードの結果は、Sofパケットで、フレーム番号は1、Crc5は1Dhです。

 実際の動作は、USBケーブルに流れる信号を、UsbPhyUTMIで監視していて、Sync信号を見付けると、以後を取り込み、8ビット信号に変換します。それを、FPGAでCrc5の計算しています。Crc5の計算は、1〜2nS程度で出来ています。


 


●CRC5処理
 実装したCRC5ハードウエアです。VerilogHDLで記述しています。

 その下の、以前に検討した「Tokenパケット用CRC5のハードウエアアルゴリズム」に冗長な部分が有ったので省いています。


 



 以前に検討した「Tokenパケット用CRC5のハードウエアアルゴリズム」

  C4 = D0^D1^D2^D5^D6^D8^C2^C3^C4
  C3 = D0^D1^D2^D3^D6^D7^D9^C1^C2^C3^C4
  C2 = D0^D1^D2^D3^D4^D7^D8^D10^C0^C1^C2^C3^C4
  C1 = D0^D3^D4^D6^D9^C0^C1^C4
  C0 = D0^D1^D4^D5^D7^D10^C0^C3^C4

 これにビット極性反転とビット位置逆転を加えても少しのハードウエアで実現できそうです。安心しました。



ホームへ戻る