RPi 树莓派 DSI 接口研究 MIPI raspberry pi

本文介绍了树莓派的DSI接口及其使用MIPI DSI协议,讨论了DSI接口的挑战,包括硬件和软件方面的困难。目前,利用DSI接口主要面临定制屏幕驱动的难题,而官方的闭源驱动仅支持特定屏幕。解决方案包括桥接芯片和开源驱动,但都需要复杂的适配工作。作者呼吁下一代树莓派能单独导出DPI接口以简化开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一直在玩树莓派,发现有个DSI显示接口一直没有被用上,经过一番研究发现有点意思,记录一下相关资料以后再说。

1. DSI接口直接从BCM283x的CPU里面引出来,对应的是VC4(GPU核心)的一个输出,树莓派一共有两个DSI输出,DSI0只在树莓派的CM型号中引出。驱动这个端口目前有两种方法:

  • 官方(实际上是Broadcom和树莓派基金会)提供的闭源GPU驱动/firmware+kernel patch
  • 开源的DRM驱动,目前已经被整合到kernel当中,但在树莓派官方系统里面是可选项

2. DSI接口跑的具体协议是MIPI DSI协议,是MIPI组织规定的一种专有的视频传输协议,常见于手机屏幕。这种协议目前并不公开,相关的开发研究较为困难(在某些论坛散落者零星的资料)。与此类似的是CSI摄像头协议,但目前CSI协议已经被泄露,可以在网上找到详尽的spec。很久之前还有MIPI DPI协议,这个因为长时间的研究基本上已经被研究清楚,网上可以找到大量资料。

3 关于视频传输格式,基本可以分为三类,HDMI,VGA,A/V,DVI等面向最终用户的接口,这种接口比较常见,相关资料比较全面也容易适配,但是注意,这些接口一般需要芯片进行转换,为了通用性实际上无法直接驱动屏幕面板。第二类是一些通用的屏幕接口如edp,lvds,rgb(ttl)等等,这里所说的这些接口往往是可以直接驱动面板的,是直接编码的像素信息,复杂的是需要考虑时序和屏幕自身的参数(刷新时间,空白时间等等),另外这些协议设计的主要是像素编码和物理传输层的规定。第三类就是一些专用的屏幕接口,如MIPI DSI,MIPI DPI等等,这类接口的特性更为复杂,通过一些特定的指令序列进行控制和视频数据传输。

(补充,也有一些接口既可以外部连接,也可以直接用在屏幕上,比如DP和EDP)

4.关于树莓派的显示系统,视频相关的过程应当分为两部分分析:视频的渲染和视频的输出(编码)。

  • 视频渲染大体分为两种:直接渲染和GPU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值