OMAP-L138

2024-06-10 版权声明 我要投稿

OMAP-L138(共2篇)

OMAP-L138 篇1

随着用户对微处理器的多核协作、更高集成度外设、更低热量耗散以及更低总体系统成本的需求,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) 内部集成了3 7 5/4 5 6-M H z 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位H P I;1 4 4个可配置的G P I O管脚;3个U A RT接口;2个e H R P W M和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可灵活配置的L2Cache, 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]。该驱动开发主要使用光栅控制器。

系统采用维信诺公司生产的OLED屏, 此屏为240*320像素, 262K色, 采用18位编码方式的AM-OLED点阵显示屏。它具有高亮度, 自散热, 高对比度, 细边框, 宽视角, 工作温度范围很宽等优点。此屏除了与OMAP-L138的RGBLCD接口连接外, 还需增加SPI口连接, 用于OLED屏内驱动芯片的初始化, 而背光控制则通过控制其供电电源使能完成。LCD控制器支持16位/像素的编码方式, 采用成RGB565 (5位红、6位绿、5位蓝) 模式连接, 具体连接如图1所示。

OLED屏在Linux2.6内核的驱动开发

OLED屏驱动本质上属于字符设备驱动,Linux为此类显示设备提供了一种称为帧缓冲驱动的接口,应用程序在图像模式下对此显示缓冲区进行读写,就可以绘制自己想要的图形。帧缓冲设备驱动可以分为两个组成部分: (1) 与具体硬件平台无关的通用上层部分,主要包括帧缓冲设备提供给用户空间的file_operations结构体,实现代码位于Linux/drivers/video/fbmem.c; (2) 针对开发平台建立的与硬件密切相关的特定帧缓冲设备驱动的具体实现。包括fb_info结构体的注册、注销及其成员的维护,尤其是最终会操作具体平台LCD控制器硬件寄存器的_ops的成员函数的实现。

与驱动开发密切相关的LCD控制器寄存器说明如表1所示。

针对OMAP-L138的fb_ops中的成员函数的实现就成为了驱动程序开发的关键,_ops定义如下:

其中fb_check_var, fb_setcolreg,_ioctl成员函数为针对OMAP-L138平台的实现。其余函数使用对应的通用函数;

对应Linux2.6内核,LCD控制器经常被集成在特定SoC上作为一个独立的硬件模块存在,成为了platform_device。所以帧缓冲设备驱动的模块加载函数中只需完成平台驱动注册,而初始化fb_info结构体中的固定和可变参数、LCD控制器硬件寄存器的初始化、申请帧缓冲设备的显示缓冲区空间和注册帧缓冲设备的工作则移交到平台驱动的探测函数fb_probe中完成。对应释放fb_info结构体内存、关闭LCD,释放显示缓冲区以及注销帧缓冲设备的工作则移交到平台驱动的移除函数fb_remove中完成[4]。另外还需编写OMAP-L138平台的fb_suspend,_resume函数的实现。

平台驱动定义如下:

其中fb_probe函数的实现最为关键,其流程如图2所示。

fb_probe函数中lcd_init函数完成LCD控制器的硬件初始化,其流程图如图3所示。

根据OLED屏的时序要求及实际观测效果,刷新频率为60Hz,像素时钟为4.608MHz,不反转像素时钟极性,最终确定LCD控制器的具体参数如下:width=240, height=320, h f p=2, h b p=2, h s w=3, v f p=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 bu er所在的内存地址,通过DMA机制自动传输图像数据到就OLED屏显示,就实现了开机显示图像功能。

结语

本文详细介绍了维信诺的262K色OLED屏在OMAP-L138平台的驱动开发具体方法,该屏在系统应用过程中显示图像清晰细腻,QT/E等图形界面应用程序运行良好,可流畅播放视频文件,有很宽的观赏视角,其在苛刻的气候条件下使用仍然表现出良好的稳定性,可用于手持终端、车载系统等通信、工业领域,对双核微处理器平台的嵌入式系统开发具有重要意义。

参考文献

[1]OMAP-L138C6-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]S6E63D6MOBILE DISPLAY DRIVER IC Rev.1.10[Z].Samsung Electronics, 2007

OMAP-L138 篇2

利用Gabor特征进行人脸识别的技术已经相对比较成熟,而嵌入式Linux系统以其自身的独特优势,已经成为了开发嵌入式人脸识别系统的良好平台,近年来对嵌入式平台上的人脸识别算法的研究也越来越多。本文将讨论在嵌入式平台上,基于标准的ORL人脸库,从而很好地实现人脸识别算法。

1 人脸检测及识别算法的研究

1. 1 改进的Adaboost人脸检测算法

传统的Adaboost算法的计算量很大,不适合在资源有限的嵌入式平台上使用,本文对Adaboost人脸检测算法进行了改进,一定程度上降低了算法的复杂度[3]。本文只使用了Haar-like中最基本的4 种结构,具体如图1所示,而且去掉了边缘特征。

本文只选用了4 000 多个弱特征进行训练,很大程度上降低了训练时间。样本的训练过程如下:

1) 强分类器训练的过程必须使每一级强分类器命中正样本率要高于99. 0% 。

2) 输入所选功能设置的各功能进行分类的训练样本库。在进行每次迭代时,根据样品权重以及权重分布的弱分类器的判断结果,选择一个错误率最小的弱分类器为本次迭代中的弱分类器h( n) 。这样每个训练样本的权重值是更新后的误码率,从而使下一次迭代会更加重视被错分的样本。这样经过M次迭代后,就可以将产生的M个弱分类器组成一个具有较强分类能力的强分类器。

3) 强分类器串联连接以后就构成了一个级联分类器。在级联分类器中,将由较重要特征构成的分类器放在整个分类器的前端。这样可以大大提高分类器的效率。

应遵循级联分类器的原则,即将更重要的功能组成结构放在相对简单的强分类的前方。比如生成一个8 级,共包含102 个强分类器的级联分类器,需要将较强分类器放在前端。第一类分类,可以快速排除检测出60% 的非人脸的子图像。应遵循级联分类器的原则,即将更重要的功能组成结构放在相对简单的强分类的前方。比如生成一个8 级,共包含102 个强分类器的级联分类器,需要将较强分类器放在前端。第一类分类,可以快速排除检测出60% 的非人脸的子图像。

1. 2 优化检测窗口

因为在训练过程中所使用的人脸都是正面采集的,所以本论文涉及的级联分类器主要适用于门禁系统的人脸识别。在实际的检测过程中,一方面,对待检测窗口尺度处理通过使用双线性内插法,实现门禁窗口的效果; 另一方面,考虑到边缘一般不包含人脸,很少出现面部检测窗口的最低值为20 ×20 的情况。本文对这一部分做出了优化,并取得了良好的效果。

2 基于Gabor的人脸识别算法

首先,根据人脸图像的特征选择Gabor滤波器的参数,然后进行Gabor小波变换[4]。之后采用两步降维法减少特征的维数。

2. 1 Gabor滤波器的设计

Gabor滤波器可以定义如下

式中: I( x,y) 为输入图像; ψu,v( x,y) 为Gabor核函数。

2. 2 对特征降维

这里设投影矩阵为W,要求投影,类间散布越大越好,而且要保证尽可能少的类内散布。所以Fisher准则函数的定义如

其中样本类之间的离散度矩阵为

样本,类内离散度矩阵为

那么,最优的投影矩阵定义为

3 基于OMAP-L138 的硬件系统设计

3. 1 OMAP-L138 处理器性

OMAP-L138 处理器是TI公司一块高性能DSP +ARM的双核处理器[5],具有处理速度快、扩展性好的特点。其中最大的特点是支持浮点数运算,可以很好地满足Adaboost人脸检测算法对硬件平台的要求。OMAP-L138是一款高性能的处理器,能够很好地完成满足人脸识别对硬件平台的要求,可以保证整个系统的实时性。

3. 2 硬件系统设计

在基于人脸识别的嵌入式门禁系统中,硬件平台的搭建尤为重要,是一个系统实现稳定高效运行的基础。系统包括重力传感模块、人脸采集模块、Hi3515 中心处理模块、门禁控制模块,如图2 所示。

以OMAP-L138 微处理器为核心的基于人脸识别的嵌入式门禁系统的硬件工作流程如下: 当OMAP-L138 处理器检测到有人脸输入时,处理器会进入全速运行模式,对采集到的人脸进行特征提取并与存储的人脸库进行对比,如果识别成功将门禁系统发送开门指示,这样门会打开,如果识别不成功,门禁系统不会做出反应。

3. 3 实验结果

标准的ORL人脸库,其中包括40 人,共400 张人脸图像。此ORL人脸库,其模式变化稀少,是标准的人脸库。在ORL人脸库实验中,可以选取出每个人的4 ~6 个人脸图像当作训练样本,其余的用作测试样本,分别随机地抽取出训练样本之外的剩余的40,80,120,160,200个测试样本加以测试。试验中通过对同一测试样本在不同的投影维数下加以测试,其测试结果如图3 所示。

此嵌入式人脸识别器与基于PC机( Intel Core 2 Duo E4600) 的人脸识别系统逐一进行了对比,各项参数的比较结果如表1 所示。

通过表1 的各项参数的对比,可以看出此嵌入式人脸识别器的设计在性能方面已经很接近PC机系统的人脸识别,能够很好地满足实时性的要求。

4 结束语

基于Gabor算法的人脸识别在OMAP-L138 嵌入式门禁系统中达到了较高的识别率。本文设计的嵌入式人脸识别门禁系统安全可靠、实时性好,并同时具有很高的商业价值。然而,本系统的性能与基于PC机的门禁系统还有一定的差距,所以在整个系统的稳定性和响应效率上还有待进一步提高。

摘要:针对人脸识别技术在嵌入式门禁系统中的应用,提出了以OMAP-L138微处理器为核心的嵌入式系统,该系统能够很好地保证实时性和可靠性。通过Adaboost人脸检测算法,以及基于Gabor的人脸识别算法实现了嵌入式门禁系统。相应的实验结果表明,该算法在嵌入式平台得到了优化,嵌入式系统的高可靠性和实时性问题得以解决。

【OMAP-L138】推荐阅读:

上一篇:免疫增强治疗下一篇:手指屈肌腱

热门文章
    相关推荐