当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]浅谈嵌入式系统的VGA接口设计

引言

随着液晶技术的日益成熟,液晶显示器在显示技术中得到了越来越广泛的应用。当前LCD显示技术已经成为新一代平板技术显示技术的主流。LCD显示屏幕主要包括液晶屏幕,驱动电路以及控制驱动电路的系统。我们设计的LCD控制器主要是用来控制RGB模式的数据以及MCU模式的命令,参数的传输,实现LCD的控制功能。 RGB模式主要有16bit输入,16bit输出; 16bit输入,18bit输出; 18bit输入,16bit输出;18bit输入,18bit输出;4种模式的传输。本文就LCD的驱动进行分析,介绍,提出硬件电路的设计以及验证方法。

LCD接口转换为VGA接口

VGA (Video Graphics Array)接口信号为模拟信号。其关键信号有5个,分别是Horizontal Sync水平同步信号(也叫行同步信号),垂直同步信号Vertical Sync(也叫场同步信号),Red红色,Green 绿色和Blue 蓝色。电子枪从左至右,从上至下地进行扫描,每行结束时,用行同步信号进行同步;扫描完所有行后用场同步信号进行场同步。LCD接口转VGA(简称LCD2VGA)是一款以FPGA 做为桥接芯片,集成高效显存技术的视频转换卡。不同于简易的D/A转换模式,LCD2VGA上的FPGA能够自动将LCD接口提供的刷新频率提高到CRT显示器所需要的高刷新频率,解决了简易的D/A转换模式下屏幕闪动的问题。带有LCD控制器的CPU 通过此视频卡,可以驱动带VGA 接口的液晶显示器或CRT 显示器。LCD2VGA能够支持16bppTFT(真彩)型数字LCD接口向VGA接口的转换,兼容640×480、800×600、1024×768三种分辨率,支持输出60Hz刷新率;其工作方式和工作时序与TFT(真彩)LCD 完全一样。

扫描式LCD接口(以S3C2410A的LCD控制器为例图1),在每一场完毕后,也是用VSYNC来进行场同步;每一行完毕后,也是用HSYNC进行行同步;也有VCLK像素时钟,用于锁存数据;

其场同步信号,宽度为(VSPW+1),之前有场消隐前肩(VFPD+1),之后有场消隐后肩(VBPD+1);

其行同步信号,宽度为(HSPW+1),之前有行消隐前肩(HFPD+1),之后有场消隐后肩(HBPD+1);

可以发现,扫描式LCD接口的同步信号时序和VGA接口是一致的。原因是发明LCD后,尽管显示原理不同,但为了在时序上和CRT兼容,也采用了这样的控制时序。基于此,完全能将LCD接口转换为VGA接口。

 图1 三星S3C2410A的LCD信号时序图

方案实现

VGA接口只需Hsync和Vsync两个同步信号和RGB三个色彩分量信号。而扫描式LCD接口的同步信号的时序和VGA接口的完全一致,可直接把两个同步信号接入VGA接口。

S3C2410A的LCD控制器输出的是RGB数字信号。因此若用一些DAC芯片把RGB数字信号转换为模拟信号,即可实现VGA接口的RGB信号输入。这类视频专用DAC芯片较多,例如ADI公司的ADV7120;CHRONTEL公司的CH7004C.实验中选用的CHRONTEL公司的CH7004C.S3C2410A的LCD控制器与CH7004C的连接如表1.

表1 S3C2410A的LCD控制器与CH7004C的连接

在选择数据格式时,RGB565较合适,因为16位数据已经有6.5万色,完全足够;24位数据时每个像素实际占用32位,4个字节,传输时对S3C2410A的总线资源占用太大。

整个电路原理图如图2所示。其中一些需要注意的地方有:

CH7004C工作在从模式下,由S3C2410A的I2C控制。在实验中使用的是精度较好的日本村田(murata)的阻容元件,包括10K,360欧,75欧和10pF的电容。10K用于I2C总线的上拉,360欧用于RSET引脚接地;75欧为R,G,B三个输出管脚和地之间的终端电阻,10pF电容用于晶振。另外,CH7004C的IIC地址,是通过把ADDR引脚拉高或拉低来设定;接地时,根据芯片手册,其7位的I2C地址为1110110,最后加一个读/写位。

 图2 CH7004C的电路原理图

CH7004C的关键寄存器及设置

CH7004C片内有25个寄存器。寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器的功能十分重要,CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过"端口"交换数据,外部寄存器具有寄存器和内存储器双重特点。有些时候我们常把外部寄存器就称为"端口",这种说法不太严格,但经常这样说。其中比较关键的是Display Mode,Input Data Format,Sync Polarity三个寄存器。Display Mode显示模式寄存器,片内地址0X00,输入分辨率为640×480,由芯片手册,可选模式从Mode13到Mode17均可。实验中选择的是默认的Mode17,对应参数为0X6A.Input Data Format输入数据格式寄存器,片内地址是0X04,因为输入的数据格式为RGB565,且需打开pass-through模式,故对应参数为0X20.Sync Polarity同步信号极性寄存器,片内地址0X0D,根据输入的Hsync和Vsync的极性来设定,如果是均为负脉冲,则把VSP位和HSP位都置0;如果均为正脉冲,则把VSP位和HSP位都设置为1.实验中,把S3C2410A的LCD控制器的同步信号极性均设为低电平有效,故参数为0X00.

S3C2410A的LCD控制器设置

作为输出源,S3C2410A的LCD控制器也需要进行相应设置。需要的输出分辨率是640×480,16位色(RGB565格式),刷新率60Hz.一共有LCDCON1到LCDCON5共5个寄存器需要设置,具体参数要参考VGA时序规范和LCD时序图(图1)。所需设置的寄存器如表2.

表2 S3C2410A的LCD控制器中需要设置的寄存器

S3C2410A的LCD控制器设置

实验及数据

实验中,选择的操作系统嵌入式Linux,内核版本2.4.18,图形系统是Qtopia 1.7.0.bootloader选用的韩国MIZI公司的vivi.上电后,vivi将进行初始化,其中包括设置CH7004,然后再引导进入Linux.对CH7004的操作,完全可以看作对一个IIC接口的EEPROM来进行,即I2C,一种总线结构。IIC 是作为英特尔IC 的互补,这种总线类型是由菲利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。这种方式简化了信号传输总线。例如:内存中的SPD信息,通过IIC,与BX芯片组联系,IIC 存在于英特尔PIIX4结构体系中。可专门定义一个函数IIC_Write()来写数据。例如对IDF寄存器的设置为I2C_Write(0xec,0x04,0x20)。设置好后,CH7004的所有寄存器数据如表3.

实验中还发现,设定SPR同步信号极性寄存器时,如果都设同步信号为正脉冲有效,接显示器也能正常显示,但是有闪烁。负脉冲有效则无这种情况,故推荐均设置为负脉冲有效。

表3 正常工作时,CH7004C的各个寄存器读出的数据

结语

本文提供的LCD接口转换为VGA接口的解决方案,经过实际验证,切实可行。在Linux和Windows CE 4.2两种嵌入式操作系统下均进行了测试,Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是"Linux".Linux操作系统也是自由软件和开放源代码发展中最着名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds.Linux下VGA显示器的画面非常稳定;在Windows CE 4.2下基本稳定,略有闪烁。该方案最大特点在于让嵌入式系统直接支持VGA显示器,具备较大的实际应用意义。

图3 Linux下外接VGA显示器

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

“实现机器人操作系统——电机控制器ROS1驱动程序简介”一文中概述了新型ADI Trinamic™电机控制器(TMC)驱动程序,并讨论了将电机控制器集成到机器人操作系统(ROS)生态系统中的方法。TMC ROS1驱动程序...

关键字: 电机控制器 机器人 嵌入式系统

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统
关闭
关闭