深圳市迈晶电子有限公司
中文版    英文版
0755-29630718
您现在的位置:网站首页 > 新闻中心 > 基于Blackfin处理器的TFTLCD驱动设计

基于Blackfin处理器的TFTLCD驱动设计

来源:深圳市迈晶电子有限公司         添加时间:2018-09-21

0、前言

长期以来,传统的掌上电脑(PDA)等小型手持式设备,由于硬件条件的限制,显示器件通常是单LCD,用户界面非常简单。随着高性能嵌入式处理器的普及和硬件成本的不断降低,嵌入式系统的功能也越来越强。在多媒体应用的推动下,彩色LCD开始应用到嵌入式系统中。新一代掌上电脑(PDA)多采用TFTLCD显示器件,支持彩色图形界面,图片显示和视频媒体播放。掌上电脑(PDA)的操作系统有微软WindowCE,PalmOS等。其中Linux核心小,成本低廉,源代码开放,成为各家厂商极力发展的操作系统。本文就探讨了两种基于Blackfin嵌入式处理器的TFTLCD的驱动方案。

1、Blackfin处理器和TFT液晶简介

Blackfin系列处理器是ADI公司研制的业内首款嵌入式处理器,它将微控制器、DSP和媒体处理器的优势集成于单一架构中,已被广泛应用于消费类多媒体、网络通信等多个领域。

BF531是Blackfin处理器中的一款,最大时钟频率400MHz,有2个16位MAC,两个40位ALU,4个8位视频ALU,以及1个40位移位器。并有高达148Kbytes片内存储器,和两个双通道存储器DMA控制器;系统外设包含一个UART口,一个SPI口,两个串行口(SPORTs),四个通用时钟定时器(三个有PWM功能),一个实时时钟,一个看门狗时钟定时器,以及一个并行外设接口。

设计中我们采用了FG050605作为我们的设计屏,此款液晶为5.6英寸屏,有960(W)x234(H)个像素,每三个像素一个点,即每行320个点,共234行。此款连线非常简单:共32个引脚,其中,一根数据时钟、一根行频、一根场频、一根数据使能,三色共18根数据线,其余为空脚和电源线。

液晶时序图如图1所示:


图1:液晶时序图

三种真彩的液晶驱动方案:即基于DSP硬件的液晶驱动,基于DSP的嵌入式uClinux液晶驱动和基于FPGA的液晶驱动。本文重点介绍前两种方案的具体实现。

2、系统总体设计

Blackfin处理器的PPI口共20个引脚,每个时钟周期可以收发16位数据,它为TFTLCD提供了一个无缝的数据传输接口。

我们采用的这款液晶屏像素时钟频率6.25MHz,采用FPGA分频得到,该时钟同时接PPI_CLK引脚。行频408个像素时钟周期,场频59Hz,即259个行频周期,分别接Blackfin处理器的TMR1/PPI_FS1和TMR2/PPI_FS2口。

设计中,我们采用16bit的颜色显示方式,故分别将红色和绿色的最高位和最低位相连,即R0和R5、B0和B5。16根数据线分别与Blackfin处理器的PPI0到PPI15口相连。数据使能引脚接到FPGA上。硬件框图如图2所示:


2:硬件框图

3、基于硬件的液晶驱动同传统的DSP一样,直接基于Blackfin处理器液晶驱动。

我们采用DMA的方式通过PPI口传输颜色数据,将要显示的数据存放在SDRAM中的两块缓存区域中,采用乒乓模式,在向一块存储区中写数据时,从另一块存储区读。我们在SDRAM中设置一块非Cache的存储区,因为我们每个点用16bit数据表示,故两块缓存区域共320*(234+9+16)*16bit,9+16为每场信号丢失的行数。

3.1DMA的初始化

我们首先配置DMA的工作参数。这里DMA采用Descriptorlist(smallmodel),2D传输方式,每次传输一个字的数据。首先设置一个地址列表,用于装载两块缓存区域的首地址,这样DMA将从地址指示的空间读取数据传送到PPI口。设置DMA每场传输259行,每行传输320个字的数据。最后配置DMA0_CONGFIG,并使能DMA。主要设置有Descriptorlist,2DDMA的Innerloopcount,设置下次2DDMA的读取地址相对本地地址的增量,2DDMA的outerloopcount,配置DMA工作模式等。

3.2PPI的初始化

PPI有两种工作模式:ITU-R656和General-PurposePPI。因为我们只需将数据通过PPI口送出,故使用GP模式。设置PPI_FS1和PPI_FS2下降沿有效,一次传输16bit数据,外部触发,两个外部帧同步信号。主要需要设置的为:PPI参数配置,场频信号发出到开始数据传输的延迟和每行传输的数据个数。

