S3c2440ALCD控制器配置实例

发布者:Weasel最新更新时间:2019-01-07 来源: eefocus关键字:S3c2440A  LCD  控制器配置 手机看文章 扫描二维码
随时随地手机看文章

本文所用的是东华TFT液晶屏(WXCAT35),配置为常用的16BPP(5:6:5)模式。


外部引脚信号:

VSYNC: 垂直同步信号,表示扫描1帧的开始

HSYNC: 水平同步信号,表示扫描1行的开始

VCLK:像素时钟信号

VDEN:数据使能信号

VD[23:0] : LCD像素数据输出端口

LEND/STH:行结束信号(TFT)/SEC TFT信号

LCD_LPCOE:SEC TFT OE信号
LCD_LPCREV:SEC TFT REV信号
LCD_LPCREVB:SEC TFT REVB信号


寄存器参数:

VSPW(vertical sync pulse width)       :垂直同步信号的脉宽,单位为1行(Line)的时间

VFPD(vertical front porch)                   : 垂直同步信号的前肩,单位为1行(Line)的时间

VBPD(vertical back porch)                  : 垂直同步信号的后肩,单位为1行(Line)的时间

LINEVAL :垂直显示尺寸-1,即屏竖直方向像素-1

HSPW(horizontal sync pulse width) :水平同步信号的脉宽,单位为1VCLK的时间

HBPD(horizontal back porch)              :水平同步信号的后肩,单位为1VCLK的时间

HFPD(horizontal front porth)                :水平同步信号的前肩,单位为1VCLK的时间

HOZVAL:水平显示尺寸-1,即屏水平方向像素-1

如240x320屏幕: LINEVAL=239 ;   HOZVAL=319

由上图可知:

扫描一帧的时间       =((VSPW+1) + (VBPD+1) + ( LINEVAL+1) + (VFPD+1)) * 行时间

