本文介绍MIPI读操作:master用DCS读0x0B寄存器,然后slave返回error包。
本示例master为SSD2828,slave为ICN9605C,为解ICN9605C mipi lp read bug时量测的信号波形,用此来说明mipi lp读操作。其中SSD2828在发送读指令时会先发送最大返回数据然后再发送要读的寄存器数据,本例中采用DCS short packet方式来读。
STEP1:master发送值解析示例如下:
LP11->LP10->LP00->LP01->LP00,进入escapemode:
Byte 0 is 0x87 (escape mode 8-bit entry command)
Byte 1 is 0x37 (short packet DI, 0x37 meansset maximum return packet size)
Byte 2, Byte3 are 0x01,0x00 (they are shortpacket data)
Byte 4 is ECC
Byte 5 is 0x06 ((short packet DI, 0x06means DCS read , no parameters)
Byte 6, Byte7 are 0x0B,0x00(they are short packet data. they mean the register read by master in thisexample)
Byte 8 is ECC
LP00->LP11退出escape mode
波形图如下:
此过程连续发了两个short packet,也可以每发送一个short packet退出escape mode一次。
Step 2: master控制总线进入Turnaround然后交出总线控制权:
LP11->LP10->LP00->LP10->LP00
然后退出Turnaround模式
LP00->LP10->LP11
此时master交出总线控制权,mipi总线转由slave控制
波形图如下:
Step3: slave返回值解析如下:
LP11->LP10->LP00->LP01->LP00,进入escapemode:
Byte 0 is 0x87 (escape mode 8-bit entry command)
Byte 1 is 0x02 (short packet DI, 0x02 meanserror report)
Byte 2, Byte3 are 0x00,0x02 (they are shortpacket data, they mean the error type)
Byte 4 is 0x39 (ECC)
Byte 5, Byte6, Byte7, Byte8 are 0x08, 0x0f,0x0f, 0x01(they are EOT)
LP00->LP11退出escape mode
波形图如下:
Step 4: Slave控制总线进入Turnaround然后交出总线控制权:
LP11->LP10->LP00->LP10->LP00
然后退出Turnaround模式
LP00->LP10->LP11
此时slave交出总线控制权,mipi总线转由master控制
波形图如下:
整个过程的波形图如下: