基于嵌入式CPU S3C2440的VGA显示系统设计
Ofweek 2022-07-05

  摘要:基于VGA接口时序,以高性能视频D/A芯片ADV7120为核心。实现了基于嵌入式CPUS3C2440的VGA显示子系统。系统一方面利用S3C24 40自带的LCD控制器产生符合VGA显示要求的时序逻辑,另一方面通过LCD数据线将数字RGB信号传递给具有8路通道的视频D/A芯片ADV7120,产生VGA显示需要的模拟色彩信号。通过TFTLCD扫描显示的时序与VGA扫描显示时序的匹配,驱动VGA显示屏。该系统能够达到正常显示色彩信息的要求,且价格低廉,适用于对显示效果要求不苛刻,但要求大尺寸显示屏且对价格敏感的嵌入式应用中。

 

  目前很多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适配器引脚定义

  表1 VGA适配器引脚定义

 

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

 

  图1 VGA的扫描时序

  图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扫描时序

  图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接口电路组成框图

  图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接口同步信号时序

 

  下面根据图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:确定行数据传输完成后到下一行同步信号到来的一段延迟时间,描述行数据传输后延迟时间内VCLK脉冲个数,如图4,HFPD=t9xVC LK=0.94 μsx25 MHz=24.

  4)LCDCON4寄存器

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

  5)LCDCON5寄存器

  BPP24BL:确定数据存储格式。此处设置BPP24BL=0x0,即选择小端模式存放。

  FRM565:确定16位数据输出格式。设置FRM565=0x1,即选择5:6:5的输出格式。

  通过如上的方式设计VGA接口电路并相应的设置LCD控制器寄存器,实现了LCD数字输出与D/A转换的无缝连接,不需要任何额外的驱动程序就可以将原来在LCD上输出的图像信息输出到VGA显示屏上。

 

  4 测试与结论

 

  本设计通过分析VGA接口时序与S3C2440TFT LCD接口时序的相同点,论证了用S3C2440自带的LCD controler来驱动VGA显示器的可行性,时序的匹配是本设计成功最关键的地方,在满足接口时序要求的前提下,用高速三路8位视频D/A芯片将LCD接口的数字RGB信号转换成VGA接口所需要的模拟信号。实验证明,图像信息通过VGA转换电路,在显示屏上显示良好,无明显抖动,满足普通的显示要求。由于主机采用ARM嵌入式,与传统X86主机相比,大大降低了整机系统的成本。这种廉价、简单的显示方案可以广泛应用到各种对显示效果要求不高但要求大尺寸屏幕的场合。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 3AT89C51单片机引脚说明及引脚图

    AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU...

    07-11
  • 51单片机对LCD1602液晶的驱动设计

    51单片机——LCD1602 1、1602液晶读写时序 (1)、读状态 RS=L,R/W=H,E=H。(判断忙完毕后释放总线) (2)、读数据 RS=H,R/W=H,E=H。 (3)、写指令 RS=L,R/W=L,D0~D7=指令码,E=高脉冲 (4)、写数据 RS=H,R/W=L,D0~D...

    07-11
  • 单片机串口如何接收不定长数据的?

    我们在使用其他STM32的单片机的时候,会发现有些困难,会发现常用的方法并不能用,在还没有接收完数据的时候,就解决不了。于是,只能用通用的方法来解决了。 这个通用的方法,其实原理和使用IDLE的原理一样:...

    07-11
  • ARM处理器的选型原则

    鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,...

    07-10
  • 有哪些低功耗设计方法?单片机系统低功耗设计要点介绍

    功耗,已经是一个老生常谈的话题了。对于功耗,大家多多少少有所了解。目前,很多产品的宣传里便带有低功耗噱头。为增进大家对功耗的认识,本文将基于两点介绍功耗:1.低功耗主要设计方法,2.单片机系统低功耗设计...

    07-10
  • 8位32位MCU如何选择?如何选择合适的MCU?

    MCU,对于普通人而言,是一个高大上的存在。但是,在工业中,MCU确实常见产品。为增进大家对MCU的认识,本文将基于两点介绍MCU:1.8位MCU和32位MCU如何选择?2.如何选择合适的MCU。如果你对MCU具有兴趣,不妨继续往...

    07-09
  • ARM开发:一 ARM微处理器概述

    1.1ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术...

    07-08
  • 分析C51单片机的一些误区和注意事项

    简介:常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作 用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用指针。 1) C...

    07-08
  • 51单片机几个延时程序

    简介:51单片机几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响. 一. 500ms延时子程序(晶振12MHz,一个机器周期1us.) 程...

    07-08
  • 总结单片机软件抗干扰的几种办法

    简介:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1、软件抗干扰方法的研究 在工程实践中...

    07-08
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    07-02
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    07-02
下载排行榜
更多
评测报告
更多
广告