2.10. LCD接口(PAP,EMI,RGB)

您所在的位置:网站首页 Mcu屏幕接口时序 2.10. LCD接口(PAP,EMI,RGB)

2.10. LCD接口(PAP,EMI,RGB)

2024-04-21 05:59| 来源: 网络整理| 查看: 265

1、EMI接口

EMI接口是专为8bit、16bit、32bit的并行数据通信接口。EMI的结构体详情对应CPU的 emi.h。

(1) board.c 添加emi设备应用层结构体、添加到设备列表、头文件 ``#include “asm/emi.h” ``

/***********************下列为:AC790N(WL80)***********************/ //emi设备应用层的硬件相关配置 static const struct emi_platform_data emi_data = { .bits_mode = EMI_8BITS_MODE, //并行接口数据位,固定IO,详情查看硬件数据手册,EMI_8BITS_MODE、EMI_16BITS_MODE、EMI_32BITS_MODE .baudrate = EMI_BAUD_DIV2, //时钟 = LSB_CLK / (baudrate + 1) , LSB分频 .colection = EMI_FALLING_COLT, //从设备边缘采集数据:EMI_FALLING_COLT / EMI_RISING_COLT : 下降沿 上升沿 采集数据 }; /***********************下列为:AC791N(WL82)***********************/ //emi设备应用层的硬件相关配置 static const struct emi_platform_data emi_data = { .bits_mode = EMI_8BITS_MODE, //并行接口数据位,固定IO,详情查看硬件数据手册,EMI_8BITS_MODE、EMI_16BITS_MODE、EMI_32BITS_MODE .baudrate = EMI_BAUD_DIV2, //时钟 = HSB_CLK / (baudrate + 1) , HSB分频 .colection = EMI_FALLING_COLT, //从设备边缘采集数据:EMI_FALLING_COLT / EMI_RISING_COLT : 下降沿 上升沿 采集数据 .time_out = 1*1000, //最大写超时时间ms .data_bit_en = 0, //数据位使能输出位:0默认根据bits_mode数据位来配置 .th = EMI_TWIDTH_NO_HALF, //具体看emi.h .ts = 0, //具体看emi.h .tw = (EMI_BAUD_DIV > 1) ? EMI_BAUD_DIV / 2 : 1,//具体看emi.h }; //设备列表添加emi设备 { "emi", &emi_dev_ops, (void *)&emi_data}, /***************************************时序图*************************************************/ /*注意: AC790N(WL80)不能调节WR信号的脉宽,使用时需注意从设备是否能采集WR信号(脉宽信号为几个emi的时钟)。 AC791N(WL82)可调节WR信号的脉宽。 timing_setup(tw) timing_half(th) timing_width(tw):数据传输配置 写时钟信号(极性):AC791N(WL82)才可以修改tw时间宽度 __________ _________ wr =0: ____________| |_____________| |__________ wr =1: ____________ _____________ __________ |__________| |_________| 数据信号: ________________________ ______ data: _____| |_____________________| | | ts,tw: | | | | ||| | | | | | | | || | | | | | | ts:0-255,ts个hsb时钟宽度 tw:0-255,tw个hsb时钟宽度 th:0-1,0-->tw:wr不减少半个hsb时钟周期,1-->tw:wr减少半个hsb时钟周期 */

(2)EMI硬件使用IO说明: EMI只有固定接口,只有一个WR信号,主要分布在PC PG PH PE,详情数据手册。

2、PAP接口

PAP口是专为8bit、16bit并行数据通信接口。PAP的结构体详情对应CPU的 pap.h 。

(1) board.c 添加pap设备应用层结构体、添加到设备列表、头文件 ``#include “asm/pap.h” ``。

//pap设备应用层的硬件相关配置 static const struct pap_info pap_data = { .datawidth = PAP_PORT_8BITS, //并行接口数据位,固定IO,详情查看硬件数据手册 .endian = PAP_LE, //数据输出大小端 .cycle = PAP_CYCLE_ONE, //1/2字节发送次数 .pre = PAP_READ_LOW, //读取rd有效电平 .pwe = PAP_WRITE_LOW, //写wr有效电平 .use_sem = TRUE, //使用信号等待 .rd_en = FALSE, //不使用rd读信号 .port_sel = PAP_PORT_A, //PAP_PORT_A PAP_PORT_B .timing_setup = 1, //具体看pap.h .timing_hold = 1, //具体看pap.h .timing_width = 2, //具体看pap.h }; //设备列表添加pap设备 { "pap", &pap_dev_ops, (void *)&pap_data}, /***************************************时序图*************************************************/ /*注意: AC790N(WL80):8bit模式使用硬件高位IO时,低8位不可用作其他功能(使用低8位IO则先关闭PAP IO占据。即PAP_PORT_DIS())。 AC791N(WL82):8bit模式使用硬件高位IO时,低8位可以使用做其他功能。 timing_setup(tw) timing_half(th) timing_width(tw):数据传输配置 写时钟信号(极性): __________ _________ pwe=H: ____________| |_____________| |__________ pwe=L: ____________ _____________ __________ |__________| |_________| 数据信号: ________________________ ______ data: _____| |_____________________| | | ts,tw,th: | | | | |||| | | | | ts:0-3,ts个lsb系统时钟宽度 tw:0-15,0-->16个lsb系统时钟宽度,1-15:tw个lsb系统时钟宽度 th:0-3,th个lsb系统时钟宽度 */

(2)PAP硬件使用IO说明:

A:当.datawidth = PAP_PORT_8BITS,则硬件可以选择数据IO:D0-D7或者D8-D15 ①.endian == PAP_LE,则使用PH0 - PH7,

②.endian == PAP_BE,.port_sel=PAP_PORT_A,则使用PC1 - PC8

②.endian == PAP_BE,.port_sel=PAP_PORT_B,则使用PE2 - PE9

B:当.datawidth = PAP_PORT_16BITS,endian无效,则硬件可以选择数据IO:D0-D15 ①.port_sel=PAP_PORT_A,则使用PH0 - PH7,PC1-PC8

②.port_sel=PAP_PORT_B,则使用PPH0 - PH7,PE2-PE7

C:当..port_sel =PAP_PORT_A,则WR硬件使用PC9,RD使用PC10,当..port_sel =PAP_PORT_B,则WR硬件使用PE0,RD使用PC0

注意:.rd_en = FALSE,则可以不使用RD硬件IO。

3、IMD接口

IMD口是专为8bit-DVP并行数据通信接口。IMD的结构体详情对应CPU的 WL82_imd.h。

注意:只有AC791N(WL82)芯片才具有IMD接口,硬件接口为固定的PA和PC和PH3,同时sync0、sync1、sync2都可选择为VSYN或HSYN或DE信号输入,详见芯片的数据手册。

(1)board.c添加imd设备应用层结构体、添加到设备列表、头文件 #include "asm/WL82_imd.h" ``。应用层结构体配置详见 ``apps/common/ui/lcd_driver/lcd_480x272_8bits.c 。

//IMD应用层结构体信息硬件相关配置 IMD_RGB_PLATFORM_DATA_BEGIN(lcd_rgb_data) .test_mode = TRUE, //初始化颜色显示 .double_buffer = TRUE, //底层使用双buffer切换 .test_color = 0xFFFF00, //初始化颜色(r


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3