基于ios适配器模块及程序设计毕业论文_第1页
基于ios适配器模块及程序设计毕业论文_第2页
基于ios适配器模块及程序设计毕业论文_第3页
基于ios适配器模块及程序设计毕业论文_第4页
基于ios适配器模块及程序设计毕业论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、基于ios适配器模块及程序设计摘要本论文详细论述了基于iphone os操作系统的fm发射器模块运行工作的原理。随着3g网络的建成运行和智能手机的普及,基于智能移动设备的无线互联网应用的需求将越来越大。作为当今智能手机市场用户体验最好的iphone os操作系统,也对基于ios系统的适配器设计提出了很高的要求,此系统是基于ios模拟器系统下开发的mp3播放软件及通过iphone3.5mm耳机接口的fm发射器模块。该系统支持iphone手机将音乐文件通过耳机接口输入到fm发射器模块发送出来,fm发射器模块的采用的是bh1417芯片,调频发射范围是90mhz至108mhz。关键字iphone; i

2、os ; fm发射器; bh1417abstract this paper discusses in detail the principle of fm transmitter iphone os operating system-based modules run.along with the 3g network up and running and intelligent mobile phone penetration, based on intelligent mobile devices in a wireless internet applications will becom

3、e more and more demand. as the smart phone market, users experience the best iphone os operating system, the high demands of the adapter design based on the ios system, this system is based mp3 player software ios simulator system developed by iphone3.5mmheadphone jack, fm transmitter module.the sys

4、tem supports music files through the headphone jack input to the fm transmitter module to send out the iphone, the fm transmitter module using the bh1417 chip, fm transmitter range is 90mhz to 108mhzkey wordsiphone; ios; fm transmitter; bh1417目录摘要1abstract2第一章 概述31.1课题研究的目的及意义31.2基本功能描述31.2.1软件开发基本功

5、能31.2.2硬件设计4第二章 ios开发基础52.1 object-c语言52.2 x-code开发环境52.3 interface builder界面编辑82.4 simulator模拟器92.5 ios 架构102.6程序包122.6.1访问程序包的资源122.6.2可加载的程序包132.7应用程序的运行132.7.1启动过程快,使用时间短132.7.2应用程序沙箱142.7.3虚拟内存系统142.7.4自动休眠定时器14第三章 硬件设计153.1调频发射系统153.1.1调频发射机的性能指标概念153.1.2调频发射机性能指标及设计要求163.2 fm发射器设计19第四章 软件编程25

6、4.1创建iphone项目254.2ui设计264.3代码实现详细274.3.1创建工程284.3.2制作启动画面304.3.3编码实现304.4编译和测试324.5打包为ipa文件33结论35参考文献36附录 一1附录 二5致谢12第一章 概述本设计包括两部分,软件部分即基于ios系统的音乐文件播放器,需要设计建立简易mp3播放器,硬件部分既是一个fm发射器。1.1课题研究的目的及意义 iphone由苹果公司(apple, inc.)首席执行官史蒂夫乔布斯在2007年1月9日举行的macworld宣布推出,2007年6月29日在美国上市,将创新的移动电话、可触摸宽屏ipod以及具有桌面级电子

7、邮件、网页浏览、搜索和地图功能的突破性因特网通信设备这三种产品完美地融为一体1 唐晓晟,黄朝明,付长冬. 3g终端技术与应用m .北京:人民邮电出版社,2007:98100.。iphone引入了基于大型多触点显示屏和领先性新软件的全新用户界面,让用户用手指即可控iphone。iphone还开创了移动设备软件尖端功能的新纪元,重新定义了移动电话的功能。iphone的成功也带动了ios系列产品的畅销,基于ios接口适配器与程序开发成为热点项目并带动了周边产业的进步和发展。由于ios系列产品受制于自身大小的要求fm发射器并没有集成在手机内部,从而降低了用户在音乐共享方面的愉悦度,有必要开发一种ios

8、接口的适配发射器,由于iphone独有的30pin接口开发产品需要iphone的硬件认证,不利于小成本公司的开发和生产,iphone 3.5mm耳机接口则自然成为基于ios的适配fm发射器的最佳接口。1.2基本功能描述1.2.1软件开发基本功能本软件作为毕设,一切均是最简化设计,仅仅包括音乐文件播放,界面显示为格致园fm播放器,以上这些功能的具体分析与归纳将在系统分析的相关文档中详细给出。该系统应该能稳定运行于iphone os3.0以上版本操作系统下。这就意味着无论是iphone、ipad或者itouch,只要是ios3.0以上版都可以完美运行,无需任何满足兼容性的修改源码。1.2.2硬件设

