嵌入式系统课程设计-智能家居控制系统_第1页
嵌入式系统课程设计-智能家居控制系统_第2页
嵌入式系统课程设计-智能家居控制系统_第3页
嵌入式系统课程设计-智能家居控制系统_第4页
嵌入式系统课程设计-智能家居控制系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

PAGE前言1984年,在美国康涅迪格州(Connecticut)特福德市建设了世界上第一幢智能建筑—都市大厦,虽然当时只是对一栋破旧的大楼进行了改造,但是是采用先进的计算机技术对都市大厦内部的电梯、照明、空调等设备进行监控,并且还可以提供情报资料、电邮、语音通信等信息的服务。自此以后,在美国、欧洲、澳大利亚、韩国及新加坡等经济较发达的国家先后提出了各种智能家居控制方案,如欧洲的EIB总线、美国的C-Bus总线、新加坡的8X系统用于智能家居系统的协议,而且主要发达国家都从国家战略的高度大力推广智能家居控制系统。国外很多大型公司非常看好智能家居控制的市场前景,例如:比利时的TELETASK、美国的Honeywell、德国的Merten、新加坡NICO等国际知名公司,都在加大力度研发智能家居控制系统。而且每个公司都有其不同的特点:比利时的TELETASK重特点在于控制,其家居自动化系统质量稳定而且具有强大的升级能力,其最大的优点在于模块化结构,所有的模块接口由AUTOBUS总线相连。美国的Honeywell重点在于安防,旨在提供安全、便利、舒适等特点。其系统大多用有RS-485,CANBUS,红外遥控等技术德国的Merten智能控制系统是通过EIB工具软件ETS进行系统配置和功能设置的,Merten提供免费的产品数据库。新加坡NICO主要采用LonWorks技术,并在“智能照明控制”领域成为行业的佼佼者。在进入21世纪的现代,智能家居控制系统依然成为国外流行的时尚文化,有着非常诱人的前景与巨大的市场,根据国际专家不完全统计,在未来十年内智能家居控制产品销售额能够达到328亿美元。虽然国外每家公司的策略不尽相同,但都坚信同样的信念,就连IBM公司的迈克尔.凯罗斯克说:“这是个不容IBM公司忽视的市场机会。”现阶段,智能家居控制系统在我国的研究与应用相对处于一个起步阶段,但是也呈现出蓬勃发展的趋势,在2011年5月正式提出的“十二五”规划中也明确提出了将智能住宅作为战略性新型产业培育发展,在大力扶持的物联网时代,智能家居控制系统在我国必将迎来一种热潮。然而智能家居控制系统在我国发展的近十年来,一直遇到市场瓶颈,原因在于:对我国广大家庭来说,智能家居系统依然是一个概念产品,并没有在人们心中形成一种消费化的产品,市场认可度比较低。智能家居行业现状也不容乐观,出现很多问题:智能家居系统技术标准不统一,操作性差,价格昂贵,而且产品参差不齐。虽然智能家居系统在我国近十年的发展历程中小有成就,提出了很多的概念性产品,但都没有很好的满足人们的核心需求,这种问题的关键性在于:目前智能家居控制系统产品的稳定性差,并且兼容性也不成熟,以至于实际效果与人们所要求的效果有很大的差异。在我国虽然智能家居起步尚晚,技术水平处于发展阶段,但我国人口众多,人们对住宅的刚性需求很大,随着国家大力扩大内需,民众的消费水平也不断提供,对生活水平质量的要求不断加大,因此在现有阶段大力扶持智能家居行业也是对我国房地产事业的发展指明了一个新的发展平台。因此现阶段我国很多IT公司有一个明确的方向:智能家居控制系统先从实用性做起,积攒一些技术手段及民众对其功能性的需求,然后逐渐开始做高端性的产品。具统计资料显示,目前我国已有70%的家庭安有网络宽带,在一线、二线城市化进程中,将有50%左右的住宅要实现智能化控制,由此看来我国智能家居控制系统前景还是可观。目前,在国内智能家居控制系统起步虽然较晚,但是国内一些知名的传统家电行业巨头如:海尔、TCL等,还有一些IT巨头如:河东企业(HDL)、上海索博、波创科技等都已经涉足智能家居行业,并投入大量的资金与高端技术来研发。而先进入该领域的一些企业基本都推出了各自的产品,如海尔集团的“U-home”、TCL的“Mihome我的智能管家”、波创“EHOME智能家居远程控制系统”,都得到一定程度上的应用。在当前社会高速发展的同时,更是倡导节能减排、低碳环保,由此利用智能家居控制设备的优点,其悄然已经成为房地产行业、住宅建设、IT技术行业发展的重点。随着生活节奏的加快,人们更感受到时间、生活的便捷、安全的重要性,并且对生活质量的追求也越来越强烈,因此将智能化系统应用于家庭住宅中,有着重要的意义,也同时满足广大民众的愿望。由此可见智能家居控制系统有着非常广阔的前景。目录TOC\o"1-3"\u第1章方案论证 11.1智能家居控制系统结构设计 11.2智能家居控制系统方案框图 2第2章硬件系统设计 32.1处理器芯片的选择 32.1.1电源电路设计 32.1.2复位电路设计 42.1.3时钟电路设计 52.1.4串口电路设计 62.1.5JTAG电路设计 62.1.6SDRAM电路设计 72.1.7FLASH电路设计 82.2ZigBee接口电路设计 112.3WIFI接口电路设计 122.43G接口电路设计 132.5温度接口电路设计 142.6烟雾传感器接口电路设计 15第三章应用软件设计 173.1交叉编译环境的搭建 173.2U-Boot的移植 173.3Linux内核的移植 183.4YAFFS2文件系统移植 193.5ZigBee模块驱动软件设计 203.63G模块驱动软件设计 223.7WiFi模块驱动软件设计 23第4章小结 25参考文献 26PAGE27第1章方案论证1.1智能家居控制系统结构设计 经过对用户所需功能以及现有市场产品做出分析,本论文设计主要将智能家居控制系统主要分五个部分组成:电源部分、中央控制器S3C24中央控制器核心板:中央控制器是整个智能家居控制系统的核心,本设计采用Samsung公司的嵌入式ARM-S3C24功能子模块:功能子模块以中央控制器为核心,实现系统所需的特定功能,比如:智能灯光的控制、家庭电器设备的控制、窗户以及门禁系统控制、室内温度及气体的采集、远程控制等。每个模块的实现功能都是由中央控制器来发送指令。智能家居控制系统内部通信:其主要实现的功能是完成中央控制器与功能子模块之间的信息传递。经过前面对有线与无线通信方式的分析与研究,本次设计采用无线通信方式作为智能家居控制系统的内部通信方式,并结合无线通信特点,本设计采用ZigBee+WIFI作为内部通信方式。智能家居控制系统外部通信:主要功能是实现用户通过Internet远程操作与控制家居设备,随着我国目前宽带网络的发展日趋完善,技术的不断成熟,现阶段我国常用的宽带接入方式有两种:ADSL、无线上网及常说的WiFi,因此在控制系统中采用这两种方式,添加DM9000模块以有线方式接入,并将WiFi作为其外部通信,以此来降低系统成本及复杂度,系统中也添加3G模块,当家庭电器出现状况或发生危险情况是,实现通过3G网络以手机短信方式来告知用户。1.2智能家居控制系统方案框图 经过对智能家居控制系统方案的选择及技术手段的选定,下图2-4给出本次控制系统方案框图。由图可见,本次论文设计旨在实现的功能有:家居照明控制系统、家庭安防控制系统(指纹识别和RFID射频卡相结合的门禁系统、火灾、煤气泄露)、通过温度传感器采集各个房间的温度、通过气体传感器采集空气湿度与有害气体、视频实时视频监控系统、采用256色LCD来显示小区信息、通过无线网络实现智能家居统控制系统同Internet网络连接,并通过3G网络实现与手机的对接。图1-1智能家居控制系统框图 第2章硬件系统设计2.1处理器芯片的选择 S3C2410A处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用FBGA封装,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S2.1.1电源电路设计 现在的ARM处理器为了减少系统的功耗、便于电源管理,采取多组电源供电的方式来工作。一般都有CPU核心电压VCC_CORE、外围接口部分供电VCC_IO、内存接口部分供电电压VCC_MEM等多路供电电压。本设计采用Samsung公司的S3C2410A处理器,考虑其应用场合以及电源管理部分的内部设计,采用多个分离原件来设计电源电路部分。S3C2410图2-1S3C2410AI/O引脚电压VCC_IO为3.3V,此外还包括:ZigBee模块、WiFi模块、3G模块、温度采集模块等,所需均为3.3V。电路设计如图2-2所示电路图,5V经LM1117-33转换成3.3V。图2-25V转3.3V电路设计 USB、GPS、烟雾传感器等所需电压均为5V,电路设计如图2-3所示,由LM2576经外接12V直流开关电源转换成5V,LM2576芯片有较强的输出电流驱动能力,具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为MCU的稳定、可靠工作提供了强有力的保证。图2-312V转5V电路设计2.1.2复位电路设计 本设计在采用分离式芯片的设计中,同时采用门电路来实现复位电路,电路设计如图2-4所示,采用电阻电容电路及SN74LV14D组成了一个复位信号输出电路。带有RESET和nRESET两个复位信号输出,S3C2410A图2-4复位电路设计2.1.3时钟电路设计 Samsung公司的S3C2410A处理器内部带有DPLL、APLL电路,所以外部一般都接频率比较低的12MHz或13MHz的有源晶振或晶体振荡器;由于S3C2410A内部带有RTC电路,还需外接32.768KHz的晶体振荡器,具体接法如图2-5在设计PCB的时候,振荡器电路走线要尽量近,晶体摆放位置要离ARM的时钟输入引脚近,而且最好在摆放晶体的表层铺上一层地信号铜箔,把晶体的时钟信号围起来。图2-5时钟电路设计2.1.4串口电路设计 S3C2410A系统为了与PC机之间进行通信,因此需要串口模块,采用RS-232,是一种全双工的串行接口,传输速率为20Kbps。由于RS-232采用标准电平信号与S3C2410A采用的不同,因此两者之间进行通信必须经行信号电平转换,本次串口电路设计采用MAXIM公司的MAX3232芯片进行电平转换。电路设计如图2-6图2-6串口电路设计2.1.5JTAG电路设计 TAG是JointTestActionGroup的缩写,是一种国际标准测试协议,主要用于芯片内部测试,以及对系统进行仿真、调试。标准的JTAG接口是4线:测试数据输入TDI、测试数据输出TDO、测试模式选择TMS、测试时钟TCK。在ARM最小系统中,JTAG主要实行对各个器件的测试,主要目的是调试BootLoader,一旦在集成开发环境下成功下载BootLoader后,开发工作就可以脱离JTAG接口,直接使用BootLoader和ARM处理器的外围接口来下载内核和文件系统了,另外还可以通过JTAG接口对Flash芯片烧写。本设计采用20pins插针形式的JTAG接口电路设计。如果在nRESET与nTRST这两个引脚信号不用时,要将这两个引脚上接1KΩ的上拉电阻,不然在进行调试时,这两个JTAG信号就不确定了,造成不能正常连接ARM系统;JTAG上的输出信号都要接10KΩ的电阻拉高,20pins的JTAG电路设计如图2-7所示:图2-7JTAG接口电路设计2.1.6SDRAM电路设计 在上面几个小部分介绍的电源电路设计、复位电路设计、时钟电路设计、JTAG电路设计等几个部分,已经组成了基于ARMS3C2410A处理器的最小系统硬件设计。然而在本课题设计的智能家居手持设备,需采集、处理大量信息,还需要移植Linux,光是片内的SDRAM是不够的,还是需要外扩SDRAM,因此在本次控制系统设计时,需要设计大容量的存储器。SDRAM多用于设备内存区,虽然掉电之后数据不能保存,但是它具有快速的读取与写入特性,而且速度远远大于Flash这样掉电不失数据的存储设备,这样使它非常适合用于作为程序的运行空间,存放运行时所需的数据和堆栈区。对于嵌入式设备系统的启动过程来说,当系统刚上电的时候CPU会从0x0地址读取启动代码,然后对系统硬件进行简单必要的初始化,然后把后续的代码移入SDRAM,然后跳到SDRAM继续执行,这样就会在很大程度上提高系统的启动速度。几乎所有的嵌入式设备都会用到SDRAM,可见它的应用之广,SDRAM不但价格上便宜,而且它的单位空间存储量也大。由于本次设计的中央控制器是SC324目前市场上最为常用的是16位数据带宽的SDRAM,工作电压为3.3V。本次设计采用2片16位的SDRAM扩展为32位数据带宽的SDRAM。采用Samsung公司16位数据带宽的SDRAM器件K4S561632C-TC75(32MB),采用高性能CMOS技术,按4M×16位×4组织方式,电路设计如图2-8所示:图2-8SDRAM电路设计2.1.7FLASH电路设计 Flash存储器是一种在系统可编程期间,存储的信息在系统掉电后不会丢失。Flash在嵌入式设备中应用非常广泛,它具有容量大、读写速度快、低功耗、可整片或分扇区在系统编程(烧写)或擦除等特点,所有对芯片的操作都是根据它自己的内部嵌入的算法完成的。它相比RAM等易失性存储器具有掉电不会失去数据的特点,所以很多时候我们用它来存放系统的重要数据,比如BootLoader,内核、程序代码等。当前Flash主要分成两种:Intel公司开发的NORFlash和TOSHIBA开发的NANDFlashoNORFlash容量小、成本高、但读速度要快,NANDFlash相比NORFlash容量大、成本低、但不适用与频繁读写,因此NORFlash适合用来存储少量程序代码,NANDFlash则是高数据存储密度的理想方案。 NORFlash采用AMD公司生产的AM29LV160DB,其采用COMS高性能结构,2Mx8-Bit结构。AM29LV160DB是一款常见的Flash存储器,单片存储容量为16MB,工作电压为2.7-3.6V,AM29LV160DB具有16位数据宽度,并以16位(字模式)数据宽度的方式工作。通过对其内部的命令寄存器写入标准命令序列,可对Flash进行编程、整片擦除以及其他操作。电路设计如图2-9所示:图2-9NORFlash电路设计 AM29LU160DB第47脚是BYTE#脚,如果采用数据位为16位,BYTE#需要接接高电平时:或者采用数据位为8位,BYTE#就需要接低电平。本设计接VCC,采用16位数据带宽,A0-A19是地址线,D0-D15作为数据输入输出口。因为数据位是16位,AO-A19可以选择2^20=1M*2byte=2Mbyte,正好是AM29LV160DB的容量。上图中AM29LV160DB的A20,A21是空脚,分别接的是LADDR21,LADDR22,这是为了以后方便扩展NORFlash的容量。NANDFlash进行擦除和写操作的效率更高,并且容量更大,用十存储数据。NANDFlash一般都采用Samsung公司的K9FXX08系列,有16M(K9F2808),32M(K9F5608),64M(K9F1208),128M(K9F1G08),它们的封装与原理图一致,只需要在软件编程中稍加修改,本设计采用K9F1G08,存储空间为128M图2-10NANDFlash电路设计S3C2410A芯片内集成NANDFlash控制器,因此电路设计相对简单,K9F1G08和S3C2410A的连线包括,8个IO引脚连接S3C2410A的低8位数据总线[LADTA7-LDATAO],5个使能信号(nWE,ALE,CLE,nCE,nRE),1个状态引脚(R/B),1个写保护引脚(nWP,直接连接3.3V电压拉高。地址、数据和命令,是在这_5个使能信号的配合下,通过8个IO引脚传输。写地址、数据、命令时,nCE,nWE信号必须设为低电平,它们在nWE信号的上升沿被锁存:命令锁存使能信号CLE和地址锁存使能信号ALE用来区别IO引脚上传输的是命令还是地址。需要注意的是RnB信号是OC门输出,因此需要外部的10K欧姆2.2ZigBee接口电路设计图2-11ZigBee接口电路考虑目前市场上的ZigBee产品以及技术方面的原因,因此采用TI公司的CC2530系列嵌入式无线通信模块。CC2530是用于IEEE802.15.4,ZigBee和RF4CE应用的一个真正的片上系统(SOC)解决方案。CC2530集成单片机、ADC、无线通信模块十一体,大大提高了单片机与无线通信模块组合时的可靠性,同时也减小了节点的体积与质量。CC2530支持最新的ZigBee协议ZigBee2007/PRO,ZigBee2007/PRO相对十以前的协议栈具有更好的互操作性、节点密度管理、数据负荷管理、频率捷变等方面有重大进步,并且支持网状网络,而且其相对十以前的版本,具有功耗低的优点。这就使得运用CC2530设计出来的节点通信距离更远,组网性能更稳定可靠。CC2530目前常用的有四种,分别是不同的Flash版本:CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。ZigBee接口电路设计如图2-11所示,描述的是CC2530模块上各引脚的连接状况,当使用诸如单极子的一个不平衡的天线,应该使用一个巴伦来最优化性能。巴伦可以使用低成本的分立电感和电容实现。巴伦包括C38,L3,C46和Loo32MHz晶振使用了一个外部32MHz振荡器XTAL1和两个负载电容(C49和Cs0);XTAL2是一个可选的32.768kHz晶振,有两个负载电容(C_53和C_54)用十32.768kHz晶振,32.768kHz晶振用十要求非常低的睡眠电流消耗和精确唤醒时间的应用。CC2530与ARM-S3C2410A采用SPI接口形式,来进行通信,在S3C2410A图2-12S3C242.3WIFI接口电路设计WiFi模块采用上海汉枫电子科技有限公司推出的全新的第二代嵌入式Uart-WiFi模块产品HF-A11xoUart-WiFi是基十Uart接口的符合WiFi无线网络标准的嵌入式模块,通过FCC,CE,RoHS认证,内置无线网络l办议IEEE802.11协议栈以及TCP/IP协议栈,支持频率范围:2.412-2.484GHz,能够实现用户串口或TTL电平数据到无线网络之间的转换。图2-13HF-A11x电路设计处理器S3C2410A的串口直接与HF-A11x的串口相连,进行通信,电路设计连接如图2-13所示,S3C2410A的3个GPIO口控制其WiFi状态指示(nLink、模块启动状态指示(nReady)、模组复位(nRST),电源为S3C2.43G接口电路设计3G模块采用ZTE中兴公司的MF210模块,MF210是一款PCIExpressMiniCand接口的HSUPA无线上网模块,MF210模块具有许多功能特点。模块产品MF210和S3C2410A连接时时,主要分为以下信号组:USB信号、SIIVICard信号、射频开关控制信号W_DISABLE_N、整机复位信号PERST_W_DISABLE_N信号(管脚号:20)为MF210的输入信号,低电平有效,由与在MF210内部由150K欧姆电阻上拉到3.3V,因此系统对此电路不做上拉处理。PERST_N信号(管脚号:22)号为MF210的系统复位信号,低电平有效。MF210具有高速USB2.0接口,支持全速和高速模式,其经过PCI-E接口引出连接到控制器S3C2410A,管脚为36(USB_DM),38(USB_图2-143G模块接口电路设计本产品的射频天线接口有两个:一个是主天线接口(PCB上有“MAIN”标识),一个是分集(GPS)天线(分集和GPS都可选,但不能同时支持)接口(PCB上有“AUX”标识)。天线接口采用的射频座均为HRS公司U.FL-R-SMT(10),对应十射频接口的线缆,建议选用HRS公司的U.FL_LP_088。2.5温度接口电路设计结合本次控制系统的实际情况,由于需要采集家庭内部的温度,具有分散性,因此本系统设计采用DALLAS公司的DS18B20,它具有进行多点温度采集的特点。DS18B20是采用“单总线”形式的数字温度传感器,它具有结构简单、体积小、功耗低、无须外接元件等特点,而且用户还可以自己设定预警上下限温度。DS18B20其测量温度范围为-55到+125摄氏度,支持3-5.5V电压供电,因此本次系统电源的设计完全满足其供电模式。DS18B20主要由四部分组成:64位光刻ROM,温度传感器、配置寄存器和非易失性温度报警触发器。ROM中的64位序列号出厂前已光刻固化,每个传感器的序列号都是唯一的,因此可以在一根总线上挂接多个DS18B20,能极大减少I/O口的占用,在使用中不需要任何外围元件,传感器与CC2530的连接形式如图2-15所示:图2-15温度接口电路设计2.6烟雾传感器接口电路设计烟雾传感器主要是利用气敏元件的气敏特性,将其作为电路中的气-电转换元件,并配以相应的电路、指示仪表或声光显示部分}fn组成的气体检测仪器。本论文设计采用MQ-N10进行敏感气体的密度采集。MQ-N10的敏感材料是活性很高Sn02,其工作原理为:当Sn02在空气中被加热到一定温度时,Sn02会吸附空气中的氧,因此其电子会转移到所吸附的氧上,导致氧原子变为氧负离子,由于这种电子的转移,会在Sn02表面生成一个正的空间电荷层,从而导致表面势垒升高,这样会阻碍电子流动,导致电导率的变化。MQ-N10具有很长的使用寿命,可靠的稳定性、快速的响应恢复特性。因此在家庭,工厂以及大型商场中得到了广泛应用,MQ-N10电路设计如图2-16所示:图2-16MQ-N10烟雾传感器接口电路设计MQ-N10烟雾传感器电路设计采用两部分:烟雾传感器部分与模拟放大电路部分,系统将采集的烟雾信号首先转化为模拟信号,然后将模拟信号经过S3C2410A中的A/D转换器,转化为数字信号,这样S3C2410A就能够把所采集到的信号进行分析与判断,电路设计中ADC_第三章应用软件设计3.1交叉编译环境的搭建先将安装包linux\中的arm-linux-gcc-3.4.1.tgz拷贝到某个目录文件火下,如tmp\,然后进入到该目录,执行解压命令:#cd/tmp#tarxvzfarm-linux-gcc-3.4.l.tgz-C\#mkdir-p/opt/HY2410然后运行命令:#gedit/root/.bashrc编辑/root/.bashrc文件,在最后一行exportPATH=$PATH:/usr/localarm/3.4.1/bin编辑完成后,需要重新登入系统(不必重启机器,开始一>>logout即可),以便使设置生效,然后在终端界面下的命令行输入arm-linux-gcc-v,则交叉编译环境已经成功建立。3.2U-Boot的移植本系统设计移植U-Boot的具体步骤如下:1)从U-Boot的官方网站ftp://ftp.denx.de/pub/u-boo“上获得最新版本的U-Boot-1.3.4,也是bzip2的压缩格式。2)建立自己项目名称SmartHome2410,修改U-Boot-1.3.4目录下的Makefile文件,修改如下:SmartHome2410_config:unconfig@./(MKCONFIG)$(@:_config=)armarm920tSmartHome2410NULLS3c24x03)在board子目录中建立SmartHome2410[uboot@menglingxuuboot]#cprfboard/s3c2410board/SmartHome2410[uboot@menglingxuuboot]#cdboard/SmartHome2410[uboot@menglingxuSmartHome2410]#mvs3c2410.cSmartHome2410.c4)在include/configs中配置头文件先复制S3C24[uboot@menglingxuuboot]#cpinclude/configs/s3c2410.hinclude/configs/SmartHome2410.h5)配置S3C24[uboot@menglingxuSmartHome2410]#makeSmartHome2410_config6)编译U-Boot执行#makeCROSS_COMPILE=arm-linux一命令,如果编译成功可以得到U-Boot映像。7)将U-Boot通过JTAG接口,烧写入NANDFlash。3.3Linux内核的移植 内核移植过程:1)从/pub/linux/kernel/v2.6/linux-2.6.39.tar.xz下载linux-内核代码,把内核代码放到自己所建立的目录文件下,并解压:[root@menglingxulinux2.6.39]#cd/home/arm/s3c2410/Kernel[root@menglingxulinuxt2.6.39kernel]#tarxzvflinux.tar.gz-c/[root@menglingxulinuxt2.6.39kernel]#cdlinux2.6.392)清理内核配置文件信息,执行如下命令:[root@menglingxulinux2.6.39kernel]#makedistclean然后重新启动。3)Flash分区本论文设计采用的是NANDFlash,因此需要把NANDFlash分为bootloader,kernel,root,user四个区。4)确定核心板微处理器的类型S3C245)配置内核对十本次核心板S3C24[root@menglingxulinux2.6.39]#cparch/arm/configs/SmartHome2410_defconfig.config[root@menglingxulinux2.6.39]#makemenuconfig保存退出,产生.config文件,.config文件能从提供linux-的内核中找到,文件名为config.back。6)编译内核[root@menglingxulinux2.6.39]#makezImage编译内核完成后,会生成uImage,其位于/arch/arm/boot目录下。7)加载内核模块[root@menglingxulinux2.6.39]#makemodules_install将编译好的内核模块从内核代码目中找到,并cope到//lib/modules目录下。8)制作initramdisk[root@menglingxulinux2.6.39}#mkinitrdinitrd-$version$version3.4YAFFS2文件系统移植1)从http://www.alephl.co.uk/cgi-bin/viewcvs.cgi/下载最新的YAFFS2代码,点击“DownloadGNUtarball",下载后出现cvs-root.tar.gz压缩包并解压。2)给内核打YAFFS2文件系统的补丁cd/opt/stdudyarm/sourcetar一zxvfcvs-root.tar.gz一C/opt/studyarm cd/opt/stdudyarm/cvs/yaffs2/ ./patch-ker.shc/opt/studyarm/linux-/3)下面完成二件事:1.修改内核fs/Kconfig增加一行:source"fs/yaffs2/Kconfig"增加一行:ojb-$(CONFIG_YAFFS_FS)+=yaffs2/2.在内核fs/目录下创建yaffs2目录将yaffs2源码目录下面的Makefile.kernel文件复制为内核fs/yaffs2/Makefie;将yaffs2源码目录的Kconfig文件复制到内核fs/yaffs2目录下;将yaffs2源码目录下的*.c*.h文件复制到内核fs/yaffs2目录下.4)配置Linux内核,选择支持yaffs2文件系统进入Linux内核目录linuxmakemodulesARCH=armCROSSCOMPILE=arm-linux-5)编译并安装yaffs2makeARCH=armCROSSCOMPILE=arm一linux-makeinstall3.5ZigBee模块驱动软件设计cc2s}o与S3C24structfile_operations这个数据结构提供文件系统的入口点函数,也就是访问设备驱动的函数,包括设备的读写操作,初始化操作等。file_operations在<linux/fs.h>定义。staticstructfile_operationsspi_fops={.owner=ZIGBEE_MODULE,.open=spi_open,.read=spi_read,.write=spi_write,};Spi_init函数是在驱动模块加载时调用的,它是最先被执行的一个函数。在这里一般会进行一些设备的初始化工作,例如注册设备,端口映射。Staticintspi_init(void){printk(KERN_ALERT"zigbee_spi一usinitok\n");if(SPIMAJOR){SPIDEV=MKDEV(SPIMAJOR,SPIMINOR);retvalue=register_chrdev_region(SPIDEV,0,SPINAME);}else{retvalue=alloc_chrdev_region(&SPIDEV,0,1,SPINAME);SPIMAJOR=MAJOR(SPIDEV);if(-1==retvalue){printk(KERN_ERR"zigbeemoduledeviceregisterfailuredin");returnretvalue;}SPICDEV=cdev_alloc();if(SPLCDEV!=NULL)cdev_init(SPICDEV,&spi_fops);SPICDEV->ops=&spi_fops;SPICDEV->owner-ZIGBEE_MODULE;if(cdev_add(SPICDEV,SPIDEV,1)){printk(KERN_ALERT"zigbeedevregisterwrong\n");}else{printk(KERN_ALERT"zigbeedevregistersucceed\n");}}}spi_exit在驱动模块被卸载时会被调用,例如我们用rmmod命令时。在这里一般会进行一些资源的释放操作,例如释放之前注册的中断,端口内存等等。staticvoidexitspi_exit(void){}module_init(spi_init);module_exit(spi_exit);module_init是要告诉内核spi_init是驱动的初始化函数,这样在加载驱动模块时该函数就会被执行去完成设备的初始化工作。module_exit是要告诉内核spi_exit是驱动模块的清除函数,在移除驱动模块时这个函数就会被执行。module_init.module_exit都只是一个宏,其实就是告诉编译器将它们放到代码段的init节中。3.63G模块驱动软件设计向linux内核添加3G模块的驱动(USB转串口的驱动)和PP川办议的支持,交叉编译并下载内核到开发板。由十linux-内核支持“USBdriverforGSMandCDMAmodems",所以不需要修改代码,只修改内核配置即可。1)清除临时文件、中间文件和配置文件进入内核文件目录,执行命令:makedistclean2)使用内核/arch/arm/configs目录下的S3C2410-defconfig文件作为配置文件,将其拷贝为内核目录下的.config文件。3)在终端输入:makemenuconfigARCH=arm,出现内核配置界面后,表示可以配置。到此3G模块驱动添加完成,下面进行PPP协议支持的添加(下面所示的几个选项必选),如图3-1所示:图3-1PPP协议中的必选项完成这些步骤之后,可以进行内核的交叉编译,退出makemenuconfig,输入makezImageARCH=armCROSS_COMPILE=arm-linux-,编译生成的内核映像文件位于当前内核源代码文件的/arch/arm/boot目录下,将生成的内核映像文件下载到核心板上。内核启动后,在开发板USBHOST口插上3G模块的USB线,会有打印信息输出。3.7WiFi模块驱动软件设计HF-A11x模块支持两种工作模式,一种配置模式。工作模式分别为透明传输模式和协议传输模式,配置模式下可以通过AT命令对模块进行配置。HF-A11x模块启动后,根据设置选择一种工作模式,在任一种工作模式下都可以切换到配置模式进行配置。HF-A11x模块支持串口透明传输模式,可以实现串口即插即用,从而最大程度的降低用户的复杂度。在该模式下,所有需要被接受和发送数据都需要在WiFi接口与串口之间做透明传输,不做任何解析。在透明传输模式下,可以完全兼容用户软件。如果采用TCP办议,打开串口的硬件流程(CTSRTS)功能,可以使误码率降到最低。传输模式采用协议传输模式,主要保证DART接口上数据的准确性,在这种传输模式,定义了串口线上传输的数据结构、校验方式及两边设备握手方式。在协议传输模式下,用户设备可以发送命令给HF-A11x模块,模块接收到所发送的数据后会返回确认命令。HF-A11x模块不会主动把数据发送给用户设备,只有当用户设备向模块发送命令要求数据时,模块才会把数据发给用户设备,在HF-A11x模块内部有1MB的FIFO保存用户数据。HF-A11x模块启动时,软件流程图如3-2所示:图3-2HF-Allx驱动软件流程图第4章小结嵌入式系统(Embeddedsystem),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会(U.K.InstitutionofElectricalEngineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。通过本次课程设计,使我对嵌入式系统的理解更加深刻。在课程设计中,不仅仅要对课程设计中使用到的芯片进行选择,还要对其进行硬件方面的设计以及软件方面的设计。将会运用到平时所学的课程中的理论知识以及实验动手操作方面的能力。通过课程设计也是对自己解决问题的能力的一种锻炼。最后,感谢再次课程设计中帮助我的同学和老师们!参考文献[1]王学龙.嵌入式Linux系统设计与应用[M].清华大学出版社.2001[2]周立功.ARM微控制器基础与实战[M].北京:北京航空航天出版社.2003.[3]张军,姜国静,刘广益.基于嵌入式控制和无线通讯的智能家居系统[D].大连:大连理工大学.2008.12[4]黄联芬,齐放.基于ZigBee的无线智能家居系统的设计与实现[D].厦门:厦门大学.2007.6.基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究\t"_bla

温馨提示

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

评论

0/150

提交评论