(计算机应用技术专业论文)多功能芯片驱动设计与实现.pdf_第1页
(计算机应用技术专业论文)多功能芯片驱动设计与实现.pdf_第2页
(计算机应用技术专业论文)多功能芯片驱动设计与实现.pdf_第3页
(计算机应用技术专业论文)多功能芯片驱动设计与实现.pdf_第4页
(计算机应用技术专业论文)多功能芯片驱动设计与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)多功能芯片驱动设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 传统嵌入式设备中芯片功能单一 要完成多种功能就必须多芯片共同协作 在 完成同等功能条件下 如果一种芯片能够实现多种功能 在嵌入式设备中就可以使 用较少的芯片 从而达到减小体积和降低成本的目的 在对 个符合音频编解码器 9 7 规范 并且还具有键盘 触摸屏与电池电量监测等多种功能为一身的芯片进行分 析后 利用嵌入式l i n u x 的多种机制实现了整个驱动管理模块 为了能够协调并正确地发挥芯片的多种功能 一个合理的功能模块划分直接影 响整个模块质量 通过分析l i n u x 驱动中相关的关键技术 如中断处理流程 竞争 条件等 并依据芯片特有的功能特性 对管理模块各个部分进行了分析与划分 然 后给出了各个模块所需实现的目标 驱动管理中两个核心模块的主要任务是 操作音频编解码器控制单元以及音频 编解码器数字接口 和分发上层模块中断 首先利用互斥机制与核心线程等技术实 现两个核心模块 最后针对节能部分出现的问题给出了解决办法 音频部分是多功能芯片的主要功能 在分析规范中的音频编解码器数字接口协 议基础上 利用直接内存访问以及直接内存访问中断 缓冲区管理技术 设计与实 现了音频驱动 并给出音频部分的节能管理实现 芯片中的通用输入输出口构成了键盘的硬件基础 支持长短按键的键盘驱动与 普通的键盘驱动在时间要求上有所不同 对时序进行分析后 利用同步机制设计与 实现了键盘管理模块 触摸屏和电池电量监测两个模块都利用芯片的模数转换功能来获取各自的数字 数据 它们的共同硬件基础为芯片内部的十比特模数转换器 在分析该单元的基础 上 具体分析了消除干扰的同步信号 并使用中断和轮询两种方法实现了触摸屏驱 动 最后给出了电池电量监测接口 关键词 音频编解码器9 7 规范 驱动 音频编解码器 直接内存访问 模数转换器 华中科技大学硕士学位论文 a b s tr a c t t h ec o n v e n t i o n a le m b e d d e dd e v i c e s c h i p h a s o n l y o n e s i n g l ef u n c t i o n s o i t r e q u i r e ss e v e r a lc h i p st oc o o p e r a t et op e r f o r mm u l t i f u n c t i o n t h e r ew i l lb ec h a n c e so f r e p l a c i n gs e v e r a lc h i p sw i t hs i n g l eo n e i ft h eo n eh a sm u l t i f u n c t i o n a n do f d r o p p i n gt h e c o s ta n dm a k i n gt h ed e v i c e ss m a l l e r i nt h i sp a p e r am u l t i f u n c t i o n a ic h i pi n t e g r a t e dw i t h a c 9 7 a u d i oc o d e c 9 7 c o m p o n e n ts p e c i f i c a t i o n r e v 2 1i n t e r f a c ei sd i s c u s s e da n d s e v e r a l l i n u xm e c h a n i s m sh a v e b e e nu s e d t o i m p l e m e n t t h ew h o l e m a n a g e m e n t m o d u l e s ac o r r e c td i s p o s ei st h ek e yt od r i v et h em u l t i f u n c t i o n a lc h i p b a s e do nc h i p s f u n c t i o n t h ea n a l y s i so f l i n u x si n t e r r u p ta n dr a c ec o n d i t i o n s a l lm o d u l e sc a r lb el a y e r e d a n dt h e i rt a s k sc a nb ea s s i g n e dr e a s o n a b l y t h et w o p i v o t a l m o d u l e s r e s p o n s i b i l i t i e s a r et o r e s p e c t i v e l y c o n t r o la c 9 7 c o n t r o l l e ru n i t a c l i n kf a c 9 7d i g i t a li n t e r f a c e a n dt od i s p a t c hi n t e r r u p t i nt h et w o m o d u l e st e c h n o l o g yo fk e r n e lt h r e a da n dm u t e xm e c h a n i s mi su s e d a n das o l u t i o nt o c o d e c l sp o w e rm a n a g e m e n ti sg i v e n a u d i oc o d e ci st h em a i nf u n c t i o ni nt h ec h i p a f t e rh a v i n ga n a l y z e dt h ea c l i n k p r o t o c o l d m a d i r e c tm e m o r ya c c e s s i n t e r r u p ta n d a u d i ob u f f e ra r eu s e dt op r o g r a m t h ea u d i od r i v e r ap r o b l e mo f t h ec o d e cp o w e rm a n a g e m e n ti ss o l v e di nt h i sm o d u l e t h e r ea r es e v e r a lg e n e r a l p u r p o s ei o i n p u t o u t p u t p o r t s w h i c hc a nm a k eu po f k e y b o a r d s c i r c u i t b e c a u s et h ep r e s s a n d h o l dk e y b o a r dd r i v e ri sd i f f e r e n tf r o mt h e n o r m a ld r i v e r i ti s v e r yi m p o r t a n tt oa n a l y z et e m p o r a lc o h e r e n c eb e f o r ed r i v i n gt h e k e y b o a r d r e a d o u to ft o u c hs c r e e na n dp o w e rm a n a g e m e n tp a r a m e t e r si sb a s e do nt h e10b i t s a d c a n a l o g d i g i t a lc o n v e r t o r i nc h i p i nn o i s ye n v i r o n m e n t s u s i n g t h ea d c s y n c h r o n o u ss i g n a l c 1 3 1 1m a k et h et o u c hs c r e e nm o r ei m m u n et o h i g hf r e q u e n c y f l u c t u a t i o n s i nt h i ss e c t i o ni n t e r r u p ta n d p o l l i n ga r eu s e d t or n nt h et o u c hs c r e e na n dt h e i n t e r f a c eo f p o w e rm a n a g e m e n t i sp r o v i d e da tl a s t k e yw o r d s a c 9 7c o m p o n e n ts p e c i f i c a t i o n d r i v e r a u d i oc o d e c d m a a d c l i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果 尽我所知 除文中已经标明引用的内容外 本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果 对本文的研究做出贡献的个人和集体 均己在文中以明确方式标明 本人完全意识到本声明的法律结果由本人承担 学位论文储躲砻冼中 日期 山 f f 年牛月2 1 f 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留 使用学位论文的规定 即 学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅 和借阅 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索 可以采用影印 缩印或扫描等复制手段保存和汇编本学位论文 保密口 在 年解密后适用本授权书 本论文属于 不保氮吵 请在以上方框内打 4 学位论文作者签名 绣争 目期 山 中年牛月2 f 日 耐1 7 w 乡 日期 绛够月扣日 华中科技大学硕士学位论文 1 1 课题背景 1 绪论 二十 世纪的人类社会是信息化社会 以信息技术为主要标志的高科技产业在 整个经济中的比重不断增长 在信息技术飞速发展的今天 多媒体技术作为计算机 产业发展的新领域 已经深入到生活的各个方面 它的影响是广泛而且深远的 在 近十年来多媒体技术不仅在技术研究领域内开辟了许多新的方向 而且在经济领域 内也带来了许多新的商业切入点 随着研究的不断深入 这一技术在未来也会不断 地向前发展 l j 作为计算机技术的 个分支 嵌入式技术所涉及的领域和范围在不断扩大 早 期的计算机只能处理数字与符号 现在由于多媒体技术的发展 使得计算机能够综 合处理声音 文件 图象 视频等信息 这些多媒体技术被广泛地运用于嵌入式系 统中 例如远程监控 可视电话等系统中广泛运用的视频采集f 4 在语音识别领域 中对语音部分和音乐部分的区分p j 通过局域网构造的嵌入式语音交互系统 6 以及 我们国家对于汉语语音的合成 7 1 所有这一切的发展都离不开某些相关领域的不断进步 首先d s p d i g i t a ls i g n a l p r o c e s s i n g 作为一种在二十一世纪影响科学界与工程界最有利的技术 它结合了通 讯理论 数值分析 概率统计 模拟电路处理 决策理论和数字逻辑电路等等一系 列的学科 革命性地影响了许多领域 如通讯业 雷达声纳 高保真音乐以及石油 探矿等 d s p 对多媒体的支持主要集中于音频处理和图象处理 b 1 实际的应用诸如 d s p 使用于图象压缩处l 里 9 1 应用于音频编解码处理 1 0 1 等等 我国的d s p 应用技术 相对而言起步并不晚 而且国内的d s p 的研究与开发拥有自己的联合会议 为国内 提供了一个良好的交流平台 其次随着网络的不断普及 网络 多媒体技术和嵌入 式这三者之间也在不断融合 相互促进并不断发展 多媒体数据的有线网传输 对 目前的网络协议提出了许多新的要求 嵌入式技术广泛运用于许多无线设备中 1 1 如个人数字助理 个人手持通讯设备等等 其上的多媒体应用对于无线网协议中的 服务质量要求也不尽相同 u 1 嵌入式操作系统的新兴力量l i n u x 方兴未艾 它的开源性 内核可定制等等优 点吸引了许多的开发者与开发商 随着多媒体的发展l i n u x 显示了自身特有的优点 华中科技大学硕士学位论文 无数的爱好者和研究机构为l i n u x 的这一领域贡献了宝贵的技术及经验财富 三维 图形系统的发展 运用于音频与视频的实时传输 1 3 以及基于微内核的低功耗多媒 体数据处理嵌入式系统 1 4 1 无不显示出这一操作系统在多媒体领域的发展潜力 随着 我国具有自主知识产权的嵌入式处理器 龙芯一号 的诞生 结合具有开源性的 l i n u x 将会对加快发展我国的嵌入式软件开发技术提供极好的机遇与条件 1 2 国内外概况 1 2 1 嵌入式芯片发展概况 嵌入式处理器的发展与微处理器的发展紧密联系 处理器对整合了软件与硬件 外设的嵌入式设计提供了一个 处理心脏 对于各种处理器的体系结构的划分基本 有四种类型 8 位累加器 1 6 3 2 位的c i s c c o m p l e x i n s t r u c t i o ns e tc o m p u t e r 1 5 j r i s c r e d u c e di n s t r u c t i o ns e tc o m p u t e r 1 6 a 7 和数字信号处理器 1 8 1 9 1 在嵌入式系统广泛运用的今天 r i s c 结构成为该系统中非常重要的一个计算机 体系结构 其中减少指令的平均执行周期数成为r s c 思想的精华 虽然对于程序 执行的总指令数来看r i s c 要多于c i s c 但是通过减少指令的平均执行周期数 r i s c 取得了比c i s c 更为快速的执行速度 砒s c 系统结构一般具有如下几个共性 1 较小的指令系统 2 运算指令的操作数面向寄存器 3 指令的执行长度 寻址方式以及指令的格式基本统一 4 指令的操作数一般保存于寄存器中 5 对于子过程调用返回地址多使用寄存器 从嵌入式角度看r i s c 它具有独特的优势 在同等的集成规模下 r i s c 的处 理器核具有较小的空间 外围模块的接口电路可以集成在同一块芯片上 这既可以 减小芯片的尺寸 也可以便于散热而达到减少系统的功耗 由于结构相对于c i s c 而言要简单 因此r i s c 芯片的开发成本相对而言也要低 对于一些特殊用途的专 用芯片而言这个特点非常重要 对于实时应用来说 由于r i s c 的指令执行长度和 寻址方式整齐划一 这样有利于中断延迟的可预测性 并利于缩短中断延迟1 2 0 2 1 从1 9 7 0 年i b m i n t e r n a t i o n a lb u s i n e s sm a c h i n e s 公司开始定义r i s c 体系结构 开始 如今经过了将近3 5 年的历程 其间包括了s u n 公司的s p a r c s c a l a b l e 2 华中科技大学硕士学位论文 p r o c e s s o r a r c h i t e c t u r e 处理器 m o t o r o l a 公司的r i s c 处理器系列 一直到1 9 9 0 年 a r m a d v a n c e dr i s cm a c h i n e s 公司成立 它在r i s c 处理器开发领域不断取得 突破 其结构已经从版本3 发展到版本6 由于其设计的a r m 核具有低功耗 低 成本 高性能等等优点 众多的半导体厂家以及整机厂商都大力支持 使得在嵌入 式应用领域3 2 位r i s c 嵌入式产品中占据了7 5 的市场份额 目前设计生产a r m 芯片的国际大公司超过了5 0 家 主要包括 1 i n t e l 公司 在收购了d e c d a t a e q u i p m e n tc o m p a n y 公司之后 之前由 d e c 与a r m 公司合作设计的s t r o n g a r m 成为了i n t e l 第一款面向嵌入式领域的 a r m 核 具体的型号包括了s a 一1 1 0 0 和s a 一1 1 1 0 2 2 埘l 以及网络处理器i x p 1 2 0 0 当a r m 第5 个版本的指令集体系结构颁布后 诞生了i n t e l 目前主流的嵌入式芯片 x s c a l e 系列 具体的处理器型号从p x a 2 5 0 2 5 1 到p x a 2 5 5 一直到目前的p x a 2 6 0 本文的硬件平台就是搭建在p x a 2 5 0 之上 2 s a m s t m g 公司 具有 3 c 3 4 1 0 s 3 c 4 4 8 0 x 等多种a r m 芯片 其中s 3 c 4 4 8 0 x 是s a m s u n g 公司为了面向手持设备以及通用应用程序而设计的芯片 它采用的是 a r m 公司的7 t d m i 处理器核型号 使用0 2 5 微米的c m o s c o m p l e m e n t a r y m e t a l o x i d e s e m i c o n d u c t o rt r a n s i s t o r 技术 最高可运行于6 6 m h z 频率 该芯片不 支持m m u m e m o r ym a n a g e m e n t u n i t 3 m o t o r o l a 公司 d r a g o n b a l lm x l m x m u l t i m e d i ae x t e n s i o n 系列表示媒 体扩展 它是基于a r m 公司的9 2 0 t 型号处理器核发展起来的 龙珠的市场定位包 括目前主流的个人数字助理 智能手机以及下一代的无线通讯设备 4 c i r r u sl o g i c 公司 该公司处理器系列中的e p 7 2 1 1 是c i r r u s 公司为了超低 功耗之类的应用而设计的一款芯片 它基于a r m 公司的7 2 0 t 型号处理器进行封装 整合了一个增强型的m m u 最高运行频率为7 5 m h z 作为国内通讯业领头羊 中兴通讯有限公司与华为通讯也都购买了a r m 公司 的处理器核用于通讯专用芯片的设计 2 6 1 伴随着i c i n t e g r a t e dc i r c u i t 电路不断发展 在封装技术上也取得了很大的进 步 在当今限制半导体器件发展的关键因素是封装与互连技术 而不是芯片的制作 m c m m u l t i c h i pm o d u l e 将一个以上的未封装的半导体器件直接装配在稳定的基 板上 可以达到很高的互连密度 它具有封装密度高 体积小 电性能好等优点 促进了电路系统不断地向小型化过渡 2 7 七9 1 3 华中科技大学硕士学位论文 1 2 2 嵌入式操作系统发展概况 随着嵌入式设备的广泛应用 特定用途的嵌入式操作系统也随之不断地在发展 不同领域内不同操作系统在发挥着各自的作用 在此仅对应用于手持设备较为流行 的几种操作系统进行介绍 1 s y m b i a n 3 0 1 1 9 9 8 年最初由诺基亚 爱立信 m o t o r o l a 和p s i o n 等公司成 立的软件联盟 其后许多大公司都加入到了该联盟中 其目标是成为手机操作系统 中重要的提供商 在目前全球智能手机操作系统中 到2 0 0 3 年为止有1 8 种手机使 用s y m b i a n 操作系统 总数大约为6 千七百万台 s y m b i a n 对无线服务提供了非常 好的支持 对第2 代 第2 5 代和第3 代手机的开发都能够很好地满足 2 p a l m o s 自从1 9 9 6 年p i l o t 产品诞生起 p a l m o s 就成为了一个在个人 数字助理领域知名的操作系统 p a l m 通过一个基本任务管理的抢占式多任务管理内 核来为系统软件和一些特定目的的软件提供服务 它的中断服务是通过一个称之为 系统自陷的机制来实现 该机制类似于微软d o s d i s ko p e r a t i n gs y s t e m 的中断 系统 在它的内存管理中将存储空间分成动态内存区域和永久存储区域 存放重要 的用户和系统数据的永久存储区域被谨慎地保护起来 以防止错误改写 3 w i n c e l 作为微软嵌入式领域的产品 继承了微软桌面操作系统的进程 调度可抢占性 在中断处理部分分成了 中断服务程序 和 中断服务线程 不支 持嵌套中断 值得一提的是w i n c e 的图形界面 作为微软公司的产品 这一部分对 于广泛使用w i n d o w s 的用户而言 能够在嵌入式产品中碰到熟悉的桌面应用环境是 非常具有吸引力的 4 嵌入式l i n u x 嵌入式操作系统的生力军 依靠开放源代码 以及强劲的 网络功能和稳定性在多种商业嵌入式操作系统包围中依然占据了一席之地 而且近 年来许多的企业和研究机构把目光转向了嵌入式l i n u x 的开发与研究 为此嵌入式 l i n u x 的版本也非常众多 例如u c l i n u x 3 3 主要用于没有m m u 系统中 还有国外较 为著名的m o n t a v i s t a 定制和改造的嵌入式l i n u x 国内的博利思软件有限公司开发 的通用型嵌入式系统平台 该平台主要针对于信息家电领域 此外还有一种较为特 殊的l i n u x 种类a r m l i n u x 3 4 j5 1 它是专门为a r m 核量身定做的l i n u x 随着a r m 核芯片广泛应用于各种嵌入式系统 在l i n u x 内核源代码中 a r c h 目录下增加了针 对a r m 处理器的硬件适配层 由各种厂商 开发者 爱好者在其中增添各种a r m 芯片的特定功能与部件 4 华中科技大学硕士学位论文 1 2 3 音频技术研究发展概况 音频技术中最重要的就是模数转换与数模转换 其中紧密依靠于d s p 技术 采 样率 振幅量化和抖动是技术中三个重要的参数日 在对模拟信号进行采样及重放的技术发展中看 经历了如下几个过程 3 7 1 从1 9 8 2 年c d c o m p a c td i s k 技术的推广以来 它的采样率为4 4 1 k h z 每个采样样本使用1 6 比特量化能够提供9 6 d b 的信噪比 成为最为流行的音乐与数 据的传播媒质 2 1 9 9 7 年的d v d d i g i t a l v i d e od i s k 技术不仅在图象上提供了高质量的图 象而且还为用户提供了多声道的音频环绕 它支持高达1 9 2 k h z 的采样率 可以使 用1 6 比特 2 0 比特甚至2 4 比特的量化 并且可以支持1 6 个声道 3 1 9 9 9 年推出的s a c d s u p e r a u d i o c d 通过整合许多的新技术诸如h y b r i d d i s k d s d d i r e c ts t r e a md i g i t a l 以及d s t d i r e c ts t r e a mt r a n s f e r 编码 并放 弃了d v d 中所使用的p c m p u l s ec o d em o d u l a t i o n 编码 达到了2 8 2 2 4 k h z 的高 采样速率 而且频率响应范围高达1 0 0 k h z 且可支持2 6 个声道 另外在网络发展的同时 为了能够利用网络有效传送音频数据 结合压缩理论 和算法对c d 音质的数据进行了压缩 m p e g m o v i n g p i c t u r ee x p e r tg r o u p 通过 定义三级压缩来解决该问题 其中最著名的就是使用压缩因子为1 2 比特速率达到 1 2 8 k b p s 的l a y e r i i i 简称m p 3 m p e g l a y e r l i i 3 8 4 0 在计算机多媒体技术发展当中 音频技术相对于图象技术而言发展相对要缓慢 在个人计算机领域的音频系统中 一个p c m 编码的1 6 比特立体声数据在i s a i n d u s t r ys t a n d a r da r c h i t e c t u r e 的d m a d i r e c tm e m o r ya c c e s s 上传输需要 7 0 0 0 n s 同样的一个传输在p c i p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t 上仅需要3 6 0 n s 1 2 个p c i 时钟周期 因此从1 s a 总线转到p c i 总线有效地减少了系统的负荷 1 在从i s a 迈向p c i 发展的道路上 i n t e l 适时地推出了a c 9 7 a u d i oc o d e c 9 7 构 架 虽然它并非具有强制性 但是目前差不多所有的p c i 声卡都遵循了此标准 它 有效地利用了处理器来模拟d s p 运算 减少了成本 由于a c 9 7 并非一个强制性 的标准 因此许多厂家可以采用非a c 9 7 的方式来进行芯片以及声卡设计 例如1 2 s i n t e ri n t e g r a t e d c i r c u i ts o u n d 是与a c 9 7 类似的一种方式 在a c 9 7 中编解码芯 片通过a c l i n k a c 9 7d i g i t a li n t e r f a c e 与主芯片通讯 1 2 s 通过1 2 s 链路来进行 a c 9 7 标准制定的初衷是为了使用在主流的个人计算机系统上 但是在许多嵌 入式领域的芯片都开始支持该标准 正如本文所讨论的i n t e l 的x s c a l ep x a 2 5 0 处理 华中科技大学硕士学位论文 器 它通过内嵌的a c 9 7 控制单元来支持符合a c 9 7 标准的编解码芯片 1 3 课题主要研究工作 本课题将采用的处理器为i n t e l 公司x s c a l e 系列的p x a 2 5 0 处理器芯片 它作 为i n t e l 定位嵌入式市场的主流处理器 具有高性能的特点 主频可以运行在2 0 0 3 0 0 4 0 0 m h z 之上 具有超流水线的r i s c 技术 并且利用了i n t e l 的0 1 8 微米处 理器技术 使在获得高性能的同时具有低功耗的特点 另外正如上 d 节所分析的 该处理器主要还集成了一个a c 9 7 控制器 这样由p h i l i p s 公司生产的u c b l 4 0 0 芯 片 在a c 9 7 规范下 将作为一个多功能芯片通过a c l i n k 与其相连构成了整个课 题研究的硬件平台 本课题拟设计与实现所使用的操作系统以嵌入式l i n u x 2 4 1 8 内核为基础 该版 本的内核是目前稳定版本中使用较广 且对x s c a l e 的支持也较为成熟 在本文中 我们将首先从多功能芯片的功能特点出发 依据各部分所需完成的 功能进行了模块划分 并将结合l i n u x 多种相关技术实现了整个驱动管理 具体说 来 本课题将主要完成的工作如下 1 对多功能芯片各功能模块进行合理的分析与划分 2 设计并实现两个关键控制模块 3 通过实现放音与录音来实现音频管理 4 利用时序分析和同步机制实现键盘的驱动 5 给出触摸屏的管理实现以及电池电量监测接口 在完成以上工作后 我们将会构造出一个实用可行的驱动管理模块 6 华中科技大学硕士学位论文 2 多功能芯片模块间功能划分及关键技术 进行系统设计是所有软件开发的必经阶段 本驱动开发也不例外 为此首先从 多功能芯片u c b l 4 0 0 硬件介绍开始 随后结合硬件功能对管理模块进行了详细地 分析并进行了合理地划分 最后分别对a r m 的异常和中断处理流程 竞争条件两 个关键技术的相关机制进行阐述 2 1 多功能芯片简介 a c 9 7 起源于i n t e l 在主流个人计算机系统上实现音频及m o d e m 输入输出控制 而定义的一个规范 u c b l 4 0 0 是p h i l i p s 公司基于a c 9 72 1 版本之上开发的一块多 功能芯片 它主要是一款立体声音频编解码芯片 并集成了触摸屏 电源管理等功 能接口 由于它内部还提供了1 0 个通用i o i n p u t o u t p u t 接口 因此还可以作为 别的开关电路用途 在本项目中将作为键盘控制电路部分来实现 该芯片体积仅为7 x 7 x 1 4 m m 4 8 针的引脚接口可以满足嵌入式系统中缩小 p c b p r i n t e d c i r c u i t b o a r d 制板空间的要求 它需要3 3 伏的外部供电并且内嵌了 多种省电模式 这也能够充分满足便携式以及对电源管理有特殊需求的设备要求 从上可以看出该芯片针对的市场定位主要是智能手机 手持p c p e r s o n a l c o m p u t e r 掌上p c 个人智能通讯设备和个人数字助理p d a p e r s o n a ld i g i t a l a s s i s t a n t s a c 9 7 规范中并没有定义a c l i n k 的主控端 因此符合a c 9 7 规范的u c b l 4 0 0 也只是作为一个编解码芯片接到了x s c a l e 的a c u n i t a c 9 7c o n t r o l l e ru n i t 上 面 该控制单元也符合a c 9 7 规范 并且还支持a c l i n k 它们的连接方式如图2 1 所示 需要注意的是对u c b l 4 0 0 芯片所有的操作都必须通过a c l i n k 来进行 a c l i n k 是一个全双工的链路 它工作在固定的时钟周期上 并且支持p c m 编码数 据流 所有在a c l i n k 链路上流动的数据按照时分复用方式t d m t i m ed i v i s i o n m u l t i p l e x i n g 进行传输 7 华中科技大学硕士学位论文 i x 面i j a c u n i t u c b l 4 0 0 图2 1a c u n i t 与u c b l 4 0 0 的连接 2 2 各功能模块分析及划分 从上述芯片介绍中得知由于其功能较多 而且相互之间联系紧密 进行一个好 的功能划分有助于整个驱动管理模块实现 依据芯片功能以及a c 9 7 规范中的原理 将其划分为a c 9 7 控制模块 又称为 音频编解码器控制模块 多功能芯片主控 模块 键盘模块 触摸屏模块 电池电量监测模块以及音频管理模块几个部分 各 功能模块关系中 音频编解码器控制模块和多功能芯片主控模块最为关键 别的模 块在此基础上完成各自的功能 其关系分析如下 并如图2 2 所示 图2 2 功能模块关系图 8 华中科技大学硕士学位论文 1 a c 9 7 规范中a c l i n k 属于连接a c u n i t 和多功能芯片的唯一通道 各模 块均要通过它与多功能芯片u c b l 4 0 0 进行通讯 因此它属于一种临界资源 为此 所设计的音频编解码器控制模块主要负责接收上层各模块的读写请求 然后对 a c 9 7 控制器进行控制 其中还包含了对a c 9 7 控制器以及a c l i n k 的初始化 处 理控制器自身的中断以及负责a c 1 i n k 这一临界资源的互斥使用 其中实现的核心 函数是读写函数p x aa c 9 7r e a d 和p x a 所有对于多功能芯片的操作最 ac97 write 终都由这两个函数完成 模块中的中断处理函数主要是为了保证读写函数的原子性 因为a c l i n k 的特殊性要求每一次操作能够真正结束取决于中断的产生 以写寄存 器为例 当把一个值写入u c b l 4 0 0 寄存器的地址空间 如果成功 在a c u n i t 中 会产生一个中断标记该操作正确得以执行 这时候整个写操作才算真正完成 否则 表示出错 2 因为上层功能多样化 按照分层理论必须有一个层次来完成多样化功能的 分发 所以多功能芯片主控模块就起到这样一个作用 它在整个层次中起到枢纽的 作用 其主要负责 1 上层模块和音频编解码器控制模块之间的通讯 对此提供了u c b l x 0 0g e t o a p i a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e 接口 该接口主要是为了获得在a c 9 7 主 控模块在初始化时构造核心数据结构p x aa e 9 7c o d e c 以便完成对多功能芯片读写 2 分派上层模块的中断处理函数 在实现中该模块独立为核心线程 线程运 行后进入进程调度 进程切换时机为多功能芯片i r q o u t i n t e r r u p to u t p u t 引脚所 引发的中断 该线程一旦处于运行状态 表明上层模块中产生了中断 随后依据芯 片中的中断状态寄存器查出具体的中断源 调用上层模块的中断处理函数 而后自 身再次进入进程调度并等待下一次中断产生 为此本模块提供了u c b l x 0 0h o o ki r q 0 a p i 接e l 给上层模块 上层各模块利用该函数进行注册 3 音频管理通过两种途径进行音频管理 通过音频编解码器控制模块实现音 效上的改进 比如调整采样频率 调整音量大小等等 利用了d m a 来进行音频数 据的传送 并处理d m a 通道的中断 u c b l 4 0 0 芯片中的d a d i g i t a l t oa n a l o g 和a d a n a l o g t od i g i t a l 分别完成数字信号到模拟信号以及模拟信号到数字信号 的转换 因此对于放音来说 音频管理模块主要就是将用户进程中的p c m 编码的 数据写入a c u n i t 然后a c u n i t 通过a c l i n k 传到u c b l 4 0 0 由u c b l 4 0 0 来对 其进行d a 转换 最后送到线性输出信号线上 最终完成声音播放 录音部分原理 一样 是上述过程的逆过程 4 触摸屏驱动主要利用芯片中的一个1 0 比特的a d c a n a l o g d i g i t a l 9 华中科技大学硕士学位论文 c o n v e r t o r 把屏上触摸点的模拟量转换成数字量 该模块每次从寄存器中将该数 据读出即可获得相对坐标值 由于线路干扰 每次读取数据时所进行的采样可能会 出现抖动而影响了采样数据的准确性 因此u c b l 4 0 0 提供了两种工作方式 同步 与非同步 同步方式意味着每次采样时机依据一个参考方波的上升沿 非同步方式 不参考任何时间同步 当模块发出读取指令时就立即采样 5 键盘驱动主要是基于芯片中1 0 个通用i o 口 利用i o 口的网状式连接 当 个按键按下时 驱动采用的方式为在每一行i o 上加高电平 然后读取每列的 电平 以确定具体的行与列由此来确定按键索引值 该模块中实现了按键长短键的 判断 因为手持设备中按键数量的限制 要达到多功能就必须在同一按键上依据用 户按下键的时间长短来传送不同键值 6 电池电量监测模块利用了u c b l 4 0 0 中的a d 3 0 接口 该接v 1 是专门用于 模拟电压输入 为了在模块中获得数字量 因此和触摸屏模块一样要进行模数转换 从模块管理以及整个系统电源管理角度看 这一部分只需要提供一个函数接口 至 于具体电源管理部分可以单独实现 只要电池电量读取通过本模块来完成即可 2 3 异常及中断流程分析 在现代操作系统中大部分驱动程序都离不开中断 因此在具体分析各部分功能 管理之前对a r m 以及x s c a l e 开发板中各种异常以及中断进行了解与分析是非常有 必要的 i n t e l 的x s c a l e 系列取代了上一代s a l l x x 系列产品后已经成为i n t e l 在嵌 入式中的主打产品 该类处理器完全符合a r m 指令集v 5 t e 版本 在异常和中断方 面除了个别用于调试的特殊异常外都与a r m 体系结构一致 2 3 1 硬件层的异常及中断机制 1 a r m 体系结构中异常及中断 a r m 体系结构参考手册中将所有的异常及中断统称为e x c e p t i o n s 所有内部和 外部源所引发处理器去处理别的事件的方式都可以称为e x c e p t i o n s a r m 中一共有7 种e x c e p t i o n s r e s e t u n d e f i n e di n s t r u c t i o n s s o f t w a r ei n t e r r u p t p r e f e t c ha b o r t d a t aa b o r t i r q i n t e r r u p t 和f i q f a s ti n t e r r u p t 这七种e x c e p t i o n s 按照上述次序组成了第一级中断向量表 按照手册规定 该向量表正常情况下放置 于低地址空间o x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 1 c 利用具体实现的协处理器的设置 该向量 l o 华中科技大学硕士学位论文 表也可以放置到高地址空间o x f f f f 0 0 0 0 一o x f f f f 0 0 1 c 称为高地址向量表 从开发过程 看 其好处主要是为了配合m m u 当m m u 开启后 将低地址空间腾出来 从虚 地址空间运行的程序角度来看 向量表位于高地址或低地址并无区别 2 x s c a l e 开发板中的中断类型 符合a r m 体系结构规范的x s c a l e 利用i r q 这 e x c e p t i o n 作为一级中断源 在这基础之上扩充出了2 2 个第二级中断向量表 包括系统时钟中断 m m c m u l t i m e d i a c a r d 还有a c 9 7 控制器以及各个g p i o g e n e r a lp u r p o s e i n p u t o u t p u t 中断 由于x s c a l e 中有多达8 0 个g p i o 因此在x s c a l e 的中断控制器中 不可能将所有8 0 个中断都放置于二级中断表 同样利用复用方式 在二级表中仅有 g p l 0 0 g p l 0 1 g p i o 2 8 0 一 个入口 在本文中没有使用f i q 方式的中断 因此仅以i r q 为例进行分析 x s c a l e 的中 断控制器包含了 1 i c c r i n t e r r u p t c o n t r o l l e rc o n t r o lr e g i s t e r 用于一般的控制 2 i c m r i n t e r r u p t c o n t r o l l e r m a s k r e g i s t e r 主要用于使能2 2 个二级中断向 量 3 2 位的寄存器中将对应中断源置成1 就将该中断源开启 当对应引脚发生电平 变化后就会通知处理器 3 i c l r i n t e r r u p t c o n t r o l l e rl e v e lr e g i s t e r 用于察看各中断源的电平状态 4 i c p r i n t e r r u p t c o n t r o l l e r p e n d i n g r e g i s t e r 标记未处理的中断请求 从硬件角度看 x s c a l e 能提供的功能接口就到该层面为止 剩下的中断处理交 给软件实现 2 3 2 操作系统层异常及中断处理 利用上述中断机制 l i n u x 的a r m 版本实现了自己的中断处理 由于x s c a l e 中向量表是分级的 因此l i n u x 在实现中也对应着分级 本文将a r m 的7 种向量 称为第一级 x s c a l e 中的2 2 种i r q 称为第二级 与x s c a l e 开发文档中略有不同 但不影响讨论 1 一级中断向量表处理 1 首先来分析向量表的安放 由于a r m 第一级中断有7 种 因此在第一级 中断向量表的安放上要依次对应 在编译核心的时候 中断向量表根据链接文件放 置于核心中一个链接位置 当核心运行到t r a p i n i t o 时 l i n u x 根据a r m 核所支持 的指令集版本号决定是将向量表放到低地址还是高地址 由于x s c a l e 支持a r m 的 华中科技大学硕士学位论文 第v 5 t e 版本指令 所以我们将一级向量表放到了高端地址 随后把地址0 x f f f f 0 0 0 0 作为参数传给了汇编例程 该部分代码在编译的时候 已经按照手 trap i n i ta r m 册中7 种向量的排列次序在对应的位置中设置了跳转语句 其中我们最关心的应该 是i r q 它对应的语句是 b r e a l s t u b s s t a r t v e c t o r i r q s t u b ss t a r t 在核心编译后 经过优化 生成了一个偏移地址跳转的a r m 汇编指令 其对 应的机器指令及反汇编指令如下 e a 0 0 0 0 7 8b c 0 0 0 9 7 3 0 其中相对跳转指令非常重要 因为静态链接中的代码在运行过程中要进行搬移 目的地址就是上面传进来的参数o x f f f f 0 0 0 0 也只有利用相对位移跳转才能保证搬 迁后的代码依旧能够正确无误运行 上述的搬运仅仅是简单的7 条跳转语句 具体的处理过程也要进行搬移 具体 的地址就是基地址 o x f f f f 0 0 0 0 往后偏移0 x 2 0 0 这些处理过程对应的也有7 个部 分 每条跳转语句和每种处理过程一一对应 2 接着来分析i r q 所对应的处理过程 中断返回地址首先在该过程中保存 然后不论初始的处理器处于何种模式 一概都将其转为管理模式 然后再依据进中 断前处理器模式进行判断 如果是核态就转入i r qs v c 如果是用户态则转入 这两种方式最后都会调用 在进行必要的重入处理后 调 i r q u s ra s md oi r q o 用d oi r q o 如果还有优先级较低的任务就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论