扫描一行的时间    =((HSPW+1) + (HSPD+1+(HFPD+1)+ (HOZVAL+1)) * VCLK时间


一个VCLK的时间   =HCLK/[2*(CLKVAL+1)]

则:

扫描一帧所需的时间 =[(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)]* [(HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1)]*HCLK/[2*(CLKVAL+1)]


先看一下TFT屏的操作时序图: 东华TFT型LCD(WXCAT35)时序图


点击看大图                 点击看大图


//2440A寄存器参数

#define MVAL        (13)

#define MVAL_USED    (0)                 //0=each frame   1=rate by MVAL

#define INVVDEN           (1)                 //0=normal       1=inverted

#define BSWP               (0)                 //Byte swap control MSB\LSB设置

#define HWSWP           (1)                 //Half word swap control 高16bit与低16bit交换

#define PNRMODE        (3)                // 设置为TFT屏 11B为TFT模式

#define BPPMODE        (12)              // 设置为16bpp模式


//东华屏参数

#define VBPD              (15-1)            //15垂直同步信号的后肩   参数见 东华pdf

#define VFPD              (12-1)            //12 垂直同步信号的前肩

#define VSPW            (3-1)             //3垂直同步信号的脉宽

#define HBPD              (38-1)            //(22)水平同步信号的后肩

#define HFPD              (20-1)            //(33)水平同步信号的前肩

#define HSPW            (30-1)            //(44)水平同步信号的脉宽

#define CLKVAL_TFT (6)              //由以下计算可知:6


//屏大小

#define LCD_XSIZE_TFT    (240)//屏实际列数

#define LCD_YSIZE_TFT    (320)// 屏实际行数

#define SCR_XSIZE_TFT    (240) //虚拟屏列数

#define SCR_YSIZE_TFT    (320) //虚拟屏行数

#define HOZVAL_TFT   (LCD_XSIZE_TFT-1)

#define LINEVAL_TFT  (LCD_YSIZE_TFT-1)


以上有关东华屏参数设置,在PDF中如下所示:


点击看大图


 因为CLKVAL= int(HCLK/(VCLK*2)-1);

若设置HCLK=100M,其中VCLK即上图的DCL; 先带入经典值:6.4M, 则CLKVAL="int"(100/12.8-1)=int(6.8)=6. 设置CLKVAL为6重新计算VCLK=DCLK=HCLK/[(CLKVAL+1)x2]= 100/2*(6+1)= 7.14MHz

VFRAME=HCLK/[(CLKVAL+1)x2]/{(VSPW+1+VBPD+1+LCD_YSIZE_TFT+VFPD+1)*(HSPW+1+HSPD+1+HFPD+1+LCD_XSIZE_TFT)}=64.4HZ





有些液晶屏给的参数单位可能不一样,需要自己计算。



方法如下:


VBPD:确定帧同步信号和帧数据传输前的一段延迟时间,是帧数据传输前延迟时间和行同步时钟间隔宽度的比值,如图,VBPD=t3/t6=1.02 mS/31.77μs=32。


VFPD:确定帧数据传输完成后到下一帧同步信号到来的一段延迟时间,是帧数据传输后延迟时间和行同步时钟间隔宽度的比值,如图,VFPD=t5/t6=0.35 ms/31.77μs=11。


VSPW:确定帧同步时钟脉冲宽度,是帧同步信号时钟宽度和行同步时钟间隔宽度的比值。如图,VSPW=t2/t6=0.06 ms/31.77μs=2。


HBPD:确定行同步信号和行数据传输前的一段延迟时间,描述行数据传输前延迟时间内VCLK脉冲个数,如图,VBPD=t7×VCLK=1.89 μs×25MHz=47。


HFPD:确定行数据传输完成后到下一行同步信号到来的一段延迟时间,描述行数据传输后延迟时间内VCLK脉冲个数,如图,HFPD=t9×VCLK=0.94 μs×25 MHz="24"。


HSPW:确定行同步时钟脉冲宽度。描述行同步脉冲宽度时间内VCLK脉冲个数,如图,HSPW=3.77μs×25 MHz="94"。


S3C2440A LCD控制器配置


1. LCDCON1寄存器


点击看大图 


rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(PNRMODE<<5)|(BPPMODE<<1)|0;


其中:CLKVAL_TFT = 6;MMODE = MVAL_USED = 0;PNRMODE=3;BPPMODE=12。


ENVID=0(关闭视屏输出,需要开启显示是设为1)。


2. LCDCON2寄存器


点击看大图


rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW); 相关值见上文宏定义


3. LCDCON3寄存器


点击看大图


rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD); 相关值见上文宏定义


4. LCDCON4寄存器


点击看大图


rLCDCON4=(MVAL<<8)|(HSPW); 相关值见上文宏定义


5. LCDCON5寄存器


点击看大图


rLCDCON5 = (1<<11) | (1<<10) | (1<<9) | (1<<8) | (0<<7) | (0<<6) | (1<<3)  |(BSWP<<1) | (HWSWP);关于信号的极性 图二(东华TFT型LCD(WXCAT35)时序图)其中BSWP与数据存放有关见下文。


6. LCDSADDR1寄存器


点击看大图


volatile unsigned short LCD_BUFFER[SCR_YSIZE_TFT][SCR_XSIZE_TFT];//全局变量


#define M5D(n)                          ((n) & 0x1fffff)     // To get lower 21bits


rLCDSADDR1=(((U32)LCD_BUFFER>>22)<


 


7. LCDSADDR2寄存器


点击看大图


rLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );

//单位为字节 一个点16bit=2字节


 


8. LCDSADDR3寄存器


点击看大图

rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);

// 1=*16bit/半字=16/16


 


LCD初始化程序:

void Lcd_Init(void)

