基于ARM核和DSP核的OMAP5910嵌入式系统
OMAP5910处理器是由TI公司的应用最为广泛的TMS320C55x DSP内核与低功耗、增强型ARM925微处理器组成的双核应用处理器,是OMAP系列的最新成员。TMS320C55x系列可提供对低功耗应用的实时多媒体处理的支持,而ARM925 MPU 可满足控制和接口方面的处理需要。OMAP5910处理器同时拥有二种产品的最佳性能,包括TI TMS320C55x DSP内核的实时处理性能与低功耗、TI增强型ARM925微处理器的灵活性,且通过优化处理器间的通信机制,使设计者可同时享受这二种处理器的最大优点。基于双核结构,OMAP5910具有极强的运算能力和极低的功耗,一方面产品性能高、省电,另一方面同其他OMAP处理器一样,采用开放式、易于开发的软件设施,支持广泛的操作系统,如Linux、Windows、WinCE、Nucleus、Palm OS、VxWorks、Java等。此外,还可以通过API及用户熟悉且易于使用的工具优化其应用程序。
1 OMAP5910的结构及特点
OMAP的结构图如图1所示。
1.1 OMAP5910处理器的主要特点
(1)高性能。采用低功耗、高性能的32位ARM9TDMI内核和TMS320-C55x DSP内核,工作频率高达150MHz;采用5级的整数流水线结构;支持多媒体处理技术,采用的是TMS320C55x DSP内核,增强了对视频和音频的解码能力。
(2)低功耗。多电源管理模式,双内核电压供给为1.6V;ARM9TDMI内核具有16KB指令和8KB数据Cache,TMS320C55x DSP内核具有24KB的指令Cache;支持2.75V的存储器和3.3V的I/O接口。
(3)I/O扩展。有4个16位的FLASH/SRAM的存储空间,1个16位的SDRAM存储空间。
(4)外围控制接口。9通道系统可配置DMA控制器;LCD控制器,支持专用的LCD DMA方式,并支持STN(passive monochrome,俗称单彩)、TFT(active color,俗称真彩)、STN(passive color,俗称伪彩)显示;串行端口(3个UARTs、IrDA、I2C、3个McBSPs、2个MCSIs、MicrowireTM、PWT、PWL、uWire、HDQ/1-Wire);USB接口;支持MMC/SD卡。
(5)时钟控制。时钟源:32.768kHz的振荡器;12MHz/13MHz的振荡器;可编程的内核锁相环。
(6)电源管理。Awake模式(正常运行模式)、Big-sleep模式(省电模式)、Deep-sleep(省电模式)模式。
(7)封装形式。289脚GZG BGA封装或GDY BGA封装。1.2 TI925T(ARM9TDMI)内核
TI925T(ARM9TDMI)内核是采用5阶段管道化流水线32位的RISC处理器架构的体系结构,并采用ARM9作内核,同时配备Thumb扩展。它能够处理32位或者16位的指令和8位、16位、32位的数据。这款新型高性能、低功耗的微构架兼容ARMv4T指令集,并通过采用协处理器CP15使体系结构得到增强。系统中的控制寄存器可通过对协处理器CP15的读写来对MMU、Cache和读写缓存控制器进行存取操作。这种微构架在ARM核的周围提供了:指令与数据存储器管理单元,指令、数据和写缓冲器,性能监控、调试和JTAG单元以及协处理器接口,MAC协处理器和内核存储总线。
TI925T 的MMU具有2个64个项的转换旁路缓存器(TLB)用于指令和数据流,每项均可映射存储器的段、大页和小页。为了保证内核周期的存取指令和数据,TI925T包含了分别独立的1个16KB的指令Cache和8KB的数据Cache。二者独立的好处是可以在同一时钟周期内读取指令和数据,而不需要双端口的Cache。指令和数据Cache都是2路相互关联的Cache,以16B为1块进行操作,并采用最小最近使用(LRU)算法以刷新存储。另外,TI925T还提供了写缓冲的性能用于提升内核,其能够缓冲数据的容量高达17字。
1.3 TMS320C55x内核
TMS320C55x内核的主要特点是:有1个64×8位的缓存队列(Instruction Buffer Queue),2个17位×17位的乘法累加单元(MAC),1个40位的算术逻辑单元(ALU),1个16位的算术逻辑单元,1个40位的桶形移位器(Barrel Shifter)和4个40位的加法器。另外还有12条独立的总线,即:3条数据读总线,2条数据写总线,5条数据地址总线,1条程序读取总线和1条程序地址总线。此外,还有用户可以配置的IDLE域。内核主要由4个单元组成:指令缓冲单元(I单元)、程序流单元(P单元)、地址数据流单元(A单元)和数据运算单元(D单元)。
1.4 系统控制功能
OMAP5910微处理器的系统控制模块提供了实时时钟(RTC)、看门狗(WT)、中断控制器、功率管理控制器、复位控制器和2个片上振荡器。
1.5 时钟和电源管理
OMAP5910微处理器提供了2个振荡器以辅助管理电源耗损。设计系统时,在待机模式下可以直接关闭12MHz的振荡输入,只留下32kHz振荡器来维持系统运作。这样,不但可以保证系统运行,让需要维持运行的周边正常操作(例如用户可以通过Keypad等输入装置来唤醒整个系统),而且可以很容易地关闭大部分接口设备,达到控制电源耗损的目的。
电源管理有3种工作模式:Awake模式、Big sleep模式和Deep sleep模式。Awake模式下,整个芯片运行在峰值频率,32kHz振荡器和12MHz振荡器正常工作。当时钟请求时,可使能外围器件的12MHz时钟,并由ULPD DPLL或APLL产生48MHz时钟。当芯片产生IDLE请求时,芯片工作:在Big sleep模式下,DPLLs 1、内部12MHz时钟被关闭。在Deep sleep模式下,只有32kHz振荡器正常工作,整个系统工作将处于最低功耗状态。
1.6 EMIFS、EMIFF接口和存储器
在OMAP5910微处理器核心中,提供了2个扩充内存接口:EMIFS和EMIFF。EMIFS接口可以支持128MB的异步静态存储器(ASRAM)、FLASH和ROM。EMIFF接口可以设定为用来操作同步动态存储器(SDRAM),其寻址空间高达128MB。这2个内存接口都是独立运作,可以同时经由微处理器核心存取数据,也可以利用直接内存存取(DMA)数据。另外还有一个内部存储器区(IMIF接口的SRAM),用来连接OMAP5910微处理器内部的内存,实现常用的数据存取,如用作微处理器液晶屏幕显示的图像缓冲器。而内存间数据传输的控制则由Traffic Controller(流量控制器)来控制,Traffic Controller会对各种传输需求依设定的优先级来执行数据的传送。
1.7 外围控制模块
OMAP5910微处理器有9个独立通道和7个接收/发送端口的DMA控制器。DMA控制器可响应内部和外部设备的请求,在MPU TI925T(ARM9TDMI)运行条件下,完成外部寄存器、内部寄存器和外部设备之间的数据传输。系统DMA的设置取决于MPU TI925T(ARM9TDMI)内核。
此外,OMAP5910微处理器还有一个独立的DMA通道供LCD控制器专用。LCD控制器提供了支持被动彩色方式STN(伪彩)和主动彩色方式TFT(真彩)显屏接口,并支持被动单色STN格式。OMAP5910拥有自己专用的通道DMA控制器来控制面板的显示,所支持的最大显示分辨率为1024×1024象素,在单色模式下,能支持15级灰度。在STN显示模式下,彩色显示最高支持3 375种颜色;而在TFT显示模式下,彩色显示最高支持65 536种颜色。LCD控制器将帧缓存中的象素编码值对应12位宽的256个入口的调色板RAM,并根据数据宽度决定彩色的数量。通常可选用片内共享的SRAM或者通过EMIFF接口选用外部SDRAM来当作帧缓存器(为优化性能推荐选用片内共享的SRAM)。
OMAP5910微处理器支持的串口包括:基于通用串行总线2.0版本和开放式主机控制接口1.0a版本的USB Function and Host模块接口;3个通用异步收发口(UARTs),其中2个UARTs具有自动调节波特率的性能,其波特率调节范围在1 200bps~115.2kbps之间,而另外1个URAT通常用作一般的URAT或者用作IrDA接口使用;3个多通道缓冲串行口(McBSPs)可提供高达128个通道的高速、全双工通信的串行接口,可直接与T1/E1调帧器相连接,并支持兼容MVIP、ST-BUS、IOM2、AC97、I2S等协议的设备;2个多通道串行口(MCSI)提供了全双工通信以及对主/从时钟的控制功能,同时为TMS320C55x 内核对外部设备如:多媒体数字音频解码编码器或其他模拟转换器等的访问提供便利的通信接口;基于Philips I2C-BUS 2.1版本的I2C Master/Slave接口(支持多主机(Multimaster)模式),即在I2C总线上的设备(包括OMAP5910在内)都可充当接收机或发送机;支持MMC/SD或SPI协议并传输串行数据的MMC/SD卡接口和1个SPI接口。
2 OMAP5910在多媒体通信技术中的应用和开发
随着通信技术的发展,新一代移动通信设备所提供的服务不仅是话音通信,而且包括移动电子商务、语音识别、音频和活动视频流等复杂的业务。因此新的移动通信设备需要具有更强大的信号处理能力和寿命更长、体积更小的电池。这对于设备制造商来说,就需要有一个既高效又节能的系统解决方案。由TI公司推出的面向3G(第三代)无线终端的开放式的多媒体应用平台(OMAP)就是能满足上述需求的一个较好的解决方案。
OMAP架构的微处理器核心中,以OMAP5910为例,采用了双处理器的结构,即将高性能、超低功耗的TMS320C55x核与增强型的RISC ARM9TDMI处理器相结合的结构,即采用DSP进行音/视频信号处理,而RISC处理器起系统控制的作用。这种结构有利于在减少功耗的前提下最大限度地提高3G终端系统的整体性能。通过比较和测试,在相同的信号处理任务下,单独的RISC处理器上执行所需的时钟周期数是TMS320C55x的3倍,其功耗是TMS320C55x的2倍。而TMS320C55x则不同,因其强大的数字信号处理能力使OMAP平台非常适合多媒体视频和音频的处理,能够充分实现支持未来采用MPEG4视频的3G无线通信协议,且其多媒体通信OMAP的核包括了2个外部存储器接口和1个内部存储器接口,以及一些与片内外设或外部设备连接的接口等。
与2G(第二代)手机中大量使用的C54x核相比,OMAP的DSP具有2个主要特点:(1)假设大多数2G手机的功能是固定的,软件存储在片内ROM之中可以直接执行,则OMAP会支持动态的应用环境,且软件可以从片外下载,并通过片内高速指令缓冲存储器来执行。这就意味着带有一个DSP实时操作系统,就可以管理不断变化的信息负荷。(2)支持一系列半定制可编程硬件协处理器。在特定应用中,采用这种方案可以显著提高性能、功率和效率。例如在电视会议具体的OMAP的体系结构中,可以利用3个视频协处理器(分别负责运动估计、DCT和反DCT变换计算及半象素内插)与DSP配合工作,用以实现CIF帧(处理速度为每秒10帧)的MPEG4编解码,进而可以降低50%的DSP负荷,使DSP能同时处理其他业务。
OMAP平台所具有的上述2个特点使其可以提供一种新的功能,即动态下载和升级。通过下载应用程序可以为手机添加新的功能,如同今天的PC用户一样可从互联网上下载应用程序。当然,这种动态下载需要DSP提供可编程的性能并得到OMAP平台应用程序接口(API)的支持。
在OMAP系统中还提供了一个DSP/BIOS桥,极大地增加了OMAP的功能和易用性,为应用程序设计者提供了通用处理器与DSP任务之间沟通的桥梁,因而可以在OMAP平台开发环境下与在单DSP处理器环境下一样进行开发和调试,而开发者都无需对2个处理器进行单独编程,无需面对不同的编程语言环境等。因此熟练的DSP程序设计者能够迅速地适应和掌握那些用于OMAP结构上的技术,而缩短产品的开发时间。基于OMAP平台,用户能够开发出众多的应用软件,例如调制解调器功能和语音识别、安全算法和语音、视频流等2.5G(2.5代)、3G应用所要求的信号处理能力。
3 结束语
OMAP5910 处理器已在 2.5G/3G 手持终端及 PDA 市场上具有强劲的发展势头。目前已经有爱立信、诺基亚、索尼、Handspring等厂商选择了TI基于C55x的OMAP硬件和软件构架,作为3G手机的处理器引擎。OMAP平台也得到了微软Window CE操作系统、Sybian的EPOC操作系统和SUN的Java 2平台的支持,因此几乎能对所有2G、2.5G和3G的无线通信协议进行兼容。在我国具有自主知识产权的TD-SCDMA 3G标准终端的研制中也采用了基于C55xS的基带信号处理技术。OMAP5910 处理器将 OMAP 平台固有的优势进一步扩展到了诸如数字媒体、生物特征识别、定位服务、增强型游戏及远程通信等新的客户、商业及工业应用领域。
参考文献
1 TI公司.OMAP5910 Dual-Core Processor Data Manual.2003
2 TI公司.OMAP5910 Dual-Core Processor DSP Subsystems Reference Guide.2003
3 TI公司.OMAP5910 Dual-Core Processor MPU Subsystems Reference Guide.2003
4 TI公司.OMAP5910 Dual-Core Processor Technical Reference Manual.2002
5 http://www.omap.com.Multimedia Technologies onTerminals Based on the OMAPTM Platform.White paperSWPyoob-June,2002
6 探矽工作室.嵌入式系统开发圣经(第二版).北京:中国铁道出版社,2003
评论