基于ARM9的可视电话系统毕业论文

上传人:沈*** 文档编号:80576323 上传时间:2022-04-25 格式:DOC 页数:144 大小:3.15MB
收藏 版权申诉 举报 下载
基于ARM9的可视电话系统毕业论文_第1页
第1页 / 共144页
基于ARM9的可视电话系统毕业论文_第2页
第2页 / 共144页
基于ARM9的可视电话系统毕业论文_第3页
第3页 / 共144页
资源描述:

《基于ARM9的可视电话系统毕业论文》由会员分享,可在线阅读,更多相关《基于ARM9的可视电话系统毕业论文(144页珍藏版)》请在装配图网上搜索。

1、中国计量学院本科毕业设计(论文)基于ARM9的可视电话系统The System of Videophone based on ARM9学生姓名 学号 0900102131 学生专业 自动化 班级 09自动化1 二级学院 机电工程 指导教师 中国计量学院2013年 5月郑 重 声 明本人呈交的毕业设计论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。学生签名: 日期:

2、 分类号: TP29 密 级: 公开 UDC: 62 学校代码: 10356 中国计量学院 本科毕业设计(论文) 基于ARM9的可视电话系统The System of Videophone based on ARM9 作 者 卢 跃 学号 0900102131 申请学位 工学学士 指导教师 高雁凤 学科专业 自动化 培养单位 中国计量学院答辩委员会主席 卫东 评 阅 人 王凌 2013年 5月致 谢毕业设计过程当中,我获得了许多帮助。谨向所有帮助过我指导过我的人表示衷心的感谢。 首先要感谢我的指导老师,高雁凤老师。从论文选题、方案确立、实施工作到论文撰写过程中,高老师自始至终关心着我的工作进展

3、情况。在整个毕设的实行过程中,老师给予了指导与帮助。对于出现的问题给予细致的解答,同时提出很多宝贵的建议。对于老师们认真严谨的治学态度、渊博的学识见解、勤奋求实的工作作风和不懈的学术追求乃为本人学习的榜样。还要感谢那些帮助过我的同学们,正是因为有你们我才得以难以解决很多问题。跟你们一起学习过程有快乐相伴也有困难阻碍,不过还是学到很多知识,正因有了你们的无私帮助和一路陪伴才使得我能够克服重重阻碍,最终顺利完成目标。衷心祝愿你们今后一帆风顺,前程似锦。最后再次感谢参加本次论文评阅答辩并对本论文提出宝贵建议的所有老师! 基于ARM9的可视电话系统摘要:互联网技术的不断发展,使得计算机通讯技术有了很大

4、的发展,人们对于IP可视电话系统的需求也越来越强烈。本文以SAMSUNG的S3C2440芯片作为硬件平台,以TCP/IP协议和UDP/IP协议作为传输协议,编写代码将视频模块,语音模块,画图模块,网络模块,本地配置模块等封装在一起成为一个大的可执行程序。将此可执行程序烧写到ARM板中,调试执行后系统测试良好,验证了软件构架的可行性。关键词:视频编解码;音频编解码;H.323;S3C2440中图分类号:TP29IThe System of Videophone based on ARM9Abstract:With the development of the Internet technolog

5、y,the communication technology on the computer has been greatly developed, people pay more and more attention on the need of the IP videophone system .In this paper,the hardware platform of the system is based on SAMSUNG S3C2440 chip and the transport protocol of message packet is based on e TCP/IP

6、protocol and UDP/IP protocol.Write the code to get the video module,voice module,drawing module,network module,the configuration modules together and make an executable program. Then send this executable program to ARM board and perform. The performance is well which proves that the software archite

7、cture is well done. Keywords: video rate sampling codec; Audio rate sampling codec;S3C2440;H.323Classification: TP29IV目 次摘要目次1引言11.1研究背景和意义11.2国内外发展现状11.3研究内容和目的21.4小结32 多媒体通信协议研究42.1 IP电话的标准42.2 H.323协议介绍及组成42.3 H.263视频压缩62.4音频视频编解码72.5小结83系统环境搭建及方案设计93.1 ARM微处理器93.2 ARM板环境搭建103.3设计思想143.4设计方案选择153

8、.5模块电路设计153.6小结184软件设计与实现194.1 嵌入式系统194.2本系统的软件格式及风格规范204.3软件流程244.4系统各模块实现及分析274.5小结395 实验结果及总结405.1系统测试和结果405.2总结445.3展望44参考文献45附录A46附录B47作者简历135学位论文数据集136 1 引言1.1 研究背景和意义近年来,随着互联网技术的不断更新发展,计算机网络技术的日益成俗,使得通信技术也有了前所未有的发展,人们对于多媒体信息技术的需求也越来越强烈。基于互联网的多媒体业务的发展,数字信号处理技术的提升以及高速网络带宽的扩容,给图像、数据、语音等多媒体通讯技术带来

9、了全新的发展前景1。可视电话是人们渴望的一种通信方式。两年前,互联网泡沫成了大家的口头禅,安装宽带网络只是用来浏览网页、看看新闻,实在浪费资源,而如今你可以通过网络可视电话实现亲情会面、远程谈判、可视会议、远程培训、远程面试、异地采访、网络可视电子购物等业务1。中国互联网的蓬勃发展也为宽带可视电话的应用提供的良好的网络基础。在中国互联网络发展状况统计报告中显示,2003上半年中国互联网的宏观发展状况的数字都有较大增长。在所有网民中,拨号上网用户仍是主体,达到4500万,而宽带用户也由半年前的660万增长到980万,宽带用户以32%的速度增长,大部分宽带网络的使用者都对宽带可视电话表示了浓厚的兴

10、趣,还有大量能够承担得起一定的费用,但不会使用电脑或不能熟练使用电脑/网络的众多客户对可视电话仍情有独钟。因此有理由相信,在未来的一段时间内,可视电话将成为市场的新宠,发展潜力巨大。1.2 国内外发展现状IP可视电话是集通讯技术、多媒体技术、计算机技术于一体的高科技通讯产品,是20世纪通讯领域的一次革命。新推出的可视电话符合ITU-H.324国际视讯会议标准,可外接电视或音响设备,能与国内外符合此标准的机型以及普通电话兼容。采用数字化技术将视频信息与音频信息压缩编码的传输模式,使用调制解调技术能够同时传递与接收,具有高达每秒16帧动态图像的视频传输速度。其传递媒介是普通的电话线。可视电话有多种

11、方式,一般都可以让用户根据自己的喜爱来切换显示方式11。纵观可视电话的发展历史,大致分为三个阶段,第一阶段是可视阶段。首先我们要讨论电话的发明,电话是美国人贝尔于1876年发明的,当时电话的功能只是完成了语音的传输,只能听见对方的声音却看不见对方。从那时起,能远距离看到对方这个需求就一直是人类追求的梦想。直到1964年,美国贝尔实验室首先研制成功呢了PicturePhone I,即静止黑白图像电话,但由于当时的设备的落后,以及图像船速技术和视频压缩技术发展的缓慢,可视电话一直没有很大的提高。直到1992年,美国AT&T公司推出了全彩色可视电话机,该电话机的主要发展是可在普通电话线上传送10帧每

12、秒的彩色图像,但因为视频压缩技术这个问题没有改善,使得彩色可视电话机在价格上一直居高不下,导致市场不能接受。1996年底,国际电讯联盟制定了在普通电话网上的可视电话标准,即ITU-H.324,这个标准的制定给可视电话系统的发展带来了质的飞越。它解决了各公司之间产品不能互通这个问题,使可视电话成为了通讯领域中的一个新热点。现在市面上的可视电话主要可分为两种,一种是由电话、监视器、带摄像头的压缩解压缩主机组成的系统,但是这种方式使可视电话系统摆放的体积非常大,线路非常多,对于携带和操作有着很多的麻烦。另一种是具有摄像头、显示器、电话功能的一体机系统,这种方式的可视电话体积之比普通电话机略大,携带非

13、常方便。另外因其线路很少,操作也变得非常简单,因此第二种方式广泛使用在现有的应用中。现有的可视电话具有的主要功能是图像可视且动作连续,声音与图像可以同时传递与接收,实现了百年来人类对于闻其声、观其容的梦想。但是,由于技术和设备的缘故,可视电话系统也同应该能存在着一些问题,比如动作快时的可视握手时间长和马赛克现象等。相信随着通讯网络设备的不断提升和该着,会使可视图像质量更高,达到电影或HDTV的效果。第二阶段是可视信息平台。可视电话系统出了能看对方容貌,听对方声音,同时也要具备手机的短信功能,电子邮件功能等的网络功能,这就要求可视电话能够上网。随着电话的使用和提升,使得可视信息平台发展有了良好的

14、基础。使得可视电话兼容了许多的网络功能,比如发送电子邮件,进行网上交流,查看天气信息,股票信息,交互式游戏,看电话等等。目前,可视电话发展的趋势任是电脑,电话,电视三机合一的智能机,这为可视信息平台提供了发展的条件。第三阶段是远程监控阶段。1996年年初,美国微软公司提出了智能屋的概念:任何家庭设备都可以通过输入指令来进行远程监控。智能屋的概念也可以扩展到办公、仓库等的中央控制中,使用户能在任何地方拨电话检查室内情况,并进行远程控制。现在,可视电话进行远程遥控这一目标已经在慢慢实现,一些产品已经具备了此功能。随着可视电话的不断进步,科学技术和网络媒体的不断发展,可视电话功能以及远程遥控必将有新

15、的提高。1.3 研究内容和目的内容:基于ARM9的可视电话系统的设计与实现。其构成有SAMSUNG的S3C2440 ARM9开发板(带1个USB2.0接口、带音频输入输出接口、以太网接口、LCD液晶屏接口、触摸屏接口、SD卡接口、带蜂鸣器),摄像头模块组成,上电后两端都处于接收信号状态,用户通过不用的指令输入可以完成视频通话,发信息,录音,画图,浏览图片等功能。系统实现的具体功能有以下种:1)具有良好的用户交互界面。2)具有本地终端设备扫描功能,可获取在线设备的IP地址,昵称及状态等。状态分为:空闲、忙碌、离开、自定义等。3)可根据IP地址进行拔号,需要考虑远端状态,远端状态为忙,无法拔号。4

16、)可以单独进行语音通信,也可语音视频同时通信。5)具有短信功能,短信无视对方状态。收到短信的一方,提示信息(包括远端IP,远端昵称),并可通过命令查看短信。6)所有来电、去电,短信往来,都需要有日志文件保存到文件,保存时需要有时间、远端信息等一些提示信息。并可通过命令查看历史记录。7) 具有录音功能,录音时间由用户控制。8) 具有浏览图片和画图功能。本文的设计的目的:查阅期刊文献,了解ARM9的工作原理,深化对大学所获知识的理解。制作一个基于ARM9的可视电话系统,增强对ARM9系统构建的理解并加入到实际运用当中,最终实现以上功能。从中学习了Linux虚拟机与Xshell等相关软件应用,提升绘

17、图及编程能力。1.4 小结本章主要是阐述本课题研究的背景及意义、本课题研究的现状和发展趋势以及本课题的研究内容和目的。1362 多媒体通信协议研究2.1 IP电话的标准2.1.1 IP电话相关的国际标准化组织IP电话有一个国家标准组织,主要有几部分组成,分别是国际电信联盟电信标准部(ITU-T)、欧洲电信技术标准所(ETSI)、英特网工程任务组(IETF)、国际多媒体电视会议联合会(IMTC)和INOW5。(1)ITU-T 国际电联是世界上比较有权威性的制定通信标准的公司,其第16研究组已经制定了H.323协议,并且该协议已经广泛应用在了计算机业、电信业。另外,ITU-T第16研究组已经开始制

18、定研究H.323v2。(2)ETSI TIPHON项目组主要研究业务互操作、网络结构、编号和寻址、服务质量等方面。研究这些方面的目的在于使电信和互联网技术相结合。同时TIPHON项目组提出了IP网上传输语音的标准并将此研究过程分为四个阶段,第一阶段的重点是由IP网到电路交换网络,第二阶段的重点是电路交换网到IP网,第三阶段的重点是电路交换网通过IP网至电路交换网,第四阶段的重点是IP网电路交换网至IP网。(3)IMTC和IETF国际多媒体电视会议联合会(IMTC)由大约140个成员组成,是一个不以盈利为目的的组织。目前IMTC与ETSI TIPHON相合作来一起研究互通问题,研究此问题用来保证

19、设备的互操作性;另外,IETF中的IPTEL、PINT、MEGACO等研究组正在研究IP电话的新协议使得IP电话有着更好的技术。(4)INOW是有ITXC发起的。ITXC拥有一个覆盖全球的IP电话网,是一个IP电话业务批发商。目前,ITXC已经建立了127个网关接入点。2.1.2 IP电话相关协议标准1990开始,互联网有了迅猛的发展,分组话音业务也由此有了很大的发展前景。各厂商着眼于这个发展前景,积极推动IP电话的标准化进程。共同制定了IP电话相关的协议。2.2 H.323协议介绍及组成2.2.1 H.323协议介绍ITU-T制定的H.323标准所具有的功能是在分组网上提供实时音频、视频和数

20、据通信,目前被认为是最成熟的协议。ITU推出的H.323的第一版和第二版,其目的是保证QOS的分组交换网络上展开多媒体会议。H.323制定的无QOS(服务质量)的分组网络PBN(packet Based Networks)上的多媒体通信系统标准主宰了当今的桌面系统。因此,H.323标准为多种平台上的多媒体通信应用提供了技术基础和保障。H.323所处的H.32x系列标准为现有的通信网络上的视频会议的实现打下基础。其中,H.320,H.321,H.322,H.324分别是N-ISDN上,B-ISDN上,有服务质量保证的LAN上,GSTN和无线网络上进行多媒体通信的标准。H.323若和其他的IP技术

21、相结合,就可以实现网络的多媒体通信。另外IP over SDH/SONET、IP over ARM技术正在快速的发展以及LAN宽带的不断提高,使得基于IP的LAN正变得越来越强大。2.2.2 H.323体系结构H.323标准具备终端设备、视频、音频、数据传输、通信控制、网络控制接口、组成多点会议的多点控制单元(MCU)、多点处理器(MP)、多点控制器(MC)、网关以及关守等设备。标准中的概念“域”是有一个关守管理的网关、多点控制单元(MCU)、多点控制器(MC)、多点处理器(MP)和所有终端组成的集合。其中终端、网关、多点控制单元(MCU)是H.323中的终端设备,是网络中的逻辑单元。H.32

22、3标准包括了H.323终端与其它终端之间的、通过不同网络的、端到端的连接。见图2.1 H.323基本协议图:图2.1. H.323基本协议图H.323为基于网络的通信系统定义了四个主要的组件:终端(Terminal)、网关(Gateway)、关守(Gatekeeper)、多点控制单元(MCU)。系统控制单元由三个部分组成:H.245控制,H.225.0呼叫控制和H.225.0的RAS控制。H.245控制管道承载管理H.323系统的操作中,终端到终端的控制消息。图2.2. H.323协议终端构成图2.2所示为H.323终端的组成框图,主要从发送端和接收端进行操作:在发送端获取的视频和音频信号,编

23、码器压缩后成为一定格式,通过网络发送出去;在收端接收互联网中的数据并且解压,然后送入输出设备,用户数据和控制数据也得到了相应的处理。以上的功能包含的一些协议是视频编解码和音频编解码。2.3 H.263视频压缩2.3.1 H.263组成H.261协议时作为ISDN上视频会议标准而设计得,它的设计最初是为了引入运动预测和块传输等功能。它具有良好的图像传送功能,主要定位于电路交换网络上使用6。H.263协议是一种新型的视频编解码协议,此协议使用户可以扩展带宽利用率。H.263协议具有非常好的灵活性,且具有节省带宽和存储空间的特性,因为此些特征使得H.263刚推出来就迅速地获得了投资回报。控制单元(H

24、.245)协议的提出是为了保证H.323终端的正常功能而提供端到端的指令。H.245定义了请求、应答、信令和指示这四种信息,用来完成对通信的控制。H.225层:发送视频、音频、控制等数据,同时接收网络上的数据。另外,还负责处理一些诸如加序列号、逻辑分帧、错误检测等功能。H.323组件:H.323终端是H.323定义的最基本组件。所有的H.323终端也支持H.245标准。音频编解码是对音频输入源处进行编码传输的功能,在输出源处解码后进行播放。H.323支持的压缩算法符合ITU标准。编码器使用的音频算法必须由H.245来确定。视频编解码是在视频源处将视频信息进行解码传输的功能,在接收端解码后进行显

25、示。H.225、H.245等协议:H.225.0标准描述了LAN上媒体流的打包分组与同步传输机制。H.225.0将这些控制流输出到网络接口。H.245是一种控制信道协议,控制H.323系统中的音频、视频等信息。2.3.2 数据传送在数据传送中,利用了连接的TCP/IP协议,控制信令和数据流来进行传送。在IP传输中,IP与TCP共同协作,完成稳定的传输。音频和视频信息的传输采用了TCP/IP,可以保证数据包传输时的流量控制、连续性以及正确性。IP传输的另一种方式使多播,是以UDP方式进行不可靠多点广播传输的协议。RTP工作于IP多播的顶层,用于处理口网上的视频和音频流,将一个包含时间戳和序号的报

26、头加在每个UDP包。若接收端配以适当的缓冲,那么它就可以种用时间戳和序号信息“复原,再生”数据包、同步语音、记录失序包、图像和数据以及改善边接重放效果。实时对控制协议RTCP用于RTP的控制。RTCP监视服务质量以及网上传送的信息,并定期将包含服务质量信息的控制信息包发分给所有通信节点。2.4 音频视频编解码音频和视频编解码是对音频、视频数据量的采集压缩和解码播放的功能。在H.323协议中规定,音频和视频数据量必须分装在实时协议RTP中,编码成功后,通过sockek创建的一个套接口来对其进行承载。H.323规定了其终端必须都要有一个语音编解器。2.4.1 视频特性视频编解码大致分为两种:H.2

27、61编解码和H.263编解码,其中H.263为必选项,而H.261为可选项。(1)H.261视频编解码: 此编解码的实现应符合YD/T822-1996的规定。图像格式:H.261视频编码的图像格式中QCIF为必选项,CIF为可选项。活动图像:公共中间格式(CIF)的大小:288行*352像素; 1/4公共中间格式(QCIF)的大小:144行*176像素。 图像帧频:QCIF:不小于10帧/秒;CIF:不小于3帧/秒。(2)H.263视频编解码:该编解码的实现应符合GB/T18119的规定。 图像格式:H.263视频编解码的图像格式中QCIF为必选项,CIF和SQCIF为可选项。活动图像:公共中

28、间格式(CIF)大小:288行*352像素; 1/4公共中间格式(QCIF)的大小:144行*176像素; 子1/4公共中间格式(SQCIF)的大小:96行*128像素。图像帧频:SQCIF:不小于15帧/秒;QCIF:不小于10帧/秒;CIF:不小于3帧/秒。2.4.2 音频特性(1)音频编解码音频编解码应符合ITU-TG.723.1的要求,支持两种速率:6.3kbit/s和5.3kbit/s。(2)话音质量的主管性能评定按照ITU-TP.800建议,采用平均意见得分法,来评定话音质量,评定者的评分标准为5到1级。(3)唇齿同步在图像格式为QCIF时,语音和唇形应无明显的失步。2.5 小结本

29、章介绍了IP电话相关协议的标准,并详细地介绍了H.323协议的组成。本系统中主要运用了G711音频编解码,H.263视频编解码,通过socket创建TCP套接字发送视频,音频流,通过socket创建UDP套接字,并设置其属性为广播类型,通过广播定时将本地信息(IP地址、昵称、状态等)发送给局域网中所有有效IP地址,并本地实时接收局域网中其它设备发来的广播信息。3 系统环境搭建及方案设计3.1 ARM微处理器核ARM微处理器包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,目前基于ARM核的处理器主要有以下几大类:(1)ARM7ARM7系列微处理器为低功耗的32 位 RISC 处理器,应

30、用于对价位和功耗要求较高的消费类。其指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。(2)ARM9ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,这一系列的处理器主要应用于视频电话,下一代手持设备产品,数字消费产品,PDA,家用网关等方面等。(3)ARM9EARM9E使用单一的处理器内核提供了相关系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E提供了增强的DSP处理能力,应用与DSP和微控制器共同使用的场合。(4)ARM 10EARM10E具有高性能、低功耗的特点,与ARM9器件相比较,性能提高了50 %。

31、(5)SecurCoreSecurCore的设计是为了安全着想,具有32 位 RISC 技术,SecurCore具有A低功耗、高性能外,还提供了对安全解决方案的支持。(6)StrongARMIntel StrongARM SA-1100 处理器是采用ARM体系结构高度集成的 32 位 RISC 微处理器。它采用兼容ARMv4体系结构、并采用具有Intel技术优点的体系结构。Intel StrongARM处理器已成功应用于多家公司的掌上电脑系列产品。(7)XscaleXscale处理器是一款全性能、高性价比、低功耗的处理器。它支持 16 位的 Thumb 指令和 DSP 指令集,已使用在数字移动

32、电话、个人数字助理和网络产品等场合。Xscale 处理器是 Intel 主要推广的一款 ARM 微处理器。综合价格、速度等各方面性能的比较,本论文选择了基于ARM9核心的微处理器作为开发平台。目前市场上主流的ARM微处理器基本上都是ARM7和ARM9。在性能上两者有一定的差异,这种差异也为用户提供不同的需求。ARM9与ARM7相比,最显著的提升是流水线从3级增加到了级。ARM7的流水线操作如图3.1 所示:图3.1. ARM7流水线操作到ARM7之前,3级流水线在总体的性价上很高,但是随着技术需求的不断加强,3级流水线已无法满足快速性的需要,因此ARM9采用5级流水线。增加了缓冲和回写这两个级

33、别,具体如下:1) 取址:从寄存器中取出指令,并将其放入指令流水线。2) 译码:对指令进行译码。3) 执行:把一个操作数移位,产生ALU的结果。4) 缓冲/数据:如果需要,从数据存储器访问,否则就单单缓冲1个时钟周期。5) 回写:将指令产生结果写回寄存器堆中,包括任何从寄存器中读取的数据。ARM9的流水线操作如图3.2 所示:图3.2. ARM9流水线操作3.2 ARM板环境搭建本次项目设计使用了天嵌的TQ2440开发板3.2.1 使用H-Jtag烧写U-Boot到Nand Flash(1)H-Jtag的设置Step1、双击打开H-JTAG图标,点击“close”选项,进入下面的界面,见图3.

34、3:图3.3. H-JTAG初始界面点击“settings(设置)”菜单的“Jtag Settings”选项进入“Jtag Setting”界面,操作见图3.4:图3.4. Jtag Setings界面 Step2、点击“OK”选项后,设置完毕。连接开发板电源和JTAG线,并启动目标板。点击“Detect targe”选项,如果侦测到CPU,会显示图3.5所示:图3.5. 成功读取CPU界面 Step3、点击图标,启动H-Flasher软件,点击“Load”导入TQ240_nand_2DP.hfc;点击“Programming”,点击“Check”,点击“Src File”右边图标按钮,选择u

35、-boot-1.1.6_Q43_20120323,点击“Program”按钮将U-Boot烧写到Nand Flash,见图3.6:图3.6. 烧写U-Boot到Nand Flash界面(2)烧写内核,u-boot镜像,root镜像Step1、将u-boot烧写到Nand Flash后,运用CRT软件,在开发板打开时就进入了uboot的下载模式,见图3.7和图3.8:图3.7. 下载模式界面图3.8. 导入文件界面Step2、输入1,按回车,导入名为u-boot.bin的镜像到Nand Flash中。Step3、输入3,按回车,导入名为zImage.bin的Linux内核镜像到Nand Flas

36、h。Step4、输入6,按回车,导入名为root.bin的Yafs文件系统镜像奥Nand Flash。烧写u-boot镜像,root镜像,内核到Nand Flash后,重启开发板,就可以进入系统内核。3.2.2 NFS挂载ARM开发板通过NFS服务能够挂载Linux文件系统,实现文件共享。Step1、将开发板的网口和PC机的网口用网线相连,打开PC机下的CentOs虚拟机,用ifconfig指令可以修改ARM板或者虚拟机地址使两者在同一网段中,使用ping指令可以查看是否连接成功。Step2、在虚拟机的/home下创建一个share目录,在ARM板的/mnt下创建一个nfs目录。Step3、打

37、开虚拟机/etc/exports文件,输入/root/home 192.168.*.*(rw,sync, no_root_squash),保存后退出。Step4、在虚拟机上输入service nfs restart 可以开启虚拟机中的虚拟机nfs服务。Step5、在虚拟机上输入service iptables stop 关闭虚拟机的防火墙;此时虚拟机准备备就绪。Step6、在ARM板上输入mount -t nfs :/home/share /mnt/nfs -o nolock,proto=tcp,nfsvers=3即将虚拟机中的/home/share挂载到虚拟机的/mnt/nfs目录下,实现文

38、件的共享。3.3 设计思想 本文研究的是基于SAMSUNG公司的S3C2440平台的IP可视电话项目设计,硬件方面使用了天嵌的TQ2440ARM9开发板,开发板见图3.9图3.9. TQ2440开发板根据设计要求,系统主要包括以下6个部分模块:控制模块、网络模块、配置文件模块、视频模块,音频模块、显示模块。其关系图如图3.10所示:图3.10. 系统总体设计图本系统以SAMSUNG公司的S3C2440为中央处理单元,在软件编程选用了C语言作为编程语言,在source insight软件内进行编程,再通过PC机下的虚拟机进项交叉编译成可执行文件,将可执行文件放入ARM板中,在ARM板上执行此可执

39、行文件,最终实现IP可视电话。3.4 设计方案选择对于IP可视电话的设计,我考虑以SAMSUNG公司的S3C2440为中央处理单元的天嵌开发板来设计,此开发板包括S3C2440,复位电路,系统时钟电路,音频电路,USB接口电路,LCD40显示屏,100M网络模块,A/D模拟电路,D/A模拟电路,串口电路等。各部分功能如下:复位电路:S3C2440芯片运行的时候,开关操作让芯片复位。当S3C2440芯片已在运行时,按复位后松开,使MAX811芯片4管脚监视到系统电源低于系统复位的阈值(2.93V),就进行复位。系统时钟电路:系统时钟源直接采用外部晶振,内部PLL电路可以调整系统时钟,使系统运行速

40、度更快。3.音频电路:通过音频电路,可以对声音进行采集和播放4.USB接口电路:可以通过USB接口外接一个摄像头,进行视频的采集和显示5.显示电路:加入了一个显示模块。能直接清楚地看到图片6.100M网络接口电路:通过扩展网络接口的模式,外接了一个DM9000E 100M的网络接口7.A/D模拟电路:可以将采集到声音或者图像转化成数字信号进行传输和存储8.D/A模拟电路:可以将声音或图像的数字信号转回成模拟信号进行播放9.串口电路:可以通过串口电路进行PC机控制ARM板3.5 模块电路设计本设计主要需要S3C2440模块、显示模块、音频模块、USB接口模块,串口模块,网络模块,下面便是方案选择

41、的论述。3.5.1 S3C2440模块在ARM芯片中,S3C2440可谓十分普及也足以满足本文的设计要求。于是我选择了SAMSUNG公司的S3C2440芯片作为本文的系统设计的核心。三星公司推出的16/32位C微处理器S3C2440,因为其价格低廉,功耗低,性能高等特点,解决了手持设备的难题。S3C2440提供了丰富的内部设备,使外部节省很多的开发设备。S3C2440采用了ARM920t的内核,0.13um的CMOS标准宏单元和存储器单元。其低功耗,简单,优雅,低成本和高功率敏感性的应用,为许多用户所喜爱。其电路设计见图3.11:图3.11. S3C2440芯片管脚图3.5.2 显示模块TQ2

42、440开发板液晶屏接口采用两种接口方式,50针2.0mm间距和40针0.5mm间距,可以接各种单色、伪彩、真彩液晶屏,带触摸屏接口(四线电阻式);原理定义接口如图3.12所示:图3.12. LCD电路图3.5.3 音频模块S即音频数据接口,它是Philips和Sony等公司共同推出的接口标准。把S接口与UDA1341TS音频数字信号编译码相连接,在输出端就可得到SPEADER音频输出通道,在输入端就可得到MICROPHONE音频输入通道。UDA1341芯片的功能是A/D和D/A的转换。具体如图3.13所示:图3.13. 音频数据接口电路3.5.4 USB接口模块模块系统中设计USB接口以便外接

43、摄像头,用来视频的采集。USB模块继承在S3C2440芯片中,所以使用S3C2440时,可以直接利用其中的USB模块。天嵌的TQ2440开发板上有一个HOST USB1.1JIEKOU ,USB 接口电路如图3.14所示:图3.14. USB接口模块电路3.5.5 串口模块天嵌的TQ2440开发板上带有一个五线异步的SP3232EEN芯片的串行接口和一个UARTHEADER 7X2的芯片的扩展接口,通过串口,PC机可以发送指令给ARM开发板来控制ARM开发板,串口电路如图3.15所示:图3.15. 串口电路3.5.6 以太网模块S3C2440本身并没有网络接口,但是通过扩展网络接口的模式,开发

44、板提供了一个DM9000E 100M的网络接口。以太网接口电路如图3.16所示:图3.16. 以太网接口模块电路3.6 小结本章介绍了ARM微处理器,ARM板的环境搭建以及项目中硬件各模块的电路图以及其功能,为软件的执行提供了基础。4 软件设计与实现一个ARM系统要完成所需功能,首先要有完善的硬件作为基础。同时还要保证有软件的支持,许多硬件实现不了的功能可以通过软件优算法和各种循环来实现功能。对于一些很复杂的硬件电路才能完成的目标,用软件编程可能会变得简单的多。 4.1嵌入式系统4.1.1 嵌入式系统概念嵌入式系统是当今热门的概念之一,对其定义为:以应用为中心,计算机技术为基础,软硬件可裁剪并

45、适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。嵌入式系统一般组成为:嵌入式微处理器,外围硬件设备,嵌入式软件操作系统以及用户的应用程序四大部分。4.1.2 嵌入式系统软件层次嵌入式系统软件层次分为根文件系统,Linux内核,Bootloader,和硬件平。各部分的相互关系见图4.1:图4.1. 嵌入式软件层次(1)Bootloader: Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于PC 机上的 BIOS。在完成对系统的初始化任务之后,它会将FLASH中的Linux内核拷贝到 RAM 中去,然后跳转到内核的第一条指令处继

46、续执行,从而启动 Linux 内核。U-Boot是Bootloader的一种,由于它非常好的可移植性与可靠性,在各种嵌入式设备中被大量用到。而且其源代码完全开放,用户可以根据自己的需求,任意进行修改。选择U-Boot的理由:开放源码; 对于多种嵌入式操作系统内核的支持,如Linux、NetBSD、VxWorks、QNX、RTEMS。 对于多个处理器系列的支持,如PowerPC、ARM、x86、MIPS、XScale; 具有较好的可靠性和稳定性; 高度灵活功能设置;具有丰富的设备驱动源码;具有强大的网络技术支持; (2)内核: 内核是操作系统最基本的部分,也是一个操作系统的核心,它是为众多应用程

47、序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序(进程)在什么时候对某部分硬件操作多长时间,负责管理系统的进程、内存、内核体系结构、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。计算机最终的操作与计算机硬件资源的管理控制都是由内核来完成。4.2 本系统的软件格式及风格规范为便于项目中的软件工程具有良好的可开发性、可维护性、可阅读性,需要工程中的所有的风格保持一致性,书写中,需严格按照规范格式。4.2.1 源文件及头文件说明规范每个源文件或头文件,起始位置需描述该文件作用,包括文件名、作者、版本、日期、描述、版本信息。/*-* * Topic: * Fi

48、leName: * Author: * Datetime: * Description: *-*/4.2.2 函数说明规范每个函数在定义时或在实现时,需描述其功能,包括函数原型、函数描述、输入变量、输出变量、返回值和其它。/*-* *Function prototype: *Descriptions: *Input: *Output: *Return: *others: * -*/4.2.3 函数、变量命名规范函数、变量的命名需要统一性,一致性。需要非常直观表示其描述的作用。所有命名若出现名过长时,须采用缩写形式:如config写成conf, device写成dev, control写成ctr

49、l, information写成info。(1)外部函数命名可以被其它文件调用的函数称为外部函数,其命名为:项目名_模块名_函数功能名如:int VIPP_DEV_ Getinfobyip();int VIPP_CTRL_Initialize();其中,项目名为大写;模块名为大写;函数功能名首字母为大写,其余为小写。(2)内部函数命名只可以被本文件调用的函数称为内部函数,其命名为:_模块名_函数功能名如:static int _dev_addnewdev();static int _ctrl_viewalldev();其中,模块名为小写,函数功能名为小号,函数前必须加static修饰。(3)变

50、量命名对变量命名要求其显示的名称能够非常直观表达出该变量为何使用域、类型、描述对象,其命名规则为:描述对象对描述的对象,格式为主谓形式,其字母都为小写,如devinfo若对象为全局变量需要在变量前加“g_”,表示该变量为global,如g_devinfo若对象为结构体变量需要在变量前加“st”,表示该变量为struct 如stdevinfo。若对象为指针变量需要在变量前加“p”,表示该变量为point, 如*pdevinfo例:g_pstdevinfo; 从名字中可以得到,该变量描述设备信息,类型为结构体指针,全局变量。(4)自定义类型命名在定义自定义类型时,要求都使用typedef对自定义类

51、型取别名,主要包括结构体,枚举型。定义结构体类型原名: struct _对象名_对象描述 别名: 对象名_对象描述_S例:typedef struct _dev_info_ char devname6;/ other members.DEV_INFO_S;定义枚举型枚举型一般用于定义一些特殊的常量,如终端设备状态:忙碌,在线,离开等。原名:enum 枚举型原名不需要加任何原名成员名:对象_对象描述_类型别名:对象名_对象描述_E例:typedef enum DEV_STATUS_IDLE = 0x1, DEV_STATUS_BUSY, DEV_STATUS_LEAVE, DEV_STATUS_

52、RESERV,DEV_STATUS_E;4.2.4 常用变量别名标准C中已有许多类型,但是为了统一管理项目,为了更好的移植平台或是方便书写,需要将这些已知的变量再取一些别名,如:typedef unsigned int uint;typedef unsigned char uchar;也可以定义为:typedefints32int;typedef unsigned intu32int;typedef chars8char;typedef unsigned charu8char;4.2.5 宏定义工程中的常量数值尽可能使用宏或枚举来替换,如:(1)在返回值中通常函数执行成功返回0,失败返回-1,

53、即可以定义为:#define SUCCESS0#define FAILURE-1(2)设备端口号#define UDP_PORT90004.2.6 语句规范(1)函数与函数之间用空行隔开int main()!此处需要加空行int fun()(2)同一函数,不同功能之间,需要空行隔开int main()int i;!此处加空行for(i = 0; i 10; i+)!此处加空行printf(“hello worldn”);!此处加空行return 0;(3)关于缩进符TAB所有的内嵌语言都需要以tab键起即,一层内嵌起始一个tab缩进, 二层内嵌起始两个tab缩进!int main()_if(1

54、)while(1) (4)关于操作符所有操作,包括+、-、*、=、 &、|等,两边都需要加空格,逗号“,”后也应该加空格。a = b + c;callfun(1, 2, 3);!中间都需要加空格4.3 软件流程首先上电后,系统初始化,系统处于等待指令模式状态,见图4.2系统流程图:图4.2. 系统流程图当有指令输入时,系统开辟新的线程来完成指令所对应的功能,具体流程见图4.3所示:图4.3. 系统运行流程图系统的各功能的实现需要各种指令,用户输入制定的指令后,系统就会根据用户所输入的指令进行应该对应的操作。系统的指令集是系统的最外层封装,也是用户与系统相联系的媒介。有了指令,系统才能依照人的想

55、法去实施,因此指令集的重要性由此可知。本系统共封装了15个指令,用于IP可视电话的简单应用的操作。本系统封装指令时是整体封装,如需日后有更多的功能,只需将相应的功能函数加进去,然后在VIPP.c文件中加入功能函数,以及在初始化时加入此函数对应的相关说明和操作。本系统现有的指令集见表4.1:表4.1. 系统指令集指令调用的函数指令解释viewvoid view(void *arg)查看所有本地连接用户的信息picvoid picture(void *arg)根据触摸屏滑动的方向选择浏览图片还是画图功能recvoid record(void *arg)录音和播音功能mestvoid mest(vo

56、id *arg)查看本地信息功能mnvoid mn(void *arg)修改本地昵称callvvoid callv(void *arg)申请视频通话callvoid call(void *arg)申请通话calltvoid callt(void *arg)查看通话记录acceptvoid accept(void *arg)接收语音或者视频通话申请refusevoid refuse(void *arg)拒绝语音或者视频通话申请hupvoid hup(void *arg)挂断语音或者视频通话sendmesgvoid sendmesg(void *arg)发送本地消息到指定地址confupdatav

57、oid confupdata(void *arg)更新本地信息以及语音总数clearvoid clear(void *arg)清屏helpvoid help(void *arg)显示指令集quitvoid quit(void *arg)推出系统4.4 系统各模块实现及分析4.4.1 预处理模块(1)功能:在系统初始前,为系统搭建良好运行环境,检测系统依赖的文件及设备是否存在,不存在则创建。注册系统产生各种信号。如:项目中需要用到一些目录,日志目录,录像目录,配置文件等,若这些文件不存在,则需要在预初始化时进行创建。(2)相关函数:信号 signal:表头文件:#include功 能:设置某一信

58、号的对应动作函数原型:void (*signal(int signum,void(* handler)(int)(int);或者:typedef void(*sig_t) ( int ); sig_t signal(int signum,sig_t handler);函数说明:signal()会依参数signum 指定信号编号来设置该信号处理函数。当指定信号到达时就会跳转到参数handler指定的函数执行。当一个信号的信号处理函数执行时,如果进程又接收到了该信号,该信号会自动被储存而不会中断信号处理函数的执行,直到信号处理函数执行完毕再重新调用相应的处理函数。但是如果在信号处理函数执行时进程收

59、到了其它类型的信号,该函数的执行就会被中断。在预处理模块中,系统中注册了五种信号:SIGINT,SIGHUP,SIGCHLD,SIGALRM,SIGPIPE,如下:signal(SIGINT, sig_proc);signal(SIGHUP, sig_proc);signal(SIGCHLD, sig_proc);signal(SIGALRM, sig_proc);signal(SIGPIPE, SIG_IGN);注册此五种信号以备在系统中进入这五种信号的中断。atexit函数注册函数名: atexit头文件:#include功 能: 注册终止函数(即main执行结束后调用的函数)用 法: int atexit(void (*func)(void);注意:按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用。atexit()注册的函数类型应为不接受任何参数的void函数,exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。系统中运用此函数做系统的收尾工作,以备下次重新使用系统时更稳定。4.4.2 本地设备管理模块 (1)功能:实时扫描本地所有设备,显示设备信息,生成在线设备表,可根据在线设备表,进行拔号,留言等操作,并可显示

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

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

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


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