9、计硬件设计的 fm发射机具有使接收机接收灵敏度高,抗干扰力强、音质清晰等特点,但往往在制作、调试过程中易出现电路易停振、抗干扰力差、容易跑频、失真等故障。该fm发射机电路要求工作频率稳定,抗干扰力强,制作调试简单2 edwards,l. series 60应用程序开发 m.北京:机械工业出版社,2006:7679.。本fm发射器采用bh1417芯片,并可配合数字控制模块选择调频发射的频率。将iphone播放的音乐文件转化为调频信号发射出去。第二章 ios开发基础ios 是运行于 iphone、ipod touch 以及 ipad 设备的操作系统,它管理设备硬件并为手机本地应用程序的实现提供基础

10、技术。根据设备不同,操作系统具有不同的系统应用程序,例如 phone、mail 以及 safari,这些应用程序可以为用户提供标准系统服务。2.1 object-c语言objective-c是苹果mac os x 上开发的首选语言,主要是因为mac os x 技术源自nextstep的openstep操作系统,因为openstep的软件架构(framework) 都是用objetive-c写成,所以macos x上的开发最佳语言自然也就objective-c了。object-c是由brad cox在80年代初在第一个纯面向对象语言smalltalk基础上写成。后来他创立了step stone公

11、司从事objective-c的推广3 陈汶滨,朱小梅,任冬梅.软件测试技术基础m.北京:清华大学出版社,2008:5355.。 1988年,steve jobs的next step采用objective-c作为开发语言,1992年gnu gcc编译器中包含了对objective-c的支持(gnu-objctive runtime),dennis glating写了第一个run-time。richard stallman第二个,最近的是kresten krab thorup在丹麦读大学时写的,他后来到next step工作。目前,objective-c是mac os x的首要开发语言,也是gnu

12、 step在linux和其它平台上的开发语言。objective-c 是ansi c的超集,扩展了c语言使它具备面向对象设计的能力,如类,消息和继承。objective-c程序中可以利用现有的c语言代码,使其利用现有的软件架构4 刘华章.手机应用软件设计和开发的方法探讨j. 计算机时代,2007,1(05):7678.。这也是为什么objective-c过去多年间能够成为一种流行的用户界面开发语言而且至今没有消亡,因为一方面用它可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。2.2 x-code开发环境xcode是apple的开发工具套件,支持项目管理、编辑代码、构建可执行程序、代

13、码级调试、代码的版本管理、性能调优等等。这个套件的核心是xcode应用本身,它提供了基本的源代码开发环境。xcode应用程序以开发体验为中心。xcode是一种集成开发工具(ide),包含所有所需工具,可以新建和管理iphone项目和源文件,构建可执行程序,在模拟器或是设备上运行和调试代码。创建iphone应用程序,在xcode中新建一个项目就可以开始。项目管理所有与应用程序相关的信息,包括源文件、构建设置和把所有部分集成在一起的规则5 裴珊珊,叶小梁.国外open api发展现状及趋势研究j.情报科学,2009,8 (12):3134.。每个xcode项目的中心是项目窗口。这个窗口中,可以快速

14、访问应用程序中的所有关键元素。在groups and files列表中管理项目中的文件,包括源文件和源文件生成的构建目标(build targets)。工具栏中是可以访问常用的工具和命令,在details面板可以配置管理你的项目。项目窗口的其它方面可以显示项目的上下文信息。图2.1 xcode的项目窗口(project window)xcode中有强大的文本编辑器,支持代码补全、语法高亮、代码折叠(临时隐藏代码块)、为错误、警告和注释提供内联的解释等功能。xcode的构建系统提供了恰当的默认配置,同时可以按照自己的喜好设置环境6 郑柯.中国“开放平台”不i i open api调查分析j.程序

15、员,2008,11 (7):3435.。如果需要文档,research assistant提供了上下文相关的文档,在xcode开发的硬件产品需要iphone的硬件认证,不利于小成本公司的开发和生产,iphone3.5mm耳机接口则自然成为基于ios的适配fm发射器的最佳接口。在xcode构建应用程序时,可以选择为iphone模拟器或是iphone设备进行构建。模拟器为程序提供了本地的测试环境,以保证程序是按希望的方式运行。当对程序的基本功能表示满意之后,可以使用xcode构建它并在连接在电脑上的iphone或ipod touch上运行。在设备上运行提供了最终的测试环境,并且xcode允许在运行

16、在设备上的代码附加内置的调试器。图2.2 在xcode中运行项目xcode包含的各种工具:用于对软件产品进行定义的工程管理系统。代码编辑环境,包括为文法显示不同颜色、代码补全以及符号指示等多种功能。高级文档阅读工具 ,可用于阅读搜索苹果文档。对上下文敏感的检查工具,可用于查看选定代码符号的信息。高级链编系统,具有依赖检查及链编规则计算功能。gcc 编译器,此编译器支持对 c、c+、objective-c、objective-c+以及objective-c 2.0 和其他语言进行编译。集成源码级的调试功能,此功能使用 gdb 来实现。分布式计算,此功能可以让您将巨大的工程分布到数台联网的机器上运

17、行。预测编译,此功能可以加速单个文件的编译周转时间。高级调试功能,例如停顿和继续运行,而且可以定制数据格式化方式。高级重构工具,这些工具可以让您在不改变整体行为的前提下对代码进行全局性的修改。工程快照的支持。工程快照是一种轻量级的本地源代码管理形式。支持启动性能工具对软件进行分析。支持源代码管理集成。支持使用 applescript 实现链编过程自动化。可以生成 dwarf 和 stabs 调试信息(所有的新工程都会默认生成 dwarf 调试信息)2.3 interface builder界面编辑使用interface builder,可以可视化地装配应用程序的用户界面。利用interface

18、 builder,可以通过拖拽需要的组件在程序窗口上进行装配。组件中包含标准的系统控件,如开关(switches)、文本框和按钮,还有定制的视图来表示程序提供的视图7 李超,陈丹伟,李军.基于parlay x的下一代电信增值业务模型研究j.电子工程师, 2004,4(8):7879.。在窗口表面上放置组件之后,拖拽它们可以确定位置,使用观察器(inspector)设置它们的属性、建立这些对象和代码之间的联系。当界面是你想象的那样时,将内容保存在一个nib文件中,这是一个自定义的资源文件格式。用interface builder创建的nib文件中包含所有信息,ui kit在程序运行时根据这些信息

19、重新创建相同的对象。加载nib文件会为存储在文件中的对象创建运行时的版本,同时象在interface builder一样正确配置它们。还会根据指定的连接信息,建立新创建对象和应用中存在的任何对象建立连接。这些连接信息在代码中添加nib-file对象的指针,还会在代码中加入对象与用户动作交流所需信息。 下图为 使用 interface builder 创建 ios 界面:图2-3使用 interface builder 创建 ios 界面总之,当创建应用程序的用户界面时,使用interface builder会节省大量时间。interface builder不用编写在创建用户界面时创建、配置和定

20、位对象所需的代码。因为它是一个可视化编辑器,你可以准确地看到你的界面在运行时的主程序界面。2.4 simulator模拟器iphone simulator是iphone sdk中颇为有用的一个工具,无需使用实际的iphone/ipod touch就可以测试应用程序。通常不需要直接启动iphonesimulator它在xcode运行(或是调试)应用程序时会自动启动。xcode会自动将应用程序安装到iphone simulator上。 iphone simulator并非仿真器 iphone simulator是个模拟器,但并非仿真器。这两者的区别是:模拟器会模仿实际设备的行为。iphone si

21、mulator会模仿实际的iphone设备的真实行为。但模拟器本身却使用了mac上的各种库(如quicktime)进行渲染以便效果与实际的iphone保持一致。此外,在模拟器上测试的应用程序会编译为x86代码,这是模拟器所能理解的字节码8 严蔚敏,吴伟民.数据结构(c语言版)m .北京:清华大学出版社,1997:6770.。与之相反,仿真器会模仿真实设备的工作方式。在仿真器上测试的应用程序会编译为真实设备所用的实际的字节码。仿真器会把字节码转换为运行仿真器的宿主计算机所能执行的代码形式9 崔巍,数据库系统及应用(第二版) m.北京:高等教育出版社,2003:132135.。 iphone si

22、mulator可以模拟不同版本的iphone os。如果需要支持旧版本的平台以及测试并调试特定版本的os上的应用程序所报告的错误,该功能就很有用。2.5 ios 架构ios 架构和 mac os 的基础架构相似。站在高级层次来看,ios 扮演底层硬件和应用程序的中介。您创建的应用程序不能直接访问硬件,而需要和系统接口进行交互10 黄亚飞.ui设计与产品形象的关系探讨j. 扬州职业大学学报,2011,(03):5657.。系统接口转而又去和适当的驱动打交道,这样的抽象可以防止用程序改变底层硬件。图2-4 应用程序ios 实现可以看作是多个层的集合,底层为所有应用程序提供基础服务,高层则包含一些复

23、杂巧妙的服务和技术。ios 的层如下图所示。 图2-5 ios的分层高层框架为底层构造提供面向对象的抽象。这些抽象可以减少需编写的代码行数,同时还对诸如 socket 和线程这些复杂功能进行封装,从而让编写代码变得更加容易。虽说高层框架是对底层构造进行抽象,但是它并没有把底层技术屏蔽起来。如果高层框架没有为底层框架的某些功能提供接口,开发者可以直接使用底层框架。cocoa touch 层11 刘颖,秦贵和.基于ios远程控制应用的设计与实现j.吉林大学学报.2011,7(05):4546.:cocoa touch 层包含创建 ios 应用程序所需的关键框架。上至实现应用程序可视界面,下至与高级

24、系统服务交互,都需要该层技术提供底层基础。媒体层:媒体层包含图形技术、音频技术和视频技术,这些技术相互结合就可为移动设备带来最好的多媒体体验,使用 ios 的高级框架更快速地创建高级的图形和动画,也可以通过底层框架访问必要的工具,从而以某种特定的方式完成某种任务。core services 层:core services 层为所有的应用程序提供基础系统服务。可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础。core os 层:core os 层的底层功能是很多其他技术的构建基础。通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架。但是,在直接处理安全事务或和某个

25、外设通讯的时候,则必须要应用到该层的框架。2.6程序包程序包是文件系统的一个目录,其中存放可执行代码和图像、声音等相关资源。在 iphone os 和 mac os x 系统中,框架、插件以及其他类型的软件都是程序包。程序包是具有标准层次体系的目录,目录里保存可执行代码以及用到的资源。foundation 和 core foundation 包含的一些工具可用于定位和加载程序包中的代码及资源。程序包可包含可执行代码、图像、声音、nib 文件、私有框架、库、插件、可加载程序包及其它类型的代码或资源。此外 ,它还包含一份运行时配置文件即信息属性列表(info.plist)。所有这些东西都放置于程序

26、包中恰当的位置。例如图像、声音、nib 文件这类资源都存放在 resources 子目录。资源文件可能已经做过本地化也可能没有。经过本地化的文件(包含字符串文件,即本地化字符串的集合)放在 resources 的相应子目录,子目录名称具有 lproj扩展,并且和某种语言相(也可能是地区)对应。图2-6 程序包的结构与内容2.6.1访问程序包的资源每个应用程序有一个主程序包,即包含应用程序代码的程序包。当用户启动应用程序的时候,应用程序会在主程序包中寻找即刻要用到的代码和资源,并将其加载到内存。然后它可以根据需要动态(并延时)加载主程序包或者丛属程序包中的代码和资源12 焦万鹏.新兴专业“ui”

27、设计初探j. 辽宁高职学报. 2006,4(02):1012.。应用程序也可以用ns bundle 和core foundation 中的cfbundleref(在过程化的语言中使用)定位程序包中的资源。在 objective-c 中,首先要获得一个 nsbundle 实例,它和某个物理程序包对应。如需获得应用程序主程序包,则应调用 mainbundle 类方法。然后调用 nsbundle 的其他方法,传入文件名、扩展名以及(可选)程序包子目录,这些方法将会返回程序包资源的路径。有了资源路径,您就可以使用恰当的类将其加载到内存。2.6.2可加载的程序包可加载的程序包和应用程序程序包相似,它也是

28、将可执行代码和相关的资源打包在一起,但是可加载的程序包必须在运行时显式加载。可加载的程序包可用于设计高度模块化、可定制扩展的应用程序。每个可加载程序包都有一个 prin- cipal类,它是程序包的入口点。在加载程序包的时候,必须先从 nsbundle 获取 principal类,然后根据所返回的class对象创建一个 principal 类的实例。2.7应用程序的运行iphone os 的运行环境被设计为快速而安全的程序执行环境。下面的部分是运行环境的关键部分。2.7.1启动过程快,使用时间短iphone os 设备的优势是它们的便捷性。用户通常从口袋里掏出设备,用上几秒或几分钟,就又放回口

29、袋中了。在这个过程中,用户可能会打电话、查找联系人、改变正在播放的歌曲、或者取得一片信息。在 iphone os 中,每次只能有一个前台应用程序。这意味着每次用户在 home屏幕上轻点应用程序图标时,应用程序必须快速启动和初始化,以尽可能减少延迟。除了快速启动,应用程序还必须做好快速退出的准备。每次用户离开应用程序时,无论是按下 home 键还是通过软件提供的功能打开了另一个应用程序,iphone os 会通知应用程序退出。在那个时候,需要尽快将未保存的修改保存到磁盘上。如果应用程序退出的时间超过 5 秒,系统可能会立刻终止它的运行。2.7.2应用程序沙箱由于安全的原因,iphone os 将

30、每个应用程序(包括其偏好设置信息和数据)限制在文件系统的特定位置上。这个限制是安全特性的一部分,称为应用程序的“沙箱”。沙箱是一组细粒度的控制,用于限制应用程序对文件、偏好设置、网络资源、和硬件等的访问。在 iphone os 中,应用程序和它的数据驻留在一个安全的地方,其它应用程序都不能进行访问。在应用程序安装之后,系统就通过计算得到一个不透明的标识,然后基于应用程序的根目录和这个标识构建一个指向应用程序家目录的路径。因此,应用程序的家目录具有如下结构:/applicationroot/applicationid/在安装过程中,系统会创建应用程序的家目录和几个关键的子目录,配置应用程序沙箱,

31、以及将应用程序的程序包拷贝到家目录上。将应用程序及其数据放在一个特定的地方可以简化备份-并-恢复操作,还可以简化应用程序的更新及卸载操作。2.7.3虚拟内存系统在本质上,iphone os 使用与 mac os x 同样的虚存系统。在 iphone os 中,每个程序都仍然有自己的虚拟地址空间,但其可用的虚拟内存受限于现有的物理内存的数量(这和 mac os x 不同)。这是因为当内存用满的时候,iphone os 并不将非永久内存页面(volatile pages)写入到磁盘。相反,虚拟内存系统会根据需要释放永久内存(nonvolatile memory),确保为正在运行的应用程序提供所需的

32、空间。内存的释放是通过删除当前没有正在使用或包含只读内容(比如代码页面)的内存页面来实现的,这样的页面可以在稍后需要使用的时候重新装载到内存中。2.7.4自动休眠定时器iphone os 试图省电的一个方法是使用自动休眠定时器。如果在一定的时间内没有检测到触摸事件,系统最初会使屏幕变暗,并最终完全关闭屏幕。第三章 硬件设计3.1调频发射系统3.1.1调频发射机的性能指标概念与调幅系统相比,调频系统由于高频振荡器输出的振幅不变,因而具有较强的抗干扰能力和较高的效率,所以在无线通信、广播电视、遥控遥测等方面获得广泛应用。调频发射机的性能指标的概验如下:1、发射功率:一般是指发射机输送到天线上的功率

33、。只有当天线的长度与发射机频率的波长可比拟时,天线才能有效地把载波发射出去。波长与频率f的关系为=c/f式中,c为电磁波传播速度,c=3*108m/s,若接受机的灵敏度=2,则通信距离s与发射机功率的关系为 下表列出了小功率发射机的功率与通信距离s的关系。表3-1发射机功率与距离关系表pa/mw50100200300400500600700s/km2.843.384.024.454.825.085.275.502、工作频率或波段:发射机的工作频率应根据调制方式,在国家或有关部门规定的范围内选取。广播通信常用波段的划分如表3-2所示,对于调频发射机,工作频率一般在超短波范围内。表3-2广播通信波

34、段划分表波段名称波长范围频率范围频段名称超长波10010km330khz甚低频长波101km30300 khz低频中波1000200m0.31.5 mhz中频短波20010m1.530 mhz高频超短波(米波)101m30300 mhz甚高频3、总效率:发射机发射的总效率与其消耗的总功率之比称为发射机的总效率,即 =/ 4、非线形失真:当最大频偏为75khz,调制信号的频率为100hz7500hz时,要求调频发射机的非线形失真系数应小于1%。5、杂音电平:调频发射机的寄生调幅应小于载波电平的5%10%,杂音电平应小于-65db。6、输出阻抗:对调频广播而言,一般要求输出阻抗为50欧,对电视差转

35、而言一般要求75欧。7、残波辐射:残波辐射是指杂波与输出功率之比。8、信杂比:信杂比是指已调波在规定频偏的情况下经理想解调后有用信号功率与载波功率之比。9、频率响应:频率响应是指已调波在规定频偏的情况下经理想解调后输出音频的幅频响应。3.1.2调频发射机性能指标及设计要求1、发射功率80得到2、负载电阻=753、工作中心频率=1004、最大频偏=755、总效率50%6、发射距离17、调制方式: 调频发射机基本原理方框图图3-1直接调频发射系统组成框图发射机系统各部分波形图 图3-2发射机系统各部分波形图调频发射机系统方框图各部分简介:1、参考分频器作用:合理的分割各单元的工作频段,合理进行各单

36、元功率分配,使各单元之间具有恰当的相位关系以减少各单元的工作中出现声干扰失真13 张海藩.软件工程导论(第4版)m.北京:清华大学出版社,2003:5055.;利用分频电路的特性以弥补单元在某频段里的声缺陷,将各频段圆滑平顺的对接起来。2、鉴相器作用:鉴相器是一个相位比较装置,又称为相位比较器。它的输出误差电压v d (t)是v i (t)与v o (t) 的瞬时相位之差的函数。 图3-3 鉴相器3、环路滤波器作用:在鉴相器的输出端衰减高频误差分量,以提高抗干扰性能;在环路跳出锁定状态时,提高环路以短期存储,并迅速恢复信号。14 魏云汉.大功率波导开关的研制j.电讯技术,1981,1(7):1

37、314.4、压控振荡器作用:压控振荡器受控制电压控制,使严控振荡器的频率向参考信号频率接近,也就是使差拍频率越来越近,直至消除频率差而锁定。5、缓冲放大器作用:提高负载能力和减少负载对信号源的影响,兼有增加抗干扰能力。6、可变分频器作用:信号处理步骤,通过根据施加到控制端上的信号的电平,反相不反相施加到输入端的输入时钟信号,来形成分频前的时钟信号,根据具有比分频前的时钟信号中的预定脉冲宽度大的脉冲宽度的时钟脉冲中的转变点,按照预定的分频数,对分频前的时钟信号进行分频,所述转变点对应于输入时钟信号一个方向上的转变点,并从输出端输出分频信号,作为输出时钟信号;连接断开步骤,根据外部控制信号,连接断

38、开形成在输出端和控制端之间并用作返回控制端的信号路径的反馈路径;延迟步骤,使施加到输入端上的信号通过反馈路径返回到控制端的延迟时间大于输入时钟信号的脉冲宽度。7、高频放大器作用:高频功率放大器用于发射机的末级,作用是将高频已调波信号进行功率放大,以满足发送功率的要求,然后经过天线将其辐射到空间,保证在一定区域内的接收机可以接收到满意的信号电平,并且不干扰相邻信道的通信。调频发射机的工作原理:工作原理:语言或音乐的声波,使话筒内的膜片及线圈产生相应的机械振动,由于电磁感应的作用,又将膜片及线圈的机械振动转换为相应的音频电流或电压信号,并将微弱的音频电流或电压信号送到音频放大器放大幅度。在将放大后

39、的音频电信号送到频率调制中,采用直接调频的方式,使音频电信号直接去控制高频振荡器产生的高频信号,为了稳定高频振荡器的频率,采用缓冲隔离。为达到预订的频率采用倍频使高频信号频率整倍升高到所需值。将已调信号的功率放大以使负载(天线)获得令人满意的发射功率有远距离的发送。调频广播具有抗干扰性能强、声音清晰等优点,获得了快速的发展。调频电台的频带通常大约是200250khz,其频带宽度是调幅电台的数十倍,便于传送高保真立体声信号。由于调幅波受到频带宽度的限制,在接收机中存在着通带宽度与干扰的矛盾,因此音频信号的频率局限于308000hz的范围内。在调频时,可以将音频信号的频率范围扩大至3015000h

40、z,使音频信号的频谱分量更为丰富,声音质量大为提高。3.2 fm发射器设计bh1417是fm无线发射芯片,它可工作于87mhz108mhz频段,与简单的外围电路配合使用,可发射音频fm信号,它可以将计算机声卡、游戏机、cd、dvd、mp3、调音台等立体声音频信号进行立体声调制发射传输,配合普通的调频立体声接收机就可实现无线调频立体声传送。适用于生产立体声的无线音箱、无线耳机、cd、mp3、dvd、pad、笔记本电脑等的无线音频适配器。bh1417的原理特性:fm发射电路采用稳定频率的锁相环系统。这一部分由高频振荡器、高频放大器及锁相环频率合成器组成。调频由变容二极管组成的高频振荡器实现,高频振

41、荡器是锁相环的vco,立体声复合信号通过它直接进行调频。高频振荡器由第9引脚外部的lc回路与内部电路组成,振荡信号经过高频放大器从11引脚输出,同时输送到锁相环电路进行比较后,从第7引脚输出一个信号,对高频振荡器的值进行修正,确保频率稳定。一但超过锁相环设定的频率,第7引脚将输出的电平拉高;如果低于设定频率,它将输出的电平拉低;相同的时候,它的电平将不变。(1) 将预加重电路、限幅电路、低通滤波电路(lpf)一体化,使音频信号的质量比分立元件的电路(如ba1404、njm2035等)有很大改进。(2) 采用锁相环锁频,并与调频发射电路一体化,使得发射的频率非常稳定。(3) 采用了4位拔码开关进

42、行频率设定,可设定14个频点,使用非常方便。bh1417的内部结构如图3-4所示。它由5部分组成:音频预处理电路(加重、限幅和低通滤波);基频产生电路(晶振、分频);锁相环电路(相位检测、锁频);频率设定电路(高低电平转换);调频发射电路。外围电路主要有拔码开关组成的频率控制电路、压控振荡器组成的载波产生电路、定时器以及一些耦合电容15 蒋菱.射频收发模块中的 硅基mems移相器研究d.华东师范大学;2005:7677.。图3-4内部结构与引脚图应用电路结构及功能引脚bh1417 的内部结构如图3-4所示。它五部分组成:音频预处理电路(加重、限幅和低通滤波);基频产生电路(晶振、分频);锁相环

43、电路(相位检测、锁频);频率设定电路(高低电平转换);调频发射电路。外围电路主要有拔码开关组成的频率控制电路、压控振荡器组成的载波产生电路、定时器元件以及一些耦合电容。bh1417 采 用 sop 封 装, 工作温度范围为 -40 +85,各引脚功能如表 3-3 所列。表3-3引脚功能图引脚名称应用说明1.22r-in l-in左右声道输入信号2.21pre预加重时间调整3.20lpf低通滤波器调整4.fil滤波器端口5.com合成信号输出6.10gnd.rf-gnd芯片接地端射频接地端7.pll锁相环输出端8.12vcc电源正极9.rf-in射频输入端口11.rf-out射频输出端口13.1

44、4.osc晶体整荡器输入端口8d0.d1.d2.d3频率设定控制端口19.adj导向信号调整端口图3-5限幅电路音频输入端的限幅电路设计bh1417 音频输入有最大电平限制,过大的输入电平会损坏芯片。前期的试验阶段,输入音频电平幅值的不可预测性,为了保护芯片的需对输入音频信号进行限幅处理。限幅电路很简单,利用可变电位器即可。电路如图3-5所示,图中电容的作用是将音频信号耦合到芯片中,同时有隔直流功能。压控振荡器参数设计结合 bh1417 频点可知,压控振荡器的频率变化范围必须覆盖芯片的所有频点。考虑到通用元器件的精度和加工工艺水平,这里适当放宽频段,以保证芯片能正常地锁住频

45、点。假定频带为:80m120m。压控振荡器的电路如图3-6所示。图3-6压控震荡器电路l采用普通的磁芯可调式电感,电感量标称值为(3060nh);变容二极管电 容随偏置电压的变化而改变,其极限范围为(735pf)。为了保证电路的稳定性,c2与c3值应该不能相差太大,这里假定c2取51pf,c3范围取为735pf。下面确定c1的值。电容c3均取最小值时,压控振荡器取得最大振荡频率,反之,取得最小频率。计算得45.27c152.53。于是c1值可取47pf。各元器件的值并不是唯一的。fm发射电路设计立体声信号通过脚1、22输入,配合 2、3、20、21这几个引脚外部的阻容组合,完成立体声信号的低通

46、、预加重和调制,调制后的复合信号通过脚 5 输出。脚 15、16、17、18输入的频率代码经过解码和鉴相后,由脚7输出pll振荡器的控制信号 vco。此 vco 控制外部的分立元件组成的高频振荡电路产生fm调频的载波信号,并通过一个达林顿三 极管2sd2142 对 脚 5 输 出 的复合立体声信号进行 fm 频率调制。调制后的信号通过脚 9 输入到 bh1417f,经过内部的射频放大器放大后的射频信号由脚 11 输出。输出后的信号可以直接接到发射天线上进行发射,或者输入到射频功率放大器进行放大后发射,以扩大发射距离。脚 13、14需要外接 7.6mhz 的晶体振荡器,提供bh1417f 内部的

47、鉴相、立体声信号调制等部分所需要的稳定时钟。硬件电路原理图如图3-7所示。用户可以通过改变拨码开关jp1 的闭合与断开来设置发射频率,以避开可能存在的区域内强广播电台的干扰。图3-7硬件电路原理图图3-8fm发射器电路设计图图3-9实物板第四章 软件编程4.1创建iphone项目打开xcode选择file/newproject命令。在显示图标中选择iphone os ,单击iphone os 下的application项来查看用于iphone应用程序开发模版,此处选择view-based application模版,并选择iphone作为产品,然后单击choose按钮。确定项目名称后保存,项目

48、名称暂未定fm.xcode自动生成模版创建项目供选择。添加试图应用程序的委托,viewbasedappappdelegate.m16ole brun madsen.towards a unified global ict infrastructure j. wireless personal communications, 2006,2(8):5557.文件中包含的代码通常在应用程序加载完毕后执行。显示启动画面。大多数iphone程序在加载是都会显示已启动画面,启动画面有两个作用一是可以有效的找事公司名称或是应用程序的徽标,二是在应用程序忙于加载是用替代画面降低用户的烦闷度。实用xcode显示

49、启动画面很简单,只需在应用程序束中包含一幅名为default.png的图像,其分辨率应为480*320(对于高分变率的iphone,为960*640像素),加载应用是系统将自动显示该图片,并且在应用程序的第一个视图窗口准备显示的时候隐藏该图像。可以使用图片编辑软件从头创建default.png图像,但更简单是方法是实用xcode中包含的organizer工具捕捉一份图像。只需查看并捕捉想要作为iphone启动画面的图像即可。必须使启动画面在系统窗口准备好是消失则在.m文件中插入代码:/-insert a delay of 5 seconds before the splash screen d

50、isappears-nsthresd sleepfortimeinterval:5.0:17xuan hong,ke-fei chen,yu long. universally composable proactive threshold rsa signature j. journal of shanghai jiaotong university (science), 2008,5(6):4546.为应用程序添加图标:首先将图像拖入到项目的resources文件夹中,选择生成。选择hui-info.plist文件,选择icon file属性并将其设置为图标的名称,以指定作为应用程序图标的名

51、称。按command+r组合键运行应用程序,在simulator中测试收单击home案件即可返回iphone主屏看见加入的图标。默认创建的项目文件列表与说明:表4-1默认创建项目的文件列表文件说明viewbasedapp .app应用程序程序包,包含可执行文件以及和应用程序一同打开的数据viewbasedapp_prefix.pch包含项目中的所有文件件。默认情况下,前缀头文件包含在项目的其他文件中viewbasedappappdelegate.h应用程序委托的头文件viewbasedappappdelegate.m应用程序委托的实现文件viewbasedappviewcontroller.h

52、视图控制器的头文件viewbasedappviewcontroller.m视图控制器的实现文件viewbasedappviewcontroller.xib包含视图ui的xib文件coregraphics.framework用于底层2d渲染的基于c语言的apifounddation.framework用于提供基本系统服务uikit.framework提供用于构造与管理应用程序的ui的基础对象viewbaseapp-info.plist一个字典文件,其中包含关于项目的信息main.m启动iphone应用程序的主文件mainwindow.xib代表应用程序的主窗口xib文件4.2ui设计ui即use

53、r interface(用户界面)的简称。ui设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的ui设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。软件设计可分为两个部分:编码设计与ui设计。图4-1启动界面图4-2主程序界面4.3代码实现详细环境要求及配置为:苹果电脑一台,苹果最新版雪豹操作系统,版本为10.6。最新的xcode开发工具,版本为4.2。系统流程图如下图4-3系统流程图4.3.1创建工程使用xcode创建名称为mp3的工程,工程类型为single view application。图4-4工程创建界面点击 next 按钮。图4-5工程命交互界面输入工程名称和公司标示符。图4-6为工程创建结束点击 create 按钮完成工程创建。4.3.2制作启动画面制作一个default.png文件,并添加到工程资源中。添加方式,在工程的other source点右键选择add files to “mp3”菜单。图4-7添加启动界面到工程资源文件添加完成后,启动画面制作完成。4.3.3编码实现双击mp3viewcontroller.xib18peter herrmann,heiko krumm,o

温馨提示

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

评论

0/150

提交评论