毕业设计 (论文)镐京学院后勤仓库信息Web监控系统的设计与实现——仓库温湿度监控模块22323.doc
-
资源ID:3974569
资源大小:1.52MB
全文页数:53页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
毕业设计 (论文)镐京学院后勤仓库信息Web监控系统的设计与实现——仓库温湿度监控模块22323.doc
论文分类号: TP 学校代码: 13681 HAOJING COLLEGE SHAANXI UNIVERSITY OF SCIENCE TECHNOLOGY毕业设计 (论文)题目:镐京学院后勤仓库信息Web监控系统的设计与实现 仓库温湿度监控模块 学生姓名: 学 号: 系 部: 专业班级: 指导教师: 二一三年五月Design and Implementation of Web Monitoring System about Hao Jing College Logistical Warehouse The Temperature and Humidity Monitoring ModuleABSTRACT With the advanced science and technology,the inspection and control of the humiture is an industrial production process is the typical application,as one of the test the temperature increases,the production and living conditions have constantly improved,the temperature,the detector cleaner improve the detection a series of high technology productsThe system of testing the circuit has a ARM integrated circuit that automatically,accurate testing of the environment of the relative air temperature and will detect the data through a d after the conversion to processors,and then through software programming,the current environment,the relative value to a decimal number,then by which to show;through software programming,plus appropriate control couplingDesign can automatically test the present environment of the room temperature:air temperature is too high,the system automatically the alarm,to prompt the temperature is not suitable for storage of products,we go through the air or other cooler,to lower the temperature of the warehouse,when the air temperature is too low,the system automatically adjust the air conditioner,and the air temperature at the ideal stateImprove the work efficiency,but also save manpower resourcesKEY WORDS:temperature,humiture,monitoring system,ARM,warehouse镐京学院后勤仓库信息Web监控系统的设计与实现 仓库温湿度监控模块 摘 要随着科技的发展,温度的检测与控制是工业生产过程中比较典型的应用之一。而且,随着人类生产生活环境不断改善,对物质需求不断提高,出现智能温度检测器、室内净化器等一系列改善温度检测的高科技产品,很大地提高了人类的生活质量。此系统采用了ARM开发板来设计电路,能够自动、准确检测环境空气的相对温度以及湿度,并将检测数据通过A/D转换后,送到处理器中,然后通过编写好的软件程序,将当前环境的相对温度值通过液晶屏幕来显示;而且,通过软件编程,再加上相应的报警电路,设计出可以自动报警的温度检测装置:当被测环境过高时,系统自动发警报,来提示附近温度超出规定标准,相关人员可以根据报警情况及时调节温度,使空气温度保持在理想的状态,这样提高了工作效率,同时也节省了人力资源。关键词:温度,湿度,监控系统,ARM,仓库目 录1 绪 论11.1 选题意义11.1.1 生活环境与温湿度的关系11.1.2 检测温湿度的意义11.2 国内外发展趋势11.3 主要工作任务22 系统方案选择和工作原理32.1 系统综述32.2 系统设计方案选择32.3 系统工作原理42.4 系统的性能指标43 系统硬件设计53.1 系统所用开发板53.1.1 TQ2440简介53.1.2 TQ2440硬件说明53.1.3 TQ2440软件说明53.2 系统概述53.3 温湿度传感器53.3.1 温湿测量相关概念63.3.2 温湿度传感器的选择73.3.3 DHT11连接接口说明73.3.4 DHT11的数据格式及处理84 系统软件设计94.1 系统软件设计简述94.2 交叉编译环境94.2.1 建立交叉编译环境94.2.2 解压内核114.3 程序结构144.3.1 主机复位信号和DHT响应信号144.3.2 DHT开始发送数据流程154.4 Boa服务器在Linux下的移植及配置155 系统调试运行165.1 系统抗干扰措施165.1.1 硬件抗干扰措施165.1.2 软件抗干扰措施1652 烧写程序175.2.1 相关测试程序175.2.2 系统运行196 结 论20致 谢21参 考 文 献22附 录22毕业设计(论文)缩写稿24 Graduation Design (Dissertation) Abbreviated Paper.331 绪 论1.1 选题意义防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。针对这个问题,经过对镐京学院的后勤仓库和计算机房的考察,进行此次的设计。1.1.1 生活环境与温湿度的关系 现代人类对生活环境的要求越来越高,尤其是温湿度的影响,温度高了或者低了都直接影响着这个社会,而湿度低了或高了也同样影响着我们的生活以及其他物种的生存条件。1.1.2 检测温湿度的意义湿度和温度是众多领域中需要检测的重要环境参数,对温度和湿度的测量与监控也是十分有意义的,而且对湿度和温度进行合理有效的调控不仅可以节约能源还更有利各行业安全健康的发展。温湿度的高低对电器设备的研发者来说是必须要考虑的重要课题。工程师在设计电器产品的时候必须要考虑设计出的产品将来工作环境中温湿度的大小,使用过程中散热通风的问题。大型的电器设备长期处于高电压、大电流和满负荷运行,其结果是造成热量集结加剧,由电流热效应造成的危害直接影响电器设备的绝缘设施,危害机器的正常运转和操作人员的人身安全,所以就要求对电气设备的温湿度状况进行测量控制。温湿度对植物、动物的生长都有一定的影响,当温度达到了植物和动物生长所能承受的最高值和最低值时,这些植物和动物就会慢慢的消失,或者演变成其他的一些物种,同样湿度也对动植物的生长有着不可小视的影响,所以对一定的温湿度我们必须测量。同时我们也必须要记录大气的温湿度的变化,这样我们才更能对我们的生活的环境的变化有个直观的了解。1.2 国内外发展趋势近年来,国内外在湿度和温度传感器研发领域取得了长足进步。温湿度传感器正从结构复杂、功能简单向集成化、智能化、多参数检测的方向迅速发展,为开发新一代温湿度测控系统创造了有利条件,也将温度、湿度测量技术提高到新的水平。国内数字温湿度仪测量温湿度采用的主要方法有:“温阻”法和“湿阻”法,即采用电阻型的温湿度传感器,利用其阻值随温湿度的变化测定空气的温度和相对湿度。受传感器灵敏度的限制,这类温湿度仪的精度不可能很高,一般条件下还可以满足需要,但是在环境实验设备等对精度要求颇高的场合就难以满足要求了。目前,国外对温湿度传感器技术的研究也有了较大的进展,特别是用电阻式温湿传感器发展更快,人们不仅在电阻式陶瓷温湿度传感器特性方面做了大量工作,而且在高分子电阻式湿度传感器上做出可喜的研究成果。1.3 主要工作任务在对各类湿度、温度传感器原理介绍的基础上,根据本毕业设计实际的任务要求,完成湿度、温度传感器芯片的选型,系统芯片的选择,并设计显示接口电路、电源电路、报警电路、部分功能电路的程序。系统开始工作后,根据初始条件读取湿度值和温度值,测量数据经处理后,将其与设定的湿温度值比较,如果发现当前的温湿度超限,则发出报警信号,未超限时,系统显示正常的湿温度度值。2 系统方案选择和工作原理2.1 系统综述根据本设计第一章要求的性能指标,方案设计时不仅要考虑怎么样实现测量一定精度的温湿度信号值的基本功能,还要考虑温湿度超限时系统的报警功能。 根据设计要实现的功能,还要考虑系统控制芯片扩展口分配方案。选择TQ2440开发板就能够满足设计要求。作为工业用的环境检测类仪器,系统工作的可靠性,实用性,长久性指标也是系统在设计时值得考虑的几个因素。2.2 系统设计方案选择根据目前国内外市场上常用的各种温湿度检测仪器,结合本设计的设计任务要求,能实现本设计要求的方案基本上有以下三种:(1) 纯模式这种方案所有的电路均采用模拟电路构成,包括湿度、温度信号的采样、放大电路、报警电压的电位调节设置,模拟比较器的选用以及驱动超限报警电路,模拟的电磁结构的指针式显示电路等,尽管这种电路也能起到温度,湿度的实时测量与报警,但是不能获得湿度、温度的历史数据,显示方式也不够直观,在抗干扰性能上由于电路没有足够的判断能力可能会增加误报警从而引起错误动作,而且在价格上也无优势可言,由上述原理构成的这类仪表被称之为第一代仪表,目前设计的仪表中极少使用这类结构。(2) 数字式这种方案在信号的采样、放大电路、报警设置以及报警电路等环节与第一种方案区别不大,只是在放大电路后采用了A/D转换电路,它将模拟量转换成数字量,然后经过驱动电路进行数码显示,它最大的好处是显示直观,这是模拟式产品向智能式产品过渡的中间型产品,属于第二代仪表,在上个世纪80年代的设计中大都采用这种结构的方案,在日常生活中看到的大都是未被替换的产品。在目前的设计中,基本上是不采用这种方案的。(3) 智能式这是目前检测类仪器首选的方案,利用目前成熟的计算机技术,依靠计算机强大的处理能力,对数据前向通道采集到的湿度,温度数据进行判断、处理、存储,并可采用十分简单的方法通过显示驱动芯片将显示信息送出进行数码显示。对测量所得结果超限时的报警处理可以按照测量时间的不同情况分别设置不同的报警值。系统将会对测量回路巡回监测。常规的环境参数中,湿度是最难准确测量的一个参数。用干湿球湿度计或毛发湿度计来测量湿度的方法,早已无法满足现代科技发展的需要。这是因为测量湿度要比测量温度复杂的多,温度是个独立的被测量,而湿度却受其它因素(大气压强、温度)的影响,所以湿度的测量比温度的测量要复杂的多。目前国内外对温度和湿度测量产品有很多,但是大部分的产品都是用红外热辐射的传感器制作的。这种产品结构复杂,价格昂贵并不适用于大气的测量。本设计使用比较常见的温湿度传感器和价格便宜的电子元器件,实现检测系统的智能化。它还具有较高的安全性,可靠性,适用于一般的家庭。鉴于国外欧美等国家微电子技术的发展,在不少的测试领域,将一个系统的所有电路,包括CPU都集成在一块芯片上,构成一个集成的系统,况且这也是目前仪表发展的方向。所以本设计采用集成芯片DHT11作为温湿度传感器。鉴于以上情况,本课题考虑到国内目前的现状,构成器件的来源以及微电子技术的发展趋势,本设计决定采用智能化的设计方案设计。从节约能源和成本及使用方便的角度考虑,每一个设计都要本着满足设计要求的前提下,尽量简单方便快捷的设计。这个原则适用各个领域。由于各种不可克服的误差和适用环境的影响,检测仪表都存在一定的误差。不过我们还要竭尽所能的降低误差,提高设计的精度。2.3 系统工作原理根据上述的方案选择和本课题的设计目标,加上目前智能仪表的一般特点,实现本设计智能测量系统的核心是ARM开发板。湿度和温度信号检测可以使用传统的电阻式温湿传感器测量,也可以采用集成的智能温湿传感器芯片测量。集成传感器芯片内部自带有信号放大电路。放大电路是提高单片机对信号进行识别的有效方法,而且在复杂电路的各种设计领域中是最常用也是必须要采用的方法。由温湿度传感器检测到的温湿度信号经过芯片内部的A/D转换电路,将模拟信号转化成数字信号后通过IIC总线输入通道传送给TQ2440开发板。为了提高测量的精度,提高信号的转换质量,作为模拟信号转化成数字信号的A/D转换器,对其本身的性能要求也很高,因此传感器芯片内要有性能良好的A/D转换器。作为智能化的检测仪器,显示使人们直观的观看到测量到的温度和湿度的值。在本设计系统中,正常情况下,显示电路可以实时的显示室内的温度和湿度。2.4 系统的性能指标根据生活环境,设计本产品的主要技术指标为:(1) 测温范围:050ºC;(2) 湿度测量范围:063%Rh;(3) 温度测量精度:±2ºC;(4) 湿度测量误差:±5%Rh;(5) 电源工作范围:3.55.5V。3 系统硬件设计3.1 系统所用开发板3.1.1 TQ2440简介TQ2440开发板提供ARM9硬件软件以及操作系统的使用平台,根据自身需要,可以选择不同的操作系统并进行软硬件的搭配。TQ2440开发板上的电压设计采用5V输入实验板,板上带电源开关和指示灯,经可带载1.5A的低电压差线性稳压源AS2815AR-3.31C芯片稳压,提供给实验板所需要的3.3V电源。在核心板上CPU内核电压(1.25V)采用低噪声、低压差线性稳压源MAX8860EUA稳压芯片。3.1.2 TQ2440硬件说明TQ2440开发板包括电源电路、系统复位电路、系统时钟电路、JTAG接口电路、串口电路等19个电路。针对本次设计,主要用到了GPIO扩展接口电路,在这个接口电路中多数引脚都是复用的,可以根据自身的需要选择是GPIO口功能还是复用功能。3.1.3 TQ2440软件说明利用TQ2440开发板可以在Linux、WinCE还有Windows平台上进行操作,此次设计使用的是Linux操作平台,在这个基础上,需要建立交叉编译环境然后才能进行驱动程序的烧写。3.2 系统概述该温度控制系统主要由模拟电路,主控制电路,数据存储模块,输入输出模块,通讯模块等组成。主控制电路由ARM及其外围电路组成,是温度控制系统的核心部分,完成整个系统的控制,数据传输与存储和信号的处理等工作处理器对模拟电路采集进来的模拟量进行A/D转换得到实时温度数据,由控制算法对数据进行处理,得到的数字控制量经过A/D转换后通过输出电路对温度进行控制。处理器在数据处理过程中会将历史数据存入NandFlash中,并可通过网络介质与其他PC机通讯进行数据的传输。3.3 温湿度传感器不管是我们日常居住生活的房间,还是工农业生产、气象、环保、国防、科研、航天等领域,经常需要对所处环境的温湿度进行测量及控制。但在常规的环境参数中,湿度是最难准确测量的一个参数。一般情况下,室内室外环境中的温度都在2045之间,所以选用智能化的集成温湿度传感器芯片DHT11,足以满足我们的设计要求。日常生活中所指的湿度为相对湿度,用RH表示。总而言之,湿度即气体中(通常为空气中)所含水蒸气量(水蒸气压)与相同情况下所含饱和水蒸气(饱和水蒸气压)的百分比。湿度传感器是指检测外界环境湿度的传感器,它将所测环境中的湿度信号转换为便于处理,显示,记录的电(频率)信号。湿度传感器在仓贮,工业生产,过程控制,环境监测,家用电器,气象等方面有着广泛的应用。温度传感器是指检测外界温度的传感器,它将所测环境中的温度信号转换为便于处理,显示,记录的电(频率)信号等,在很多领域都有普遍的应用。湿度、温度传感器是本设计中核心的器件,其感湿感温特性直接决定了本设计的性能指标。湿度传感器的种类有很多,大致可以分为物性型,结构型,其他形式三大类。物性型包括电解质系,半导体及陶瓷系,聚合物系;结构型包括毛发型,肠膜型;其他形式包括干湿球式,石英振子式,种子法式等等。温度传感器从使用的角度大致可分为接触式和非接触式两大类。前者是让温度传感器直接与待测物体接触,来检测被测物体温度的变化,而后者是使温度传感器与待测物体离开一定的距离。检测从待测物体放射出的红外线,从而达到测温的目的。在接触式和非接触式两大类温度传感器中,相比之下运用较多的是接触式传感器,非接触式传感器一般在比较特殊的场合才使用。目前在工业生产和科学研究工作中得到广泛使用的接触式温度传感器主要是热电传感器。它是利用转换元件电磁参数随温度变化的特性,对温度和与温度有关的参量进行检测的装置,其中将温度变化转换为电阻变化的称热电阻传感器,金属热电阻式传感器简称热电阻,半导体热电阻式传感器简称热敏电阻,将温度变化转换为电动势变化的称为热电偶传感器。近年来,国内外在温湿传感器研发领域取得了长足进步。温湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展,为开发新一代湿度/温度测控系统创造了有利条件,也将湿度温度测量技术提高到新的水平。智能温湿度传感器(亦称数字温湿度传感器)是在20世纪90年代中期问世的。智能温湿度度传感器是微电子技术、计算机技术和自动化测试技术的结晶,它也是集成温湿度传感器领域中最具活力和发展前途的一种新产品。智能温湿度度传感器内部都包含温湿度传感器、A/D转换器、存储器(或寄存器)和接口电路。智能温湿传感器芯片具有三个显著特点:第一,能输出温湿度数据及相关的温湿度控制量,适配各种微控制器;第二,能以最简方式构成高性能、多功能的智能化温湿度测控系统;第三,它是在硬件的基础上通过软件来实现测试功能的。用干湿球湿度计或毛发湿度计来测量湿度的方法,早已无法满足现代科技发展的需要。这是因为测量湿度要比测量温度复杂的多,温度是个独立的被测量,而湿度却受其他因素(大气压强、温度)的影响。因此本设计选用智能温湿度传感器芯片,实现温湿度测量系统的智能化设计。3.3.1 温湿测量相关概念湿度和温度很久以前就与人类生活存在着密切的关系,但用数量来进行表示较为困难。湿度计测的历史可以追溯到中国的天秤型(公元前179年),这是最早的湿度计测。温度计测可追溯到记载的希腊时代的温度计。现代科学对温湿度做明确的定义和测量表示方法。绝对湿度:单位体积(1m3)的气体中含有水蒸气的质量(g)。但是,即使水蒸气量相同,由于温度和压力的变化气体体积也要发生变化。相对湿度:气体中所含的水蒸气(e)与气体饱和时所含的水蒸气(es)的比,用百分比表示。但是,温度和压力的变化导致饱和水蒸气气压也将随之而变化。通常在工作和生活中我们使用的湿度即为相对湿度。饱和水蒸气压(Saturation Vapor Pressure):气体中所含水蒸气的量是有限度的,达到限度的状态即可称之为饱和,此时的水蒸气压即称为饱和水蒸气压。此物理量亦随着温度,压力的变化而变化,通常所采用的是与水共存的饱和水蒸气压。露点:温度较高的气体其所含水蒸气也较多,将此气体冷却后,其所含水蒸气的量即使不发生变化,但相对湿度也会增加。当达到一定温度、相对湿度达到100%饱和,此时,继续进行冷却的话,其中一部分的水蒸气将凝聚成露。此时的温度即为露点温度。露点在0以下结冰时即为霜点。3.3.2 温湿度传感器的选择方案一:采用热电阻温度传感器和HOS-201湿敏传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量,而HOS-201湿敏传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。方案二:采用DHT11数字温湿度传感器。传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,该传感器为 4 针单排引脚封装,连接方便。比较方案一与方案二,方案一虽然满足精度还有测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性,而第二个方案操作简单,元件功能更有效且波动性小,因此,我们选择方案二来作为本设计的温湿度传感器。3.3.3 DHT11连接接口说明DHT11数字湿温度传感器连接电路简单,只需要占用控制器一个I/O口即可完成上下位的连接。另外,连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻,如图3-1所示:图3-1 DHT11连接电路3.3.4 DHT11的数据格式及处理 数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。一次通讯时间最大3ms,数据分小数部分和整数部分,具体格式在下面说明。 DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,当前小数部分用于以后扩展,现读出为0。操作流程:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据 +8bit温度整数数据+8bit温度小数数据 +8bit校验和,校验和数据为前四个字节相加。4 系统软件设计4.1 系统软件设计简述本控制系统开始运行时,先初始化各个部件,然后调用各个子模块的功能函数,如模糊控制子程序,计算机显示,之后DHT11根据控制信号的变化做出相应的控制。由于温度变化规律性不强,要求被检测对象的温度具有非线性、 热惯性、 时变性等特点,要建立精确的数学模型非常困难。采取模糊控制方法,可以不依赖于对象的数学模型。模糊控制能够依据工作人员的控制经验,将其转化抽象为一系列的控制,并且借助于计算机完成控制过程,具有控制动态响应好、超调小、稳定性强等特点。通信设备在长期运行工作期间,机器温度控制在 18 -25之间,相对湿度保持在40 60 %Rh较为适宜。温度控制程序有 2个输入数据和 1个输出数据。e为温度偏差,e为温度变化率,u 为输出控制变量,其值分别为e= P L ,PM,PS ,0 ,NS ,NM,NL),u = P L ,PM,PS ,O,NS,NM,NL)。 其中, PL表示负大; PM 表示负中; PM 表示负小;NS表示正小; NM表示正中; NL表示正大。4.2交叉编译环境4.2.1 建立交叉编译环境嵌入式系统由于本身的资源限制,一般需要在PC平台生成自己的可执行代码。基于Linux操作系统的应用开发环境一般是由目标系统硬件开发板和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则是通过宿主PC机完成。本文的交叉编译环境的构建通过以下几个部分实现:(1) 准备开发主机。移植嵌入式Linux系统,需要一台装有Linux操作系统的开发主机,在开发主机上编译、移植Bootloader和Linux内核。本文采用一台安装有红帽公司的Red Hat Linux90操作系统的PC机作为开发主机。在安装时需要确保计算机的网卡驱动、网络通信配置正常。安装好Trip服务器,修改Trip配置文件etcxinetd.dtrip,Trip是目标板下载影像所需要的网络服务。(2) 下载交叉编译工具。由于开发主机的x86体系结构和目标机的ARM体系结构的差别,在开发主机上的系统中自带的针对x86体系的编译器无法生成ARM结构上可以运行的代码,为了能在开发主机上生成基于ARM体系结构的程序,必须使用交叉编译工具链来编译程序。交叉编译环境由一套用于编译、汇编和链接内核及应用程序的组件构成。这些组件包括:1)Binutilr_用于操作二进制文件的实用程序集合。它们包括诸如ai、as、objdump、objcopy这样的实用程序。as为汇编编译器,objdump可以反编译二进制文件。2)Gcc编译器。包括交叉编译器aim.elf-gcc,它是最重要的开发工具,它将源文件编译成目标文件;连接工具anll.elf-ld:调试工具gdb。3)C+编译器。 4)Glibe一所有应用程序都将链接到的CC+库。避免使用任何CC+库函数的内核和其它应用程序可以在没有该库的情况下进行编译。整个的交叉编译过程包含下载源代码、升级补丁、配置、编译、设置头文件、安装等操作。这些工具的开发流程如下:编写C或C+源程序代码;用arm.elf-gee生成目标文件;编写连接脚本;用连接器生成最终elf格式文件;最后用二进制转换工具转换成可下载至目标板执行的二进制代码文件。(3) 下载启动加载程序Bootloader的源码包。(4) 下载Linux内核。其内核版本支持多种嵌入式处理器,但由于各个不同应用领域的嵌入式开发平台的硬件设备各不相同,各大半导体厂商也会推出新的芯片系列,从官方网站上下载的内核不能直接在硬件平台上运行。为此开发人员需要跟据具体的硬件平台重新裁剪、编译内核,根据硬件平台特性编写相应的硬件相关的代码,将Linux移植到硬件平台。(5) 配置Minicom串口终端。Linux的Minicom的功能与Windows下的超级终端功能相似,Minicom是一个操作系统自带的通信终端程序,通过Minicom可以设置、监视串口工作状态,接收、显示串口收到的信息,并且在主机和开发板之间传递数据和控制指令,从而实现通过主机上调试开发板的目的。偶校验位无、数据流控制无,保存设置后,重新运行Minicom。这时的Minicom处于工作状态,一直监听串口上的数据。基本过程如下:解压EABI-4.3.3_EmbedSky_20100610.tar.bz2#tar xvf EABI-4.3.3_EmbedSky_20100610.tar.bz2#cd opt/EmbedSky/过程如图4-1所示: 图4-1 解压目标文件#cd 4.3.3#pwd过程如图4-2所示: 图4-2 查询当前路径#vi /etc/profile过程如图4-3所示:图4-3 修改profile如图输入:set nu在第二十六行下面加入pathmunge /mnt/2440/opt/EmbedSky/4.3.3/bin过程如图4-4所示:图4-4 修改原始路径#vim /root/.bashrc在最后一行加入export PATH=/home/2440/opt/EmbedSky/4.3.3/bin:$PATH过程如图4-5所示:图4-5 修改输出路径4.2.2 解压内核嵌入式操作系统是嵌入式系统重要的组成部分,它为应用程序的开发提供了一个软件平台。对于嵌入式Linux系统来说,从系统上电到运行用户应用程序,系统需要经过3个重要的过程:加载Bootloader,启动Linux,挂载根文件系统。为了使系统顺利的完成这3个过程,我们接下来就要完成以下3个方面的工作:(1) Bootloader移植;(2) 实现Yaffs根文件系统;(3) 内核的裁减。在一个基于ARM的嵌入式系统中,系统在上电或复位时通常都从地址ox00000000处开始执行,而在这个地址处安排的通常就是系统的Bootloader。一般它只在系统启动时运行非常短的时间,但对于嵌入式系统来说,这是一个非常重要的系统组成部分。通过这段小程序,可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内核做好准备。Bootloader依赖于实际的硬件和应用环境,因此要为嵌入式系统建立一个通用、标准的Bootloader是非常困难的,所以要根据特定的板子来修改Bootloadcr源程序。Bootloader的主要功能有:(1) 初始化CPU的主频、SDRAM、中断、串口等硬件;(2) 启动Linux内核并提供一个DISK;(3) 通过串口下载内核或RAMDISK到目标板上;(4) 将修改过的内核或RAMDISK写入到Hash内;(5) 为用户提供一个命令接口。在嵌入式系统开发过程中,Bootloader还与主机通信,不断检测从主机传来的控制信息和数据信息,完成相应的操作。启动加载(Bootloadering)模式:在这种模式下,Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是Bootloader的正常工作模式,因此在嵌入式产品发布时,Bootloader必须工作在这种模式下。下载(downloading)模式:在这种模式下,目标机上的Bootloader将通过串IXl或网络等通信手段从开发主机上下载内核映像和根文件系统映像等到RAM中。然后再被Bootloader写到目标机上的固态存储介质中,或者直接进行系统的引导。嵌入式系统Bootloader有多种,如ARMboot、Redboot、Vivi和U-Boot。U-Boot是在ppcboot以及ARMboot的基础上发展而来的较为通用的Bootloader,U-Boot支持的嵌入式操作系统和嵌入式处理器种类众多。本设计采用U-Boot程序作为Bootloader的原型,根据系统硬件对其修改移植。大多数Bootloader都分为stage 1和stage 2两个部分,U-Boot也不例外。依赖于处理器体系结构和板级初始化的代码通常都放在stage l,可以用汇编语言来实现,而stage 2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。U-Boot的stagel任务是设置处理器状态、初始化中断和内存时序等,并确定是否需要对整个U-Boot代码重定位,最终从Hash中跳转到定位好的内存位置执行。U-Boot的stagel代码通常放在start.S文件中,其主要代码部分如下: (1) 定义入口:由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在Flash的地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器脚本来完成;(2) 设置异常向量;(3) 设置CPU的速度、时钟频率及中断控制寄存器;(4) 初始化内存控制器;(5) 将Flash中的程序复制到RAM中; (6) 初始化堆栈;(7) 转到RAM中执行。Stage 2阶段的主要工作是加载操作系统内核和文件系统,并为内核设置适合的启动参数调用内核,将CPU控制权完全交给操作系统。Stage 2通常用C语言来实现,这样易于实现复杂的功能,而且代码会具有更好的可读性和可移植性,具体操作过程如下:#tar xvf Linux-2.6.30.4_20100531.tar.bz2#cd opt/EmbedSky/Linux-2.6.30.4/过程如图4-6所示:图4-6 解压和复制压缩文件#cp config_EmbedSky_W43 .config#make menuconfig配置General config ->( )Local version -> 括号中加入如下内容:“-EmbedSky”退出保存为 Config,过程如图4-7所示:图4-7 配置 将-EmbedSky改为.config保存退出 #make4.3 程序结构温湿度传感器DHT11测量与传输数据,过程如图4-8所示:图4-8 温湿度信号接收及处理流程图4.3.1 主机复位信号和DHT响应信号 用户主机发送一次开始信号(低电平)DHT从低速模式转换到高速模式,等待主机开始信号结束(拉高)后,DHT发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。注意:总线线空闲状态为高电平,主机把总线线拉低等待DHT响应,主机把总线线拉低必须大于18us,保证DHT能检测到起始信号。 DHT接收到主机的开始信号后,等待主机开始信号结束,然后发送低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT的回应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线线由上拉电阻拉高,过程如图4-9所示:图4-9 DHT复位时序 4.3.2 DHT开始发送数据流程主机发送开始信号后,延时等待20us-40us后读取DHT的回应信号,读取总线为低电平,说明DHT发送响应信号,DHT发送响应信号后,再把总线拉高,准备发送数据,每一bit数据都以低电平开始,过程如图4-10所示:图4-10 读DHT数据流程 4.4 Boa服务器在Linux下的移植及配置目前在Linux下的Web服务器主要有Boa和Httpd等。Httpd是一个简单的Web Ser