基于OMAP-L138处理器的OLED驱动开发及实现

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:qingqiu12157
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  引言
  随着用户对微处理器的多核协作、更高集成度外设、更低热量耗散以及更低总体系统成本的需求,TI公司推出了新一代的低功耗OMAP-L138双核处理器。OMAP-L138可广泛应用于通信、工业、医疗诊断和音视频嵌入式设备,ARM核擅长用于操作系统的移植及丰富图形人机界面的开发,而DSP核擅长于复杂算法的运算,两核的协同工作可大大增强嵌入式设备的数据处理能力,增强用户的使用体验。OLED屏的驱动实现是构成良好的人机交互接口的重要组成部分,介绍了OMAP-L138的特点及LCD接口,实现了OLED屏的在Linux2.6及U-Boot中的驱动开发,在系统上电后快速显示START LOGO的功能。
  OMAP-L138的特点及LCD接口
  OMAP-L138的特点[1]如下:
  (1)内部集成了375/456-MHz A R M 9 2 6 E J - S R I S C M P U及375/456-MHz C674x定/浮点VLIW DSP,可满足系统的非实时多任务及实时高强度数据处理的应用需求
  (2)强大丰富的外设资源:
  主要包括:1个EMAC控制器;1个USB2.0接口和1个USB1.1接口;2个I2C接口;1个McASP;两个McBSP;2个SPI接口;4个64位通用定时器;实时时钟(RTC);1个可配置的16位HPI;144个可配置的GPIO管脚;3个UART接口;2个eHRPWM和3个eCAP;1个EMIFA口,可接16位SDRAM/NOR Flash/NAND Flash;1个EMIFB口,可接16位的DDR2(最高频率150MHz)或16位mDDR(最高频率133MHz)[2];2个MMC/SD/SDIO;1个LCD控制器;1个SATA控制器;1个uPP接口;1个VPIF接口;众多外设可以通过PSC(电源及睡眠控制)和管脚复用控制,根据系统需求灵活配置;
  (3)高效的缓存机制。其中ARM核内部有16KB的L1程序Cache和16KB的数据Cache,以及8KB中断向量表存储RAM;DSP核采用二级缓存结构,包括32KB的L1程序Cache、32KB的数据Cache和高达256KB可灵活配置的L2 Cache,L2可以被ARM核访问;此外在两核之间还有128KB的片内SHARE RAM,可用于ARM核和DSP核高速交换数据,而不影响各自的运行。
  (4)低功耗设计。采用1.2V内核电压,1.8V或3.3V可配置I/O接口电压,不同使用情况下总功耗为440mW,待机模式功耗为15mW,在深度睡眠模式下功耗仅为6mW。
  OMAP-L138的LCD控制器里面包含两个独立的控制器,分别是Raster(光栅)控制器和LIDD控制器。两个控制器独立工作,但是每次只能有一个处于活动状态。光栅控制器用于控制同步的LCD接口。它提供时序
  控制和不间断的图形数据刷新到显示屏显示。通过可配置的时序控制支持多种不同型号不同尺寸的单色和全彩显示屏显示,内置调色板、灰度色标/序列化器。图形数据在帧缓冲中处理和存储,帧缓冲为系统中的一个连续的内存块。内置的DMA引擎提供图形数据给光栅引擎,再输出到外部的LCD设备显示;LIDD控制器用于控制异步的LCD接口,它提供完全可配置的时序控制信号(CS,WE,OE,ALE)和输出数据[3]。该驱动开发主要使用光栅控制器。
  系统采用维信诺公司生产的
  O L E D屏,此屏为240*320像素,262K色,采用18位编码方式的AMOLED点阵显示屏。它具有高亮度,自散热,高对比度,细边框,宽视角,工作温度范围很宽等优点。此屏除了与OMAP-L138的RGB LCD接口连接外,还需增加SPI口连接,用于OLED屏内驱动芯片的初始化,而背光控制则通过控制其供电电源使能完成。LCD控制器支持16位/像素的编码方式,采用成RGB565(5位红、6位绿、5位蓝)模式连接,具体连接如图1所示。
  OLED屏在Linux2.6内核的驱动开发
  OLED屏驱动本质上属于字符设备驱动,Linux为此类显示设备提供了
  观测效果,刷新频率为60Hz,像素时钟为4.608MHz,不反转像素时钟极性,最终确定LCD控制器的具体参数如下:width=240,height=320,hfp=2,hbp=2,hsw=3,vfp=8,vbp=6,vsw=2。
  U-Boot中添加OLED屏的初始化及显示LOGO功能
  OLED屏除了具有普通16位RGB接口的一般特性外,还需连接其SPI口,用于对屏内部驱动芯片S6E63D6进行初始化,可以实现接口类型配置、背光供电电压、屏的亮度等调节。另外还增加了一个GPIO引脚控制背光供电电路使能,用于控制背光的打开及关闭。采用OMAP-L138的SPI1与OLED的SPI口连接,其SPI驱动时序要求如图4所示。
  驱动芯片S6E63D6内包含数十个寄存器,可以划分为数个寄存器组,初始化过程中密切相关的寄存器组包括:显示控制、电源控制、Gamma控制寄存器组[5]。根据S6E63D6的SPI通信要求,先传输寄存器地址,后传输寄存器值。每次传输3个字节,首字节写入0x70或0x72以表示此次传输的是地址还是寄存器值,后两个字节对应传输地址或寄存器值。依据SPI口通信时序要求配置OMAP-L138的SPI1驱动[6];根据传输协议,封装好writeRegAddr和writeRegData函数,从而对各寄存器组进行初始化。在U-Boot当中,将S6E63D6的初始化封装成oled_init函数放在OMAP-L138对应平台的board_init函数当中执行。S6E63D6的初始化步骤为:(1)设置入口模式寄存器;(2)关闭备用模式;(3)设置Gamma控制寄存器组;(4)设置RGB565接口模式;(5)打开显示屏。
  完成屏内驱动芯片S6E63D6初始化后,还需要对OMAP-L138的LCD控制器进行初始化,主要是对Raster模式下对各控制寄存器进行配置,参数与Linux下基本一致。对LCD控制器的初始化封装成LCDC_init函数放在U-Boot/lib_arm/board.c中的start_ armboot里面执行。
  用户希望系统上电后第一时间能看到显示屏的动作,以确定系统工作是否正常,所以OLED屏的初始化完成后,将开机LOGO图片数据输出到LCDC_init中设置frame bufer所在的内存地址,通过DMA机制自动传输图像数据到就OLED屏显示,就实现了开机显示图像功能。
  结语
  本文详细介绍了维信诺的262K色OLED屏在OMAP-L138平台的驱动开发具体方法,该屏在系统应用过程中显示图像清晰细腻,QT/E等图形界面应用程序运行良好,可流畅播放视频文件,有很宽的观赏视角,其在苛刻的气候条件下使用仍然表现出良好的稳定性,可用于手持终端、车载系统等通信、工业领域,对双核微处理器平台的嵌入式系统开发具有重要意义。
  参考文献:
  [1] OMAP-L138 C6-Integra DSP+ARM Processor (Rev. D)[Z].Texas Instruments,2011
  [2] 付建伟,王厚军,曾浩.一种数字示波器的微处理器硬件设计[J].世界电子元器件,2010,(09)
  [3] TMS320C674x/OMAP-L1x Processor Liquid Crystal Display Controller (LCDC) User’s Guide[Z].Texas Instruments,2010
  [4] 宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社,2008[5] S6E63D6 MOBILE DISPLAY DRIVER IC Rev.1.10[Z]. Samsung Electronics,2007
  [6] TMS320C674x/OMAP-L1x Processor Serial Peripheral Interface (SPI) User’s Guide[Z].Texas Instruments,2010
其他文献
本监护系统以MXT89C551为核心,集成五种生理参数测量模块,将用户的生理参数同屏同步显示给用户。采用IVT蓝牙模块将用户的这五种生理参数发送至手机,并通过手机GPRS模块发送至固定网站或医生手机,为用户提供了新的远程医疗救护解决方案。
10月正是出游的好时节,虽然一直犹豫,但或是美景的诱惑,或是首次远骑的冲动,亦或是想检验自己的体力,最终我还是报名参加了“桐子坳观银杏”的骑行活动。  出发前一天的晚上,本想早早睡觉,可偏偏睡不着,是兴奋?期待?时钟滴答作响到十二点,才勉强有了睡意,可早上不到六点就醒了。  秋日的清晨,阴沉的空气中夹杂着零星小雨,凉嗖嗖的,可这阻挡不了我们内心的激动,心怀“车辚辚,马萧萧”壮士远行的心情,向着骑行
恩智浦(Nxp)半导体执行董事、总裁兼首席执行官Rjck Clemmer不久前接受了本刊的采访。称其已经实现了战略转型.专注四大领域,并支持中国实现从“中国制造”到“中国设计”的跨越.
集约型增长方式的模式及铁路的选择黄卉顾衍忠黄卉,顾衍忠,杭州铁路分局艮山门站,310004收稿日期:1997-05-261集约型增长方式的3种模式经济增长方式是社会生产力发展状态的表现,经济增长方式的转变,则
每次五、六年级的数学测试结束,都经常听到教师们议论:这次试卷中的分数应用题并不是好难呀,为什么好多学生都不会做呢?也在平时的教学中发现:相当一部分的学生在解答分数应用题
我认为学校的主要职能就是教人学习,教育做人。尤其是后者更为重要,它的直接参与者就是每一个班主任。所以班主任的任务尤为重要。所谓新老师是指刚走上工作岗位的老师,比较
军事/航天用半导体市场是一个较为稳定的夹缝市场.但近年来这一市场也遭遇到了政府削减军事开支的不利局面。此外,为节约政府开支和缩短以往所需的长期开发设计时间,该市场近年最
飞思卡尔半导体在加利福尼亚州圣何塞市举行的DESIGN West大会上展示其全新的基于ARM Cortex-M0+处理器的Kinetis L系列微控制器(MCU),再次显示了其在基于ARM 的嵌入式处理领域的领导地位。入门级 Kinetis L 系列MCU的首批试用样件计划于第二季度提供。  飞思卡尔能够以如此快的速度展示Kinetis L系列器件要归功于在Cortex-M0+核心的开发过程中与A
本文探讨了我国农村国防教育在经济和社会发展的重要时期所面临的几个问题,重点从健全农村国防教育网络体系、拓宽农村国防教育渠道、把握农村国防教育时机和提高农村国防教
美国著名学者波斯纳(Posner)曾经提出教师的成长公式为教师的成长=经验+反思。全国特级教师袁容从自己的教学实践和成功经验总结出教学成功=教学过程+反思。成都师范学院教授卿平