基于嵌入式cpu s3c2440的vga显示系统设计

发布时间:7/9/2012 | 83 次阅读
   目前很多soc厂商的微处理器芯片都集成了lcd控制器,如三星公司的s3c2410.s3c2440,intel的xscale系列等。大多数嵌入式系统也采用流行的lcd显示技术。但是在需要大屏幕显示、对分辨率要求不高的场合,如车间、厂房,采用大屏幕lcd则成本过高。另一方面,vga显示技术因为技术发展成熟,成本低廉,仍在被大量使用,直到今天它仍是所有显示终端最为成熟的标准接口。如果让嵌入式处理器直接支持vga显示器,则能很大地利用现有资源,节约系统成本。

  1 基于s3c2440的vga显示技术分析

  通过分析vga显示技术的时序逻辑与s3c2440内部集成lcd控制器驱动tft lcd的时序逻辑,找出它们的共同点,分析在s3c2440上应用vga显示接口的可行性。

  1.1 vga显示原理

  vga(video graphics arrnay)是ibm公司提出的目前仍然广泛应用于pc的显示接口。该接口具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。vga接口在物理上表现为db15的插座,其中vga适配器端使用的是阴性db15标准的接口。其引脚定义如表1所示。

 

  表1 vga适配器引脚定义

  

  vga接口使用模拟rgb通道,逐点、逐行扫描。其时序如图1所示。vga接口信号为模拟信号,其关键信号有5个,分别是horizontal sync水平同步信号(也叫行同步信号),垂直同步信号vertical sync(也叫场同步信号),红色模拟信号,绿色模拟信号和篮色模拟信号。电子枪从左至右,从上而下的进行扫描,每行结束时,用行同步信号进行同步。扫描完所有的行后用场同步信号进行场同步。因电子枪偏转需要时间,所以扫完回转中,要对电子枪进行消隐控制,在每行结束后的回转过程中进行行消隐,在每场结束后的回转过程中进行场消隐。消隐过程中不发送电子束。

 

  

  图1 vga的扫描时序

  1. 2 tft lcd显示屏扫描时序分析

  基于arm920t内核的s3c2440芯片外围集成了lcd控制器,lcd控制器被用来向lcd传输图像数据,并提供必要的控制信号,比如vframe、vline、vclk、vm等。除此之外,lcd控制器还包括一组控制寄存器:lcdcon1寄存器、lcdcon2寄存器、lcdcon3寄存器、lcdcon4寄存器、lcd con5寄存器。这些寄存器的设置与显示屏信息、控制时序和数据传输格式等密切相关,在设计中需要根据显示设备的具体信息正确设置这些寄存器才能使s3c2440正常控制驱动不同的显示屏。

  典垂的tft液晶显示屏的扫描对序如图2所示。

 

  

  图2 典型tft lcd扫描时序

  其中主要包括:

  1)帧(垂直)同步(vsync):用高电平(或低电平)表示扫描一帧的起始。

  2)行(水平)同步(hsync):用高电平(或低电平)表示扫描一行的起始。

  3)时钟(vclk):通过上升沿(或下降沿)把数据写入液晶屏。

  4)数据有效控制(vden):表示是否开启tft输出。

  5)数据信号(vd):表示每个点的颜色,通常有16位、18位、24位等模式。

  通过对比vga接口的时序和tft lcd液晶显示屏的扫描时序,可以看出它们很相似。这就为用lcd控制器驱动vga显示屏提供了内在的可能性。而且一旦实现了这种转接方案,由于是由硬件实现的两种接口的电气转换,不需要写任何驱动程序,是在嵌入式系统平台上扩展vga接口的最方便的方案。比较两种接口的特性,要实现从tft时序到vga时序的转换,需要解决的向题有:

  1)tft液晶扫描同步信号和vga同步信号的电平问题。

  2)tft液晶控制器的输出是rgb数字接口,而vga的红绿蓝通道时模拟量,两者需要通过d/a转换。使用d/a要考虑转换精度、转换速度、转换通道数等问题。其中,为满足真彩色(24位)的要求,8位的转换精度就可以。基于vga对帧频的要求,每个点的转换频率必须大于27 mhz,同时,必须至少有3个通道同时转换,以满足红绿蓝(rgb)3个通道的输出。

  针对这种转换的d/a通常称为视频d/a,本设计采用ati公司的视频d/a芯片adv7120。

  1.3 adv7120简介

  adv7120是美国adi公司生产的高速视频数模转换芯片,其像素扫描时钟频率有30、50、80 mhz 3个等级。adv7120在单芯片上集成了3个独立的8位高速d/a转换器,可以分别处理红、绿、蓝视频数据,特别适用于高分辨率模拟接口的显示终端和要求高速d/a转换的应用系统。

  adv7120的输入及控制信号非常简单:3组8位的数字视频数据输入端,分别对应rgb视频数据,数据输入端采用标准ttl电平接口;4条视频控制信号线包括复合同步信号sync、消隐信号blank、白电平参考信号refwhite和像索时钟信号clock;外接一个1.23 v数模转换参考电压源和1个输出满度调节。只有4条输出信号线:模拟rgb信号采用高阻电流源输出方式,可以直接驱动75 ω同轴传输线;同步参考电流输出信号isync用来在绿视频模拟信号中编码视频同步信息。

  2 vga接口电路设计

  如前所述,vga接口的时序和lcd扫描式接口的时序是一致的,利用adv7120组成的tft液晶时序到vga接口的转换模块结构框图如图3所示。

 

  

  图3 vga接口电路组成框图

  根据adv7120的数据手册,adv7120对参考电平的要求度很高,不能以电阻分压电路代替。本设计中采用了1.235 v电压基准芯片ad589来产生参考电压。

  3 vga显示模式的选择及s3c2440 lcd controller中相应控制寄存器的设置

  最初vga的显示包含几种模式,最初vga的分辨率被定义为640x480,接着更高分辨率的svga、xvga等标准在此基础上被提出,接口上都兼容vga标准,所以,习惯上把所有这种接口都称为vga接口。不同的显示模式对应的vga时序中的时间参数不同,选定一种显示模式后,就要配置lcd控制器,使其产生的时序参数符合vga模式的要求,这样才能成功驱动vga接口,否则vga显示端会闪烁、模糊甚至不显示。

  在这里选择分辨率为640x480、刷新频率为60 hz、16位彩色的vga显示模式,并在此模式下完成对lcd控制器相关寄存器的配置。使lcd控制器输出的时序逻辑能符合该模式下vga显示的要求。在该模式下vga接口同步信号时序如图4所示。

 

  

  图4 vga接口同步信号时序

  下面根据图4的vga接口同步信号时序对主要的lcd控制器中的控制寄存器进行配置:

  1)lcdcon1寄存器

  clkval:确定vclk频率的参数。公式为vclk-hclk/[(clkval+1)x2]。在本设计中s3c2440的hclk=100 mhz,显示屏需要vclk=20mhz,故需设置clkval=1.

  bppmode:确定bpp(每像素位散)。选择bppmode=0xc,即选择tft 16位模式。

  2)lcdcon2寄存器

  vbpd:确定帧同步信号和帧数据传输前的时延,是帧数据传输前延迟时间和行同步时钟间隔宽度的比值,参照图4中的时间数据可知,vbpd=t3/t6=1.02 ms/31.77 μs=32.

  lineval:确定显示的垂直方向大小。公式:lineval=ysize-1=479.

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

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

  3)lcdcon3寄存器

  hbpd:确定行同步信号和行数据传输前的一段延时,描述行数据传输前延迟时间内vclk脉冲个数,如图4,vbpd=t7xvclk=1.89 μsx25 mhz=47.

  hozal:确定显示的水平方向尺寸。这里hozal=xsize-1=639.

  hfpd:确定行数据

深圳市鹏拓发展电子
  • 联系人:马先生 林先生 马小姐

    975586346

  • 电话:0755-82773839
  • 邮箱: prydz168@qq.com
  • 地址:深圳市福田区华强北华联发大厦六楼635房
深圳市瑞斯特电子科技有限公司
  • 联系人:杨锐锋

    515035790

  • 电话:0755-82550910/13189682405
  • 邮箱:szruist@126.com
  • 地址:深圳福田区华强广场二楼Q2B046
北京元坤伟业科技有限公司
  • 联系人:刘先生

    1584878981/378319812

  • 电话:010-62104931/62104891/62104578/62106431/62104791
  • 邮箱:sale1@yuankun24.com
  • 地址:北京市海淀区中关村大街32号和盛嘉业大厦10层1008室