ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

まだまだ、続いているMIPI解析

ZYBO Z7用のMIPI Rx回路を作成しようとしているんだけど、もう少しマジメに解析してみよう。

昨日まで解析してたのは4 Laneモードでの解析だったみたいで、データを計算するとCRCが合わなかったのだ。

そこでマジメに解析ってことに・・・

40001A60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
40001A70: 00 00 00 00 00 00 00 00 AE B8 00 00 0A D0 00 00 
40001A80: C3 3C 00 00 06 14 00 00 07 14 00 00 07 14 00 00 
40001A90: 07 14 00 00 07 14 00 00 47 14 00 00 07 14 00 00 
40001AA0: 07 15 00 00 07 15 00 00 47 14 00 00 C7 15 00 00 

なぜか、ZYBO Z7では 2 Laneモードの場合、0xAEから始まるデータで取得できるみたい。

データを並べる

Lane 0

07_06_C3_0A_AE_00

Lane 1

14_14_3C_D0_B8_00

ビット列に展開

Lane 0

0000_0111 0000_0110 1100_0011 0000_1010 1010_1110 0000_0000

Lane 1

0001_0100 0001_0100 0011_1100 1011_0000 1011_1000 0000_0000

SoTを探す

下記のイタリックの部分が各LaneのSoTである。

Lane 1のSoTはLane 0より2bit遅く出現する(元はシリアル通信なので)。

Lane 0

0000_0111 0000_0110 1100_0011 0000_1010 1010_1110 0000_0000

Lane 1

0001_0100 0001_0100 0011_1100 1011_0000 1011_1000 0000_0000

SoTを起点にデータを取り直す

Lane 0

0001_1100 0001_1011 0000_1100 0010_1010 1011_1000

Lane 1

0001_0100 0001_0100 0011_1100 1011_0000 1011_1000

Lane 0/1で交互にデータを取ると・・・

2A_D0_0C_3C

こんな感じでこのパターンはRAW 8bitのWidthが0x0CD0で0x3CがECCとなる。

ECCも計算値と間違ってないので、これでOKなのである。