{

       //引脚功能初始化


       rGPCUP  = 0x00000000;

       rGPCCON = 0xaaaa02a9;        

       rGPDUP  = 0x00000000;

       rGPDCON=0xaaaaaaaa; //Initialize VD[15:8]

       rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(PNRMODE<<5)|(BPPMODE<<1)|0;

           // TFT LCD panel,16bpp TFT,ENVID=off(Disable the video output and the LCD control signal)

       rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW);

       rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);

       rLCDCON4=(MVAL<<8)|(HSPW);

       rLCDCON5 = (1<<11) | (1<<10) | (1<<9) | (1<<8) | (0<<7) | (0<<6) | (1<<3)  |(BSWP<<1) | (HWSWP);


       //5:6:5

       rLCDSADDR1=(((U32)LCD_BUFFER>>22)<

       rLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );//单位为字节 一个点16bit=2字节

       rLCDSADDR3=(((SCR_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);// 1=*16bit/半字=16/16

       rLCDINTMSK|=(3); // MASK LCD Sub Interrupt

       rTCONSEL &= (~7) ;     // Disable LPC3480

       rTPAL=0; // Disable Temp Palette

}


16BPP模式特点:

内存数据格式:


点击看大图 



点击看大图 


 点击看大图


 


数据引脚输出:没有用到的引脚可用作GPIO


点击看大图


系统结构图


点击看大图 

要显示图像,只要向LCD_BUFFER[]先入像素数据(R(5):G(6):B(5))。LCD控制器会自动通过DMA读取数据送往TFT LCD显示。


关键字:S3c2440A  LCD  控制器配置 引用地址:S3c2440ALCD控制器配置实例

上一篇:关于STM32F4的IAP的一点点记录
下一篇:s3c2440裸板_时钟系统及定时器

推荐阅读最新更新时间:2024-03-16 16:22

买不到瑞萨 RSP,苹果就自己组团队设计 LCD 驱动芯片
触控 IC 龙头 Synaptics 在 2014 年并购瑞萨(Renesas Electronics)旗下中小尺寸 LCD 驱动 IC 厂瑞力(Renesas SP Drivers;RSP),RSP 过去一直是苹果 iPhone 的 LCD 驱动 IC 独家供应商,据传这起全球触控 IC 龙头并购全球中小尺寸用 LCD 驱动 IC 龙头的案子,让向来爱玩两面手法的苹果,怕一家供应商独大的警铃大响,据产业人士在接受科技新报不具名采访时指出,苹果已启动自行研发 LCD 驱动 IC 的计画。 RSP 为全球最大的中小尺寸 LCD 驱动IC厂商,更在高解析度小尺寸 LCD 驱动IC技术领先,全球市占率约3成,由瑞萨、夏普、力晶分别
[手机便携]
0802LCD 4位显示程序 PIC单片机C语言程序
#include xc.h #include pic.h //#include head.h #define uchar unsigned char #define uint unsigned int #pragma config FOSC = XT // Oscillator Selection bits (XT oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT ena
[单片机]
国产全新LCD屏幕解密:支持15-144Hz刷新率调节 比肩OLED
今天,博主@数码闲聊站曝光了华星光电打造的一款全新LCD屏幕,这块屏幕可以做到15-144Hz刷新率自适应调节,堪比OLED。   目前OLED屏幕已经做到了刷新率自适应,像小米12 Pro、realme GT2 Pro等机型,它们采用的是LTPO 2.0屏幕。   基于第二代LTPO材料,这些机型可以做到1-120Hz的自适应刷新率,充分发挥LTPO的低功耗特性,它针对不同内容和操作,智能匹配最优刷新率,避免无效屏幕刷新带来额外的电量耗损。   在LCD上,目前已有厂商针对使用场景做了刷新率自适应功能,像Redmi K30S至尊版,该机具备7档可调节刷新率,系统可自动根据不同的应用场景在30Hz与144Hz之间切换,以
[手机便携]
中国LCD产业迎来新一轮的投资热潮
即将过去的2009年可以说是中国LCD 面板 产业投资的高峰年,据赛迪顾问统计,仅2009年投资(或拟投资)的LCD面板生产线就多达6条,面板生产线的世代覆盖了6至8.5代,参与投资的企业除了传统的面板生产厂商如京东方、龙腾光电等,还涉及到一些新进入的企业,如中电熊猫、TCL等,其中也不乏一些外资企业的身影,如LGD在广州投资的8.5代线。 表1 中国LCD面板生产线投资情况 国家产业政策的出台,以及地方政府的扶持力度不断增强,是本次产业投资高峰出现的重要原因。2009年2月国务院通过的《电子信息产业调整振兴规划》,把“新型显示和彩电工业转型”列为六大重点工程之一,明确支持6代以上液晶面板( TFT - L
[半导体设计/制造]
中国<font color='red'>LCD</font>产业迎来新一轮的投资热潮
STM32f4---TFTLCD显示实验代码(01)
本实验,我们用到FSMC驱动 LCD,通过前面的介绍,我们知道TFTLCD 的RS接在FSMC的 A6上面,CS 接在 FSMC_NE4 上,并且是16位数据总线。即我们使用的是FSMC 存储器1的第 4区,我们定义如下LCD 操作结构体(在lcd.h 里面定义): //LCD 操作结构体 typedef struct { vu16 LCD_REG; vu16 LCD_RAM; } LCD_TypeDef; //使用NOR/SRAM的 Bank1.sector4,地址位 HADDR =11 A6作为数据命令区分线 //注意16位数据总线时,STM32内部地址会右移一位对齐! #define LCD_BASE ((
[单片机]
STM32中LCD显示少量汉字
在STM32中怎样在LCD显示屏中对汉字进行显示(只是汉字),下面针对这个问题是我的一点小小的看法,如有问题希望读者留言; 以下程序主要针对STM32中库函数进行操作: 在LCD显示汉字,首先需要对汉字进行取模,我们都知道一个汉字所占用的空间大小是2B。接下来通过取模软件对所需要显示的汉字进行取模(注意有的取模软件可能存在问题)。 在这我们要补充一个知识就是汉字在计算机中存储形式: 输入码:汉字的字数繁多,字形复杂,常用的汉字有6000—7000个,比英文的26个字母要多得多。在计算机系统中使用汉字,首先遇到的问题就是如何把汉字输入到计算机内。为了能直接使用西文标准 键盘进行输入,必须为汉字设计相应的编码方法。汉字
[单片机]
2013和2014十大LCD制造技术发展趋势
NPD DisplaySearch上海办公室,2013年10月31日---在过去的几年中,最前沿的液晶面板制造技术已迅速从大尺寸电视应用向高解析度移动应用产品转移。 随着高端移动应用产品屏幕分辨率已超过400ppi且继续向更高分辨率迈进,移动应用产品液晶显示面板的制造其实在很多方面都比大尺寸液晶显示面板制造更具挑战。 此外,对大部分移动产品来说,最大化降低显示屏幕能量消耗是增加移动应用产品相对较短的待机时间的关键。 这也是NPD DisplaySearch最新研究报告DisplaySearch TFT LCD Process Roadmap Report的主要讨论内容之一,报告指出,2013和2014年顶尖LCD制
[电源管理]
2013和2014十大<font color='red'>LCD</font>制造技术发展趋势
谈LED背光源在LCD上的应用
  随着寿命和制作技术要求更加高的LED背光源逐渐引入电视领域,电视厂商们也开始对此项技术进行了大力研发。当国际、国内大厂纷纷逐步推出了更大尺寸的led背光源液晶电视。在深入了解LED背光技术之前,我们先了解当前的背光技术存在什么问题。   我们知道,液晶是一种介乎于液体和晶体之间的物质。液晶的奇妙之处是可以通过电流来改变其分子排列状态,给液晶施加不同的电压就能控制光线的通过量,从而显示多种多样的图像。但液晶本身并不会发光,因此所有的LCD都需要背光照明。目前LCD的背光源几乎都是CCFL(Cold Cathode Fluorescent Lamps,冷阴极荧光灯)。   由于冷阴极荧光灯不是平面光源,因此为了实现背光源均匀的
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved