论文G手机的数字基带部分硬件方案设计书及驱动开发

上传人:痛*** 文档编号:62687210 上传时间:2022-03-15 格式:DOC 页数:44 大小:938.01KB
返回 下载 相关 举报
论文G手机的数字基带部分硬件方案设计书及驱动开发_第1页
第1页 / 共44页
论文G手机的数字基带部分硬件方案设计书及驱动开发_第2页
第2页 / 共44页
论文G手机的数字基带部分硬件方案设计书及驱动开发_第3页
第3页 / 共44页
点击查看更多>>
资源描述
第1章 绪 论1.1介绍1.1.1背景 3G最早在1985年国际电讯联盟提出,当时考虑到该系统可能在2000年左右进入市场,工作频段在2000MHz,且最高业务速率为2000Kbps,故在1996年正式更名为IMT-2000(International Mobile Telecommunication-2000)。3G是一种能提供多种类型、高质量多媒体业务的全球漫游移动通信网络,能实现静止2Mbps传输速度,中低速384Kbps,高速144Kbps速率的通信网;但由于各国、各厂商的利益差异,产生目前三大主流技术标准WCDMA、CDMA2000和TD-SCDMA,随着3GPP和3GPP2的标准化工作逐渐深入和趋向稳定,ITU又将目光投向能提供更高无线传输速率和统一灵活的全IP网络平台的下下代移动通信标准,称为Beyond 3G。2007年3月,备受瞩目的中移动TD-SCDMA设备采购招标正式启动。中国移动、中国电信和中国网通在北京、上海、天津、沈阳、秦皇岛、厦门、广州、深圳、保定和青岛等(含奥运六个城市在内)十个城市大规模建网已经拉开序幕,3G时代已经到来了!TD-SCDMA终端市场已经越来越清晰,当今年10月份TD-SCDMA网络建成后,对TD-SCDMA终端的采购也随即展开。淘这第一桶金,需要终端业务集成多,性能比较稳定,通过了SMS、MMS、WAP、JAVA、流媒体、VT等多项业务功能测试。虽然语音通信仍然是无线手机最主要的功能,但消费者的需求和3G网络的日益成熟,把语音通信和数据传输两者结合起来,用一台3G手机为消费者提供无以伦比的网上娱乐活动,进行无中断的通讯和安全的交易活动的。这样的手机将会占很大的市场份额。在这样的背景下,我实习所在公司也正在着手3G手机的设计制造,并针对目前开发3G手机需要解决的问题,根据大唐移动的技术平台提出了一种解决方案,构建了基于ANERA平台的TD-SCDMA 制式3G手机的软硬件平台。本人的工作主要是负责3G手机数字基带部分外设的电路设计以及底层驱动的开发,其他硬件设计如RF部分、模拟基带部分、应用软件有另外的同事们共同完成。因此本文结合自己的工作,主要介绍了3G手机的数字基带部分外设电路的设计和驱动软件的设计,也简要地介绍了整个手机的软硬件的总体技术。1.1.2本文的工作和贡献 本文以设计一个除了能完成高质量的日常通信外,还能处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务进行多媒体通信的3G手机为目的,采用系统工程和软件工程的原理,将移动通信、嵌入式系统、操作系统、GUI、TDSCDMA等技术手段相结合,进行技能新研究,以形成一个综合的技术体现,构建一个3G手机的硬件平台和驱动软件。因此本文主要有以下工作和贡献。 3G手机的系统设计:包括系统目标、软件硬件模块的规划、和功能设计等 3G手机数字信号基带处理子系统设计:存储系统、人机接口部分、外设扩展等。 驱动软件平台的设计与模块化编程。 基于3G手机的硬件驱动实例:针对硬件平台实现了LCD、MV3018、Camera、Keypad的驱动编程,以及测试数据。 提出了手机的软硬件测试方案,进行了系统的软硬件测试。 总结了实现情况,以及存在的一些缺陷及今后的改进方向。1.2 TD-SCDMA的概述 TDSCDMA的中文含义为时分同步码分多址接入,该项通信技术也属于一种无线通信的技术标准,它是由中国第一次提出并在此无线传输技术(RTT)的基础上与国际合作,完成了TDSCDMA标准,成为CDMA TDD标准的一员的,这是中国移动通信界的一次创举,也是中国对第三代移动通信发展的贡献。在与欧洲、美国各自提出的标准的竞争中,中国提出的TD-SCDMA已正式成为全球3G标准之一,这标志着中国在移动通信领域已经进入世界领先之列。该方案的主要技术集中在大唐公司手中,它的设计参照了TDD(时分双工)在不成对的频带上的时域模式。TDSCDMA的无线传输方案灵活地综合了FDMA,TDMA和CDMA等基本传输方法。通过与联合检测相结合,它在传输容量方面表现非凡。通过引进智能天线,容量还可以进一步提高。智能天线凭借其定向性降低了小区间频率复用所产生的干扰,并通过更高的频率复用率来提供更高的话务量。基于高度的业务灵活性,TDSCDMA无线网络可以通过无线网络控制器(RNC)连接到交换网络,如同三代移动通信中对电路和包交换业务所定义的那样。在最终的版本里,计划让TDSCDMA无线网络与INTERNET直接相连。TDSCDMA所呈现的先进的移动无线系统是针对所有无线环境下对称和非对称的3G业务所设计的,它运行在不成对的射频频谱上。TDSCDMA传输方向的时域自适应资源分配可取得独立于对称业务负载关系的频谱分配的最佳利用率。因此,TDSCDMA通过最佳自适应资源的分配和最佳频谱效率,可支持速率从8kbps到2Mbps的语音、互联网等所有的3G业务。1.4 3G手机的特点及发展3G手机就是第三代(The Third Generation)手机的简称,它与前两代手机的区别在于语音通信和多媒体通信紧密结合,集成图像、音乐、网页浏览、电话会议以及其它一些信息服务等增值服务。3G手机完全是通信业和计算机工业相融合的产物,和此前的手机相比差别实在是太大了,因此越来越多的人开始称呼这类新的移动通信产品为个人通信终端。即使是对通信业最外行的人也可从外形上轻易地判断出一台手机是否是第三代:大多数的3G手机都有一个超大的彩色显示屏往往还是触摸式的。3G手机的名称繁多,国际电联称之为IMT2000,欧洲的电信业巨头们则称其为UMTS,3G手机可能应用的技术标准有WCDMA、CDMA2000、TDSCDMA等等。极高的数据传输速度是3G手机具备强大功能的基础,目前的GSM移动通信网的传输速度为每秒9.6K字节,而第三代手机最终可能达到的数据传输速度将高达每秒2兆字节。3G手机除了能完成高质量的日常通信外,还能进行多媒体通信。用户可以在3G手机的触摸显示屏上直接写字、绘图,并将其传送给另一台手机,而所需时间可能不到一秒。当然,也可以将这些信息传送给一台电脑,或从电脑中下载某些信息;用户可以用3G手机直接上网,收发电子邮件、浏览网页、联机游戏或收看在线视频;有不少型号的3G手机还自带功能强大的摄像头,使用户可以利用手机进行视频电话会议。第2章 3G手机平台总体概述2.1 3G手机系统架构开发原则虽然语音通信仍然是无线手机最主要的功能,但消费者的需求和3G网络的日益成熟,为设计师们开辟了一条新蹊径:把无线电子产品和消费电子产品结合起来。具有多媒体功能的高性能产品将利用3G网络,把语音通信和数据传输两者结合起来,用一台无线设备为消费者提供无以伦比的网上娱乐活动,进行无中断的通讯和安全的交易活动。但是,就目前而言,要把功能丰富、无线电子产品和消费电子产品两者结合起来的手机推向市场,手机开发须规划良好的系统架构来降低设计上的复杂度。为达成这项要求,已出现不少的晶片架构及系统作法,但仍有一些设计上的共识,包括专业分工、开放性、标准化、阶层化和提高可再利用性及定制弹性等等原则。以下介绍几项开发原则: 1. 专业分工在专业分工上,最明显的作法即是采取通信与应用分离的平行架构,由基频处理器专心处理通信数据,其他的多媒体等应用功能则交给应用处理器来处理。这是一种独立于数据机的处理架构,一方面让应用处理器能充分发挥实时操作系统的应用能力,另一方面也能确保各种服务与应用不会受到无线技术的影响,进而赋与产品更高的可携性。在此架构下,基频元件能随GSM/ GPRS/WCDMA/HSDPA等规格的演进而发展,应用元件也能因应视频、音频、绘图等需求的改变而扩充其功能,例如支持高达每秒30讯框的VGA解码和H.264/VC-1视频编码、VGA彩色显示、Q-VGA辅助显示以及多达5M画素的数字照相机功能、2D/3D图形、3D声音和立体声喇叭等。2. 再利用性就再利用性来说,将通过验证合格、可用于生产的通信处理即时软件独立出来,就不会受到应用功能的限制,而能重覆且直接的再次被使用。这样做的好处很明显,软件开发一向是影响手机上市时间一大主因,往往为了小部分软件的更动,就得对整个系统进行重新验证和测试的工作,相当耗时。在独立出成熟的程式码后,可以将设计、验证及测试上的复杂度降低,大幅缩短开发的时间。3. 阶层化沟通介面但如何做好通信与应用两者之间的沟通,仍是设计上的一大挑战。前面提到开放性架构中基于硬件抽象的介面作法,此架构同时提供上层和下层的观点,上层的观点提供应用软件开发者一套针对特定作业系统的统一软件介面,并对底层的处理器设计加以抽象化;底层观点是针对LCD控制器、影像感测器或照相机等一般性应用的一组标准硬件介面。此架构因採用标准化的介面,因此与系统中个别单元的技术或架构作法无关,只需透过一组一致性的API来进行上层作业系统与下层硬件的沟通。如此一来,应用软件从底层的平台架构给分离出来,开发者只需从上层架构的观点对应用程式做抽象层级的开发,而不用对底层的实体平台做直接的呼叫,这让产品能更快速的开发,在平台更新时也不需牺牲效能或软件的可互操作性,应用功能只需要写一次就够了。不仅如此,由于此一架构的平台具有通透性,制造商也很容对硬件和软件做各种功能升级。4. 硬件平台架构在智能型手机的硬件架构中,应用处理器已是其灵魂的中心。目前市场上接受度最高的应用处理器核心,无疑当属ARM核心,它可以说是产业标准的手持设备处理器核心。除了採用ARM主处理器外,还搭配采用智能加速器来分担应付所有在音频和视频上的前、后处理任务,让这颗主处理器能长期处于省电模式下,并更专注于适合它来发挥的控制工作。随着手机应用需求的增加,未来可能有更多的专属加速器将出现在硬件平台中,以满足3D绘图、资料加密和生物辨识等服务或应用功能。此外,由于移动设备内部的资料传输日趋复杂而频繁,移动平台中的各个硬件单元也得採用理想的互连技术来沟通。5. 操作系统手机软件系统涵盖了操作系统、通信协定、多媒体处理、API、Driver、UI等开发,这些在手机开发上的重要性不断提升,对于手机来说,更是如此。就核心的操作系统来说,在语音手机或功能手机中,仍可到专用的实时操作系统(RTOS)。2.2系统的总体结构APP / MMI(应用程序、人机接口开发)Platform APIMMI FrameworkMobilesEnableMecoDeviceMangerLocal APPEnablersDataServicesEnableGUIAOSBSP DriverHardware Design图21 3G手机总体结构3G手机系统的总体结构见图21,3G手机硬件平台核心系统是维持3G手机平台平台工作的最小系统,包括DBB、ABB 和RF、存储器系统以及少量的外围维系部件如复位、时钟电路等)组成。在硬件系统的基础上,系统软件通过AOS、GUI、MMI Framework、Platform API构成了一个基本的、稳定的应用编程框架,向下可以根据硬件参考设计定制BSP和Driver。2.3硬件平台功能模块的规划目前电子产业的设计动力,无疑将很大的一部分集中在移动终端,在应用上则带动了VoIP、email、简讯、Java Game甚至是Mobile TV等网路、广播服务的出现。这对于移动终端的设计都是新的挑战,本小节简要说明多媒体3G手机的硬件规划。ABB子系统AUDIO电源管理基带收发中断信号串行接口DBB子系统数字基带处理器AD6901存储系统128Mbit2 nor flash + 64Mbit SRAMARM7 DSP运行协议ARM/DSP JTAG等测试口KEYPADUSBIrDAVIBRATORCAMERAMIDILCDUART2UART1SIM外设接口FM串行通信接口人机接口提供CSPORT 与DBB 接口通信。触发DBB中断RF子系统TD-SCDMA 模拟基带上下行信号控制和时钟信号,自动频率校准和温度采样信号提供系统数字和模拟电压复位电路SD图22 3G手机硬件平台的总体结构3G手机硬件平台的总体结构见图22,随着多媒体任务愈来愈繁重,单单依赖基频已难以承受所有处理工作,因此应用处理器的角色就因应而生。将应用处理功能从基频中分离出来,在本系统的硬件设计分为DBB(数字基带处理)+ ABB(模拟基带处理)+RF系统。DBB 部分采用ARM+DSP双核心架构,由ARM的RISC核心主要进行控制工作,大量的信号加、解码工作则交给DSP来执行,主要实现数字基带信号处理、协议栈、平台应用、外设管理等功能;ABB 主要实现模拟基带信号处理、PMU、充电、背光、VOICE 、电源管理等功能。RF 模块主要包括TD-SCDMA 模拟基带上下行信号,控制和时钟信号,自动频率校准和温度采样信号等。2.4软件系统模块划分如图21,在3G手机软件系统内部实现了各种能力集,并且能在不影响3G手机软件平台编程框架的情况下,持续不断的扩展和升级这些能力集。所有能力集向上提供一套编程接口APIs,连同操作系统的接口APIs、GUI 提供的接口APIs,共同构成完整的Platform API 接口层。这使得应用开发无需知道各种能力集的实现细节,就可以通过Platform API完成各种应用程序的开发。 操作系统模块(AOS),基于优先级的抢占式系统,及一套丰富的系统服务集,有利于实时性需求苛刻的嵌入式应用程序开发。该AOS 采用组件式设计,包括内核组件,文件系统组件和网络系统组件。形成一个Kernel、FS、NET 的抽象层,保证上层软件的无缝移植。 GUI 模块,主要提供图形抽象、输入设备的管理、通用设施、窗口管理及消息机制、GDI 函数、控件集等功能模块,为应用开发提供丰富GUI接口。 MMI Framework模块负责MMI框架的实现,主要提供一种应用管理机制和应用执行环境。包括了任务管理、消息分发机制、UI 框架、国际化支持、主题管理、输入法管理等功能。 移动业务能力集(Mobile Enables)实现对高层协议栈的接口封装,提供基本的电信业务、补充业务和承载业务能力。为MMI/APP应用软件、MeCo软件以及各种系统维护应用软件(Daemons)提供实现的接口。 本地应用能力集(Local Enables)负责提供各种终端本地应用需要的能力,包括电话本、PIM、输入法引擎、本地游戏等应用的支撑能力,并向这类应用提供开放的接口API。 设备管理能力集(Device Manager Enables)实现对终端上各种设备的管理,并向应用层提供统一的接口API,包括背光管理、电池电量管理、震动管理、本地通信接口管理、多媒体设备管理等。 数据业务能力集(Data Service Enables)软件平台提供灵活的扩展机制,可以方便地增加新的能力集(例如WAP、MMS、EMS、JAVA 等)。第3章 DBB子系统总体设计DBB子系统主要负责承载手机系统所有的软件,包括整个通信协议软件,操作系统和应用软件平台。3.1需求分析主要实现数字基带信号处理、协议栈、平台应用、外设管理等功能。一、数据处理功能系统对传输的数据需要进行处理,如图像、音频的采集与解压和压缩,以及DSP数字基带信号的处理、协议栈等。图象输出格式为JPEG格式,大小支持160120、320240、640480等可调;视频格式为视频上针对MPEG-4的编解码提供30 fps的CIF画质、24 fps的VGA画质和384Kbit/s的传输率。二、数据存储功能手机系统应具有数据存储的功能,如将拍照、摄像的保存等。三、数据通信功能包括系统与上位机之间的通信,以及系统与ABB、RF等子系统之间的数据传输。 四、调试功能上位软件可以对DBB子系统进行在线调试功能。五、人机接口功能如键盘输入、LCD输出等。六、软件驱动等实现模块化驱动,便于驱动的移植。3.2 DBB子系统总体设计DBB的总体结构如下图32所示,MONACO LCR 数字基带处理器AD6901 包括ARM7TDMI 处理器和Blackfin DSP 处理器。两个处理器共同分享外设和内存等系统资源。灵活的中断控制器允许大多数中断映射到两个处理器。AD6901 的系统资源都映射到32位的地址空间,基本寻址单元为字节。整个地址空间包括四个子系统:MCU子系统,DSP子系统,内部存储器子系统和外部存储器子系统。DSP有自己专用的DMA控制器,系统DMA 被两个处理器共享。两个处理器都有自己的中断控制器,JTAG TAP控制器和本地的控制/状态寄存器。芯片内部逻辑,模拟PLL,RTC 和外围I/O 都单独供电,便于电源管理。提供动态的内核电压和频率管理,当内核电压提高时,可以提高MCU 和DSP 的运行频率来提高两个处理器的处理能力。MCU 的最高运行频率为75MHz,DSP 的最高运行频率为300MHz。其中DSP主要是用来运行协议算法,MCU子系统构成3G 手机工作的最小系统。ARM JTAGABBARM JTAGKEYPADUSBSIMeGSPbRTCUSEeGSPaARM JTAGARM JTAGKEYPADUSBSIMUART232.768KHSLUART1IrDAVibratorVIBeGSPbeGSPfAPP intfaceFMVBATLDO BAT EBUSRFAD6091DBBMCPMV3118MIDILCDCAMERA图32 DBB的总体结构图MCU子系统:主要包括ARM7TDMI处理器,BOOT ROM和MCU JTAG。DSP子系统:主要包括Blackfin DSP处理器、SRAM、DSP总线接口单元、DSP JTAG TAP控制器和DPBUS 上的各种外设。DSP 总线接口单元负责各种总线资源的仲裁和管理,维护从MASTER(DSP、DSP、DMA、MCU和MCU DMA)向SLAVE(包括DPBUS 上的外设,L1 RAM,L2 RAM 和通过DSPBUS 访问的系统资源)的访问请求。两个子系统内部沟通、资源共享以及对外部资源的控制是通过芯片内部七条总线实现的。其中PBUS 是外部接口总线,包含三个主要的组:MMI 组、House Keeping 组和Communication 组。EBUS 用于地址、数据控制以及扩展,部数据总线宽度为16 位,地址总线为25 位。外部存储器子系统MCP:AD6901 外接2x128Mbit NOR FLASH 和64M bit PSRAM。FLASH 存放系统所有的软件的代码和相关需存储的数据;PSRAM 作为各软件运行时的内存。视频方面:搭配手机图象压缩芯片影像控制处理器MV3018来控制sensor和LCD并进行图象的编解码,满足游戏的临场感,视频上针对MPEG-4的编解码提供30 fps的CIF画质、24 fps的VGA画质和384Kbit/s的传输率,也具备图像前后处理的能力。音频方面:中星微电子公司的MIDI芯片VC0937,具有SPEAKER功放和声音均衡电路,支持立体声40合弦和MP3硬件解码。以8Bit并行数据线形式与CPU进行数据交互。3.3驱动总体设计如前所述,驱动软件运行在AD6901上,同时通过CSPORT口控制AD6857的AUDIO 部分。各个驱动模块主要对应如图3-2手机硬件系统中AD6901上面的各种外设资源,如LCD,Camera,Keypad,USB,MMC,SD CARD,SIM等,还包括AD6857上面的Receiver,Speaker,Headset和Microphone。在ARM核上运行的操作系统是ThreadX,使用ADS集成开发环境,还需要使用TRACE32 JTAG 仿真器同目标板相连。DSP 侧代码运行于AD6901的DSP核中,DSP 侧代码主要运行的是协议算法类。Driver 的主要功能是对Manager 提供统一的驱动接口,Manager 借助于这些接口能够实现其所有的功能。驱动的软件框架如图3-3所示:Manager LayerDriver Abstract Layer(DAL)Driver LayerPeripheral Access lib(PAL)图3-3驱动架构图从Manager 层向下看到的是Driver Layer,该层中的所有驱动都会包含由Driver Abstract Layer 定义的统一接口,驱动层下面还有一个底层库PAL,这个PAL的主要功能是对芯片硬件体系的抽象,作为资源提供给Driver 层,下面分别对DAL,Driver 和PAL做一说明。DAL作为Driver的抽象接口主要提供以下函数接口,open,release,read,write,control。Driver 是实现对应Manager 中所有需求的功能单元,该层中的各个模块间具有相对的独立性,实现特定的功能,应体现一定的粒度和松散性,如Camera,LCD,Audio,IrDA,USB,I2C,SPI 等。可能有多个Driver 的功能组合来实现Manager 的某个具体功能。同时,多个Driver 之间可能也会有一定的依赖关系,比如SPI 可以作为独立的驱动模块收发数据,也可以被LCD Driver 用来控制LCD模块的具体功能参数。PAL库的主要功能是对芯片硬件资源的抽象,比如中断的注册,驱动对DMA资源的共享,对GPIO资源的申请等。PAL库从功能上讲不需要实现驱动的接口,只要提供对驱动需要使用到的公共资源的抽象,以安全和合理的方式使用片上和片内外设。3.3.1 DRIVER功能描述Driver 实现对应Manager中的所有需求功能,各个驱动模块间具有相对的独立性,实现特定的功能。驱动模块以实现最小功能需求为目的,会存在有调用多个PAL 库的情况。有关驱动对PAL 库调用的具体关系与实现有关,也与具体的芯片体系有关,这里只举例描述几个驱动实现的功能。 LCD Driver:主要实现上层应用对LCD 的写屏功能,需要达到尽量少的拷贝,减少对系统处理器资源和内存资源的消耗。其控制模块主要实现对LCD 的背光调整、使能及关闭。而涉及电源管理部分的LCD的各种状态例如挂起、激活、Standby、Sleep等模块也可以包含到该模块中。中断处理模块通过查询状态寄存器可以得到产生中断的原因,执行相应操作。 Camera Driver:主要是对将摄像头采集到的数据送往上层,并且提供控制接口,达到设置帧率,图象大小格式,明亮度,图象反转等基本功能。另外,现在许多方案采用外挂图像处理器(Mobile Graphic Engine)连接Camera,并能提供硬件的JPEG/MJPEG 编解码、画中画、翻转、色彩渲染等各种特效功能,能最大程度的减少CPU的负担,依据具体的器件选型可以增添这些控制接口。 Uart Driver:主要提供通用串口功能,可以用于主机同终端的通信以及调试接口,在其控制接口中实现对串口速率的调整。 USIM Driver:主要实现同SIM 卡之间的数据收发功能,可以提供控制接口实现激活/去活SIM,查询SIM卡状态等功能。 FLASH Driver:本驱动负责完成FLASH 的读、写和擦除功能,提供擦除一个FLASH block 和整块FLASH 擦除功能。 Keypad Driver:主要用来识别键盘的按键输入,并将扫描结果上传给Keypad Manger。存在两个中断处理过程,一个是按键中断,反应当前的一个按键动作;还有一个时钟中断,表示当前一段时间内得到的所有按键值。 Audio Drive:实现音频解码后的数字信号发送给放音模块,实现音频播放。采用一个DMA通道实现数据发送,提供控制功能实现音频到speaker,Receiver 和Headset 的数据通道,以及音量的调整。 Midi Driver:实现播放应用层所需要的和弦铃声,midi等各种音效,并提供控制功能,包括进行播放、停止各种音效,是否进行渐进,是否播放midi 格式文件等。 SD Driver:通过对SD控制器的操作,实现对SD卡的初始化,关闭,读、写操作。本驱动的读、写和信息模块按照FileX的I/O Driver架构来实现,主要目的是为I/O Driver提供操作SD卡的接口。3.3.2 PAL功能描述这部分内容描述各个PAL 库实现的主要功能,存在PAL 被多个驱动调用的情况,PAL应能满足对外设的安全操作,不会因为操作过程被打断而导致数据读写出错。 ASP LIB:提供对ASPORT 的配置和数据收发功能。 ABBINT LIB 提供ABB 上外设的中断注册和响应机制,包括耳机,receiver 和speaker,充电模块等。 BSD LIB:提供的功能包括将SBUS,EBUS或者RBUS 映射到MCU 地址0 和得知当前映射到地址0 的是哪个总线,SBUS,EBUS还是RBUS。 CACHE LIB:提供CACHE的操作功能,包括invalidate cache line等,提供给驱动层使用。 CDN LIB:提供对整个系统时钟活动的集中控制,可以配置MCU和DSP 的工作频率,控制时钟源的分布。 DAI LIB:提供了对DAI 接口的配置和数据收发功能。 DMA LIB:提供了对DMA外设和DMA中断的配置功能。 EGC LIB:提供对GSP 和eGSP 的访问控制,并抽象出GSP 和eGSP的实例,可以使应用初始化和释放对象,提供对GSP 的寄存器操作,可以发送和接收数据,并提供中断操作接口。EMC LIB 提供中断的使能和禁止功能。 GPP LIB:配置GPIO进行数字的输入和输出通道,并提供读写功能。同时,也可以设置特定GPIO为edge/level方式出发IRQ中断,并将中断送往MCU或DSP。 GPT LIB:用来提供时刻敏感性应用,如配置timer 以规定的时刻,启动和停止timer,以及毫秒级延时。 MCM LIB:配置不同EBUS 地址段的cache功能。 MSS LIB:提供对AD6531 引脚的配置功能,配置为GPIO,或者eGSP;以及eGSP 映射到GPIO和USC的功能。 SBC LIB:提供对EBUS 配置功能。 SDS LIB:允许MCU控制DSP的运行,包括复位/释放DSP Reset,进入/退出DSP的power down 模式,以及读/写DSP 内存。 SIC LIB:提供使能/禁止MCU 中断,注册一个中断服务程序;触发MCU 和DSP 核的软中断;使能/禁止中断嵌套;选择ARM中断源;选择中断处理表,以及将fiq handler放入Itcm。 TWS LIB:是一个串行通信协议栈,用于MCU同LCD,外部I/O端口,RAM,EEPROM,或者DAC。TWS也支持I2C 接口,数据速率达到400kbps。 USC LIB:提供配置USC的接口,包括配置USC的极性,方向和输入端口等。 YAM LIB:提供给TONE和MIDI驱动使用YAMAHA芯片发声的功能。3.3.3接口说明 DAL接口Manager Layer 通过DAL 调用驱动设备,完成驱动设备读写和控制操作。具体调用过程通过以下外部API 函数实现。DAL为驱动的统一接口,包括以下函数:1 os_open,对驱动的软硬件资源初始化功能。2 os_release,与Open功能相对,执行资源的释放。3 os_read:从硬件通道返回数据给上层。4 os_write:上层数据写到硬件底层。5 os_control:对驱动相关的外设的各种控制选项,包括电源管理部分相关的suspend 和resume。基于会存在一个驱动被多个Manager 调用的原因,每个Manager 在使用驱动前都需要调用其open 函数先行打开,驱动的open函数中应设置打开次数计数,当打开次数为零时,表明为第一次打开操作,进行初始化操作,并将打开计数加1。当驱动允许多个线程同时调用时,在被其他线程继续调用打开函数时,返回成功并增加打开计数值;对于不允许多线程调用的驱动,返回错误代码。Manager不使用驱动时,要调用其close函数。驱动的close函数对计数值减1,只有在打开次数零时,表明已经没有任何Manager 需要其操作功能时,才可以释放所有软硬件资源。 Driver 与DAL 接口描述DAL 接口函数中的OS_FD fd 参数为设备操作符,其他参数包括user_buf,count 和op_flag 与Driver 函数接口一一对应。这些函数我们把它称为驱动内部API、驱动内部API是由各个驱动实现,并注册到DAL 的接口,包括以下函数:(1)SINT32 DRV_open(UINT32 op_flag),对驱动的软硬件资源初始化功能。对于需要在初始化时指定启动参数的应用,如mp3 等,需要在open 函数后调用Control 实现。(2)SINT32 DRV_release(),与Open 功能相对,执行资源的释放。(3)SINT32 DRV_read(CHAR* user_buf , UINT32 count, UINT32 op_flag):从硬件通道返回数据给上层。(4)SINT32 DRV_write(CHAR * user_buf , UINT32 count, UINT32 op_flag):上层数据写到硬件底层。(5)SINT32 DRV_control(UINT32 cmd,VOID *):支持带参数的控制选项。(6)SINT32 g_ DRV_init(VOID ),驱动模块加载时执行的操作。(7)VOID g_ DRV_exit(VOID ),驱动模块卸载时执行的操作。 Driver与PAL接口一个Driver 会调用多个PAL库实现硬件访问,比如IrDA驱动需要使用EGC LIB配置特定eGSP为IrDA接口,调用DMA LIB来申请DMA通道进行数据收发和DMA中断处理,调用SIC LIB 来使能中断和注册中断处理函数,使用GPP LIB配置GPIO 为输入输出端口。也会存在多个Driver 调用同一个PAL库的情况,但不会同时调用。比如DMA LIB会被许多驱动使用,还有GPP LIB,SIC LIB等。 Driver内部接口原则上驱动之间不存在依赖关系,即驱动之间不会相互调用。如果出现一些功能需要调用另外的驱动实现的情况,需要将那个驱动对应函数接口声明为全局函数。 PAL内部接口PAL库内部存在相互调用关系以实现稍高层次的功能,比如USC LIB对EGC LIB调用实现DAI 接口到USC的路由。会存在一个PAL被多个驱动调用的情况,PAL库的初始化部分需要在BSP 中完成。3.4 驱动模型编程驱动软件从范畴上讲应该包括如前面讲的驱动软件的总体架构上的与驱动部分相关的Manager部分功能,DriverAbstract Layer,Driver 层,以及Driver 下面的PAL库。Manager Layer 的功能主要是向上提供业务控制接口,对下进行驱动的管理功能。对于驱动编程模型而言,重要包括驱动软件架构的DAL,DD,PAL 三个部分。这里只从驱动模块注册对驱动模型加以描述。所有外设都必须进行注册,注册包括两种:中断处理程序注册和设备注册。其中中断处理程序注册是为了能根据预先设定处理入口及时响应相应的中断事件。而设备注册是为了能够实时跟踪各设备的状态。对于设备注册而言,注册机制必须提供一种驱动外部接口到驱动内部接口的映射。(1)中断注册中断注册涉及两张表:中断登记表和中断向量表;其中,前者是一张逻辑表,可以根据需要扩充其中的表项,同时在中断登记表中,支持一个设备的多个ISR 登记的情况暂不考虑后者是实际的中断向量表,只包括中断组号Group,中断等级Level 及中断处理程序入口,如下表所示:GroupLevel设备名称中断处理程序入口11122122中断登记表数据结构typedef structUINT32 dev_no;VOID (*handler)();irq_register_struct;irq_register_struct g_os_irq_register_tblOS_MAX_IRQ_GROUP_NUMOS_MAX_IRQ_LEVEL_NUM;(1.2)中断向量表GroupLevel中断处理程序入口11122122数据结构typedef struct VOID (*handler)();irq_vector_struct;irq_vector_struct irq_vector_tblOS_MAX_IRQ_GROUP_NUM OS_MAX_IRQ_LEVEL_NUM;(2)设备注册依然存在两种表:设备登记表和设备注册表。其中前者记录驱动设备的初始化入口,这些驱动设备必须在系统初始化时进行初始化。后者包括设备号,设备名称,设备状态,设备处理程序入口等。(2.1)设备登记表设备号设备初始化函数12数据结构typedef structVOID (*init)();VOID (*exit)();dev_register_struct; dev_register_struct g_os_dev_register_tblOS_MAX_DEV_NUM;驱动程序通过OS_MODULE_INIT(dev_no,dev_init)完成设备登记表的注册。#define OS_MODULE_INIT(dev_no,dev_init)g_os_dev_register_tbldev_no. init=dev_init.驱动程序通过OS_MODULE_EXIT(dev_no,dev_exit)完成设备登记表的注销。#define OS_MODULE_EXIT(dev_no,dev_exit)g_os_dev_register_tbldev_no. exit=dev_exit;(2.2)设备注册表设备号设备名称设备状态设备操作函数指针1234为了在驱动程序初始化时完成注册,需要提供设备注册和注销接口供驱动g_ DRV_init()和g_ DRV_exit()调用。第4章 DBB子系统硬件设计如图41所示,DBB 可通过EBUS 管理/访问Memory、MIDI、LCD&CAMER 控制器。通过GPIO 控制FM、Vibrator。另外,DBB 集成了许多外设控制器,包括:Keypad、IrDA、USB、SIM、RTC 等,外设控制器接口均与GPIO 复用。DBB 的GPIO 分类于不同的电源域,EBUS 总线隶属VMEM 电源域,SIM 总线隶属VSIM 电源域,DBB 与ABB 接口隶属VINT 电源域,MMC 总线隶属VMMC 电源域,其它GPIO 多数隶属VEXT 电源域。在使有GPIO 中一定要注意电压一致性。图4-1 DBB系统原理图4.1外部存储系统MCP的原理图设计 本设计选用intel 公司的38F3350LLZDQ1(128Mbit FLASH + 128Mbit FLASH+ 64 Mbit PSRAM),异步访问速度分别为85ns 和65ns。FLASH IO 电压2.8V, 核电压1.8V.工作电流需求50mA.;PSRAM 输入电压为2.7V3.1V。下图42为DBB与MCP的接口原理图。图42 DBB与MCP的接口原理图两个FLASH DIE 分别接到AD6901 的ROMCS1 和ROMCS2 两个区,把两个FLASH 带看成统一编址,第一个带的起始地址看成虚拟地址0(物理地址是0x01000000), 然后地址向后加,加1 表示加1 字节,第一个带的大小是16M,所以第二个带的起始地址(虚拟地址)是16M0x01000000,第二个带的起始地址是0x1C000000。两片FLASH地址空间分别为0x010000000x01FFFFFF和0x1C0000000x1CFFFFFF;PSRAM地址空间为0x0400 0000 0x047F FFFF。图4-3 所示为DBB 和MCP 连接电路图,DBB 和MCP 接口信号定义如表4-1 所示。VCC_IO & VCC_coreADD0.24DATA0.15/R-WE/R-OE/R-CS/R-UB/R-LB/F-CE1/F-CE2/F-WE1/F-OE1/F-OE2/F-CLK/F-ADVF-WAITF-RSTR-MODEGNDGPIO47AD6901EBUSDBB_ADD1.25DBB_DATA0.15DBB_WEDBB_RDDBB_MCP_RAMCS1DBB_UBSDBB_LBSDBB_MCP_ROMCS1DBB_MCP_ROMCS2DBB_WEDBB_RDDBB_BURSTCLKDBB_ADVDBB_WAITDBB_RESETDDB_MCP_P_MODE3.0V 1.8V图4-3 所示为DBB 和MCP 连接电路图信号名描述特殊要求DBB_ADD0.25地址线DBB_WE写信号DBB_RD读信号DBB_MCP_RAMCS1 P-RAM DIE1片选DBB_UBS RAM高字节片选信号DBB_LBS RAM低字节片选信号DBB_MCP_P_MODE P-SRAM刷新信号此信号低,低功耗模式此信号高,运行代码GPIO54DBB_MCP_WP写保护GPIO47DBB_MCP_ROMCS1FLASH DIE1 片选DBB_MCP_ROMCS2FLASH DIE2 片选DBB_BURSTCLKBurst 时钟DBB_ADV地址有效信号DBB_WAIT等待信号DBB_RESET MCP复位信号ABB2DBB_RESET表41 MCP信号表4.2 LCD和CAMERA接口的原理图设计为了提高图象质量,减轻cpu负担,我们采用外挂手机图象压缩芯片影像控制处理器(CCP)MV3018来控制LCD和CAMERA,Camera,并能提供硬件的JPEG/MJPEG 编解码、画中画、翻转、色彩渲染等各种特效功能,能最大程度的减少CPU的负担。当不用CAMERA 时,M3018 应工作在BYPASS 模式以降低功耗;当处于CAMERA PREVIEW 模式下,M3018 用CAMERA 提供的PCLK 作为时钟,图像首先被压缩成JPEG 存入buffer,然后解压缩显示,从camera 捕获到lcd 显示可达30fps。CAMERA 的I2C 总线的速率为400Kbps,也可调整时钟到小于100kbps。LCD和CAMERA接口的原理图设计,在下章驱动设计中将详细介绍MV3018。MV3018的引脚说明见表4-2。引脚功能描述备注HOSTINTERFACEMA0.1HOST address生成四个地址 用于4个bank选择MWEN写使能MREN读使能MCS片选信号MINT中断信号MD0.15数据总线MCU与MV3018的数据输入输出MD16/GPIO0多功能口MD17/GPIO1多功能口LCDINTERFACELRSLCD复位信号LWENLCD写使能LRENLCD读使能LCS1LCD片选1LCS2LCD片选2LD0.17数据总线LCD与MV3018数据的输入输出SENSORINTERFACEHREF行同步时钟VSYNS场同步时钟DI0.7数据总线Sensor和MV3018数据的输入输出SCLI2C时钟SDAI2C数据PCLKSensor输入像素时钟SMCKO时钟Sensor接口工作的系统时钟CLOCKINTERFACECLK1时钟输入CLK0时钟输出RESET复位STROBE/GPIO2GPIO3.4通用IOPOWERMVDDMCU I/O电压供应SVDDSensor I/O电压供应LVDDLCD I/O电压供应RVDD寄存器电压供应VE0(CVDD)内部电路电源DVSS地表4-2 MV3018的引脚说明LCD 采用巨浪公司的单屏: 1.8,128X160,65K,TFT,其驱动芯片为HD66773。与CAMERA采用OV公司的OV7725芯片, OV7725需要2.8V PVDD(模拟电源)、2.8V IOVDD(接口数字电源),1.5VDVDD(数字核电压)。MV3018与LCD、SENSOR、MCU连接原理如图4-4所示。图4-4 MV3018连接原理图4.3键盘接口原理图设计AD6901 通过其键盘接口可以提供8*8 的矩阵式键盘。矩阵式键盘扫描由软件来控制。硬件电路没有去抖,需要进行软件去抖。根据需求,共有下列的按键:数字键09,*,#,BACK,SELECT,OK,四向键,Power 键。除了Power 键,其它的按键(共16 键加四向键)按矩阵式键盘来实现。键盘单独定制为键盘FPCB,目前的设计中采用的是五行行输入和四行列输入,共20个键。其中,POWER 键和挂机键复用,采用AD6857 的KEYON 资源,利用长按和短按方法区分实现。剩余19 个键利用键盘矩阵扫描方式实现。键盘背光信号采用AD6857 的两组 PWM 背光信号,四个背光灯共用一组背光信号,由于每个背光灯的标准额定电流为5mA,选用限流电阻值68 欧姆。每组背光信号的驱动电流为30mA,4 个背光灯需要20mA,在背光信号驱动能力之内。键盘背光电路如图4-6 所示:图4-6 键盘背光电路键盘矩阵连接电路如图4-7 所示图4-7:键盘矩阵连接电路键盘信号接口信号定义见表4-3:信号名描述ABB_KBL1PWM 信号, 驱动能力30mAABB_KBL2PWM 信号, 驱动能力30mADBB_KEYPAD_ROW04键盘行输入信号DBB_KEYPAD_COL03键盘列输出信号KEYON ABB按键开机输入信号表4-3 键盘信号表4.4 MIDI接口原理图设计我们选用中星微电子公司的MIDI芯片VC0937,支持立体声40合弦和MP3硬件解码。以8Bit并行数据线形式与CPU进行数据交互。工作时钟最高达36MHz,电路设计中由AD6901输出的13Mhz时钟提供。该芯片具有SPEAKER功放和声音均衡电路,提供背光和振动器接口,芯片具有POWERDOWN省电模式。图4-8为VC0937的电路连接图,VC0937有两个输出通道,一个是耳机左、右声道,一个是SPERKER 差分通道。二者各有优缺,耳机左、右声道输出信号是由其内部左、右声道码流D/A 变换后直接输出,没有进行滤波,音质略差,而SPERKER 差分通道输出信号经过了二阶滤波器滤波,音质很好,但由于其是差分信号,因此不能产生立体声。为了充为利用二者之长,将二通道通过外部交流耦合后输出。使用时,如需要使用耳机听立体声,则通过软件配置使信号通过耳机左、右声道输出,如需要使用SPEAKER 播放优质MIDI 新音乐,则通过软件配置使信号通过SPEAKER 差分通道输出。DATA0.7/ CS/RD/WR HPOUT_L/A0 HPOUT_R/IRQ/RESRT /CLK /IOVDD SO1/SPVDD S02GPIO86AD6901EBUSDBB_DATA0.7DBB_MELODY_CSDBB_RDDBB_WEDBB_ADD0DBB_MELODY_INT DBB_MELODY_RESETDBB2ABB_CLKOUT Vext VbatGPIO5MCLKGPIO47MELODY_LMELODY_RMELODY_SO1MELODY_SO2图4-8 VC0937的电路连接图4.5 SIM卡接口原理图设计SIM卡接口用于手机与运行商提供的SIM的通信接口,SIM 卡座尺寸为30.117.2mm,6触点的标准结构,。SIM接口信号串入SIM卡专用的ESD和EMI防护器件。其电路连接信号如表4-4所示:信号名称功能描述方向引脚VSIM电源供电管脚输入C1SIM_RESETSIM 卡复位管脚输入,低电平复位C2SIM_CLK时钟管脚输入C3GND地管脚输入C5SIM_DATA数据管脚双向C7表4-4 电路连接信号SIM 卡接口电路如图4-9 所示。图4-9 SIM 卡接口电路图第5章 驱动的具体实现本人在3G手
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!