参数配置
驱动配置
MDI 驱动依赖 MPP 中的 VIN 子模块,而且用到的是其中的 DevMode,需要提前打开。
打开 MPP VIN DevMode
在 Luban-Lite 根目录下执行 scons --menuconfig
,进入 menuconfig 的功能配置界面,按如下选择:
Local packages options --->
ArtInChip packages options --->
[*] aic-mpp --->
[*] Enable Video Input interface of DevMode
(6278400) Size of Video Input buffer
2
3
4
5
注解
其中 Size of Video Input buffer
需要根据应用场景的图像数据格式来计算。
MDI -> DE 场景的资源需求
MDI 取到的数据放入 Buffer 队列,该 Buffer 队列会直接交给 DE 去显示。运行过程中为了流畅度,Buffer 队列需要的 Buffer 数量至少是 3。
Buffer 的大小主要取决于 Framebuffer 的图像格式,下表以 1024*600 显示分辨率列举一些情况:
FB 格式 | Buffer Size | Buffer 个数 | 总的 RAM 需求 |
---|---|---|---|
RGB565 | 1,228,800 | 3 | 3,686,400 |
RGB888 | 1,843,200 | 3 | 5,529,600 |
MDI -> GE -> DE 场景的资源需求
MDI 取到的数据先放入 Buffer 队列,该 Buffer 队列会交给 GE 去处理,然后 GE 输出到一对乒乓 Buffer,乒乓 Buffer 再转交 DE 去显示。同上,运行过程中为了流畅度,Buffer 队列需要的 Buffer 数量至少是 3。
这种场景要分两部分去计算 Buffer 需求: Buffer 总大小 = Buffer 队列的大小 + 乒乓 Buffer 的大小
1.Buffer 队列中,单个 Buffer 的大小取决于 MDI 的输入图像格式。下表是一些格式举例:
输入格式 | 输入分辨率 | 输入 Buffer Size | 输入 Buffre 个数 | RAM 需求 |
---|---|---|---|---|
RGB565 | 320*480 | 307,200 | 3 | 921,600 |
RGB888 | 320*480 | 460,800 | 3 | 1,382,400 |
RGB565 | 640*480 | 921,600 | 3 | 1,728,000 |
RGB888 | 640*480 | 921,600 | 3 | 2,592,000 |
注解
在局部刷新 的场景中,需要用一块 Buffer 来当作背景图的备份,所以在上表基础上 Buffer 队列中的 Buffer 个数需要再加一。
2.乒乓 Buffer 中,单个 Buffer 的大小取决于 DE 的图像格式。下表是一些格式举例:
FB 格式 | Buffer Size | Buffer 个数 | RAM 需求 |
---|---|---|---|
RGB565 | 1,228,800 | 2 | 2,457,600 |
RGB888 | 1,843,200 | 2 | 3,686,400 |
结合上述数据,为了覆盖大部分场景, Size of Video Input buffer
默认值使用输入 640*480、RGB888 格式计算得到 6278400,如果输入超过 640*480、RGB888 的资源需求,就需要调大此 Buffer。
这里提供一个表格,方便客户根据数据源格式、显示格式来计算 Buf 资源的需求: MDI Buf 资源需求的计算表
打开 MDI 驱动
同上,进入 menuconfig 的功能配置界面,按如下选择:
Board options --->
[*] Using MDI
(PE.11) Busy signal PIN
[*] Data sequence is First-In-First-Save
2
3
4
Busy signal PIN
用于向 Host 发送 Busy 信号,默认值 PE.11
在 D12x 中并不存在,需要根据实际板级电路修改此参数。
Data sequence is First-In-First-Save
用于调整输入信号的存放顺序,取决于数据源格式和数据线的排布方式。