3.3Timer的初始化

由于我们采用2个外部帧同步信号,故采用TMR1/PPI_FS1作为行频信号(HSYNC),TMR2/PPI_FS2作为场频信号(VSYNC)。为了调试程序需要,我们配置定时器为仿真时定时器持续工作。因为只需送出数据给液晶,故配置其为PWM_OUT模式,我们的定时器使用PPI_CLK,故仍需设置其为PWM_OUT时钟,计数到周期结束等。Timer1和Timer2的周期和脉宽按液晶硬件手册给出设置。

3.4Frambuffer的初始化

这样,液晶的相关配置已基本完成,我们在屏幕上写数据即为在两块数据缓冲区中写数据。但应注意,在每次场频信号到来之后,有19行数据不会显示在屏幕上,之后234行为屏幕显示部分,最后又有6行数据为多余需丢掉的数据。因此,我们将显示的数据颜色信息要全部写在中间234行。初始化Framebuffer时应先写入要丢掉的19行内容,再写入234行的初始化颜色数据,最后还须初始化末尾6行丢掉的数据。

4、基于uClinux的液晶驱动嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。uCLinux主要是针对目标处理器没有存储管理单元MMU(MemoryManagementUnit)的嵌入式系统而设计的,它是一种优秀的嵌入式Linux版本,已经被成功地移植到了很多平台上。对开发者来说,AD的Blackfin处理器和uClinux的结合很有吸引力。

在blackfin.uclinux.org网站,提供对在Blackfin上嵌入uclinux的支持,本设计采用了其嵌入式软件支持。选择了uClinux-dist-R06R2-RC2.tar.bz2作为系统使用uClinux的源代码,成功移植了uClinux嵌入式平台。我们用源文件根目录下uClinux-dist/linux2.6.x/driver/video/bf537-lq035.c作为模板,进行液晶驱动的修改。

4.1程序文件修改

以bf537-lq035.c为模板进行修改为bf533-fg0506.c,由于源程序是按BF537开发板来编写,我们重点要修改的是信号使用端口,和液晶设置部分。因为我们的液晶的背光是有逆变器调节,故将屏蔽原程序文件中关于背光亮度调节及相关选项。关键修改点:液晶的行场频、时钟、屏幕大小,定时器的设置(Timer1.Timer2),各种寄存器的设置,以及写数据的DMA、PPI程序部分。液晶显示数据部分:场频信号到来之后需丢掉的行数、每场信号需丢掉的总行数、场频PPI_CLK时钟部分:配置PPI、Hdp+Hpw此段时间内PPI不传数据等。配置TIMER:使能时钟、设置Timer的参数。设置DMA的参数,设置屏幕尺寸色彩等信息,初始化Framebuffer等。

4.2Makefile的改写

此部分是为在编译内核时能够将新编写的液晶驱动编译为目标文件。在uClinux-dist/linux2.6.x/driver/video/Makefile加入编译规则。

4.3修改menu"Graphicssupport"此部分使编译uClinux内核时,可以选择是否编入LCD驱动。在uClinux-dist/linux2.6.x/driver/video/Kconfig文件里添加编译信息。这样,使用makexconfig编译系统内核时,就可以在自定义内核设置的DeviceDriver下,Graphicsupport中选择这个选项。

5、结论

经调试、修改,最终两种方案的液晶均可正确稳定显示所需数据,可以满足本设计预期的数据显示需求。同时由于TFT液晶的可视角度较宽,16位色彩表现丰富,设计得液晶显示得到了理想的效果,并对嵌入式设备的屏幕显示技术有一定的意义。

本文作者创新点:通过对Blackfin嵌入式处理器的内部资源的合理利用,将其和嵌入式系统uClinux的相结合,应用于TFTLCD的驱动设计上。相对基于硬件的驱动设计,基于嵌入式系统uClinux的驱动设计有功能性强、可靠性高、成本低、体积小、功耗低等优势,更具有实际的推广应用价值。

新闻中心
联系方式
电话:0755-29630718
传真:0755-29630718
邮箱:ca_jyz1234@126.com
联系人:揭先生
地址:深圳市宝安区福永白石厦东区福丰达工业区三栋四楼
网站首页  |   关于我们  |   液晶屏图片  |   液晶屏行业资讯  |   液晶屏产品列表  |   在线留言  |   加入我们  |   联系我们  |   Website
联系电话:0755-29630718     公司传真:0755-29630718     企业邮箱:ca_jyz1234@126.com
公司地址:深圳市宝安区福永白石厦东区福丰达工业区3栋四楼     备案号:粤ICP备12084576号
Copyright © 2015-2025 深圳市迈晶电子有限公司版权所有