加载中...
嵌入式系统显示方案
发表于:2010-04-10 | 分类: 应用方案
字数统计: 10.5k | 阅读时长: 39分钟 | 阅读量:

 

字符LCD

 

TFT LCD

 

OLED

OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。因为具备轻薄、省电等特性,因此从2003年开始,这种显示设备在MP3播放器上得到了广泛应用,而对于同属数码类产品的DC与手机,此前只 是在一些展会上展示过采用OLED屏幕的工程样品,还并未走入实际应用的阶段 不过,虽然将来技术更优秀的OLED会取代TFT等LCD,但有机发光显示技术还存在使用寿命短、屏幕大型化难等缺陷 OLED的特点 OLED为自发光材料,不需用到背光板,同时视角广、画质均匀、反应速度快、较易彩色化、用简单驱动电路即可达到发光、制程简单、可制作成挠曲式面板,符合轻薄短小的原则,应用范围属于中小尺寸面板。 显示方面:主动发光、视角范围大;响应速度快,图像稳定;亮度高、色彩丰富、分辨率高。 工作条件:驱动电压低、能耗低,可与太阳能电池、集成电路等相匹配。 适应性广:采用玻璃衬底可实现大面积平板显示;如用柔性材料做衬底,能制成可折叠的显示器。由于OLED是全固态、非真空器件,具有抗震荡、耐低温(-40℃)等特性,在军事方面也有十分重要的应用,如用作坦克、飞机等现代化武器的显示终端。 OLED取代LCD的时程不像市场先前所想的那么快,主要系这几年经济不好,OLED技术高成本价格,成为最大竞争罩门 由 于三星使用的OLED面板,为自发光、解析度相较偏低,如何突破解析度,成为三星最大难题,比起HTC Butterefly的Full HD、达441 ppi,三星真实解析度仅落在250-260 ppi;在LCD解析度不断提升下,手机OLED面板应用已经面临挑战。 OLED技术发 展已经从厂商间、扩大至国际间的激战,目前OLED市场遭到三星独占,用5.5代线生产中小尺寸OLED的产能中,三星即占95%,市场预估2015年, 在其他面板厂如友达(2409-TW)、奇美(3481-TW)、天马、京东方加入下,将降低三星在OLED的市占,预估届时三星市占将降低至80%;若 以8.5代线生产大尺寸OLED来看,三星与LG明年市占比约是8:2,需至2015年才可望降至52:48,不过,三星独占OLED市场对三星恐怕是短 多长空,在寡占市场下,可能是三星OLED技术进步的另一阻力。 三星电子、三星SDI的AMOLED合资子公司Samsung Mobile Display(SMD)已决定将可挠式AMOLED技术命名为“Youm”。SMD已向美国专利商标局(USPTO)为“Youm”申请专利。根据 SMD网站,可挠式AMOLED与OLED的唯一不同,就是可挠式AMOLED使用了薄膜而非玻璃,可让显示器变得更加轻薄、坚固 目前看 来,撇开成本和寿命等因素,OLED器件在各项性能上都优于TFT-LCD。OLED相较于TFT-LCD有更好的市场预期及应用前景,被业内公认为是继 TFT-LCD之后最具潜力的下一代主流显示技术。但是,OLED产业由于起步较晚,目前的技术水平离大规模生产还有一定的距离,良率及成本是影响其产业 化及市场接受水平的重要因素。因此,短期内TFT-LCD仍将凭借其成本优势及产业化成熟程度,在显示领域占据主导地位。而OLED将凭借其性能上的优 势,以对价格不敏感的高端产品进入市场。经过积累,OLED将进入规模逐渐壮大、性能不断完善、价格逐步下降的良性循环状态,最终成为下一代主流显示技 术。 OLED器件的工艺比LCD容易,当OLED技术的整体规格标准化且产业链成熟后,在对电力极为敏感的便携式产品上价格极 具竞争优势。目前OLED还存在成品率低、寿命不够长、成本太高等瓶颈。由于存在这些问题,目前OLED面板的成本、尺寸和寿命还不能与TFT-LCD相 提并论。这些因素导致OLED面板目前还只能冲击小尺寸显示应用。 OLED显示器通常能带来比传统液晶显示器更清晰和锐利的图像,一些智能手机也在使用5英寸以下的OLED产品,但尺寸一大价格就开始呈指数增长。 == PM OLED的结构比AM OLED的更简单,因此生产成本也更低。PM OLED可以使用传统制造技术来成型。整个面板制造工艺可以很容易地适应更大的面积和高产出制造。PM OLED非常适合低成本和低信息量、对角线1.6至4英寸的小显示面板,如手机、MP3播放器和数码相机所使用的。 尽管PM OLED具有这些优势,但火起来的却是AM OLED。几乎所有主要的OLED显示屏制造商,包括索尼、RiT Display、Univision、Nippon Seiki、MicroEmissive Displays、Truly Semiconductor、Samsung SDI、台湾奇晶光电(CMEL)、Pioneer、eMagin、Wintek和LG Display等都已经或将要采用这种技术。 == 008年,维信诺公司在昆山建成了中国大陆第一条自主知识产权的OLED大规模生产线。 单色 多色 全色 参考链接: 维信诺 http://www.visionox.com 深圳爱维信 http://www.ideavision.com.cn/cpsjshow.asp?ArticleID=141  

