K230视频输出API参考
1. 概述
VO(Video Output,视频输出)模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形。芯片支持的显示/回写设备、视频层和图形层情况。
LAYER层支持:
LAYER0 | LAYER1 | LAYER2 | |
---|---|---|---|
输入格式 | YUV420 NV12 | YUV420 NV12 | YUV420 NV12 YUV422 NV16 ? |
最大分辨率 | 1920x1080 | 1920x1080 | 1920x1080 |
叠加显示 | 支持可配置叠加顺序 | 支持可配置叠加顺序 | 支持可配置叠加顺序 |
Rotation | √ | √ | - |
Scaler | √ | - | - |
Mirror | √ | √ | - |
Gray | √ | √ | - |
独立开关 | √ | √ | √ |
OSD 层支持
OSD0 | OSD1 | OSD2 | OSD3 | |
---|---|---|---|---|
输入格式 | RGB888 RGB565 ARGB8888 Monochrome-8-bit RGB4444 RGB1555 | RGB888 RGB565 ARGB8888 Monochrome-8-bit RGB4444 RGB1555 | RGB888 RGB565 ARGB8888 Monochrome-8-bit RGB4444 RGB1555 | RGB888 RGB565 ARGB8888 Monochrome-8-bit RGB4444 RGB1555 |
最大分辨率 | 1920x1080 | 1920x1080 | 1920x1080 | 1920x1080 |
叠加显示 | 支持可配置叠加顺序 | 支持可配置叠加顺序 | 支持可配置叠加顺序 | 支持可配置叠加顺序 |
ARGB 265 等级ALPHA | √ | √ | √ | √ |
独立开关 | √ | √ | √ | √ |
1.1 硬件描述
本次硬件介绍是以evblp3 做的介绍
1.1.1 Mipi接口
在evblp3 上的硬件引脚如下:
- 屏幕触摸iic用的iic4 (scl:gpio7,sda gpio8)
- 屏幕触摸 rst:gpio29, int:gpio30
- 屏幕的rst:gpio9,backlight:gpio31
- Mipi的引脚和屏幕的引脚一一对应
1.1.2 实物图
- 图中1为mipi接口,采用的是软排线
- 图中2为mipi信号测试点、包含四路data线和一路clk线
1.2 软件描述
视频输出软件配置分为3部分配置:phy 配置、dsi配置、VO配置,
1.2.1 PHY的配置流程
phy的频率需要配置三个参数、计算PLL、配置voc、配置freq,根据这三个参数就可以确定txphy的频率,每一个的参数计算如下。
1.2.1.1 计算phy的pll
数据速率由 PLL 输出时钟相位频率的两倍给出:数据速率 (Gbps) = PLL Fout(GHz) * 2,输出频率是输入参考频率和倍频/分频比的函数。 计算phy 的pll共分为4种范围做的计算,不同的频率对应着不同的频率,它可以通过以下方式确定:
M | m+2 |
---|---|
N | n+1 |
Fclkin | 24M |
For:
然而在这个需要遵循下边的限制:
For:
For:
For:
上边的每一个for 对应着一个pll的等级、不同的等级对应着不同的计算公式和限制,计算示例如下:
Example:
mipi 的速率为 445.5M:所以pll的速率就是222.75M,应该选择第二个公式,计算如下
222750000 = 1M / 2N = (m+2) / 2(n+1) * 24000000 , 整理完成公式如下:
222.75n + 198.75 = 12m ,通过excel 计算如下:
得出来的m = 295 ,n = 15。
配置pll中的m 和n都是整数值、如果所有的值都不是整数,就需要在m 和 n的值做加1和减1处理、反推回去看哪个频率理你需要的最近,再去验证是否可用,不可以就重复上边的操作。
1.2.1.2 配置phy的voc
配置phy 的voc 可以根据表格查询即可:
Example:
mipi 的速率为 445.5M:所以pll的速率就是222.75M,voc = 010111 = 0x17
1.2.1.3 配置freq
配置phy 的freq 可以根据表格查询即可:
Example:
mipi 的速率为 445.5M:pll的速率就是222.75M,freq 选择0100101, 配置这个的时候需要将最高位bit[7] = 1,所有freq = 10100101= 0xa5
1.2.2 DSI的配置
DSI(Display Serial Interface)是MIPI 定义的一组通信协议的一部分联盟,主要实现 MIPI DSI 规范中定义的所有协议功能的数字控制器,包含了具有两个和四个通道的双向 PHY。
DSI在软件中主要配置屏幕显示用的timing和发送命令的功能。