




已阅读5页,还剩59页未读, 继续免费阅读
(通信与信息系统专业论文)移动终端的录音功能的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目: 专业: 研究生: 指导老师: 移动终端的录音功能的研究与实现 通信与信息系统 唐杰 曾召华 摘要 ( 签名) ( 签名) 随着移动通信、信号处理、i c 设计等相关技术的进步,手机功能单一己成为3 g 发展 的瓶颈之一。本文进行了手机录音功能的研究与实现。结合所学理论知识,文中分析了 g s m 手机的硬件组成、软件结构、工作原理及实现方法,着重研究了实习公司手机开发 平台的硬件芯片模组和软件模块划分及其设计方法。掌握了该平台的软硬件工作原理、 设计思路和开发调试工具,为新功能的开发奠定了基础。 本文分析了语音编码的发展现状及自适应多速率( a m r ) 语音编码算法的编解码原 理和信号处理流程。进行了该算法软件的分析、调试,建立了语音数据的采集、分析平 台。利用该平台从合成语音的时域波形、频谱、合成语音的主观试听和数据压缩率等四 个方面对a m r 语音压缩算法的性能进行了仿真分析。为录音功能的语音压缩算法的选择 提供了理论依据。 在对a m r 算法及手机平台分析的基础上,提出了基于a m r 语音压缩算法的手机录 音功能的设计方案。根据该方案,进行了相关物理设备的选择,语音数据物理通路的建 立;提出了录音软件的架构,完成了软件功能模块的划分及模块设计:进行了人机界面、 事件处理及驱动软件代码的编写和调试。对录音、播放、暂停和继续等模块进行了功能 测试和兼容性测试,结果表明设计达到要求,已投入商用。 关键词:录音;多媒体手机;软件设计;a m r 研究类型:应用研究 簪 s u b j e c t :r e s e a r c ha n dr e a l i z a t i o no fs o u n dr e c o r d i n go nw i r e l e s s m o b i l et e r m i n a l s s p e c i a l t y :c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m n a m e :t a n g j i e i n s t r u c t o r :z e n gz h a o h u a a b s t r a c t w i t ht h ed e v e l o p m e n to fw i r e l e s sc o m m u n i c a t i o ns i g n a lp r o c e s s i n g ,i c ( i n t e g r a t e d c i r c u i t ) d e s i g na n dr e l a t e dt e c h n o l o g i e sm a k em o b i l ec o m m u n i c a t i o ni nan e wc o u r s eo f d e v e l o p m e n t s i n g l e n e s so fm o b i l et e r m i n a l sf u n c t i o nh a sb e c o m et h en e c k b o t t l e so ft h i r d g e n e r a t i o nm o b i l ec o m m u n i c a t i o n t h i sp a p e rs t u d i e so nt h er e a l i z a t i o no ft h er e c o r d i n g f u n c t i o n t h i sp a p e ra n a l y z et h ec o m p o n e n to ft h eh a r d w a r e ,s t r u c t u r eo fs o f t w a r ea n dt h e m e t h o do fr e a l i z a t i o n ,e s p e c i a l l ys t u d yo nt h eh a r d w a r ec h i pa n dm o d u l eo fs o f t w a r eo f c o m p a n y sd e v e l o p m e n tp l a t f o r m h o l d t h e w o r k i n gp r i n c i p l e ,c l u e o fd e s i g na n d d e v e l o p m e n tt o o l so ft h ed e v e l o p m e n tp l a t f o r m l a yt h ef o u n d a t i o nf o rd e v e l o p m e n t o fn e w f u n c t i o n : t h i s p a p e ra n a l y z e s t h es i t u a t i o no fv o i c e c o d i n g w o r k i n gp r i n c i p l ea n ds i g n a l p r o c e s s i n go fa d a p t i v em u l t i r a t ev o i c ec o d i n ga n dd e c o d i n g t h i sp a p e rd o e sa n a l y s i sa n d d e b u g g i n go ft h ea l g o r i t h ms o f t w a r ea n db u i l du pt h ep l a t f o r mo fc o l l e c t i o na n da n a l y s i so f v o i c ed a t a a n a l y z et h ep r o p e r t yo fa m rv o i c ec o m p r e s s i n ga l g o r i t h mf r o mt i m ed o m a i n , f r e q u e n c yd o m a i n ,l i s t e n i n ga n dc o m p r e s s i n gr a t i ou s i n gt h i sp l a t f o r m t h i sp r o v i d sp r o o ff o r s e l e c t i n go fc o m p r e s s i n ga l g o r i t h mo fs o u n dr e c o r d i n g t h r o u g ha n a l y z i n gw o r k i n gp r i n c i p l eo fm o b i l et e r m i n a la n da d a p t i v em u l t i r a t e ( a m r ) v o i c ec o d i n ga n dd e c o d i n ga l g o r i t h m ,t h i sp a p e rp r o p o s e sr e c o r d i n gd e s i g ns c h e m eb a s e do n a m rv o i c ec o m p r e s s i n ga l g o r i t h m a c c o r d i n gt ot h i ss c h e m e ,p h y s i c a lp a t hi sb u i l tu p p l o t o u tm o d u l e so fr e c o r d i n gs o f t w a r e ,d e s i g nt h ed e t a i lo ft h em o d u l e ,w r i t et h ec o d e so ft h e s o f t w a r ea n dd e b u gt h ep r o g r a m f i n a l l y , d e b u g g i n go fs o f t w a r em o d u l e sa n df u n c t i o n d e b u g g i n go f t o t a ls o f i w a r ea r ec o m p l e t e da n dh a v e b e e ne m p l o y e dc o m m e r c i a l l y k e y w o r d s :s o u n dr e c o r dm u l t i m e d i ap h o n es o f l w a md e s i g na m r t h e s i s :a p p l i c a t i o nr e s e a r c h 西姿科技太擎 学位论文独创性说明 本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及 其取得研究成果。尽我所知,除了文中加以标注和致谢的地方外,论文中不包含 其他人或集体已经公开发表或撰写过的研究成果,也不包含为获得西安科技大学 或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中做了明确的说明并表示了谢意。 学位论文作者签名期:哟多、彩,口2 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间 论文工作的知识产权单位属于西安科技大学。学校有权保留并向国家有关部门或 机构送交论文的复印件和电子版。本人允许论文被查阅和借阅。学校可以将本学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存和汇编本学位论文。同时本人保证,毕业后结合学位论文研究课 题再撰写的文章一律注明作者单位为西安科技大学。 一繇店定艚 日 厂k v 廖驴f月 钐厂,0 治嗡年 i 绪论 1 1 移动终端的发展现状 1 绪论 随着科技的发展日新月异,国民经济的持续高速发展。我国移动通信市场的发展速 度和规模令世人瞩目,是超常规、成倍数、跳跃式的发展史。自1 9 8 7 年中国电信开始 开办移动电话业务以来到1 9 9 3 年用户增长速度均在2 0 0 以上,1 9 9 4 年移动用户规 模超过百万大关。1 9 9 7 年7 月1 7 日,我国移动电话第1 0 0 0 万个用户在江苏南京诞 生,这意味着中国移动电话用不到1 0 年时间所发展的用户数超过了固定电话1 1 0 年 的发展历程。2 0 0 1 年8 月,中国的移动通信用户数超过了1 2 亿,超过美国跃居为世 界第一位。根据信息产业部数据,2 0 0 4 年我国新增移动电话用户5 2 0 0 万户,移动电 话普及率达到2 4 5 ,到2 0 0 6 年将达到4 4 l 亿人,年平均增长率仍然将超过1 8 。 2 0 0 4 年7 月信息产业部发布最新移动通讯市场数据,2 0 0 4 年上半年中国新增移动电话 用户3 5 0 0 万户,总数达3 0 5 亿户,到2 0 1 0 年,中国移动用户将突破7 亿户。 进入8 0 年代后期,大规模集成电路、微型计算机、微处理器和数字信号处理技术 的大量应用,为开发数字移动通信系统提供了技术保障。1 9 8 2 年,欧洲成立了g s m ( 移 动通信特别组) ,任务是制订泛欧移动通信漫游的标准。g s m 本来是欧洲成立的一个移 动通信小组的简称,这个小组在欧洲的蜂窝移动通信方面作了大量的工作,他们对8 个 不同的实验方案进行了论证,最后制定了泛欧洲的数字蜂窝移动通信系统,并用该研究 小组名字的缩写“g s m ”命名。g s m 移动电话系统对频谱利用率高、容量大,同时可以 自动漫游和自动切换,采用e f r ( 增强全速率编码) 后通信质量好,加上其业务种类 多、易于加密、抗干扰能力强、用户设备小、成本低等优点,使移动通信进入了一个新 的里程h 1 。随着多媒体技术的不断发展,多媒体技术在手机中的应用也越来越广。游戏 手机、拍照手机、动态摄影手机、m p 3 、m p 4 手机相继风起云涌。传统短信的风头早就 被彩信、彩铃、手机游戏盖过。手机多媒体服务的迅速发展,将突破短信这种单调的手 机增值业务形式,拓宽移动增值业务空间。手机的视频拍摄和播放也是多媒体应用的一 个可观前景,比如手机电视就是手机多媒体发展的方向之一。多媒体增值业务在传情达 意上的优势是文字短信所无法比拟的,多媒体业务是一种彩色的、动态的、有声的、互 动性强的表意形式。图文并茂、有声有色的多媒体信息,大大丰富了用户信息的表现手 段,符合信息传播动态化、可视化的发展趋势。可以说,手机多媒体业务是技术发展与 用户需求相结合催生的产物。多媒体手机方案有两种趋势,一个是单芯片方案,另一个 是双芯片方案,即在便宜稳定的通信基带处理器外边,加一个协处理器。单芯片方案有 如下特点:一方面,由于它不需要外挂多媒体处理器,体积上会小一点;而它使用软 西安科技大学硕士学位论文 件来实现多媒体应用,只要基带芯片功能足够强大,就可以在同样体积大小的手机中不 断加入新功能,灵活性也更高一些。而另一方面,由于它需要更大容量的存储器来支 撑其工作,对存储器的要求要高一些,功耗也更大一些,而且,单芯片产品的价格也高 一些,因此,它一般定位在高端手机上,特别是智能手机上。多芯片方案有以下特点: 采用多媒体处理器,它的优势是灵活性比较高,无论c d m a 手机、g s m 手机还是未来 的3 g 手机,都可以通过加入多媒体处理器,做成一个多媒体手机。此外,它开发起来 也比较容易,因为无论什么多媒体功能,都可以通过那些外挂的多媒体处理器去实现, 因此,其开发时间也比较短。而另一方面,它的灵活性可能没有采用软件方式那么高, 因为多媒体功能已经由硬件固定了,如果还需要加入其他多媒体功能,就要找另外的多 媒体处理器l l 。l 。 1 2 国产手机的研发现状 手机的核心技术主要在硬件和软件两个方面【l 。】。硬件基本上指核心芯片层,包括基 带模块和射频模块两方面,是手机最核心的技术。目前这一块主要为全球几大芯片厂商 所垄断,包括t i 、英特尔、飞利浦、意法半导体、a d i 、高通、飞思卡尔等。软件分为 底层软件和应用层软件两大部分,底层软件是手机核心知识产权的关键,包括物理层和 协议栈软件。物理层软件是最底层软件,决定芯片设计特别是基带芯片的设计,只有 d s p 厂家才能决定物理层软件,因此基本上也主要掌握在芯片厂商中。协议栈软件在物 理层软件之上,是通讯系统的规则和标准,通常由通讯系统标准的制定者或者专f 3 的议 栈软件厂商掌握,几乎包括了全球的主要电信设备供应商,如爱立信、西门子、北电网 络:诺基亚、阿尔卡特等。从品牌厂商对核心技术的自主化程度来看,手机研发基本可 以划分为芯片级研发、硬件平台级研发、设计方案级研发和整机组装级研发四种类型。 下面分别描述这四种研发方式”j 。 芯片研发方式:厂商能够完成从硬件到软件的完整手机设计过程,因此可以在第一时 间掌控功能创新趋势和产品配置变化,主导产品和市场的发展方向,从而也就提高了供 应链的管理能力。一般只有少数移动通信系统规格和标准的制定者,才具备此种研发能 力,如诺基亚、摩托罗拉、索尼爱立信、飞利浦等厂商。大部分手机厂商不具备此种研 发能力,包括国内大部分厂商和部分目韩厂商。一方面这些厂商不是手机核心知识产权 的拥有者,另一方面这种研发方式不仅是技术密集型,而且也是资金密集型,同时研发 周期长。 硬件平台研发方式:厂商以开放的硬件平台作为产品设计的主体,开发外围非关键 部件和应用软件,实现个性化的手机功能配置、外观设计、操作界面等。实际上,在硬 件平台研发流行之前,一种较之更为简单的方式曾经在中国手机市场非常流行,即模块 研发方式。其优点是厂商可以部分更改手机的外观设计,研发周期适中,研发成本相对 1 绪论 较低。2 0 0 3 年以前,以模块作为设计主体的研发方式在国产手机厂商中的比例能达到 5 0 以上。但是由于模块研发的灵活性和可控制性较差,特别是厂商不能控制手机零部 件的数量和种类,对上游零部件供应商依赖程度很高,加上芯片商纷纷推出了开放的硬 件开发平台,已逐渐为厂商所淘汰。目前,国内市场上的国外二线厂商和国内主流厂商 基本上都已具备了硬件平台研发能力,比如波导采用了西门子、萨基姆等的平台,t c l 采用了高通、a d i 等的平台,夏新用的是a g r e es y s t e m s 的平台,康佳用的是飞利浦的 平台。随着芯片厂商之间竞争的加剧,硬件平台开放程度的提高,以及d e s i g n h o u s e 对 该研发方式的推动,相信会有越来越多手机通过此种方式进入市场,平台研发方式也会 成为国产厂商的主流研发模式。 设计方案级研发方式:厂商购买d e s i g nh o u s e 提供的部分设计方案或整体设计方 案,然后在此基础上进行研发。此种研发方式开发速度快、技术难度不高、产品研发成 本相对较低,并且可对产品外观和应用界面做出改动,因此较易为国内厂商接受,2 0 0 3 年、2 0 0 4 年国内手机设计产业的蓬勃发展验证了这种方式的流行程度。但是,与模块级 研发相似,厂商对于手机设计公司提供的方案,并没有太多的自主权,在功能配置、关 键零配件采用上需要依赖于手机设计公司,因此在供应链管理上往往较被动,上游产业 一旦出现较大波动,厂商往往无法及时调整产品,从而影响新品推出和产品量产。2 0 0 4 年国产厂商的失利部分就是在于无法及时针对上游关键零配件短缺对设计方案或产品 作出调整。 整机组装研发方式:厂商直接购买整机套件,包括手机主机板和周边大部分部件, 进行组装生产,基本不存在技术研发。国产厂商在刚进入市场时,基本上都采用了这种 方式。因为该种方式的最大优点是可以快速推出产品,占领市场,同时省去了高昂的研 发成本。但是产品成本高、对关键零部件依赖程度高、对产品品质控制力弱等致命弱点 导致了此种方式的短命,目前很少有厂商还采用这种简单的组装方式。 总之,国产手机生产商的研发方式靠后,主要集中在硬件平台研发方式、设计方案级研 发方式。研发能力不强,产品的技术含量低。 1 3 课题的研究意义 随着移动通信、信号处理及i c 设计等相关技术的迅猛发展,多媒体与移动通信相 结合将成为移动通信的发展趋势。尤其是随者3 g 商用化的不断成熟,移动通信将由需 求推动其发展。目前移动终端功能单一,对多媒体业务支持不够,己成为制约移动技术 和业务发展的瓶颈。手机逐渐朝着多功能、多媒体方向发展是手机的发展趋势。我国手 机的研发起步较晚、技术水平落后,国内手机软件的研发主要集中在应用层软件的开发。 为了使企业能够在激烈的市场竞争中求得生存、发展得空间,经济效益和技术积累 同样重要。只有在强大技术支持的基础上,企业的经济效益才能得到保证,企业的长远 西安科技大学硕士学位论文 发展才能成为可能。通过手机应用软件的开发,使得企业获得了实际的开发经验,积聚 了自己的开发力量,增加了企业自身的技术实力,减少了对国外公司的技术依赖,给公 司提供了更大的获益空间。同时企业更可凭借自己的技术实力,开发出符合市场需求, 具有企业自身特色的产品,进而进一步的赢得市场,占据更大的市场份额。 综上所述,进行自主的移动系统开发无论是对于企业的经济效益、技术积累,还是 对于我国的手机的研发都具有重要意义。同时,本文研究的手机录音功能采用a m r 算 法进行语音编解码,对3 g 手机的通话应用软件的设计具有借鉴意义。 1 4 论文的技术路线 手机作为嵌入式技术与移动通信技术相结合的终端产品,包含了众多丰富而复杂的 系统功能。在录音功能的开发过程中,本文采用以下技术路线: ( 1 ) 在分析手机发展趋势和国内手机研发现状的基础上,选择手机录音应用软件的 开发作为本文研究课题。 ( 2 ) 在原有理论知识的基础上,阅读参考文献,对现有g s m 手机开发平台进行整体 分析。首先,分析手机芯片构成、特性及其在手机系统中所起的作用。其次,分析系统 软件的模块划分原则、模块间的接口设计方法、运行机制。最后,学习移动通信、嵌入 式系统开发、实时嵌操作系统、软件设计等相关知识,掌握现有平台的开发流程。 ( 3 ) 分析a m p 用于把语音变换成模拟电信号,使语音信号可以在电路中 处理成为可能;滤波器,主要作用是把语音信号的频带限制在特定的频带( 3 0 0 一3 4 0 0 ) ; 模数转换器,把带限的模拟语音信号转化成数字信号;语音编码器,主要功能是把模数 转换器输出的数字信号利用a m r 语音编码算法进行压缩处理;存储器,其作用是保存 经压缩算法进行处理后的语音文件。播放过程需要:语音解码器,其功能是把压缩的语 音信号还原成数字信号:数模转换器,用于把解码器输出数字语音信号进行内差滤波转 换成模拟信号f 音频输出设备一把电信号转换成声波进行发声。整个录音应用是在现有 的手机平台上开发的,使用的硬件设备均是现有手机平台的资源。下面简要介绍一下手 机平台中的音频电路。 现有手机平台中,基带芯片提供了丰富的音频电路。由于语音信号处理的实时性, 所有的语音信号的算法处理均由d s p 完成。系统中和语音相关的操作大多是由微控制 器和d s p 相互配合共同完成的。基带中的语音部分的电路框图如图4 3 所示【”: 4 录音功能设计 图4 3 基带芯片语音相关硬件框图 由图4 3 可知,整个语音系统由语音处理电路和语音系统与m c u 的接口电路组成。 从信号的表现形式语音处理电路可以分为两类:语音模拟电路和语音数字电路。基带中 的语音处理电路既可以处理语音信号也可以处理语音信号,在录音、播放功能中,语音 信号通过语音通路进入。其结构如图4 4 所示 7 】: 图4 4 语音外设与基带芯片接口框图 语音信号通过图4 4 的音频电路完成录音中的电信号转换、放大、数模、模数转换。 在语音信号通过音频前端的模拟电路输入之后或输出之前都要经过音频数字电路进行 处理。数字音频电路完成滤波、内差,语音编解码操作。数字语音电路的结构如图4 5 所示【7 】: 西安科技大学硕士学位论文 l 垒! 璺童查矍l 数字滤ld s p 音 波器r 1 频接口 幽4 5 语音数字电路接口框图 图4 5 中的a p b 块是存储m c u 设置信息的外设寄存器;d s p 语音端口模块用来和 d s p 进行控制和数据通信。 在驱动程序的设计时需要对物理设备进行控制,下面段落主要分析和录音软件设计 有关的音频设备的控制。在音频前端电路中的控制积存器分为两类:图4 5 所示a p b 寄存器组,存储m c u 对音频电路的控制信息。音频前端的模拟电路的寄存器组,通 过改寄存器组的读写进行音频模拟电路的打开关闭。 综合上面的分析研究,在实现录音时,选择麦克风作为语音输入设备把语音转换为 电信号,进入基带芯片。首先,通过基带的放大器放大。其次,对放大的语音模拟信号 进行a d 转换数字滤波存储到d s p 音频端口。最后,d s p 把音频前端中的语音数据进行 压缩。在播放时,压缩的语音信号首先在d s p 中进行解压缩数字滤波,之后被送入d s p 音频端口。其次,进行d a 转换模拟信号放大。最后,通过扬声器转换成语音发声。 目前,手机平台大多都采用a r m + d s p 的双处理器结构,a r m 作为应用处理器管 理人机界面,外设等。而d s p 则作为调制解调器进行大量的语音信号处理。在本方案 中,也采用了相类似的架构。a r m 和d s p 在通信时采用中断的方式,而大量数据交互 时采用内存共享的机制。 总之,本节在分析录音功能的实现原理,手机平台中音频处理系统的组成控制方式 的基础上。确定了录音功能所使用的物理设备,熟悉了设备的控制方式,建立了录音播 放功能在手机平台中的信号通道。 4 1 2 录音软件总体设计 手机录音是在现有的手机软硬件平台的基础上开发的新应用。该软件属于手机的应 用软件。对用户而言,其主要功能是向用户提供使用界面、完成录音、录音文件的播放。 从程序设计的角度看,它通过对现有软件中的人机界面、操作系统a p i 的调用和对音频 设备的管理来实现的。录音软件和整个手机软件的关系如图4 6 所示: 4 录音功能设计 图4 6 录音软件和系统软件的关系图 录音软件作为一个应用程序,在软件内部,为了和系统软件的架构相一致以及简化 设计、便于软件开发,采用了分层的设计思想。录音软件被分为应用层和底层驱动软件。 层与层之间的通信采用两种方式:通过a p i 函数调用获取服务。消息方式。其结构 和层问关系如图4 7 所示: 图4 7 录音软件架构图 下面描述各个层的功能。应用层软件处于录音软件顶层,其功能是:向用户提供 使用界面和友好的提示信息;根据用户触发的事件调用底层服务a p i 处理用户事件; 进行数据读取、存储操作;实现时根据功能的不同被划分为不同的模块:录音模块、 播放模块。 驱动软件位于整个应用软件的底层、音频物理设备之上,直接控制物理设备。进行 物理设备的打开、关闭操作,建立录音、播放的语音物理通道。 本节主要论述了录音软件的总体设计思想,下面章节论述各层软件的详细设计流 程。 4 2 底层软件设计 底层软件主要完成对物理设备的控制、管理;向上层提供服务结点,使上层可以使 用底层提供的服务。完成上层软件对物理设备特性的封装。根据底层软件所要实现的功 能以及底层软件时序性要求高的特性,语音底层软件的设计采用了图4 8 描述的结构: 西安科技大学硕士学位论文 语音底 图4 8 底层软件架构 依据图4 8 的软件架构,语音底层软件采用分层的结构。整个语音底层软件分为两 层:驱动控制层软件和语音驱动。驱动控制层软件的作用在于:控制底层软件的运行, 根据上层事件,选择相应的驱动程序进行相应的物理设备操作。和上层软件进行通信, 在总体设计时采用分层设计思想,应用层和底层通过函数调用和发送消息两种方式进行 通信。控制层向上层提供了服务a p i 接口,同时,也设计了消息发送a p i ,当底层有事 发生需要上层服务时,便向上层应用发送消息。语音驱动软件的功能有:物理设备的 初始化。执行特定物理设备的打开、关闭操作,实现相应的语音功能。提供中断服 务功能,完成m c u 和d s p 之间的数据交互。 k 面捕述了语音底层软件的结构和各层之间的关系。在上图的软件架构中驱动程序 是通过创建中断例程进行运行的,物理层创建一个中断服务例程来打开特定的声音驱动 功能函数,因为当特定的语音功能扣开或关闭后,传送到和d s p 共享缓存中的参数需 要和音频模块同步( 2 0 m s 间隔) 。但是,在系统中,只有物理层保存当前时间的准确帧号。 所以物理层可以正确传递语音驱动层软件传送的参数。在本系统中,d s p 根据语音功能 的不同,把各个语音模块设计成为一个个任务,底层软件功能有它自己的方法与相应的 d s p 任务握手。录音中的驱动软件在录音时通过d p r a m 接口写控制信息把d s p 初始 化到a m r 编码器状态;在播放时,d s p 被初始化为a m r 解码器。 从图4 8 的软件结构中可以看到,语音驱动程序和平台的硬件进行直接通信。在录 音应用中需要进行大量的语音数据交互,在软件设计时通过中断方式实现语音数据交 互。下面详细论述底层软件的设计。 4 2 1 驱动控制软件设计 控制层软件主要是用来控制底层驱动软件的运行和管理底层硬件发生的事件,根据 当前的状态进行底层事件处理。根据控制层软件的功能,控制层被设计成两部分:录音 事件控制部分和硬件事件控制部分。下面分别描述两部分软件的设计。 硬件事件控制部分被设计成为一个任务,录音播放过程中的硬件事件的处理函数都 4 录音功能设计 是在在任务主控函数的调度下进行处理。主函数的的设计采用过程描述语音设计,以数 据结构和算法设计为中心,硬件事件控制部分设计使采用结构体数据结构:l l a u d i o 记录 事件的运行状态、处理函数等。其成员和作用如下所示: s t a t i cs t l n l e t u i n t 3 2s t a t e ; k a l _ e v e n t g r p i da u d _ e v e n m ; u i n t l 6 m e d i a _ f l a g ; 语音的媒体格式 k a l h i s r i d h i s r ;中断号 l 1 a u d i o _ e v e n t h a n d l e re v h a n d l e r m a x a u d i q f u n c t i o n s ; 语音事件处理器 v o i d + e v d a t a m a x _ a u d i o _ f u n c t i o n s ; 语音事件数据 u i n t 3 2 i d n a g ; u i n t 3 2 e v e n t _ f l a g ; 事件标志 l l a u d i o _ e v e n t h a n d l e r h i s r h a n d l e r m a x _ h i s r h a n d l e r ; 语音中断处理器 u i n t l 6 h i s r m a g i c n o m a x _ h i s r _ h a n d l e r ; 语音中断标志 v o i d + h i s r u s e r d a t a m a x h i s r _ h a n d l e r ; 语音中断数据 ) 1 l a u d i o 硬件事件控制部分的主控函数是:l 1 a u d i ot a s k ,就是在上述结构体的基础上设计 的。主控函数被设计成为一个死循环,在第一次运行时仞始化语音设备,以后便进入死 循环。在循环体中不断的检测底层硬件是否有事件发生,根据事件类型选择相应的函数 进行处理。其实现功能主要包括:创建驱动控制层软件的事件组,用于指示底层硬件 发生的事件,并根据事件类型调用相应的事件处理函数;创建驱动控制层软件中断进 程,该中断程序响应d s p 发送的语音数据读写请求。初始化驱动控制层软件模块运 行时所需变量。加载d s p 程序。初始化音频前端和音频管理部分的变量。进入 死循环等待事件,并执行条件满足的事件处理函数。硬件事件控制部分软件的主控函数: l 1 a u d i ot a s k 的流程图如图4 9 所示: 西安科技大学硕士学位论文 图49 控制主函数执行流程幽 录音事件控制部分的详细设计是按照数据结构加算法的思想进行的。录音事件控制 部分软件在设计时使用了一个结构体类型的数据结构:a m r 和a f e 。结构体a m r 作用在 于记录a m r 编解码器的工作状态,所处模式,缓存控制等。它的成员组成以及所的作 用如下所示: a m r 算法控制变量: s t a t i cs t r u c t m e d i a c o n t r o l 4 c t r l ;语音媒体控制变量 k a i u i n t 8s t a t e ;播放控制软件所处的播放状态。 k a lu i n t l 6 w r y p e ; k a l u i n t 8b c o d e c m o d e ;p 设置d s p 的a m r 模式+ k a l b o o l b w i d e b a n d ; 宽带a m r 格式标记 k a l u i n t 3 2u r e c o r d o v e r f l o w c o u n t ;丰录音数据帧记录变量+ k a lb o o l b o d d f l a g ; k a l u i n t 8b o d d d a t a ;+ b u f f e r s s t o r eo n eb y t ew h e nr e a d w r i t ef r o m t or i n gb u f f e r d e d i c a t e d _ m o d e ; 专用模式标记 由于录音事件控制函数需要对音频前端的模拟设备进行控制,所以设计了结构体数 辛 , 据类型a f e 。作用是对音频物理设备进行抽象。他们的变量成员以及其成员的作用如下 所示: s t a t i cs t r u c t k a l _ u i n t l 6 s p _ f l a g ; s p e a k e ru s a g ef l a g k a l _ u i a t l 6 f i r _ f l a g ; + f i rf i l t e ru s a g ef l a g + k a iu i n t l6 m i c _ f l a g ;+ m i c r o p h o n eu s a g ef l a g + k a lu i n t 8 m i c _ v o l u m e ; 耳机音量 k a lb o o l m i c _ m u t e ; 耳机互斥标识变量 s t r u c t k a lu i n t 8 o u td e v ; k a lu i n t 8v o l u m e ; k a l _ u i m 8 v o l u m e _ s t ; ,a u d l 1 s p _ m a x _ a u d i o ;各种音频功能的输出设备,音量记录变量 r i n g b u f f e r _ t ( d e l a y c m d ,8 ) r e g q ;特定音频打开函数队列 k a lb o o l r e f r e s h ; 更新标志 la f e 在上述的两个结构体数据类型的基础上,录音事件控制部分向应用层提供了5 个控 制a p i ,分别对相应的上层事件进行处理。他们的函数声明如下所示: v o i da m r r e c o r d ( m e d i a c o n t r o l + c t r l ,u i n t l 6t y p e ) , m e d i as t a t u sa m r p l a y fm e d i a c o n t r o l + c t r l ) ; v o i d a m r s t o p ( v o i d ) ; v o i d a m r p a u s e ( m e d i a c o n t r o l + c t r l ) ; v o i da m r r e s u m e ( m e d i a c o n t r o l 。c t r l ) ; 上层应用软件通过调用这些a p l 分别实现录音开启、录音文件播放开启,录音播放 的停止、暂停、继续控制。五个函数的执行流程相近,只是具体操作不一样。下图是上 述5 个控制a p i 的执行流程。上述五个控制a p i 函数的功能在于初始化a m r 算法的运 行控制变量,根据上层应用软件的需求注册相应的驱动函数用于对底层物理设备进行控 制以及对底层软件的运行状态进行更新和维护。上述五个a p i 函数的执行流程如图4 1 0 所示: 西安科技大学硕士学位论文 l 进行控制变量、缓存的预处理 t i 注册特定的驱动程序到队列中 t 进行状态的转换 图4 1 0 控制函数处理流程 4 2 2 语音驱动设计 语音驱动程序处于整个录音软件的最底层,直接作用于物理设备。通过访问物理设 备的控制寄存器、状态寄存器和数据寄存器和物理设备进行数据通信,获取物理设备状 态,控制物理设备的运行。为了保证录音播放时的实时性,数据交互采用中断的方式进 行。根据软件的功能,语音驱动程序被划分为5 个函数以及两个中断服务程序。他们分 别是: a m d s p v m r e c o r d o n , a m d s p v m r e c o r d o f f , a m d s p _ v m p l a y b a c k o n , a m d s pv m p l a y b a c k o f f , a f e m a n a g e r , a m r p l a y h i s r a m r _ r e c o r d h i s r 上述驱动函数完成的操作都是读写物理设备的控制寄存器或双端口r a m 中a m r 程序运行控制内存。以实现对录音中使用的d s p ,音频前端电路的打丌、关闭。下面对 各个函数的实现算法进行详细描述 a m _ d s p _ v m p l a y b a c k o n 函数功能包括:打开录音文件播放时所需要的物理设备 ( 耳机、低噪声放大器,数字音频接口等) :通过d s p 的任务服务结点初始化d s p 的工 作模式,在录音文件播放状态下,把d s p 初始化为a m r 解码器;使能d s p 和a r m 之 间的中断通信。为了实现上述功能,驱动函数需要完成的执行流程和实现方法如下所述: 打开音频前端:即向电源控制寄存器p d nc o n 2 写值:o x o l 0 0 ,向语音m c u 控制寄存器a f ev m c uc o n 写值:0 x 0 0 0 1 。 4 录音功能设计 写d s p 服务节点参数,其实现方法是向d s p 控制信息交互内存: d l a s p t y p e ,d p a s p f s 写数据。两个控制内存的意义分别是存储语音的 类型和采样频率。 写语音参数。 使能m c u 到d s p 的中断:向控制内存s h a r e 2m 2 d 1 1 写数据:0 x 0 8 3 8 。 使能d s p 中断:向控制内存s h a r ed 2 m c t l 写数据:0 x 1 0 。 打开s p e e k e r ,该操作是设置变量:a f e s p _ f l a g ,等到下一时间片时在更新寄存 器。 a m _ d s p _ _ v m p l a y b a c k o f f 是所有停止录音播放的事件的驱动函数,它的功能主要 是实现录音中所使用的物理设备的关闭。主要的设各管理包括:断开d s p 与a r m 的录 音播放时建立的信息交互通路,清除微控制器写入的a m r 解码程序的运行控制参数, 使得d s p 从a m r 解码器状态返回到i d l e 状态。关闭语音前端的语音输出通道。为实现 上述管理,该函数的详细流程和实现方式如下所示: 关闭s p e e k e r ,该操作是设置变量:a l e s p _ f l a g ,等到下一时间片时再更新寄存 器。 关闭d s p 中断:清除控制内存s h a r ed 2 m c t l 中所写数据:o x l o 。 关闭m c u 到d s p 的中断:清除控制内存s h a r e 2m 2 d 1 1 所写数据:0 x 0 8 3 8 。 关闭音频前端:清除打开操作所写数据。 a m d s p _ _ v m r e c o r d o n 是录音时的物理设备的驱动函数,用于打开录音时使用的 物理设备。主要操作包括:通过d s p 的任务服务结点初始化d s p 为语音编码器;使能 d s p 和a r m 之间的中断通信;打开录音的输入通道。详细的执行流程和实现方法如下 所述: 打开音频前端:即向电源控制寄存器p d nc o n 2 写值:o x o l 0 0 ,向语音m c u 控制寄存器a f ev m c uc o n 写值:0 x 0 0 0 1 。 写d s p 服务节点参数,其实现方法是向d s p 控制信息交互内存: d p a s p t y p e ,d p _ _ a s p f s 写数据。两个控制内存的意义分别是存储语音的 类型和采样频率。 写语音参数,初始化d s p 为特定的a m r 编码模式。 使能m c u 到d s p 的中断:向控制内存s h a r e 2m 2 d 1 1 写数据:0 x 0 8 3 8 。使 能d s p 中断:向控制内存s h a r ed 2 m c t l 写数据:0 x 1 0 。 a m _ d s pv m r e c o r d o f f 是所有停止录音事件的底层驱动函数。主要是关闭录音物 理设备。其功能包括:断开a r m 与d s p 的通信连接;关闭音频前端电路,关闭语音输 入通路:清除a m r 编码程序的运行控制参数,使d s p 回到i d l e 状态。其详细执行流 程如下所示: 西安科技大学硕士学位论文 关闭d s p 中断:清除控制内存s h a r e 中所写数据:_d2mctl 0 x 1 0 关闭m c u 到d s p 的中断:清除控制内存s h a r e 2m 2 d 1 1 ,所写数据:0 x 0 8 3 8 。 关闭音频前端:清除录音使写入的a m r 程序运行控制参数。 a f e _ m a n a g e r 函数根据音频前端设备抽象控制变量a f e 中的数值,进行音频前端控 制寄存器的读写操作以实现音频前端电路的打开、关闭。 上述内容就是语音驱动程序的执行流程和实现方式。上述的四个语音驱动程序都是 通过中断的形式执行的。在底层通过t d m a 中断程序调用上述函数进行统一的物理设 备的操作,以保证d s p 参数和语音前端设备的时序相一致。 4 3 应用层软件设计 应用层软件位于整个录音软件的最上层,其功能是向用户提供录音功能的使用界面 和处理用户的事件请求。在本软件中,基于状态机的控制机制和事件驱动模型的消息机 制构成了应用层程序的核心机制,应用层程序便是基于以上的基本思想来进行设计的。 应用程序内部采用状态机的控制机制,将应用程序划分成若干个子状态,每一个子 状态完成一定的功能,程序运行时会由于事件触发产生程序的状态迁移,进而完成一定 的录音应用功能。程序在某一时刻只能处于某一个具体的子状态。通过状态机的控制机 制,应用程序被划分成若干个子状态,程序功能得到了进一步的细化,各个子状态的功 能变得更加单一,便于对整个应用程序的功能做进一步实现。根据录软件实现的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级花艺师实操技能考核试题集及解析
- 抢救课件结束语
- 2025年压力校验仪表项目发展计划
- 2025年液晶平面显示器及其配套部件和材料项目建议书
- 2025年合同研究组织合作协议书
- 2025年二元酸二甲酯合作协议书
- 2025年社会养老保障服务项目建议书
- 吉林省延边朝鲜族自治州延边州2025-2026学年高三上学期9月期初考试数学试题(含答案)
- 河南省周口市郸城县实验中学2025-2026学年七年级上学期开学考试英语试题(含答案)
- 校史知识竞赛题库及答案
- 老挝药品注册管理办法
- 建设工程项目协同作业方案
- 鹿寨县城南水厂寨沙分厂建设项目环评报告
- 森林火灾应急处置
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- 变频及伺服应用技术(郭艳萍 钟立)全套教案课件
- Inventor教案打印完整
- 秋冬季安全知识培训
- 电力营销稽查培训课件
- 绿色金融培训课件
- 2025安化事业单位笔试真题
评论
0/150
提交评论