电子纸

对比度高,阳光下可清晰显示 可视角大,接近180°   =========   在嵌入式系统中,LCD控制器是非常重要的片上外围设备,处理器通过LCD控制器来完成对显示驱动器的控制,最终实现LCD屏的点亮操作。由于LCD显示 驱动器只是一个被动系统,还需要有控制电路提供驱动系统所必须的扫描时序信号和显示数据。处理器通过对LCD控制器的操作,实现对LCD显示扫描时序的设 置和显示数据的写入,从而完成对LCD的显示操作   TFT LCD相关 单片机+驱动板 CPU+LCD控制+LCD驱动 整体架构 cpu+控制器+驱动器+LCD面板 HT1621是控制器+驱动器 M169是单片机+控制器+驱动器 市面上的众多液晶模组就不会用CPLD+RAM来做了 目前市场流行的3.5寸屏基本上都是只内置了驱动器,而不带控制器 VGA 模拟屏,DAC处理 24bit RGB888 -> 16bit RGB565 的转换        

屏的种类

模拟屏 数字屏 VGA屏是模拟屏 TFT屏是数字屏 VGA模拟信号 VGA屏幕,即480*640点阵,也即30万画素(480X640=307200≈30万) Video Graphic Array QVGA    : 320 X240    ,  quarter of VGA  目前主流的手机屏 WQVGA : 400 X240    ,  wide quarter VGA WVGA    : 800X480      ,    wide VGA SVGA     : 800 X600    ,  super VGA XGA       : 1024 X768  ,  Extended Graphics Array WXGA    : 1280 X800  ,  Wide VGA TFT是数字屏 320*240 640×480 RGB是颜色方案 目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。 对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。 而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。 3.5’’  4.3’’ 7’’

实现方案

段式LCD,如HT1621(控/驱)、128点显示、4线SPI接口; 字符型LCD,如HD44780U(控/驱)、2行×8字符显示、4/8位PPI接口; 单色点阵LCD,如SED1520(控/驱)、61段×16行点阵显示、8位PPI接口,又如T6963C(控)+T6A39(列驱)+T6A40(行驱)、640×64点双屏显示、8位PPI接口; 灰度点阵LCD,如HD66421(控/驱)、160×100点单色4级灰度显示、8位PPI接口; 伪彩点阵LCD,如SSD1780(控/驱)、104RGB×80点显示、8位PPI或3/4线SPI接口; 真彩点阵LCD,如HD66772(控/源驱)+HD66774(栅驱)、176RGB×240点显示、8/9/16/18位 PPI接口、6/16/18动画接口、同步串行接口; 视频变换LCD,如HD66840(CRT-RGB→CD-RGB)、 720×512点显示、单色/8级灰度/8级彩色、4位PPI接口。 LCD与其控制驱动、接口、基本电路一起构成LCM(Liquid Crystal Module,LCD模块)。 控制LCD显示,常采用单片机MCU,通过LCD部分的PPI或SPI接口,按照LCD控制器的若干条的协议指令执行。MCU的LCD程序一般包括初始化程序、管理程序和数据传输程序。大多数LCD控制驱动器厂商都随器件提供有汇编或C语言的例程资料,十分方便程序编制。

驱动器和屏的接口

假如信息为数字信息 到VGA屏,需要DAC 到TFT屏,RGB信号,比如R G B比 5: 6: 5,加上DE DCLK共18根线

控制器和CPU接口

比如并口8位+8080控制线 比如SPI

控制器和驱动器

LCM接口一般有CPU和RGB之分(对于黑白屏还有SPI,I2C等接口,先不管这些)。 对于CPU接口的LCM,其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。这个过程不需要点、行、帧时钟。 对于RGB接口的LCM,主机输出的直接是每个象素的RGB数据,不需要进行变换(GAMMA校正等除外),对于这种接口,需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号。 大概的情况就是这样。 我们都知道,一般的TFT-LCD的显示刷新频率是60Hz,也就是每秒钟显示60帧画面。而我们视频播放帧率是2330fps,我们大概不会利用LCD控制器每秒送60帧图像的RGB信息给LCD吧,一般是每秒钟送2030帧的RGB信息给LCD,让其显示。其实,我们是通过LCD控制器把RGB数据送给LCD驱动器,LCD驱动器就把它放到缓存中,然后以60fps的速度送给LCD屏显示。可能有人会问,视频帧率有多大,LCD就显示多快,不行吗?不行,由于液晶分子有一种特性,就是不能够一直固定在某一个电压不变,不然时间久了,液晶分子就遭到了破坏。所以要以一定的频率(通常是60Hz)不停的刷新LCD屏,然后在帧消隐的时间里,变换显示电压极性,达到保护液晶的目的。 驱动器到LCD屏,60hz 控制器到驱动器,2-30帧 所以,LCD控制器时序和LCD驱动器时序(LCD显示扫描时序)虽然表示方法大体相同,但有实质上的区别,LCD控制器时序控制着视频帧率;LCD驱动器时序控制着显示器刷新率。这是大家在学习LCD的时候最容易混淆的地方。

记一次遇到客户反映刷屏速度慢的问题

问题 刷新频率低 据称“虽然我们已经把主频提高到了50Mhz,但是彩屏的刷新速度仍然很低” 应该是读写速度不够快,反应慢,而不是刷新屏幕速率不够 “虽然我们已经把主频提高到了50Mhz,但是彩屏的刷新速度仍然很低,无法达到预定要求。先前我们已经尝试过几款其他公司的单片机,但效果也不好,是否能让彩屏刷新速度有大幅度的提高对我们选择单片机的非常关键” “我们的彩屏(ILI9163C)是内置芯片的,采用的是8080通信模式,用IO口模拟总线,18位接口,8位并口数据传输。RGB模式为 5-6-5,两个时钟传送一个pixel,分辨率为128*160。现在IO翻转频率最高可达到3Mhz左右,我们程序的底层驱动函数已经跳过了GPIO口的库函数调用,精简到了对寄存器进行操作,反汇编的时候,我们发现一条对寄存器的操作指令需要6条左右的汇编指令,传送一个像素点的汇编指令达到了上百条,频率下降到了70khz左右,这远达不到要求,期待你们能提出一些建议” 产品: 一款彩屏收音机,可显示文字、图片、小动画 所用芯片和开发环境 NUC120LE3AN,NU_Tiny_EVB_120开发板,keil 了解连接情况: 屏:低端彩屏  分辨率为128*160 屏所用Driver: ILI9163C,本身支持8位并口/16位并口,(8080/6800模式: 6800是总EN /RW),SPI CPU端接口:GPIO连接8位数据传送,8080(/RD /WR)模式 屏一端接口:18位接口,16位RGB 5:6:5 第一次反应 屏幕刷新频率为几十赫兹即可满足视觉要求 该问题估计主要是CPU和彩屏驱动之间通讯上的问题 是不是CPU处理其他任务影响了刷新屏幕,定时器时间处理上有没有问题?(定时器16s多刷新一次) 目前还不太清楚到底是采用什么接口,I2C/SPI/并口,甚至UART都有可能,所选器件NUC120LE3AN本身已经含有这些资源 客户介绍 “我们的彩屏(ILI9163C)是内置芯片的,采用的是8080通信模式,用IO口模拟总线,18位接口,8位并口数据传输。RGB模式为 5-6-5,两个时钟传送一个pixel,分辨率为128*160。现在IO翻转频率最高可达到3Mhz左右,我们程序的底层驱动函数已经跳过了GPIO口的库函数调用,精简到了对寄存器进行操作,反汇编的时候,我们发现一条对寄存器的操作指令需要6条左右的汇编指令,传送一个像素点的汇编指令达到了上百条,频率下降到了70khz左右,这远达不到要求,期待你们能提出一些建议” 第二次反应 软件 考虑过试验一下SPI没有,我见屏的芯片也是支持的,CPU上硬件SPI的速度是比较快的,作为主机可达到20Mbps,作为从机可达10Mbps  经过联系客户确认:屏已固定,没有采用SPI 后求助后 可否不全屏刷  客户说实际需要全刷,文字,汉字,图片 GPIO的操作效率,可否将程序相关代码发过来,以便我们作一分析 进一步 一.可否做一些优化 1.可否尽量缩短这个延时?该延时可允许的最短时间多少 2. 像语句 GPIOC->DOUT = 0x02; GPIOC->DOUT = 0x80; 不知道是否有时序要求,如果只是置位,可否合并? 3.可否采用汇编来做,附带有Cortex_m0 的指令集和NUC1XX 系列规格书 NuMicro NUC100 Series Technical Reference Manual供参考 4.您说到 “这样传送两个 CLCD_WriteD( Data); 点亮一个pixel。” 不知道可否两次传送合并? 二 我有一个思路 在定时器中每次刷屏一部分,比如一行,然后定时器足够快地刷 三 其他 屏是否支持16位数据传送? 另外有一款芯片有速度快的硬件SBI接口,但是不知道其他资源是否匹配,想问一下,其他有什么资源需求,以便评估一下 了解屏幕所需的速度 屏幕一段刷新60次以上,传送数据没有必要,比如二三十次 128*160*2(2个字节 5 6 5) *30次刷新 在ARM体系结构中,GPU是不带自身的显存,而往往是在系统的RAM中预留一块留给GPU做为显存。这样的结果就是GPU对于显存操作时,要走AHB总线,LCD周期性从Frame buffer中刷新也要走AHB总线。这样就会造成AHB总线的繁忙,从而造成性能的瓶颈。 以AHB总线频率为133Mhz,采用SDRAM内存,屏幕分辨率为800*600,32位色。 先说明一点,LCD从SDRAM中获取屏幕数据,是通过DMA的方式,其存储效率很高。 先来计算SDRAM的内存吞吐率,SDRAM的频率和AHB总线频率保持一致为133Mhz,按照数据总线宽度为32位,那么SDRAM的理论吞吐率为133*4=512MB/s。 LCD一帧的数据量:800*600*4=1,920,000。 那么LCD通过AHB总线传输一帧所花费的时间为1.92M/512M=3.75ms。 如果按照LCD刷新频率为60hz,那么AHB总线在一秒内光花在LCD刷新屏幕的时间就为3.75*60=225ms,可以说1/5的时间就没了。 本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/qianrushiyingyong/20090529/16947.html 网上同类的声音 2.4彩色英寸液晶一帧刷新过慢的问题 近论坛上ILI9320控制芯片的液晶玩的人挺多,正好我也用到了,可是发现用16位sys interface下刷新一帧画面慢的的要死,估计花0.5s左右,我用的是ARM STM32 48M内核,开发板直接拽出1侧的GPIO控制Lcd,所以16位数据总线很白痴,用3个PORT拼成的,底层执行时左移几位,右移几位,再左移几位……估计对速度也有不小的影响 使用过这种控制芯片同志们,刷一满屏65k色的数据要150K,最快能不能做到肉眼不察觉出延迟(估计得5到6帧以上每秒才能有这效果把) 补充:这液晶我们不做视频处理,主要是做菜单,开机那么一刷屏半秒有点太说不过去了,所以想把速度做上去 直接挂到mem bus上,当sram用,gpio模拟的速度太慢太慢…… 要是支持SPI的话直接使用硬件SPI速度很快的 我用Mega128,14M晶振,硬件SPI,能达到3帧的速度 GPIO模拟总线,速度确实不行的。别指望了,换液晶吧。换带SPI的还可以,当然,如果分辨率比较高的,超过640*480,SPI的速度也不行的,还是要并行总线的。 另外,要想提高刷屏速度和避免闪烁,还有两种方法: 1.使用DMA代替软件数据传输 2.使用帧缓冲技术(内存设备) 如果你是GPIO模拟的话,是很难再提高速度了.我曾经用266MHZ的S3C2410操作320*240的16位LCD,在关闭Cache的情况下,刷屏速度都慢得难以忍受 要想提高刷屏速度,需要丛以下两方面改进: 1.改用总线方式驱动(最好是16位,8位的约慢一半) 2.使用带Cache的CPU(如S3C44B0X,HMS30C7210) ==== 求助:TFT-LCD的液晶屏(320*240)采用8080并口方式,在Windows CE下面是否能够正常使用? 目前项目中选用了320*240的TFT-LCD液晶屏模块,这个液晶屏内部自带HX8347的控制芯片,但是厂家没有将RGB接口对外引 出,只引出了16bit的并口模式(8080模式),目前项目使用Windows CE操作系统,Windows CE程序员说8080模式在Windows CE下用不了。 请问各个大虾,真的是8080模式在Windows CE下用不了吗?非得用RGB接口模式? (windows CE程序员说 Windows CE刷屏的时候是将320*240的整个Buffer一次性刷新,一秒钟刷新60次,8080模式速度跟不 上,帧信号无法产生?)对此,我有点持怀疑态度,一秒钟刷新60次可以改为每秒刷新25次,人眼睛是感觉不出刷屏的速度差 异的,这样速度就可以减低一半以上。 不知道Windows CE的GUI下,能否做到哪里Buffer改变了,就刷新对应坐标即可,不要将整个Buffer都更新重新刷屏一次? 直接IO操作应该没有问题 谢谢,我也认为应该没有什么问题,只是Windows CE底层驱动修改可能较大。但是我不是Windows CE程序员,不会修改底层驱动,他们说不行,我也没有把握。有谁实际做过? 找这样说,应该说是他们不会而不是不行啊 也不能这样下结论,用GPIO口模式来模拟的话,速度确实是个问题,刷屏速度也是个问题呢。我只是怀疑Windows CE底层驱动是否一定要用RGB接口模式,改用其他方式底层驱动该怎么修改? –

总结如何匹配

比如刷新频率60HZ 16ms刷新一次 一帧包含的数据 刷新一次需要 128*160*3=61440 bits 低端的MCU受限于总线带宽和RAM容量以及目标定位,不大可能会带TFT控制器 而且一般需要TFTLCD作显示屏的,图形处理的运算量也是低端芯片不大可能承受得了的 我觉得,如果要一个定位低端市场的产品以tftlcd作为人机界面,可能不太匹配 建议放弃模拟总线,因为对IO操作,与啊或的,CS,RS,WR/RD都要控制,一来一去快不到那去. 刷屏还有循环什么的. 死了心吧.物理总线才是真正的出路. 要降低成本啊 不做动画,刷全屏能达到15帧,效果已经非常好了用模拟总线刷15fps简直是天文数字 请问香主,如果用IO模拟总线的话,能跑多少MHz? STM32用IO输出,最高可达18MHz翻转频率。 通过GPIO功能输出的速度受CPU指令的影响,用指令翻转端口的最大速度只能达到18MHz。如果用I/O口挂液晶,估计综合速度能够达到56MHz就不错了。 估计综合速度能够达到56MHz就不错了?那用STM32直接驱动4.3寸480*272屏,一秒刷屏也不到十次左右啊。4.3寸480*272屏有驱动IC吗 用IO来走行场信号还是算了吧:)320*240的一般都用带控制器的,其实也不贵,但如果超过这个分辨率的话,带控制器就很贵了~ 我也是用STM32的IO来带320*240的山寨屏,感觉速度还不错.至少刷一屏数据速度还是很高的整个界面的切换不会感到太大的时延.如果换成256K以上的片子,用内部总线可能会更好点, STM32 GPIO端口的输出速度设置 当STM32的GPIO端口设置为输出模式时,有三种速度可以选择:2MHz、10MHz和50MHz,这个速度是指I/O口驱动电路的速度,是用来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。 高频的驱动电路,噪声也高,当你不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。 当然如果你要输出较高频率的信号,但却选用了较低频率的驱动模块,你很可能会得到失真的输出信号。 ——————————————————————————– 实际上芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路。 注意:GPIO的引脚速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与你的程序有关。 ——————————————————————————– 关键是,GPIO的引脚速度跟应用匹配。 比如对于串口,假如最大波特率只需115.2k,那么用2M的GPIO的引脚速度就够了,既省电也噪声小。 对于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引脚速度或许不够,这时可以选用10M的GPIO引脚速度。 对于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引脚速度显然不够了,需要选用50M的GPIO的引脚速度。 === STM32F的宣传资料上说STM32F103X系列gpio最快反转速度为18M ,我调试了许久都达不到这个速度,只有不到3M的样子,搜索了几个论坛也没看到类似的范例,所以发帖求一个GPIO急速翻转(18M)的例子。 用指令翻不了18M吧, 用定时器 或 用DMA传送 有可能翻到 18M === 目前市场流行的3.5寸屏基本上都是只内置了驱动器,而不带控制器,这样给用户的使用造成了一些难度。基本上很多朋友在用彩屏时选择一些带LCD控制器的ARM7或ARM9去开发,对于不会ARM开发的朋友来说,只使用普通MCU,这样可以选择的3.5寸TFT模块,就很难找到了。 本文就是基于市场上一款比较使用的3.5寸TFT模块编写的,用户只需要帮该TFT模块当作普通的单色液晶的开发思路来使用,就可以很容易去编程。 一、 硬件选择 1、 MCU:AT89S51 2、 开发编译环境:Keil C51 3、 3.5寸TFT模块型号:MzT35C1 二、 TFT模块基本性能: 1、基本参数 模块结构: 内置控制器 屏幕大小: 3.5英寸 屏幕分辩率:320*240 屏幕颜色数:65536色(16位真彩色) 工作电压: 3.3V/5V可选 总线结构: Intel8080 总线宽度: 8Bit 背光形式: LED;可指令控制,0-127可调 连接方式: 排针插座 触摸屏:标准配置不带触摸屏;模组留有触摸屏芯片焊盘和触摸屏接口 2、接口引脚说明 接口引脚 说 明 VCC 模块供电电源输入(一般无特殊要求为5V) D0~D7 8位数据总线 CS 片选(低电平有效) RST Reset复位(低电平复位) A0 控制寄存器/数据寄存器选择(低电平选择控制寄存器) WE 写信号(低电平有效) RD 读信号(低电平有效) GND 接地 S_CS 预留有ADS7846的片选 S_SCK 预留有ADS7846的SPI时钟输入 S_SDO 预留有ADS7846的SPI数据输出 S_SDI 预留有ADS7846的SPI数据输入 S_INT 预留有ADS7846的INT信号 S_BUSY 预留有ADS7846的BUSY信号 —

一些方案

三、单片机驱动VGA方案论证 方案一:采用CPLD+SRAM方案。单片机用户通过8位、16位或32位总线直接读写由SRAM构成的显存。利用该方案实现的成本在分辨率要求不高 (小于640X480)的时候成本30到40元,但是当分辨率要求达到800X600并且是64K色的时候,成本就很高了,因为需要大的SRAM芯片以构成缓 存,而SRAM的芯片是比较贵的。可见,该方案的缺点是分辨率低,一般是640X480;颜色只有256色,不够丰富;占用用户太多的IO;用户要 想显示图片和字库需要再投入大量的精力。并且SRAM的成本高,所以整体的性价非常低,只能适用在一些低端的应用。 方案二:采用FPGA+SDRAM方案。该方案与第一个方案相比就是在不增加成本的基础上可以驱动高达1024X768分辨 率的彩色VGA显示器。这个 方案的成本一般是30到40元。但是要想进行图片的显示时,又具有与第一种方案的缺点。该种方案适用于那些使用带LCD控制器的ARM9(如S3 C2440)需要驱动大分辨率的显示器使用的场合。它实际上是将LCD送出的数据重新缓存再回放,从而降低了ARM9的负担。如果您的应用中使 用到操作系统,不防考虑一下此种方案。本网站产品MiniVGA便是使用该方案实现。 方案三:采用ARM9(如S3C2440)+FPGA+SDRAM+FLASH实现的智能显示方案。ARM9接收来自串口的命令进而控制FPGA实现画图功能。该方案的 特点是成本非常高,整个板子做下来成本 较高。并且S3C2440是BGA封装的芯片,调试和量产麻烦。同时,该方案在预存的图片较多时,上电 时加载的速度与图片多少有直接的关系。图片多时,启动速度缓慢。 方案四:采用32位ARM(LPC2141)+FPGA(A3P125)+SDRAM+FLASH。用户只需通过串口发送画图命令便可以完成所有的人机界面设计的工作。 本网站产品EasyVGA便是使用该方案实现。该方案存在下面一些优点: 首先,调试和小批量生产容易、方便。EasyVGA控制板采用的芯片都是TQFP封装的,整个板子的贴片费也不超过5元RMB。用户在制作样机的时 候用一把普通的烙铁便可完成焊接调试。 其次,能够存放很多的图片和字库。可预存256幅320X240分辨率64K色的图片,60幅800X600分辨率64K色的图片,50幅1024X768分辨率64K色 的图片。图片显示效果的图片较快且流畅。上电时加载的速度与图片多少没有直接的关系。 再者,成本低,板上仅有芯片LPC2141+A3P125+SDRAM+FLASH。

显示类型

LED类:

  • LED指示灯
  • LED数码管
  • OLED屏

LCD类

  • segmented LCD 字符型LCD   charcter   Alphanumeric
  • 点阵式LCD Dot-matrix

VGA (Video Graphics Array) 接口信号为模拟信号 应用于计算机:如接到CRT显示器,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。应用于技术显示设备:将模拟信号再转化为数字信号,DA AD二次转换,不可避免地造成了一些图像细节的损失。 640×480的分辨率。 VGA 接口采用非对称分布的15pin 连接方式,其工作原理:是将显存内以数字格式存储的图像( 帧) 信号在RAMDAC 里经过模拟调制成模拟高频信号,然后再输出到等离子成像,这样VGA信号在输入端(LED显示屏内) ,就不必像其它视频信号那样还要经过矩阵解码电路的换算。从前面的视频成像原理可知VGA的视频传输过程是最短的,所以VGA 接口拥有许多的优点,如无串扰无电路合成分离损耗等。 QVGA即”Quarter VGA”。顾名思义即VGA的四分之一尺寸,亦即在液晶屏幕(LCD)上输出的分辨率是240×320像素。QVGA支持屏幕旋转,可以开发出相应的程序,以显示旋转90°、180°、270°屏幕位置。由HandEra公司发布。多用于手持/移动设备。所谓QVGA液晶技术,就是在液晶屏幕上输出的分辨率是240×320的液晶输出方式。这个分辨率其实和屏幕本身的大小并没有关系。比如说,如果2.1英寸液晶显示屏幕可以显示240×320分辨率的图像,就叫做“QVGA 2.1英寸液晶显示屏”;如果3.8英寸液晶显示屏幕可以显示240×320的图像,就叫做“QVGA 3.8英寸液晶显示屏”,以上两种情况虽然具有相同的分辨率,但是由于尺寸的不同实际的视觉效果也不同,一般来说屏幕小的一个画面自然也会细腻一些。

segmented LCD

  • 单片机+LCD控制器/驱动器/controller/driver+LCD面板
  • 带LCD驱动器的单片机+LCD面板
  • 单片机+LCM(LCD控制器和LCD面板合二为一)

所以,编程的核心是单片机和LCD控制器之间的通讯 而单片机和LCD控制器之间的通讯又分为串行(比如I2C)和并行:

串行:典型的串行接口包含三条控制线和一条数据线,/WR读写操作控制,RD控制,/CS片选使能控制,和一根DATA数据线。常用串行控制器如HT1621I2C 。模拟I2C或者采用I2C功能 并行:典型的并行接口包含三条控制线和n条数据线,/WR控制写还是读,EN使能信号,RS控制写入指令还是数据,D<7…0>。常用并行控制器如HT1602。常用普通端口,或者PMP

程序基本模块

写一条指令函数 写一个数据函数 写一个字符函数,延伸到写一个字符串函数

处理流程

先初始化 然后调用字符串读写函数

显示时的变换

送到LCD显示的是字符,程序中可直接写字符进行编译,编译器即转换成机器码ASCII 如果要送自己的变量,要转化成ASCII字符

  • 第一,要玻璃各个位,用商余算法
  • 第二,对于数字要加上0x30,即48

示例

//======================= void delay_nus(unsigned int n) { unsigned int i=0; for(i=0;i<n;i++) asm(“nop”);//1 } void delay_nms(unsigned int n) { unsigned int i=0,j; for(i=0;i<n;i++) for(j=0;j<1140;j++);//1 } void LCD_write_command(unsigned char command) // { delay_nus(16); //LCD_DATA_PORT&=0X00ff; // LCD_DATA_PORT=command; LCD_RS=0;//选择 指令 LCD_RW=0;//选择写入 LCD_EN=1;//允许 LCD_EN=0; delay_nus(40); } void LCD_write_data(unsigned char data) // { delay_nus(16); LCD_DATA_PORT=data;//&=0X00ff; // LCD_RS=1;//选择数据 LCD_RW=0;//选择写入 LCD_EN=1;//允许 LCD_EN=0; delay_nus(40); } void LCD_set_xy( unsigned char x, unsigned char y )// { unsigned char address; if (y == 0) address = 0x80 + x; else address = 0xc0 + x; LCD_write_command( address); } void LCD_write_char(unsigned char x,unsigned char y,unsigned char data) //x=015,y=0,1 { LCD_set_xy( x, y ); // LCD_write_data( data); } void LCD_write_string(unsigned char x,unsigned char y,unsigned char *s) //x=015,y=0,1 { LCD_set_xy( x, y ); // while (*s)// { LCD_write_data( *s ); s ++; } } void cls(void) { LCD_write_command(0x01);//清屏 delay_nms(2); } void lcd_initial(void) { TRISE=0X00000; DIR_LCD_EN=output; DIR_LCD_RS=output; DIR_LCD_RW=output; LCD_write_command(0x38); LCD_EN=1; delay_nus(40); LCD_write_command(0x38);//8位显示 LCD_write_command(0x0c);//显示开 LCD_write_command(0x01);//清屏 delay_nms(2); } void trylcd(void) { LCD_write_string(0,0,”Hello,I am Ali”); LCD_write_string(0,1,”Pic24FJ128GA010”); } wlyman 201004

LCD驱动器 HT1621

HT1621是128像素, 带显示内存的多功能LCD 驱动器,它的软件结构特性使得HT1621非常适用于包括LCD模式和显示系统的多种LCD应用,而只有4个或5个接口与主控单片机连接,使得电路非常简实用。它的省电功能,非常适用于需要电池供电的场合。HT1621和单片机的连接也很简单。

LCD面板 Liquid   Crystal  Display

开模的 通用的

  • 字符型
  • 点阵型

背光片 如果只需要显示字符和数字,而且一屏所显示的内容不超过字符型液晶的最大限制(比如40×4),就可选择字符型液晶,直接与MPU连接即可。 如果需要动态地显示汉字和图形,那么,只能选择图形点阵式液晶,接下来该考虑的问题就是需要选择STN(DSTN)单色、伪彩色还是TFT真彩色。一般情况下,如果使用单片机控制,由于其控制能力的限制,只有在640×480以下单色、320×240以下伪彩色的范围内进行选择;如果使用PC、IPC或其它控制能力比较强的主控模块(如视频输入控制模块),只要具备液晶显示部分或外加显示控制,就可以有较大的选择余地,不带内置控制器的单色、伪彩色和真彩色液晶均可。 同时应该考虑到外形尺寸的要求。另外请注意,LCD的分辨率在物理上是固定的,满屏显示一般只能以其固有的分辨率显示,这一点与CRT有所区别。 背光选择,说到背光问题,需要从另一个角度将液晶分类,即透射式、反射式、半反半透式液晶三类,因为液晶为被动发光型显示器,所以必须有外界光源,液晶才会有显示,透射式液晶必须加上背景光,反射式液晶需要较强的环境光线,半反半透式液晶要求环境光线较强或加背光。 字符类液晶,带背光的一般为LED背光,以黄颜色(红、绿色调)为主。一般为+5V驱动。 单色STN中小点阵液晶,多用LED或EL背光,EL背光以黄绿色(红、绿、白色调)常见。一般用400—800Hz、70—100V的交流驱动,常用驱动需要约1W的功率。 中大点阵STN液晶和TFT类液晶,多为冷阴极背光灯管(CCFL/CCFT),背光颜色为白色(红、绿、蓝色调)。一般用25k—100kHz,300V以上的交流驱动。 温度范围,很多字符型液晶以及小图形点阵液晶有常温型和宽温型的,而大图形点阵的液晶宽温型的在大陆市场上比较少见,常温一般指工作温度0—50℃,宽温到-20—70℃(个别的可到零下30℃,如LQ5AW136 TFT 视频接口);另外在湿度方面也有一定的要求。 亮度问题,亮度单位为cd/m2或叫Nit(尼特),大部分TN、STN(DSTN)液晶的亮度不超过100cd/m2,但是目前比较常用的5—6”的伪彩色STN屏的亮度都在130cd/m2左右,京瓷有一种5.7”的LCD亮度达200cd/m2,而TFT类液晶的亮度则150cd/m2以上常见。 配件方面,于液晶的规格、接口没有国际标准,所以不同厂家、不同类型的液晶的信号接口往往不一致,所以选择液晶时,注意购买相关配件(包括信号连接器件、逆变器等)。 LCM液晶显示模块 显示驱动 控制器 显示屏都包含在内 ==== 和典型的HT1621的区别 驱动器 + 显示屏 常规LCD 自带驱动器 直接驱动 外界HT1621 通过串行或者并行连接 === 51/PIC/AVR单片机驱动控制TFT彩色液晶显示器 LCD显示模块 摘要:武汉谷鑫科技有限公司专业致力于单片机驱动TFT液晶显示屏 只要你会单片机,你就可以轻松点亮TFT液晶显示屏,本公司根据您的需要,可提供给您两个方案: 1.单片机并性行总线驱动TFT液晶显示屏 其核心电路均采用大规模可编程逻辑器件设计,全硬件实现,性能稳定可靠,产品一致性好。采用简单的并行总线方式与51单片机、AVR、DSP、PIC、ARM等CPU直接连接,信号包括数据D[7:0]、地址A[1:0]、片选/CS、写/WR、读/RD。技术工程师开发时只需要对该显示器的点进行读写数据,便可出现彩色的文字或者图形,客户可根据自己的需要设计液晶显示终端的界面,美观大方。 2.单片机串口驱动TFT液晶显示屏 可选RS232和485接口,用户接线仅仅需要VCC、GND、RXD 三根线,通讯波特率从1200—115200可调,开发人员只需要熟悉产品的通讯协议,进行二次开发即可,不需要编写底层的驱动程序,而且相关的操作代码直接在上位机软件上复制就行。1G的内存空间,图片存储量不受限制。 用户软件开发步骤: 1) 将串口智能型显示器通过串口与电脑连接。把需要用到的图片进行归纳,并在电脑上使用画图、PHOTOSHOP 等软件完成各种图片的编辑,再利用随机附带的在线调试/图片下载软件,将编辑好的图片逐个下载到串口智能型显示器中。 2) 将串口智能型显示器脱离电脑,通过串口与用户CPU 的串口连接。通过对用户CPU 的编程,向串口智能型显示器发送命令,实现各种显示操作.

上一篇:
典型站点元素
下一篇:
让wordpress符合使用习惯要走的一段路
本文目录
本文目录