哥超真的想笑

哥超真的想笑

0个粉丝

7

问答

0

专栏

0

资料

哥超真的想笑  发布于  2025-11-10 15:09:53
采纳率 43%
7个问答
177

SS928 PHY_PH_MIPI_LINK的具体含义

 

MIPI手册中有这样一个寄存器:PHY_PH_MIPI_LINK

按它所说,如果只用8位,来存储一个数据包的包头,那么这个包头大概率是DI码,而现在我想抓取一个DI码为0x08的数据包,

每隔100us获取一下四条通道的包头值,持续10000次,但一直直到跑完了所有次数,都没有读到0x08的包头,如图:
1:有没有大神知道这个PHY_PH_MIPI_LINK出现的0x0F10002A是什么意思?
2:如果按手册所说分别是四条通道的DI码,那为什么没有获取到我的包头?是不是方法不行?

我来回答
回答5个
时间排序
认可量排序

哥超真的想笑

0个粉丝

7

问答

0

专栏

0

资料

哥超真的想笑 2025-11-10 17:00:48
认可2

又仔细想了一下,按数据推测的话,这不应该分别是四个数据包的DI码,
应该是最近一次包头的整个包头值,但按道理讲,也应该能抓到0x08
如下:这样应该是刚好对上的
Lane 0(低 8 位):0x2A → DI = 0x2A(raw)。
Lane 1:0x00 → WC[7:0](WC,低字节)= 0x00。
Lane 2:0x10 → WC[15:8](WC,高字节)= 0x10,总 WC = 0x1000(4096 字)。
Lane 3(高 8 位):0x0F → ECC(ECC)= 0x0F。

1:有没有可能是这个短包,传输时间太短,导致100us一次无法捕捉到?
2:或者这个寄存器只能看长包包头,无法拿到短包包头?有没有大神知道?

读书不看书

0个粉丝

0

问答

0

专栏

0

资料

读书不看书 2025-11-25 23:43:25
认可0

看来你还懂一点MIPI,这个包datatype是2A也就是raw8的长包,CSI短包一般只有两种,datatype是00对应Frame start,datatype是01对应Frame end。读这个寄存器的时候是随机抓取的,如果在V blank读就会读到01的包,读到00的包的概率小到几乎不可能遇到,因为出现00的包之后就是长包包,这个间隔很短

读书不看书

0个粉丝

0

问答

0

专栏

0

资料

读书不看书 2025-11-26 07:52:59
认可0

能读到00的包就说明你程序写的没错。要先确认sensor会不会发08的包,即使有08的包,那也要08的包是在一帧中的固定位置发送才有每次都抓到,这种情况用VI的帧结束中断加延时有希望稳定抓到。

哥超真的想笑
哥超真的想笑   回复   读书不看书  2025-11-27 16:43:48
0

我观察发现,在海思例程给的寄存器中有一个帧中断会触发,就是mipi_int_raw,每触发一次,帧号就会增加1,怀疑应该是帧接收中断,能否用这个进行延时然后尝试抓取?

读书不看书
读书不看书   回复   哥超真的想笑  2025-11-28 07:07:19
0

这个是帧起始中断,就是收到datatype是00的Frame start包就给个中断。还是要看sensor手册08的包在哪才行,另外这个帧起始和有效像素包距离很近,估计00也很难读到

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区