首页 > 范文大全 > 正文

基于XScale的嵌入式多媒体开发平台设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于XScale的嵌入式多媒体开发平台设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:嵌入式多媒体已成为嵌入式系统应用的主要方向之一,而功能强大的硬件平台是实现多媒体开发的基础。本文设计了一种以Marvell/Intel XScale 处理器为核心的高性能多媒体开发平台,并对其显示和外设存储接口进行扩展,实现对多种显示输出方式和存储设备的支持,丰富了嵌入式多媒体开发的应用接口。

关键字:嵌入式;多媒体;XScale;接口

The Platform for Multimedia System Design with XScale Processor

CHAI Gu-heng1, LI Xiao-chao2, CHEN Shi-feng1, GUO Dong-hui2

(1.Department of Physics, Xiamen University, Xiamen Fujian 361005, China;

2.Department of Electronic Engineering, Xiamen University, Xiamen Fujian 361005, China)

Abstract: Embedded multimedia has become one of the major directions in applications of the embedded system, and a powerful hardware platform is the foundation to develop the multimedia system. This paper presents a high-performance multimedia development platform based on the Marvell/Intel XScale processor, through the expansion to the display interface and the peripheral memory interface of the system above, which can support a wide range of display output and storage devices.

Keywords: embedded; multimedia; XScale; interface

1引言

随着数字信号处理与人机交互界面等相关技术的不断成熟,嵌入式多媒体已经成为嵌入式系统应用的主要方向之一,而多媒体系统的开发需要强大的硬件平台支持。Marvell/Intel XScale嵌入式多媒体处理器以其高性能、低功耗等优点已经被大量应用于PDA、智能手机、PMP等多媒体嵌入式系统中[1],其中该系列中的PXA168处理器在2009年2月份已经被应用于Gphone手机中[2]。在基于xscale的多媒体开发平台的研究方面,文献[3]、[4]各提出了一种多媒体开发平台方案,但是这两种方案对于视频输出接口和多媒体存储接口的设计,都只是简单地利用了XScale内部集成的控制器实现了相对单一的功能接口。而对嵌入式多媒体开发平台来说,往往需要支持多种视频输出接口和存储接口。

针对以上问题,本文以XScale系列PXA270嵌入式处理器作为多媒体硬件平台核心,设计了一款易扩展、接口丰富的嵌入式多媒体开发平台。整个多媒体开发平台分为基本系统和扩展接口两部分。其中,基本系统由维持平台运行所必须的核心存储器以及AC’ 97、LCD触摸屏等基本接口构成,这些基本接口是大部分多媒体开发的必备接口。扩展接口建立在基本系统的基础之上,在视频输出接口和存储接口设计方面进行了增强。在视频输出接口设计方面,通过扩展PXA270处理器的LCD控制器,实现了开发平台对VESA DDC2 VGA[5]接口的支持,强化了开发平台的多媒体输出显示功能;在存储接口设计方面,以PXA270处理器提供的PCMCIA/CF控制器为基础,结合CPLD 进行逻辑控制,同时实现了PCMCIA和CF接口电路,丰富了开发平台的存储接口。

2平台的总体设计

2.1 XScale处理器简介

XScale系列处理器是Marvell/Intel公司开发的面向便携式手持设备应用的高性能、低功耗SoC处理器,XScale体系结构提供了一种全新的基于ARMv5TE体系结构的解决方案,并对ARM体系结构进行了增强,总体性能显著地超出同主频的ARM微处理器[6]。

XScale架构特点如下:

(1) 采用Pentium工艺技术,XScale主频可以超出普通ARM微处理器主频数倍,最高主频可达1 GHz;

(2) 集成了Flash闪存和Wireless MMX技术,大大提升了多媒体处理能力;

(3) 实现了基于统计分析的分支预测功能部件,减少由于分支转移冲刷指令流水线的次数;

(4) 针对ARM数据处理能力的不足,对ARM的乘/加逻辑进行了增强,增加了8条DSP指令;

(5) 加入了Intel Speed Step动态电源管理技术,在保证CPU性能的情况下,最大限度地降低了移动设备功耗。

2.2 基于XScale的平台框架设计

本开发平台以PXA270嵌入式多媒体处理器作为核心,包括高亮度TFT液晶显示、高分辨率的触摸屏人机交互设备、VGA接口、AC’ 97音频接口、PCMCIA/CF接口、大容量SD卡接口、USB主从设备接口、多种UART接口等,平台框图如图 1所示。

一个基本的嵌入式多媒体硬件平台应该包括:存储设备、音频接口、视频输出接口和人机交互接口等。PXA270内部集成了SDRAM、Flash、AC’ 97、LCD、USB Host/Client、FF/BT/ST UART、PCMCIA/CF、MMC/SD/SDIO、I2C等控制器。因此,可以直接利用这些控制器实现大部分外部接口。其中SDRAM和Flash通过地址和数据总线与PXA270相连;LCD和USB Host/Client挂载在PXA270系统总线上;MMC/SD/SDIO、I2C接口直接和CPU外设总线相连。此外,FF/BT/ST UART接口由于牵涉到TTL电平与RS232电平的转换,需要添加电平转换芯片;音频接口则需要通过结合AC’ 97控制器和外部CODEC芯片实现。

目前,大部分多媒体开发平台都只是简单地利用了XScale内部集成的控制器实现了上述AC’ 97、LCD、USB Host/Client、FF/BT/ST UART、MMC/SD/ SDIO、I2C等基本接口,而对嵌入式多媒体开发平台来说,往往需要支持多种视频输出接口和存储接口。因此,本文在实现了上述基本平台功能的基础上,利用LCD控制器通过添加外部VGA数模转换电路实现了VESA DDC2 VGA接口;另外,以PXA270处理器提供的PCMCIA/CF控制器为基础,结合CPLD 进行逻辑控制,实现了PCMCIA和CF接口电路。

3平台的具体设计

3.1 平台基本系统设计

3.1.1 核心存储器设计

平台核心存储器设计主要包括SDRAM和Flash的设计。其中,SDRAM用于数据高速存取,Flash用来存放系统bootloader(引导和加载程序)及操作系统镜像。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

SDRAM选用Hynix公司的HY57V561620 FTP-H芯片,工作电压3.3 V,最高工作频率133 MHz,规格为4Banks×4 M×16 bit,行地址RA0~RA12,列地址CA0~CA8。用两片HY57V 561620FTP-H,将它们的数据总线分别与PXA270的高16位和低16位数据总线连接,两片芯片共用除数据屏蔽信号DQM外的所有控制信号,最终构成了一个32位总线宽度,存储容量为64 MBytes的SDRAM系统。

Flash选用Intel公司的E28F128J3A150芯片,工作电压3.3 V,单片容量16 MBytes,数据线宽度16 bit。用两片E28F128J3A150,数据总线分别与PXA270的高16位和低16位数据总线连接,地址总线A连接PXA270的地址总线MA,共用控制信号,构成一个32位总线宽度,存储容量为32 MBytes的Flash系统。

3.1.2 音频接口设计

先进的音频接口是实现多媒体功能的必备条件。采用ST-NXP Wireless公司的UCB1400实现混合信号音频解码/编码,该芯片专为手持设备开发,集成了一个用于音频处理的20位立体声解码/编码器,支持可编程抽样率、输入/输出增益和数字音响处理,包括音量、静音、低音和高音控制。此外,UCB1400还支持众多的功率管理功能,处于非工作状态时,单独的UCB1400组块可分别切断电源,从而优化功耗,延长电池使用寿命[7]。UCB1400与Intel AC’97(音频解码/编码器97)元件规格2.1版本完全兼容,可与众多嵌入式处理器的AC-Link主机控制器通信,如PXA270处理器。

本平台采用了PXA270作为音频信号的处理器,采用UCB1400实现CODEC,UCB1400的音频输出可以直接驱动立体声耳机,当然,也可以通过添加LM4881MM音频运放后连接耳机或有源音箱。具体电路如图 2所示。

3.1.3 液晶触摸屏接口设计

LCD显示是当前嵌入式多媒体系统视频输出的基本方式。采用SHARP公司的一款256K色240×320/3.5英寸高亮度TFT液晶屏(LCD时序控制芯片型号LZ9FC22,LCD模块型号LQ035Q7DH01)。PXA270内部集成了功能较强的LCD-TFT控制器,驱动器及输入输出缓冲,支持STN和TFT显示,最大支持每像素点24位(bpp)数据格式。本平台选用FRM565(R:G:B=5:6:5)的16 bpp显示模式,将16 bit数据线与液晶面板的数据线相连,像素时钟信号L_PCLK、行同步信号L_LCLK、帧同步信号L_FCLK和信号输出使能L_BIAS分别与液晶屏的对应引脚相接,最终获得了65536色屏幕显示[8]。具体电路图如图2所示。

采用触摸屏实现人机交互功能是嵌入式多媒体系统的发展趋势之一。LQ035Q7DH01集成了电阻式触摸屏接口,利用UCB1400内置的一款四线制电阻式触摸屏控制器,将UCB1400的TSPX、TSMX、TSPY和TSMY引脚分别连接LQ035Q7DH01的X+、X-、Y+和Y-引脚,另外UCB1400的IRQOUT引脚连接至PXA270的GPIO[10]引脚,通过IRQOUT信号实现触摸中断向PXA270的传送。PXA270对UCB1400寄存器的地址进行映射,通过PXA270的地址直接访问UCB1400的寄存器,在PXA270检测到触摸中断后,利用AC’ 97控制器读取存在其中的笔触点的各类数据[9]。具体电路图如图 2所示。

3.2 平台扩展接口设计

3.2.1 VGA接口设计

PXA270集成了LCD控制器,可以直接连接LCD面板,但不能实现对于VGA接口的直接支持。LCD和VGA接口的主要区别在于所支持的视频信号类型不同,分别为数字和模拟信号。基于VGA和LCD在时序上的兼容性,只要实现视频信号类型转换就可以通过LCD控制器实现VGA接口。本设计利用PXA270集成的LCD控制器实现VGA关键时序,结合ADI公司ADV7125实现视频信号数模转换,最终构成VGA显示接口。

ADV7125是三通道8 bit的高速视频D/A转换器,实现数字RGB信号转模拟RGB(VGA)信号输出功能。3.3V单电源供电,高达330 MSPS的吞吐率。通过每像素16位数据线的组合,可以实现65536色显示。通过数模转换参考电压源和输出满度调节设置,使得输出视频信号彩色分量满足RS343A电平标准。具体电路连接如图 3所示。

早期VGA接口不能实现对于VESA DDC标准的支持,其硬件连接的关键信号只有RED、GREEN、BLUE、HSYNC和VSYNC。为了实现正确的视频输出,设计者必须在清楚了解显示器物理参数的基础上,修改主机端驱动程序,而如果输出显示设备的物理参数有变,设计者就必须依据新的参数修改驱动程序,设计不灵活,可扩展性差。为了改善VGA显示系统的灵活性,VESA组织相继定义了DDC1和DDC2显示标准。最新的VGA接口显示器都要求支持VESA DDC2标准,本论文的VGA接口就是依据VESA DDC2标准进行设计,其功能特点为:支持显示器的即插即用功能;可以将显示器的型号、序列号、生产厂商、不同分辨率下的刷新率等物理数据直接输给主机;同时允许主机对显示器显示控制命令,允许用户在不重新启动主机的情况下切换显示模式。

同早期VGA标准相比,DDC2标准的引脚定义扩展体现在以下几个方面:第一,DB15接口pin9需要连接主机端的+5V电源;第二:pin12和pin15定义为一对标准I2C总线,分别对应SDA和SCL,如表 1所示。

由于PXA270端的行同步信号L_LCLK和帧同步信号L_FCLK需要同时应用于LCD和VGA接口,对于这两个信号的引脚驱动能力要求较高,所以在PXA270的L_LCLK和L_FCLK引脚与VGA接口的HSYNC和VSYNC引脚之间添加了两个反相器,通过对于信号的两次反相操作实现驱动能力的提升,其中反相器选用了74F04芯片;同时,本设计VGA显示采用分离同步信号(HSYNC和VSYNC)的方式实现,所以并不需要ADV7125中的合成同步信号引脚SYNC,依据ADV7125手册,可将SYNC引脚下拉至信号地;而对于I2C总线的设计来说,根据VGA规范,PXA270端需要提供上拉电阻,但其并没有内部集成,所以需要添加外部上拉电阻至电源,上拉电阻值可以依据PXA270设计向导确定。

3.2.2 PCMCIA/CF接口设计

PXA270内部虽然集成了PCMCIA(PC Card)/CF控制器,但必须结合外部缓冲器和逻辑控制才可以支持PCMCIA/CF接口,PXA270、缓冲器、逻辑控制三者的连接关系如图 1所示。其中,缓冲器选用ST-NXP WIRELESS公司的电平转换芯片74LVC164245,逻辑控制采用Altera公司型号为EPM7128BTC100-10的CPLD实现。

CF接口是PCMCIA的一个子集,两者的电气规范区别很小[10]。可以利用PXA270提供的一个插槽选择引脚PSKTSEL用于区分这两种设备,同时配合一些逻辑电路来控制某些信号的产生和传输方向。对于CPLD的逻辑实现在Quartus II设计环境中完成,主要工作包括:原理图设计输入,硬件综合、布局布线及下载配置验证。图 4为利用CPLD实现的逻辑电路。图中的几个关键点:通过nCD1和nCD2来产生中断,检测卡插入;PSKTSEL与nCDx(x为1和2)共同决定是PCMCIA还是CF工作,主要是控制nPCEx、nPOE、nPWE、nPIOR和nPIOW信号的通断;数据线传输方向的控制由图中的DATA_DIR实现,DATA_DIR连接外部的电平转换芯片74LVC164245的DIR管脚,DIR管脚电平的高低会导致电平转换管脚功能的切换,从而实现传输方向的控制;图中没有地址线,因为地址线是单向传输的,不需要进行方向控制。除了大部分PCMCIA/CF管脚都通过CPLD来实现同PXA270的连接外,PCMCIA/CF的RDY/nBSY信号需要与PXA270所分配的中断管脚直连,CF使用GPIO[99],PCMCIA使用GPIO[104],这部分电路将不再单独列出。另外电路设计时还需注意接口连接的电平问题及是否需要上拉电阻等配置。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

4平台调试与功能测试

嵌入式系统的调试多采用远程调试的方法,即在主机上运行调试工具,通过各种硬件与开发板建立联系,然后下载并调试程序。目前比较流行的硬件调试器有Lauterbach公司的TRACE32系列、Abatron公司的BDI系列以及Macraigor公司的mpDemon等。本文选用Macraigor公司的mpDemon仿真器对硬件平台进行调试。

4.1 平台调试

硬件平台调试首先要针对处理器、SDRAM、Nor Flash等核心模块进行调试,确保bootloader和操作系统能够正常加载和运行。然后再对其他外设接口进行调试。具体调试平台如图 5所示。

整个硬件平台的调试过程如下:

首先要确定处理器的工作状态。具体方法为:通过RS232串口对mpDemon进行配置,在串口终端界面执行分析JTAG扫描链命令,检查所获得的扫描链上的器件ID和实际器件ID是否一致,确定扫描链是否正常建立,从而判断处理器的工作状态。PXA270正确的处理器ID为79265013,器件类型为Intel 80200。若ID和器件类型无法获得或者获得不正确,应检查JTAG接口电平及时序,确保CPU供电、时钟及复位正常。

其次要确定SDRAM,Flash等核心存储单元的正常状态。这里用到的软件工具是mpDemon的配套软件OCD Commander和Flash Programmer。对于SDRAM的调试具体方法是:首先通过以太网接口连接目标系统,在OCD Commander软件界面中执行预先编写的mac文件,完成处理器工作模式设定及SDRAM功能寄存器配置;然后在SDRAM指定地址空间执行写入指令,之后在同样地址空间将数据读回,比较读写前后数据是否一致从而判断SDRAM系统工作状态。对于Flash的测试主要通过Flash Programmer完成。其验证方法是:首先在Flash Programmer软件界面中执行获取Flash ID指令,将获得的器件ID和生产商ID同实际ID进行对比,判定系统硬件连接是否正常。本文所采用的Flash型号为28F128J3A,其正确的器件ID为0x00180018,生产商ID为0x00890089。在完成ID验证后,可以通过Fill命令执行bootloader的写入动作,之后通过Verify命令读出对应地址内容同源文件内容进行对比验证,判断Flash数据存取状态。

在完成核心模块的调试之后,对于外设接口的调试可以通过执行一些简单的接口操作程序,分析运行状态判断对应接口模块的运行情况。总之,整个硬件平台都可以通过类似以上软硬件协同调试的方法实现故障定位和系统测试。

4.2 平台功能测试

在完成平台核心及接口调试后,可以对整个硬件平台进行功能测试。本文通过在硬件平台上运行WinCE操作系统和Windows Media Player应用程序来测试平台功能的正确性。具体过程如下:

首先,利用mpDemon通过JTAG接口下载bootloader和Windows CE 5.0操作系统镜像至NOR Flash指定地址范围。然后在完成系统正确引导和启动后,在平台CF接口装载CF卡。最后待CF卡被正确识别,利用操作系统自带的Windows Media Player 9.0多媒体播放器对于存储在CF卡中的WMV格式多媒体文件进行播放测试,结果显示:该硬件平台成功实现了视频文件的正确解码,且播放效果流畅。硬件平台及多媒体效果图如图 6所示。

5结论

本论文开发了一款基于XScale处理器的易扩展、接口丰富的嵌入式多媒体开发平台,并对其显示和外设存储接口进行扩展,实现对多种显示输出方式和存储设备的支持,丰富了嵌入式多媒体开发的应用接口。对平台的测试结果表明:该硬件平台工作稳定,扩展存储设备运行正常,音视频输出流畅。

参考文献

[1] Marvell Semiconductor, Inc.. Applications Processors[EB/OL]. www.省略/products/cellular/app- li cations.jsp, 2009.

[2] Rick Merritt. Marvell pictures GHz ARM in photo frames[EB/OL]. www.省略/conf/ces/show- Article.jhtml?articleID=212700453, 2009-01-08.

[3] 王卫东. 嵌入式系统中多媒体播放器的设计与实现[D]. 东南大学, 2006.

[4] 彭文辉. 基于PXA270的嵌入式多媒体终端研究[D]. 武汉理工大学, 2007.

[5] VESA. VESA Enhanced Display Data Channel Standard Version 1.2[S]. www.省略/summary/- sumeddc1.2.mht, 2007-12-26.

[6] 范海龙. 基于XScale的面向移动视频信息处理的嵌入式平台的研究[D]. 山东大学, 2008.

[7] 陈建峰, 孙崇正, 方滨, 王普. 基于PXA250的音频系统实现[J]. 计算机与信息技术, 2006, 03: 68-70. [8] 魏少峰. 基于PXA270的LCD显示系统的设计与实现[J]. 微计算机信息, 2007, 23, (3-2): 142-144.

[9] 王学香, 刘昊. 触摸屏控制器UCB1400在Intel XScale平台上的应用[J]. 电子器件, 2005, 28, (2): 457-460.

[10] 周祺睿. 通用PXA270嵌入式开发平台设计与实现[D]. 西南交通大学, 2008.

作者简介

柴固恒,厦门大学微电子学与固体电子学专业硕士研究生;主研方向:嵌入式硬件系统设计;

李晓潮,副教授(博士),厦门大学电子工程系硕士研究生导师。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文