USER GUIDE / DISPLAY / DISPLAY CONTROLLER / DISPLAY INTERFACE CONFIGURATION
显示接口配置
显示接口按 TFT 与 SLCD 两种输出模式分别配置寄存器,公共参数位于 Common 组。寄存器名称采用手册映射表的简称。
Common
显示接口公共配置
DISP_COMBASE + 0x8000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:22 | Reserved | 写入无影响,读取为零。 | R |
| 21:16 | DP_DITHER_DW | 仿色移位 0:降低0bit(默认) 1:降低2bit 2:降低3bit 3:降低4bit [17:16]:配置蓝色 [19:18]:配置绿色 [21:20]:配置红色 当源像素为 RGB888,输出为 RGB666/565 时,该值应 为 010101/100110。 | RW |
| 15:8 | Reserved | 写入无影响,读取为零。 | R |
| 7 | DITHER_CLKGATE_EN | 仿色移位时钟门控 1:打开时钟门控 0:关闭时钟门控,仿色移位始终有时钟 | RW |
| 6 | SLCD_CLKGATE_EN | SLCD 时钟门控 1:打开时钟门控 0:关闭时钟门控,SLCD始终有时钟 | RW |
| 5 | TFT_CLKGATE_EN | TFT 时钟门控 1:打开时钟门控 0:关闭时钟门控,SLCD始终有时钟 | RW |
| 4 | DP_DITHER_EN | 仿色使能 0:仿色关闭(默认) 1:仿色打开 注意:如果源数据不是888类型的,仿色需要被关闭。 | RW |
| 3 | Reserved | 写入无影响,读取为零。 | R |
| 2:0 | DP_IF_SEL | 显示接口选择 0:不显示(默认) 1:TFT 2:SLCD 3:SLCD_MIPI 4:LVDS(模块内部支持,但是顶层未集成) 12.1.7.2 TFT TIMING_HSYNC | RW |
TFT
TFT 水平同步时序
TFT_TIMING_HSYNCBASE + 0x9000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | HPS | HSYNC 脉冲起始点 (基于点时钟周期) 不能为0 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | HPE | HSYNC脉冲终点 (基于点时钟周期) 不能为0 TIMING_VSYNC | RW |
TFT 垂直同步时序
TFT_TIMING_VSYNCBASE + 0x9004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | VPS | VSYNC脉冲起始点 (基于点时钟周期) 不能为0 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | VPE | VSYNC脉冲终点 (基于点时钟周期) 不能为0 TIMING_HDE | RW |
TFT 水平显示区域
TFT_TIMING_HDEBASE + 0x9008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:29 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | HDS | 水平显示区域起始点(基于点时钟),同时也是水平方向上DE脉冲的起始 点。它表示水平后沿的终点。 | RW |
| 15:13 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | HDE | 水平显示区域终点(基于点时钟),同时也是水平方向上DE脉冲的终点。 它表示水平前沿的终点。 TIMING_VDE | RW |
TFT 垂直显示区域
TFT_TIMING_VDEBASE + 0x900c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | VDS | 垂直显示区域起始点(基于点时钟),同时也是垂直方向上DE脉冲的 起始点,它表示垂直后沿的终点。 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | VDE | 垂直显示区域终点(基于点时钟),同时也是垂直方向上DE脉冲的终 点,它表示垂直前沿的起点。 TRANS_CONFIG | RW |
TFT 传输配置
TFT_TRAN_CFGBASE + 0x9010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:18 | Reserved | 写入无影响,读取为零。 | R |
| 21:19 | COLOR_EVEN | 偶数行(2,4,6…)输出色彩序列的模式 000:RGB→RGB 001:RGB→RBG 010:RGB→BGR 011:RGB→BRG 100:RGB→GBR 101:RGB→GRB | RW |
| 18:16 | COLOR_ODD | 奇数行(1,3,5)输出色彩序列的模式 000:RGB→RGB 001:RGB→RBG 010:RGB→BGR 011:RGB→BRG 100:RGB→GBR 101:RGB→GRB | RW |
| 15:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | PIX_CLK_INV | 反转DOT_CLK的极性 | RW |
| 9 | DE_DL | DE的默认电平(无效电平) | RW |
| 8 | HSYNC_DL | HSYNC的默认电平(无效电平) | RW |
| 7 | VSYNC_DL | VSYNC的默认电平 (无效电平) | RW |
| 6:3 | Reserved | 写入无影响,读取为零。 | R |
| 2:0 | MODE | 000:888 并行模式 001:666并行模式 010:565 并行模式 100:8bits 不带dummy的串行模式(RGB) 101:8bits 带dummy的串行模式(RGBD) STATUS | RW |
TFT 状态
TFT_STBASE + 0x9014
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:2 | Reserved | 写入无影响,读取为零。 | R |
| 1 | WORKING | 0:TFT 不工作 1:TFT正在工作 | R |
| 0 | UNDER | 指示控制器跳转到恢复状态,并传输一帧0数据至面板 0:TFT处于工作状态 1:TFT处于UNDER模式 12.1.7.3 SLCD(Smart LCD) SLCD_CONFIG | R |
SLCD
SLCD 面板配置
SLCD_PANEL_CFGBASE + 0xa000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27 | Reserved | 默认0 | RW |
| 26 | FMT_EN | REG_IF的像素数据是否需要转换 0:不需要转换(默认值) 1:需要转换 | RW |
| 25:23 | DBI_TYPE | 001:typeA(6800) 010:typeB(8080)(default) 100:typeC(SPI-3line) 101:typeC(SPI-4line) 其他:保留 22:21 PIX_FMT 输出格式 00:565 (typeA/B、typeC) 01:666 (typeA/B) 01:444 (typeC) 10:888 (typeA/B、typeC)(default) 注意: typeA/B 当DWIDTH=8bits,这里只有565 和 888格式; 当DWIDTH=9bits,只有666 格式; 当DWIDTH=16bits,只有565 格式; 当DWIDTH=18bits,只有666格式; 当DWIDTH=24bits,这里只有888格式; typeC: 有444、565、888(对于888,每个字节的高6bit对于lcd屏幕都 是有效的,所以lcd屏幕的格式是666) | RW |
| 20 | TE_ANTI_JIT | 防抖TE 0:具有一个pixel clk 周期的TE采样(default) 1:用三个pixelclk周期的TE采样进行防抖 | RW |
| 19 | TE_MD | TE的有效沿 0:前沿(默认) 1:后沿 | RW |
| 18 | TE_SWITCH | 0:不等待TE,在SLCD_START之后发送pix_data 1:等待TE,然后发送命令或数据(默认) | RW |
| 17 | Reserved | 默认0,不能写1 16 CS_EN CS 控制使能 0:CS 引脚由 GPIO 控制(默认值) RW 1:CS 引脚由 SLCD 控制。 | RW |
| 15:12 | Reserved | Writinghas noeffect,read as zero. | R |
| 11 | CS_DP | CS 默认极性 0:默认极性为低 1:默认极性为高 (1:也可被当作AXI的bready信号直接给到DPU(默认) 如果设置为0,AXI的bready会先进入fifo再给到DPU) | RW |
| 10 | Reserved | 默认0 | RW |
| 9 | DC_MD | DC 的定义。 0:命令 DC = 低电平,数据 DC= 高电平(默认值) 1:命令 DC = 高电平,数据 DC= 低电平 | RW |
| 8 | WR_MD | WR 的定义 0:上升沿驱动(驱动电平为高电平) 下降沿采样(采样电平为低) 1:下降沿驱动(驱动电平为低电平) 上升沿采样(采样电平为高)(默认) 注意:TypeC时,SPI_CLK为WR管脚 | RW |
| 7 | TE_SWITCH_MI | 0:不等待TE,在SLCD_START之后发送pix_data PI 1:等待TE,然后发送命令或数据.(默认) | RW |
| 6 | TE_DP | TE 的默认极性 0:默认(无效)电平为低电平(默认值) 1:默认(无效)电平为高电平 | RW |
| 5:3 | DWIDTH | typeA/B下的面板数据宽度. 000:8bits(typeA/B) 001:9bits(typeA/B) 010:16bits(typeA/B) 注意:使用slcd时 必须配置此项 注意:当typeC时,DWIDTH没有用 | RW |
| 2:0 | CWIDTH | 面板命令及其参数的宽度 000:8bits(typeA/B) (默认) 001:9bits(typeA/B) 010:16bits(typeA/B) 011:18bits(typeA/B) 100:24bits(typeA/B) 注意:TypeC时, CWIDTH没有用,但是只有8bits的命令是可以 被支持的。 1.在配置阶段,保持CS无效 2.在DMA模式,像素数据将会被格式化,不受FMT_EN的控制。在寄存器模式,命令和参数将不会 被格式化,不受FMT_EN的控制。在寄存器模式,像素数据受FMT_EN的控制(0:SLCD直接输出REG_IF 内容的低8/16/18bit。1:SLCD对REG_IF的内容做转换) 3.当使用 REG_IF 发送命令时,输出命令仅由 CWIDTH 决定。如果 CWIDTH 为 8 位,则只有 REG_IF 的低 8 位内容有用,其他位将丢失;如果 CWIDTH 为 9 位,则只有 REG_IF 的低 9 位内容 有用,其他位将丢失;以此类推。 SLCD_WR_DUTY | RW |
SLCD 写占空比
SLCD_WR_DUTYBASE + 0xa004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:24 | DSTIME | WR 发送像素或参数时的采样电平周期 | RW |
| 23:16 | DDTIME | WR 发送像素或参数时的驱动电平周期 | RW |
| 15:8 | CSTIME | WR 发送命令时的采样电平周期 | RW |
| 7:0 | CDTIME | WR 发送命令时的驱动电平周期 该说明基于 8080(MIPI DBITypeB)和 SPI(MIPI DBITypeC)模式,与 6800(MIPIDBITypeA) 模式相反。实际周期为 n+1。 SLCD_TIMING | RW |
SLCD 时序
SLCD_TIMINGBASE + 0xa008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:24 | TCH | CS保持时间 | RW |
| 23:16 | TCS | CS设置时间 | RW |
| 15:8 | TAH | 地址保持时间 | RW |
| 7:0 | TAS | 地址设置时间 注:TAS、TCS、TCH 可用于并行和串行模式,而 TAH 仅用于串行模式,实际周期为 n+1。 SLCD_FRM_SIZE | RW |
SLCD 帧尺寸
SLCD_FRM_SIZEBASE + 0xa00c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | V_SIZE | 每帧的行号 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | H_SIZE | 每行的像素编号 SLCD_SLOW_TIME | RW |
SLCD 慢速时间
SLCD_SLOW_TIMEBASE + 0xa010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | SLOW_TIME | 如果使用SLCD等待 TE 的相对边沿的功能,则 SLCD将等待 SLOW_TIME 的 pixclk 周期,然后才开始刷新数据 注意:当DP_IF_SEL==SLCD_MIPI 时,SLOW_TIME必须为0 SLCD_REG_IF | WR |
SLCD 寄存器操作接口
SLCD_REG_IFBASE + 0xa014
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:30 | FLAG | 它用于决定 DATA/CMD/PARAMETER 的含义。 00:像素数据 01:参数 1x:命令(默认) | RW |
| 29 | CMD_END | 表示这是最后一个内容,硬件将关闭CS | RW |
| 28:24 | Reserved | 写入无影响,读取为零。 | R |
| 23:0 | content | 传输内容 注意:使用 reg_if 传输时,下一条命令(包括其参数)或 pix_data 必须等待 BUSY 为 0。 使用 SLCD_REG_IF 发送像素时不会出现 frm_end。 SLCD_STATUS | RW |
SLCD 状态
SLCD_STBASE + 0xa018
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | BUSY | 指示 SLCDDBI 接口控制器是否工作。 0:空闲 1:忙 SLCD_REG_CTRL | R |
SLCD 寄存器操作控制
SLCD_REG_CTRLBASE + 0xa01c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | RESET_3LINE | 当通过SLCD_REG_IF发送帧时,写1来重置内部计数器,在每帧之前。 | W |