版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-3"\h\u5445摘要 232491第1章绪论 4198971.1智能家电的含义 424971.2智能家电的主要功能 5146571.3智能家电的特点 5105351.4智能家电的开展现状 688831.5智能家电远程控制系统的设计目标 7197191.6论文的组织结构 8289451.7本章小结 89238第2章系统总体设计 8217722.1基于电力载波PLC通迅技术 8117182.2基于蓝牙通讯技术 9173312.3基于internet技术的智能家电控制 9145362.4基于IP 968252.5本章小结 1314719第3章电路硬件设计 1344293.1电源电路 13108503.2复位电路 1413693.3时钟模块 15109473.4网卡接口模块 15237513.5显卡接口电路 17205813.6声卡接口电路 18182323.7通用I/O口电路 19250023.8本章小结 2031171第四章系统设计 2037404.1嵌入式操作系统概述 20159544.1.1良好的软件兼容性 2049624.1.2硬件支持能力强 2168584.1.3强大的网络通信功能 2159494.1.4稳健的实时性支持 21139694.1.5丰富的多媒体支持 21298214.1.6强大的开发工具 2164504.1.7强大的内存管理、进程调度和中断响应能力 22146084.2嵌入式Linux驱动编写及应用程序的开发 23294884.2.1驱动程序编写 23278004.3IP原理概述 28271944.4IP应用程序开发 29205274.4.1拨号盘的实现原理 29277614.4.2语音功能的实现原理 30115794.5串口通信的实现 31272234.6效劳器端的控制软件原理与设计 32133224.7本章小结 355523结论 3612289参考文献 3729384致谢 38摘要传统的家电采用各自独立的工作模式,不同家电之间无法通信,这样就不能有效地安排各种家电协同工作,容易造成浪费。同时它们无法自动获取外界的信息,人们无法对其进行远程操作,难以满足现代生活的需求。所以开发智能化的家电及其控制系统己成为当前的研究热点。传统的只能进行语音通信,它存在利用率低、功能有限和平安性不好等缺点。近年来,以ARM为代表的高性能专用微处理器的出现,以及Linux、WindowsCE等操作系统的完善,使嵌入式技术迅速开展,这为智能IP的研发提供了软硬件根底。现阶段家庭网关接入互联网的方式主要为有线接入,因为这种方式网络性能比无线隐定,延时性相对要小,用它来远程控制智能家电比无线网要平安可靠。要实现智能家电的网络化,如果采用PC机进行直接进行控制,或者让每台家电接入网络,这样本钱很高,不利于一般家庭的普及。为此,笔者采用基于S3C2410芯片、WindowsCE4.2嵌入式操作系统的IP作为家电的控制中心,智能家电采用S3C2410ARM芯片和linux2.4操作系统。各个智能家电与口采用串口进行通信,IP采用网口与因特网通信。这样可以大量的降低本钱,而且通信方式比PLC和蓝牙通讯技术更平安可靠。本文以IP与智能家电互联为切入点,结合ARM、嵌入式LINUX和网络技术,设计出一种较为完善的IP与智能家电的控制系统。采用这种方式,使智能家电集电脑、电信和消费类电子产品的特征于一体,让家电具有信息的获取、加工、传递等功能,提供全方位的信息交换,帮助家电与外部保持信息交流畅通,这样可以优化人们的生活方式,节约能源费用资金。关键词:智能家电;遥操作;IP;嵌入式系统AbstractThetraditionalelectricalappliancesworkindependently.theyareunabletocommunicateeachother,sowecannotarrangeeachkindofelectricalappliancestowork’’sdifficulttosatisfythemodernlife.thereforethedevelopmentofintelligentelectricalappliancesandtheircontrolsystemhavebecomecurrentresearchhotspot.Thetraditionaltelephonecanonlycommunicatebyvoice.Ithassomanyshortcomingssuchasthelowusefactor,thelimitedfunction,thebadsecurityandsoon.Inrecentyears,theembeddedtechnologyexpendsrapidly,withtheappearanceofhighperformancespecial-purposemicroprocessorsuchasARM,aswellasLinuxoperatingsystem’sandWindowsCEoperatingsystem’sconsummation.ThishasprovidedthesoftwareandhardwarefoundationfortheintelligentIPphone’sreseachanddevelopment.Atpresent,thefamilygatewaysconnectsInternetismainlybywiredway,becausethismannerisstable,haslesstimedelay,isreliablecomparewithwirlessnetwork.Torealizetheintelligentelectricalapplicances’network,ifweusePCtocontrolintelligentelectricalapplicances,orleteachelectricalapplianceconnectsnetworkdirectly,itmustcostsomuch.soitishardtopopularizethesystemforthegeneralfamily.Keywords:intelligentElectricalApplianceRemoteOperationIPphoneembeddedsystem第1章绪论1.1智能家电的含义智能家电,也叫智能家居,与智能家电含义近似的有家庭自动化(HomeAutomation)、电子家庭(ElecctronicHome、E-home)、数字家园(DigitalFamily)、家庭网络(HomeNet/Networksforome)、网络家居(NetworkHome)、智能家庭/建筑(IntelligentHome/Building),在我国香港和台湾等地区,还有数码家庭、数码家居等称法。智能家居是以各种家电设备为根底平台,综合网络通信、信息家电、设备自动化等技术,将系统、结构、效劳、管理集成为一体的高效、平安、便利、环保的居住环境,而智能家电远程控制系统即是实现其的一个重要手段。智能家电远程控制系统可以定义为一个利用先进的计算机、网络通信、自动控制等技术,将与家庭生活有关的各种应用子系统有机地结合在一起,通过综合的家庭范围内的本地管理与控制以及来自家庭之外的远程管理与控制,特别是基于互联网的远程管理与控制,让家庭生活更舒适、有效和便捷。与普通家电相比,智能家电不仅具有传统功能,还能提供舒适、高效、便捷、具有高度人性化的控制方式;将一批原来死板的家居设备结合在一起转变为具有“智慧〞的工具,提供全方位的信息交换功能,实现家电控制的实时畅通,优化人们的生活方式,帮助人们有效地安排时间,增强家庭生活的高效性,并为家庭节省能源费用等。1.2智能家电的主要功能智能家电并不是单指某一个家电,而应是一个技术系统,随着人类应用需求和家电智能化的不断开展,其内容将会更加丰富,根据实际应用环境的不同智能家电的功能也会有所差异,但一般应具备以下根本功能:⑴通信功能—包括、网络、远程控制/报警等。⑵消费电子产品的智能控制—例如可以自动控制加热时间、加热温度的微波炉,可以自动调节温度、湿度的智能空调,可以根据指令自动搜索电视节目并摄录的电视机/录像机等。⑶交互式智能控制—可以通过语音识别技术实现智能家电的声控功能;通过各种主动式传感器(如温度、声音、动作等)实现智能家电的主动性动作响应。用户还可以自己定义不同场景不同智能家电的不同响应。例如你可以在里告诉智能家居控制器:“晚上5点把花园的灯翻开,并把空调设定到25度。〞⑷安防控制功能—包括门禁系统、火灾自动报警、煤气泄漏、漏电、漏水等。⑸三表(四表)远程抄收系统。⑹健康与医疗功能—包括健康设备监控、远程诊疗、老人/病人异常监护等。1.3智能家电的特点与传统的家用电器产品相比,智能家电具有如下特点:⑴网络化功能:各种智能家电可以通过家庭局域网连接到一起,还可以通过家庭网关接口同制造商的效劳站点相连,甚至可以同Internet相连,实现信息共享。⑵智能化:智能家电可以根据周围环境的不同自动做出响应,不需要人为干预。例如,智能空调可以根据不同的季节、气候及用户所在地域,自动调整其工作状态以到达最正确效果。⑶开放性、兼容性:由于用户家庭的智能家电可能来自不同的厂商,智能家电平台必须具有开发性和兼容性。⑷节能化:智能家电可以根据周围环境自动调整工作时间、工作状态,从而实现节能。⑸易用性:由于复杂的控制操作流程已由内嵌在智能家电中的控制器解决,因此用户只需了解非常简单的操作。1.4智能家电的开展现状1994年一家新加坡公司在国内销售的名为“万智能〞的多媒体电脑可算是国内第一个提及的智能家电的雏形,它通过电视卡,将电脑和电视结合起来,也算是一种不错的创意。其后很长的一段时间内,智能家电的产品都没有太多的概念突破和产品突破,直到1998年,微软公司推出了“维纳斯〞方案,才掀起了新一轮的高潮。“维纳斯〞是一种集成软硬件的机顶盒装置,它通过廉价的费用,使电视成为电脑的显示器,从而实现电脑的互联网应用功能。但是由于机顶盒并不能适应国内市场的应用需要,虽然在微软的强大影响下,电脑厂商也拿出了积极配合的姿态,但在机顶盒装置热闹一阵之后,就趋于势微,并没有形成微软期望的市场规模。但是在这一连串的市场运作之后,直接地影响了家用电脑的大规模普及。而随着家用电脑的开始普及,家用电脑的应用迫切需要扩展。在这个时候,长期观察IT行业的家电企业开始介入电脑制造业,海信、TCL、厦华等企业开始大规模地进入IT行业,在家电领域重量级厂商的影响下,智能家电的概念逐步清晰起来,智能家电的研究和开发出现了新的高潮。而从事家庭网络研究的组织有很多,影响比拟大的有ITU-T、IEEE、ETSI、OSGI、OMA、DSLForum、DLNA、ECHONET等国际或国外标准化组织,国内有中国通信标准化协会(CCSA)、闪联联盟、e家佳联盟等。每个组织都有一系列企业作为其技术支持队伍,每个组织制定的家庭网络的标准侧重点不同,它们既重合又交叉,既互补又竞争。所有的标准都是从其成员的利益出发,标准技术的一般要求、性能指标,并不涉及具体的实现技术。其中的e家佳所提出的标准涵盖了家庭网络主干网通信协议标准、家庭网络系统体系结构及参考模型、家庭网络控制子网通讯协议标准、家庭网络控制子网一致性测试标准等一系列共六项标准。国内外的公开相关论文、报告文献也不少,如有基于UC/OS的嵌入式系统,基于UCLINUX的嵌入式家庭网关等,其特点是功能较单一,价格较低廉,不能适应新的业务需要,目前投入使用相关产品主要如下:〔1)NEYWELL公司的智能家庭产品:它可以通过设在家庭内的控制面板、或连网的计算机来监控智能家居的报警系统、照明系统、智能家电和智能调温设备。〔2)STARGATE的家居自动化系统:它可集中控制照明、报警、室温调节、家庭影院、视频/音频、语音邮件、监控、灌溉等系统,还允许通过网络更新控制程序,无需通过更换EPROM就可完成软件的升级。〔3)NI智能家居系统:主要有三类产品,OMNILT,OMNI,OMNIPRO,分别适用于普通家庭、办公室及高级住宅。可用于协调控制这些地方的照明、调温、保安等系统。所有OMNI产品都配有内置的串口,可用来与Internet连接。用户可借助于公司的软件Web-Link,通过网络对控制器进行设置。〔4)ALDELUXE智能家居系统:它在PC机上集成了家居系统的所有控制,包括电灯、设备、空调系统、、保安系统、家庭影院和互联网系统等。用户可以在任意地点通过声控实现对这些系统的控制。由于公司是通过房间里现有的电源线从PC机上传送命令,用户不需要对房间进行重新布线。〔5)Vantage家居自动化系统:用户可以控制照明、保安、音频/视频、制冷/保暖、窗帘、水泵、喷泉和汽车等系统。1.5智能家电远程控制系统的设计目标随着网络技术和智能家用电器设备的飞速开展,越来越多的家庭对于家居生活已经不满足于简单的豪华装饰,而转向更加便捷的智能家电体系,要求建立能实现所有电器设备互连互通的家庭网络,并通过家庭网关将所有家电设备连接到Internet的效劳,从而实现随时随地的远程控制。其中家庭网关是整个家庭网络的核心,它主要实现Internet接入、远程控制,以及连接家庭内部异构子网的功能,是当前网络技术研究的热点之一,而智能家电是电子行业正在重点研究、积极推广的、面向即将到来的巨大市场的新一代家用电器产品。本设计正是立足于两者的结合,是面向最新热点技术的、有着巨大市场潜力的实用型应用开发课题。1.6论文的组织结构第1章主要介绍远程智能家电控制系统研究与设计的含义、功能、特点及开展状况。第2章主要是比拟传输控制方案之后,对基于IP的远程智能家电控制系统的整体构思。第3章是完成基于S3C2410ARM芯片的整体硬件设计。第4章是实现嵌入式系统的软件设计,包括以LINUX操作系统对S3C2410ARM芯片驱动程序的开发,和用WINCE操作系统对IP软件设计和效劳器软件设计程序的开发,其后是结论、文献等。1.7本章小结本章的作用是对智能家电的诠释,使读者对智能家电有一定的了解,对智能家电的未来有自己的看法。通过此章,并希望读者对智能家电的开展给予关注和支持。第2章系统总体设计目前传输控制家电的方式有很多,比方:红外手遥控传输、GSM传输控制等。其主流的数据传输技术有:2.1基于电力载波PLC通迅技术所谓PLC,即电力线通信,是指利用电力线传输数据和语音信号的一种通信方式。该技术是把载有信息的高频信号加载于电流,然后用电线传输,接受信息的调制解调器再把高频从电流中别离出来,并传送到计算机或,以实现信息传递。该技术在不需要重新布线的根底上,在现有电线上实现数据、语音和视频等多业务的承载但是,这种方案对于主要是针对北美电网设计的,由于我国电力网,环境恶劣,PLC通信对电网产生干扰,我国一些地方电力部门禁止使用PLc通信。2.2基于蓝牙通讯技术蓝牙通讯是一种低功率短距离的无线连接技术,其设计初衷就是将智能移动与笔记本电脑、掌上电脑以及各种数字化的信息设备都能不再用电缆,而是用一种小型的、低本钱的无线通信设备连接起来,进而形成一种个人身边的网络,使得在其范围之内各种信息化的移动便携设备都能无缝地实现资源共享。现在国外有学者把它引入到智能家电控制中。蓝牙通讯最大传输距离为10米,传输距离有很大的限制,而且不能在多房间进行传输。使用蓝牙技术进行通信的设备,分为“主叫方〞和“受取方〞。主叫方只能同时与7台受取方通信,在家电数量众多的现代家庭中,这一限制影响了家庭控制网络的构建。2.3基于internet技术的智能家电控制Internet技术的成熟,使得很多研究者致力于将该技术引入到智能家电遥操作领域。但因特网不是实时通信网,它采用的分组交换方式存在“时延〞问题。“时延〞是从信息发出到信息收取经过的时间。因特网传输的为数字编码信号,要把数字化的信号分组、打包,还要用存储—转发的路由方式传送;在接收端还要解码、复原等,因此增加了很多如编码、解码、缓存等时延。如果遇到网路拥挤的情况,等待转发可能导致随机时延,甚至还会造成数据分组丧失。传统的控制系统中,监督命令和反响信号都是基于时问变量的。而基于因特网的智能家电遥操作系统的控制端和被控制端很难在时间上保持同步,这样会引起整个系统的不稳定,如果不加改良地引入到智能家电控制领域,将存在一定的平安隐患。2.4基于IPIP,就是在internet网上通过TCP/IP协议或UDP协议传送语音信息的系统。最初的IP技术,只是计算机对计算机的语音传输技术。双方用户都通过internet联网,这种方法同时要具备IP软件、音频卡、麦克风和扬声器等设备。比方我们常用的有:微软公司的MSN、腾讯公司的QQ等。虽然能通话,但PC机体积大、价格高,因此使用范围很单一,还算不上是真正的IP。近年来,美国一些大公司推出了用因特网传送国际长途的业务,实现了从普通机到普通机的IP。IP已经通过网关把因特网与传统网联系起来,用户可以和普通用户一样,只要有机就能打IP,而通话费用远比普通的低。以一种以嵌入式IP为控制中心的智能家电网络接入因特网的方案,采用串口对各智能家电进行网络互联,这样能通过IP对控制节点进行远程控制。同时各智能家电能通过IP这个控制中实现协同工作。对智能家居来说,其意义在于采用就可以随时随地监控家电的运行情况。虽然家庭子网串口通信的方式增加了少量布线,但增强了其隐定性,防止了大量无线设备的使用,从而降低了本钱,而且也便于智能家电使用统一的硬件接口方案,对各种不同的家电只要修改相应的控制软件就可以满足实际需求。尽管我国智能家居在有关核心技术、独立产品等多方面落后于兴旺国家,但由于国内外都处于探索阶段,尚未形成垄断,同时国内又有潜在的庞大的消费群体。因此,通过计算机网络技术和嵌入式技术把IP与智能家电有机结合,在后PC时代IT产业开展中有广阔的开展前景。基于以上各方案的优缺点中,本论文以基于IP传输控制的方向深入。以ARMS3C2410芯片IP硬件设计的原因是:S3C2410是16/32位RISC处理器,面向高性价比、低功耗的手持设备。S3C2410有S3C2410X和S3C2410A两个型号,A型是X型的改良型,具有更好的性能和更低的功耗。传统的CISC复杂指令集计算机结构处理器设计复杂,指令集使用率不高。而RISC精简指令集计算机优先选取使用频率最高的简单指令,防止复杂指令,将指令长度固定,指令格式和寻地方式种类减少。ARM处理器是基于RISC技术的,它共有37个32位存放器,被分为假设干个组,这些存放器包括:31个通用存放器,包括程序计数器。6个32位状态存放器,用以标识CPU的工作状态及程序的运行状态。同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的存放器与之对应。在所有的存放器中,有些是在7种处理器模式下共用同一个物理存放器,而有些存放器那么是在不同的处理器模式下有不同的物理存放器。在任意一种处理器模式下,可访问的存放器包括15个通用存放器(R0~R14)、一至两个状态存放器和程序计数器。S3C2410芯片是三星公司推出的32位RISC处理器,适用于手持设备,数字多媒体播放设备等具有低价、低功耗和高性能等特点。采用ARM920T内核,具有以下特点:5级整数流水线,提供1.1MIPs/MHz的哈佛结构,支持32位ARM指令集和16位Thumb指令集,支持32位的高速AMBA总线接口,全性能的MMU,支持windowsCE、Linux等多种主流嵌入式操作系统,支持数据cache和指令Cache。基于ARM920T内核的优点是,支持ARM和Thumb指令集,芯片内集成丰富外设。ARM920T采用了MMU,AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache都是由8字长的行组成的。S3C2410A提供一组完整的系统外围设备接口,从而大大减少了整个系统的本钱,省去了为系统配置额外器件的开销。S3C2410A集成的片上功能包括:(1)内核电压1.8V/2.0V,存储器电压3.3V,外部I/O电压3.3V;(2)具有16KB的I-Cache和16KB的D-Cache以及MMU;(3)外部存储器控制器〔SDRAM控制和片选逻辑〕;(4)LCD控制器〔最大支持4K彩色STN和256K彩色TFT〕提供1通道LCD专用DMA;(5)4通道DMA并有外部请求引脚端;(6)3通道UART〔IrDAl.0,16字节TxFIFO和16字节RxFIFO〕/2通道SPI;(7)1通道多主设I2C总线和1通道I2S总线控制器;(8)版本1.0SD主接口和2.11兼容版MMC卡协议;(9)2个USB主设接口/1个USB从设接口〔版本1.1〕;(10)4通道PWM定时器和1通道内部定时器;(11)看门狗定时器;(12)117位通用I/O口和24通道外部中断源;(13)电源控制模式有正常、慢速、空闲和电源关断4种模式;(14)8通道10位ADC和触摸屏接口;(15)具有日历功能的RTC;(16)使用PLL的片上时钟发生器。下面是S3C2410内核的ARM920T的内部原理图:ARM920T原理图S3C2410ARM内部结构图:S3C2410ARM结构图下面是系统电路与外围接口电路总体设计框图:触摸屏触摸屏S3C2410ARM串行口S3C2410ARM串行口系统时钟系统时钟.网卡接口网卡接口电源电路电源电路声卡接口声卡接口复位电路复位电路通用IO口通用IO口2.5本章小结该章结意在选出最正确的远程数据传输控制方式。比拟几种传输控制方式的优缺点,综合考虑再三,最终决定以S3C2410ARM芯片设计的IP做为远程控制方式,实现了低本钱、多功能、平安便捷的远程智能家电。第3章电路硬件设计在运行操作系统之前,需要对系统的软硬件资源进行合理的配置与管理。这个功能是由BootLoader来完成的。在嵌入式系统中,BootLoader的作用与Pc机上的BIOS类似,通过BootlLoader可以完成对系统板上的主要部件如CPU、FLASH、SDRAM、串行口等进行初始化,从而为操作系统的运行创造良好的环境。同时也可以下载文件到系统板、对FLASH进行擦除与编程。B00tLoader作为系统复位或上电后首先运行的代码,存放在起始物理地址为oX0开始的FLASH存储器中。本系统采用SST公司的SST39VFl60l型线性NORFLASH存储BootLoader,由并NGcCSO片选信号用于启动引导。这样当系统启动时Ox0地址程序开始运行。由于IP中运行的操作系统为WINCE,整个系统镜像文件大约30M,因此采用三星公司K9F1208非线性NANDFLAsH芯片存储,由ARM的NANDFLASH控制器对它进行读写操作。系统时钟采用外部12MHz晶振,RTC采用32768Hz晶振。3.1电源电路由于ARM2410需要1.8V和3.3V两组电源,所以采用sPXlll7M3.1.8型LDO芯片产生稳压电源。核心板需要扩展板提供一组3.3V电源,1.8V内核电源那么由核心板上的LDO芯片产生,电路如图:3.2复位电路在核心板的复位电路中使用了MAX809TD作为电源监控复位芯片,以提高系统的可靠性,电路原理如图:3.3时钟模块采用MPLL产生最大266MHz操作MCU所需的时钟,UPLL产生操作USBHOST和USBDEVIEE的时钟,本设计中选择外接12MHz无源晶振,作为系统MPLL和USBUPLL的基准输入时钟总线时钟,再经内部PLL最终产生MCU的工作时钟。RTC通过外接的32.768KHz晶振工作,用于计时或者与时间相关的功能,在没安装外接电池的情况下,断电再上电后需要对时间进行重新设置。原理如下图:3.4网卡接口模块硬件上要完成DM9000与ARM芯片S3C2410三大总线连接,以及DM9000与网络变压器YL18-2050S〔或YL37-1107S〕+以太网水晶接头RJ45的连接。基于ARM嵌入式系统和以太网的接口如图:嵌入式系统嵌入式系统数据数据以太网控制MD9000S3C2410以太网控制MD9000S3C2410地址RJ45地址RJ45DM9000与S3C2410连接:实现DM9000与S3C2410连接,必须对两者间的数据、地址、控制三大总线进行连接和转换。S3C2410是32位微处理器,有32根地址线,支持4GB存储空间。其中0—40000000的1G空间被分为8块128M空间,分别由NGCS0—NGCS7片选。DM9000为16位以太网控制芯片,S3C2410与DM9000的连接方法如下:D15~D0RSTADDR2D15~D0RSTADDR2IORIOWNGCS3EINT9S3C2410SD15~SD0PWRSTCMDX1IORX2IOWAENINTDM9000对DM9000读写操作,首先对DM9000正确寻址。AEN(地址允许)是输入引脚片选信号。SA4~SA9是地址总线4~9位,当AEN低且SA9和SA8高,而SA7、SA6、SA5、SA4为低时,那么DM9000被选中。DM9000默认I/0基地址为300H。CMD引脚用于设置COMMAND模式,CMD为高时,选择数据端口。CMD为低时,选地址端口。数据端口和地址端口的地址码由下式决定:DM9000地址端口=高位片选地址+300H+0H,DM9000数据端口=高位片选地址+300H+4H,其中,高位片选地S3C2410的NGCS3提供,即为:0X100000000H。实际设计电路下列图,其中WAIT为读写等待信号。由于在S3C2410中以太网卡的中断为9号中断,EINT9为中断信号。RESET为网卡芯片重启信号。25MHzOSCILLATOR为芯片提供25MHz的工作频率,(在本图中省去了S3C2410芯片)SD0~SD15数据总线与S3C2410的数据总线连接。3.5显卡接口电路S3C2410内置有液晶屏控制器,可以支持最大256K色TFT彩色液晶屏、最大4K色STN彩色液晶屏。考虑到本系统的应用领域对图像显示的要求相对较高,故采用8英寸640X480TFT液晶屏(型号为LQ080V3DG01)。LQ080V3DG01要求其电源电压典型值为3.3V/5V,并且LCD数据和控制信号的高电平输入电压最小值为2.3V,所以本系统直接使用S3C2410的控制口线与它相连,而没有设置电平转换电路。具体的结构原理如图:R4~R0G5~0B4~B0CKENABR4~R0G5~0B4~B0CKENABHSYNCVSYNCLQ080V3DG01VD23~VD19VD15~VD11VD7~VD3VCLKVDENHSYNCVSYNCS3C2410其电路图如下:背光驱动电路LQ080V3DG0l液晶屏使用冷阴极背光灯管,需要高压交流电源供电。本系统采用CXA_L10A驱动模块作为驱动电路,如下图:3.6声卡接口电路S3C2410A内置有ⅡS音频接口,只需要外接一个数字音频编解码器即可实现音频的输入输出。本系统中采用的数字音频编解码器为UDAl341TS,其连接原理图:扬声器WSVOUTLDATA1VOUTRBCKVINLL3TATAVINR扬声器WSVOUTLDATA1VOUTRBCKVINLL3TATAVINRL3MODEL3LOCKSYSCLKUDAl341TSIISLCLKIISD0IISCLKTOUT3TOUT2TCLK0CDCLKS3C2410麦克麦克其电路实图如下:3.7通用I/O口电路在智能家电端,控制智能家电采用ARM芯片的通用I/O口,共使用8个I/O口,各口的功能定义如下:I/O口l、2用于控制家电的电源开关,I/O口3用于控制家电的J下逆运行模式,I/O口4、5、6的8种组合根据不同的家电实现不同的控制,I/O口7、8用于获取家电的运行状态,各用于输出的接口使用PNP三极管作驱动,下列图所示:3.8本章小结此章完成了远程智能家电的整体硬件电路图的设计,从电源电路到网卡电路,再到显卡电路,最后的声卡电路,无不凝聚了笔者的匠心和智慧。如设计有不妥之处或错误的地方,还望读者谅解。第四章系统设计4.1嵌入式操作系统概述嵌入式系统是以应用为中心,以计算机技术为根底,软件硬件可裁剪,对系统功能、可靠性、本钱、体积、功耗严格要求的专用计算机系统。它的目的性或针对性很强,具有软件代码小、高度自动化、响应速度快等特点。目前嵌入式操作系统,有VXWORK、WINCE和Linux等。Linux是源代码开放的操作系统,支持不同的配置,能方便的移植到多种体系结构的嵌入式处理器中且本钱低。WINCE操作系的优点有:4.1.1良好的软件兼容性WINCE继承了传统的windows图形界面,使用与windows平台同样的应用程序接口函数,具有win32API子集,使用同样的界面风格。因此,绝大多数的应用软件只需简单的修改和移植就可以在该平台上继续使用。在WINCE中,除了一些根本的windows通用控件以外,还有一些专门设计的控件。4.1.2硬件支持能力强WINCE并非是专为单一装置设计的,它具有高度的灵活性和可定制性,广泛应用于消费电子产品、工业自动控制和医疗及科研设备等。支持多类硬件外围设备,如键盘、鼠标设备、触摸面板、串行口、以太网卡、调制解调器、USB设备等。它与处理器无关,能在多种不同框架的嵌入式处理器上运行。4.1.3强大的网络通信功能WINCE提供通过各种传输介质进行网络连接和通信,用来通信的硬件有串口、网络接口、红外接口等。串口通信采用的是异步收发器UART,它们首先把并行的数据按位串行,然后再通过数据线逐位收发,到达目标机后再把数据据并行化。WINCE提供了SLIP/PPP协议,通过些协议可利用串口建立TCP/IP网络连接。它内置了TCP/IP协议栈,提供了一套开放的、支持多种协议的WINDOWSSOCKET网络编程接口标准。4.1.4稳健的实时性支持实时性是指能够在限定时间内执行完规定的任务,并对外部的异步事件做出反响的能力。WINCE它支持嵌套中断,允许更高优先级的中断首先得到响应,而不是等待低级别的中断效劳线程完成。4.1.5丰富的多媒体支持WINCE提供丰富的多媒体技术,在语音方面,它支持波形音频,通过波形音频API,应用程序可支持波形I/O,可以对音频I/0设备进行控制。基于DIRECTXAPI和WINDOWSMedia的技术可以提供高性能的视频、音频和流式多媒体效劳。因为在IP端有较的多媒体编程,所以采用WINCE操作系统可以减少程序设计的复杂性。4.1.6强大的开发工具与其它嵌入式系统相比,WINCE为开发人员提供了友好的开发工具,这些开发工具可帮助开发人员简化开发流程并提高开发效率。由于WINCE是模块化的,可以针对不同的应用平台进行定制。使用满足平台系统需求的最小软件模块和组件集合来设计嵌入式系统平台,可节省内存,并提高操作系统的性能。系统定制采用PLATFORMBULIDER集成开发环境。它包括适用于所有WINCE支持的处理器的交叉编译器,提供了所有进行设计、创立、编译、测试和调试WINCE操作系统平台的工具。它运行在桌面WINDOWS下,开发人员可以通过交互式环境来设计和定制内核、选择系统特性,然后进行编译和调试。同时,开发人员还可以利用PLATFORMBUILDER来进行驱动程序开发和应用程序工程的开发等。EmbeddedVisualC++是WINCE程序主流可视化开发工具。EVC和VC在界面、语法和开发流程上根本上是一样的,熟悉vc的程序员很快就会使用EVC进行开发。EVC还提供了模拟器来模仿目标硬件进行开发和调试,方便了编程人员,加快了开发进度。4.1.7强大的内存管理、进程调度和中断响应能力WINCE有很好的内存管理功能,其中物理页面管理负责跟踪物理内存的使用情况,为换页管理抓取有效的物理页面以及释放不使用的物理页面等;虚存管理主要负责系统的地址映射以及换页管理,系统中32位的虚拟地址提供4G的虚拟空间;堆管理主要管理动态内存释放、回收等,以支持程序的动态数据结构。WINCE有很好的进程调度功能,是抢占式的多任务实时操作系统,它允许多达32个进程同时运行。进程数目的限制可以有效缓解内存系统的压力,系统作地址映射的时候,只需要映射所限的个数。线程是进程的一个实体,是CPU调度和分配的根本单位。在WINCE下,一个进程包括一个或多个线程,且提供多级别的调度能力,线程的调度采用优先级基于时间片轮转方法。每个线程在同样长度的时间片内运行,该时间片是可调的。可运行的线程处于可运行的队列中,每个优先级都对应一个队列,最多有256个。一个线程的时间片运行完后,系统调度策略把它安排到相应优先级队列的末尾,然后再让优先级最高的队列的第一个线程运行,这就保证了同一优先级的线程获得平等的运行权。引入线程之后,系统开销减少,两个线程之间的切换所花费的时间少,而且由于同一个进程内的线程共享进程所拥有的资源,之间的通信不需要额外的机制,简化了通信方式,加快了通信速度。WINCE有很好的中断响应能力,各种外设通过硬件中断和WINCE的核心通信。系统发现中断以后,处理的过程分为两个局部:核心态中断例程ISR和用户态中断例程IST。ISR一般要求短小精悍,效率要求严格,通常只响应设备并返回一个中断标识给操作系统。WINCE支持静态ISR和可安装ISR。静态ISR只能静态编译进核心,运行时不能改变,与IST通信是单向的,由ISR到IST。静态ISR支持嵌套中断,并且使用核心堆栈。可安装ISR那么由内核管理程序从DLL中动态加载,和IST通信是双向的。多个ISR可以与同一个中断请求相关联,系统按照加载驱动的顺序依次调度。在可安装IsR中,共享内存的使用比拟灵活。用户线程IST处理中断请求,核心接到IsR传给自己的中断标识之后发出一个中断事件,激活一个在该事件等待队列上的IST,调度器就会调度这个线程工作,处理中断事务。4.2嵌入式Linux驱动编写及应用程序的开发本系统智能家电与IP通信采用的是串行口,因此需要串行口驱动。Linux已经提供了标准设备的驱动,在配置内核时选择内核对串行口的支持。而智能家电端采用的是通用I/O口进行控制,它属于非标准接口,所以必须由设计人员根据接口定义设计驱动程序。4.2.1驱动程序编写在Linux操作系统中,通过设备驱动程序为应用程序提供了统一抽象的接口,它界于内核和设备硬件之间,而内核能提供一系列称为设备入口点的函数接口,当内核接到用户系统调用的时候将启用这些函数,驱动程序的主要任务就是实现这些入口点函数,其驱动程序架构图如下:应用程序应用程序系统调用函数设备文件设备文件内接核设备号口设备驱动程序设备驱动程序操作函数的实现硬件设备硬件设备其驱动程序实现的源代码:#defineDEVICE—NAME〞am2410一control〞//模块声明MODULE_LICENSE(“Proprietary〞);MODULE_DESCRIPTION(〞usethisdevicetocontrolelectricequipment〞);MODULE_SUPPORTEDDEVICE(“Linux2.4&ARM24lO〞);MODULE—AUTHOR(〞Deng—yi—dong〞);//定义一下数组,方便程序设计staticunsigned1ongarm2410—control[]={GPIO_E1l,GPIO_E12,GPIO-H4,GPIO_H6,GPIO_H10,GPIO_F4,GPIO_H9,GPl0_B0};staticintarm2419_control_read(structfile*filp,char*buf,size_tCount,10ff_t*offset)//read实现方{structport{boolcon6;boo1con7;);portportl;protl.con6=*arm2410_control[6];protl.con7=*arm2410_control[7];Char*p=(char*)&portl;Copy_to_user(buf,p,sizeof(portl));)staticintarm2410_control_ioctl(structinode,*inode,structfile*filp,unsignedintcmd,unsigned1ongarg)//ioctl实现方法{inti=O;switch(cmd)//以电风扇为例的操作方法,不同的家电操作方法不一样{case0x00;fot(i=O;i<8;i++){Write_gpio_bit(arm2410—control[i],0);}caseOx20;fot(i=2;i<8;i++){write_gpio_bit(arm2410_control[i],0);}Write_gpio_bit(arm2410_control[0],0);Write_gpi0_bit(arm12410_control[1],1);caseOx42;fot(i=1;i<4;i++){Write_gpio_bit(arm2410_control[i],0);}Write_gpio_bit(arm2410_control[5],1);Write_gpio_bit(arm2410_control[6],0);caseOx44;fot(i=l;i<3;i++){write_gpio_bit(arm2410_control[i],0);}Write_gpio_bit(arm2419_control[0],1);Write_gpi0_bit(arm2410_contr01[4],1);Write_gpio_bit(arm2410_control[5],O);Write_gpio_bit(arm2410_control[6],O);caseOx46;fot(i=l;i<3;i++){Write_gpio_bit(arm24l0_control[i],O);)Write_gpio_bit(arm2410_control[0],1;Write_gpio_bit(arm2410—control[4],1);Write_gpio_bit(arm2410—control[5],1);write_gpio_bit(arIn24lO_control[6],O);caseOx48;fot(i=4;i<6;i++){Write_gpio_bit(arm2410_control[i],O);}write_gpio_bit(arm2410_control[0],1);Write_gpio_bit(arm2410—contr01[3],1);Write_gpio_bit(arm2410—control[1],O);Write_gpio_bit(arm2410—control[2],O);default:return—EINVAL:}}staticintarm2410—control—open(structinode*inode,structfile*filp)//open实现方法{inti;for(i=O;i<6;i++){Set_gpio_ctrl(arm2410_control[i]|GPIO_PULLUP_EN|GPIO_MODE_0UT);Write_gpio_bit(arm2410_contrOL[i],O);}for(i=6;i<8;i++){Set_gpio_ctrl(arm2410_control[i]|GPIO_PULLUP-EN|GPIO_MODE_IN);}MOD_INC_USE_COUNT;printk(KERN_INFODEVICE_NAME〞;opened.\n〞);return0;{staticintarm2410-control_release(structinode*inode,structfile*filp)//release实现方法{MOD_DEC_USE_C0UNT;printk(KERN—INFODEVICE—NAME〞:released.\n〞):returnO:}//操作接口定义staticstructfile_operationsarm2410_control_fops={Owner;THIS_MODULE,Read;arm2410_contr01_read,Ioctl;arm2410_control_ioctl,Open;arm2410_contr01_open,Release;arm2410_control_release,};staticdevfs_handle_tdevfs_handle;//创立设备文件系统句柄Staticint_initarm2410_control_init(void)//注册设备{DECFS_handle=devfs_register(NULL,DEVICE_NAME,DEVFS_FL_AUT0_DEVNUM,0,0,s_IFCHR|s_IRUSR|s_IWUSR,&arm2410_control_fops,NULL);printk(KERN_INFODEVICE_NAME’:InitializeoK.\n〞);return0;arm24l0_control_exit(void)//注消设备{DEVFS_unregister(devfs_handle);}Module_init(arm2410_control_init)://模块初始化Module_exit(arm2410_control_exit);//退出模块4.3IP原理概述本软件实现4大功能,即语音通信、语音留言、短信以及远程智能家电控制。本系统的根本工作原理为:首先构建一个效劳器,它拥有固定的公网IP地址。效劳器中建有一个数据库,它包含IP的号码与其IP地址的映射关系。在IP启动时,它首先向效劳器发送数据,将其号码与其当前的IP地址一起发送给效劳器,效劳器将这个数据存入它的数据库中,这样就形成了一个IP号码与IP地址动态对应表。拨打时,它首先访问效劳器,并向效劳器发送IP地址查询请求,效劳器根据请求方要求,在数据库中查找被叫方的IP,如果能找到,那么以数据包的形式发送给请求的IP,这样主叫方就可获得被叫方的IP地址,双方就可以进行通信了。远程对智能家电进行控制的原理是,首先采用上述方法进行网络连接,然后一方IP发送命令,经Internet网传输到对方后,对方IP通串口与智能家电通信智能家电按照接收到的命令通过处理器的通用I/O口控制相关部件,从而实现遥操作。同样通过网络也可获得远程家电的运行状态相关信息。4.4IP应用程序开发基于WINCE的应用软件的工具有多种,可以采用.NET来开发,也可采用EVC来开发。由于本系统要求有较高的运行效率,应选择EVC作为开发工具,它生的代码比拟优化,占用内存空间小,执行速度快。先安装EVC开发平台,然后再安装刚刚导出的SDK,因为导出SDK是针对特定硬件平台下IPPhone的软件开发包,安装了该软件包的EVC开发平台就可以用来开发目标平台的IP应用软件,需完成以下功能:4.4.1拨号盘的实现原理VoidCPhoneDlg;;Onbutton(){Inta;Cstringlpstr=“〞;a=GetDlgItemText(IDC_phone_number,lpstr);Phone_number=lpstr+’1’;If(phone_number.GetLength()>11){AfxMessageBox(_T(“号码超过11位,请重新输入!〞));}ElseSetDlgItemText(IDC_phone_number,phone_number);}
}其它号码按钮的消息响应函数类同。当输入满11位号码后,就可以启动语音、短信等相应功能键。4.4.2语音功能的实现原理实现语音通信的根本原理是,口端将硬件接口采集到的声音数据通过套节字socket发送到另外一端,另外一端根据得到的声音数据调用硬件接口播放声音。为了方便程序设计将其分为几个模块,效劳器socket模块,负责接收连接,它完成对socket的发送数据和接收数据进行消息处理;客户端socket模块,负责接收/发送数据,并完成对socket的发送数据和接收数据进行消息处理;声卡数据的采集和播放模块,采用相关波形音频API函数,实现采集声音和播放声音数据。音频数据处理由类sound现实,它使用相关声卡API,负责采集声音数据和播放声音数据,它的源代码为:#include<mmsystem.h>#defineBUFFER—LENGTH1024classCPhoneDlg;classCSound{Public;CPhoneDlg*dlg;WAVEFORMATEXⅢ一soundFormat;HwAVEINm-hWaveIn;HwAVEOUTm_hWaveout;WAVE肋RmpWaveHdrIn[3];wAVEHDRⅡLpWaveHdrout[3];charITLcBufferIn[BUFFER—LENGTH];charⅡLcBufferOut[BUFFER—LENGTH];Public;voidInit(CPhoneDlg*dlg);//初始化函数voidRecord();//开始录音函数voidPlay();//播放声音函数voidStopRecord();//停止录音函数voidstopPlay();//停止播入函数voidFreeRecordBuffer();//释放录音的缓冲区voidFreePlayBuffer();//释放播放的缓冲区CSound();Virtual~CSound();4.5串口通信的实现为了提高产品的通用性和可扩展性,智能家电采用ARM2410芯片作为其智能控制局部。智能家电根本工作原理为:主叫方IP通过网络把控制命令发送到被叫方IP,被叫方把数据通过串行口发送到智能家电,智能家电根据命令改变ARM的通用IO口的电平。不同的家电定义了一组不同的操作协议,智能家电将根据电平的变化做出相应的响应,从而实了智能家电的远程控制。同时为了从远程获得智能家电的运行状态,可向智能家电发送信息获取命令,智能家电根据命令读取I/0口的电平,再将相关信息发送回主叫方IP。因为串口属于慢速度接口,因此采了多线程串口异步通信。其串口通信功能采用的是面向对象的程序设计方法,其原代码如下:classCSerial{Public;DCBm-dcb;//设备控制块charfilename[5];//串口名charmode[sizeof(“baud=115200parity=Ndata=8stop=l〞)];//存贮mode命令HANDLEm_hCom;//串口句柄DwORDdwInQueue;//接收缓冲区大小DWORDdwOutQueue;//发送缓冲区大小charreadbuffer[100];//存放读取数据的缓冲区charwritebuffer[100];//存放发送数据的缓冲区unsignedlongwritten_word_num;//写入串口的字节数unsigned1ongread_Word_num;//读入串口的字节数Public;voidSendData();//发送数据voidReceiveData();//接收数据b001SetSerial();//串口配置b001OpenSerial();//翻开串口CSerial();virtual、CSerial();}4.6效劳器端的控制软件原理与设计效劳器要完成的将各个IP的号码与其口IP地址建立映射关系,其流程图如图:开始开始。初始化各模块 初始化各模块等待更新数据等待更新数据否启动定时器启动定时器更新记录是更新记录实现源代码如下:record_temprev_tem;recordrecord_ipphone[10];//用于存放lO个用户记录DWORDWINAPICReceive::RecvProc(){SOCKETsock=socket(AF_INET,SOCK_STREAM,O);SOCKADDR_INaddr;addr.sin_family=AF_INET;addr.sin_port=htons(6000);Addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);intretval;retval=bind(sock,(SOCkADD*)&addr,sizeof(SockADDR));listen(sock,5);int1en=sizeof(SOCKADDR);Char*recvBuf=(char*)&rev_tem:intret;wh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中语文教资面试2026强化训练题库及解析
- 高中数学2026教资面试全真模拟题库及解析
- 初中英语2026教资面试历年真题题库及解析
- 初中数学教资面试2026易错题答辩
- 脓毒症休克的护理查房
- 大学语文课件 第七单元 洞明世事1.涉务(北齐 颜之推)
- 房地产模板课件
- 康复中心护士工作总结
- 发电车操作课件
- 孤独症康复指南科室的医生要点总结2026
- 医疗抗菌板安装施工方案及技术措施
- 2026年交管12123驾驶证学法减分试题(含参考答案)
- 2026安徽滁州市凤阳县国有平台公司招聘书笔试历年备考题库附带答案详解
- 2026新华资产校园招聘笔试历年参考题库附带答案详解
- 消防文员面试试题及答案
- 2026年软考《软件设计师》考试真题及答案
- 动态海报设计
- 广东三支一扶2026考试真题答案
- 山东医学高等专科学校 2026 年单招(设备维修类)文化素质测试模拟卷
- 电力排管工程施工详细方案
- 生物地球化学循环机制-洞察与解读
评论
0/150
提交评论