版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ARM架构单片机开发智能仓储系统中的传感采集单元摘要针对高速发展的当今社会,人们对时间的高效利用,使得现代都市生活节奏加快,智能家居、远程控制仓储等都已经渐渐的融入人们的日常生活中。随着仓库大量的增加,人们发现其管理难度也越来越大,对于仓库的需求也越来越多,人力管理仓库储存渐渐的不能满足需求了,对于如何减少人工负担,提高效率也就成为了一个大众化的问题。为了满足人们日益增长的需求,我们开发了智能仓库存储管理系统来解决这问题。本系统是通过嵌入式技术,实现了对仓库环境的监测和管理方面的智能化,提升了仓库管理的效率,并且降低了人工管理和维护的成本,实现了不需要人力的仓库管理系统的远程监控和访问工作。关键词:高效;智能仓储;远程访问ARM-basedMicrocontrollerDevelopmentofIntelligentStorageSystemSensorAcquisitionUnitAbstractFortherapiddevelopmentoftoday'ssociety,peopleontheefficientuseoftime,sothattheacceleratedpaceofmodernurbanlife,intelligenthome,remotecontrol,storageandsohasbeengraduallyintegratedintopeople'sdailylives.Withthelargeincreaseinthewarehouse,itwasdiscoveredthatitsmanagementhasbecomeincreasinglydifficultforthewarehousedemandmoreandmore,humanresourcemanagementwarehousinggraduallycan’tmeetdemand,andhowtoreducelaborburdenandimproveefficiencyhasbecomeapopularquestion.Inordertomeetthegrowingdemand,wehavedevelopedasmartwarehousestoragemanagementsystemtosolvethisproblem.Thissystemisembeddedtechnology,thewarehouseenvironmentmonitoringandmanagementofintelligence,toenhancetheefficiencyofwarehousemanagementandreduceslabormanagementandmaintenancecosts,theremotedoesnotneedmanpowerWarehouseManagementSystemmonitorandaccesswork.Keyword:Efficient;Smart;Warehousing;Remoteaccess目录摘要 IAbstract II第一章绪论 11.1智能仓储的开发背景及前景 11.2论文中的一些术语解释 21.3论文的研究内容 31.3.1研究的内容 3第二章主程序的设计 42.1系统框架 42.2M0终端设备的详细工作流程 42.3M0终端设备的功能描述 8第三章M0的数据采集及发送 93.1硬件介绍 93.1.1硬件简介及选择原因 93.1.2硬件的主要模块 93.1.3硬件的主要接口与功能 93.1.4硬件的微控制器 113.2M0的工作流程 113.2.1M0的工作流程 113.2.2M0的工作流程图 123.3主要功能的介绍 123.3.1温湿度传感器DHT11 123.3.2光照传感器ISL29003 153.3.3RFID信息采集CY14443 173.3.4三轴加速度传感器MMA7455L 193.3.5ZigBee无线通信设备ZICM2410 21第四章系统移植和环境的搭建 244.1BOAWeb服务器移植 244.2CGI:通用网关接口 254.3SQLite移植 254.4HTML的设计 264.5环境的搭建 26总结 30致谢 31参考文献 32第一章绪论1.1智能仓储的开发背景及前景随着计算机的广泛应用,虽然目前很多的公司已经将计算机应用于日常办公,但是对于数据的采集方式还是会用纸张记录、然后手工输入到计算机的方式进行管理。因为毕竟是人力的输入,出错在所难免,浪费时间,准确率还比较低,对人力资源来说造成了浪费。随着企业的不断发展,仓库必然会越来越大,货物会越来越多,种类也会越来越多。仓库管理越来越复杂,企业的资金投入会增多。对于出库,入库而言,安全因素已经值得重视了。传统的人工管理仓库模式已难以满足仓库管理的出入库速度快、准确度高的要求了,那么这些缺点将会影响企业的日常运行,成为制约企业发展的一大障碍。目前我国许多的企业仓储管理有这几点缺陷:(1)因为是人工搬运,空间利用不足,分布不合理,基本的设施不健全,同时不能及时的反馈当前的信息。(2)仓库中的存货多,企业难以消化,从而产生恶性循环,导致企业的看护这些无用的资源经济成本变多。(3)物品入库出库时,需要人工记录,过程复杂,容易出错,造成企业不必要的资源浪费。(4)仓库存储系统的不完善,浪费大量的人力资源,需要雇佣更多的人,对于一个企业的长远发展来讲,仓储管理型的人才是必须有的。由此可见对于运用智能仓储来管理这些势在必行,而且这也将为仓库管理带来前所未有的改变,它不仅仅可以带来意想不到的经济效益,同时也会为企业的快速发展提供无限的潜力。是否用智能仓储来管理仓库已经成为一个企业现代化的标志之一。它之所以能给企业好的效益,其主要体现在:(1)智能化管理一方面节省了时间提高了工作效率,减少了人员方面的分配,同时也降低了出库入库时的出错率,间接地减少了企业的开支,相对的增加了企业收入。(2)仓库的管理操作自动化和信息的电子化,全面提高了仓库的管理水平,更有利于企业未来的发展。对于我国智能仓储的发展,笔者特意参考了一些资料书籍,发现近几年随着智能仓储的发展逐步成熟,我国电商发展的迅猛增长,对于智能仓储的发展未来几年内将呈井喷似的增长。2016-2022年中国智能仓储行业市场规模发展预测年份市场规模(亿元)20155182016622201774620188962019108020201295通过表格我们知道,对于未来几年的智能化仓储管理发展将进入白热化的程度,一个好的智能仓储系统将会为一个企业的发展乃至国民经济的提高,起到非常大的积极作用。在当今高速信息时代,一方面我们要开发出好的应用管理软件,另一方面我们更应该建立完善的专业性的人才培养机制,使高水平的人才在实际工作中运用自身的知识去操作设备,提高仓库存储的利用率,让他们根据企业的实际情况对货物的信息及时反馈,做到用时少、速度快、精确度高的安排仓储物资,从而提高企业的效率。1.2论文中的一些术语解释Linux:Linux是一种类Unix操作系统。它是免费的并且开放源代码的,可以支持多用户操作的网络操作系统。并且它可以安装在各种计算机硬件设备中,从我们周边的手机、平板、无线路由器,到台式计算机和超级计算机,比如我国的天河2号,内部也是Linux系统。ZigBee:ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。主要适合用于自动控制和远程控制领域,可以嵌入各种设备,是一种低功耗的近距离无线组网通讯技术(与蓝牙相似)。A9:ARMCortex-A9是基于ARMv7-A架构的应用处理器。本项目Coretex-A9选用的CPU型号为三星公司出品的exynos4412,它是三星公司的第一款拥有四核的处理器。据有关部门的测试,同样CPU的性能下,此款产品的性能更优越,耗能更低。(本论文中出现的A9均为ARMCortex-A9处理器的简称,所用的是南京华清远见的FS_4412开发板,FS_4412开发平台采用的就是Exynos4412处理器)M0:基于ARMCortex-M0内核的LPC11C14是ARMCortex-M0系列低功耗、低成本的32位处理器。集成了多种传感器、RFID、ZigBee、OLED显示模块等。(本论文中出现的M0均为ARMCortex-M0处理器的简称,所用的是FS_11C14开发板,FS_11C14开发板是基于LPC11C14微控制器ARMCortex-M0内核)1.3论文的研究内容1.3.1研究的内容智能仓储系统由A9、M0、Linux、ZigBee等技术的结合。通过M0上的传感器实时收集仓库里的信息(湿度,温度,光感数据等信息),然后通过ZigBee无线网络传输到A9上(运行Linux系统)。A9收集到数据后进行分析,反馈到PC机上,通过在PC机上构建嵌入式web服务器并且在页面上设置按钮,那么用户在pc机操作按钮就进行远程监控和管理仓库了,A9作为智能仓储系统的控制系统和服务器端,而用户借助于PC机可以实现仓库的内部环境智能控制和工作人员的远程监控。本文主要介绍的是个人负责的在M0上的数据的收集和处理,由于篇幅限制,省略写对A9和PC机如何工作的介绍。本项目共分三个模块:如图1.3.1图1.3.1三个模块第二章主程序的设计2.1系统框架a.通过M0进行实时采集和处理环境参数,例如温度、湿度、光感数据,进行物品刷卡b.再通过ZigBee模块把采集到的环境参数或物品信息发送给A9c.由A9的M0线程负责接收环境参数或物品信息,激活数据库线程对数据库进行相应的处理,然后如果是环境参数则对环境参数进行判断处理d.构建嵌入式的web服务器,使用户通过网络利用pc机进行监控。f.在pc机的web页面上设置控制按钮,对M0进行控制,监控设备识别用户指令并进行相应动作2.2M0终端设备的详细工作流程a.系统上电初始化M0终端上各个设备,包括系统定时器、GPIO口、SPI、UART、I2C等设备,配置系统滴答定时器设置其终端为1毫秒,进而配置中断处理函数精确到1秒。第一次采集信息用于在M0终端的液晶屏上显示。b.主程序进行轮询判断,在没有外部中断(ZigBee接收数据中断、RFID刷卡中断)的情况下主要执行环境数据的采集、M0终端液晶屏的数据显示和数据打包发送给A9服务器,这时因为M0终端还没有收到A9服务器发送过来的指令(即ZigBee接收数据中断函数还未执行),所以M0终端初始模式为自制控制(即M0终端未受到A9服务器命令控制而采取自我环境监测、异常报警等);c.当有外部RFID刷卡时,其它数据正常采集,RFID中断函数同时对磁卡数据进行采集校验数据有效性并发送给A9服务器;d.当有外部中断ZigBee接收数据中断产生时,其它数据正常采集,ZigBee接收数据中断处理函数接收A9服务器发送过来的指令,执行不同的设备,同时M0终端切换为A9服务器控制M0终端模式;e.为了安全稳定的管理机制,我们对异常行为进行的可能性进行了评估、假设。当A9服务器异常(即A9服务器不能正常给M0终端设备发送指令)时,M0终端在30秒内未接收到A9服务器发送过来的指令时自行切换到M0终端自制模式,对当前环境进行检测、判断是否异常决定是否打开蜂鸣器报警。工作流程图如图2.2图2.21.工作流程的程序代码开发板的初始化 InitSys(); //系统初始化,让M0芯片跑起来 InitTimeFlag(); //定时时间标志位 InitAllSensor(); //初始化所有的传感器 InitAllDevice(); //初始化外围设备 InitControl(TitileBuf);//初始化按键控制,传参标题头TitileBuf Team_Logo();//显示开机界面voidInitSys(void){ SystemInit();//系统初始化 GPIOInit(); //IO初始化 InitDelay(48); //初始化延时滴答定时器 init_timer32(0,480000); //初始化32位定时器10ms NVIC_SetPriority(TIMER_32_0_IRQn,0); //映射32位定时器中断 enable_timer32(0); //使能32位定时器 UARTInit(115200); //设置串口波特率 NVIC_SetPriority(UART_IRQn,2); //映射串口中断}voidInitTimeFlag(void){ To10msFlag=FALSE; To10msCnt=1; To100msFlag=FALSE; To100msCnt=10; To1SFlag=FALSE; To1SCnt=100;} voidInitAllSensor(void){ InitMyAdc();//ADC InitKey();//KEY InitLight();//LIGHT InitAxis3();//AXIS3 InitDHT11();//DHT11 InitRfid();//RFID memset(&EnvMsg,0,24);} voidInitAllDevice(void){ InitFan();//FAN InitSpeaker();//SPEAKER InitLed();//LED Seg7Led_Init(); //SEG InitZigbee();//初始化ZIGBEE InitOled(); FanSpeed(0); Speaker(0);//1开0关 Led1Show(0);//1开0关 Seg7Led_Put(''); BeepRingCnt=0; DeviceStatus=0;}voidInitControl(uint8_t*title){ GoodsTypeIndex=GOODSTYPEMIN; //最少1种货物 GoodsNumCount=GOODSNUMBERMIN; //货物最小总量 AddOrDecOptFlag=0; //加减操作标志 Titile=title; //标题 InitEnvDisp(); //初始化环境 InitStoDisp(); //初始化货物 CleanScreenFlag=0; //清屏标志}2.M0的数据接收流程1.接收Zigbee传输上来的信息;2.判断消息类型,并读取相应长度的消息3.插入到链表说明:这里增加接收消息的消息头为st:,随后才是消息正文,其中e为环境消息,r为货物消息,读取消息正文的时候需要睡眠500ms,防止消息丢失。3.数据分析的线程如图2.2.3图2.2.3其中环境信息结构体为:structenv_info_package{ unsignedcharsto_no; unsignedchartem[2]; unsignedcharhum[2]; unsignedcharx; unsignedchary; unsignedcharz; unsignedintill; unsignedintbattery; unsignedintadc;};货物信息结构体为:structgoods_info_package{ unsignedcharsto_no; unsignedchario; unsignedchargoodsno; unsignedchargoodsnum;};1.等待唤醒pthread_cond_wait(cond_analysis,);2.获得节点get_receive_cache_node()3.提取环境参数env_info_analysis()4.获得环境信息get_env_package(&buf);5.获得货物信息get_goods_package(&buf);说明:在函数env_info_analysis()中对环境信息进行提取比较,如果超出了相应的阈值范围会向消息队列中发送相应的消息,去控制M0或者A9上的设备。2.3M0终端设备的功能描述a.采用DHT11传感器对温湿度信息进行采集b.采用ISL29003传感器对光照强度信息进行采集c.采用MMA7455L传感器采集三轴加速度d.采用CY14443对RFID信息采集e.采用ADC3通道对电池电量信息采集f.采用ADC0通道对电位器信息采集g.采用ZICM2410无线通信第三章M0的数据采集及发送3.1硬件介绍3.1.1硬件简介及选择原因ARM公司的Cortex-M0处理器,其核心是冯·诺依曼体系结构运用的是ARMv6M架构,是Cortex-M家族中的M0系列,作为新一代处理器,它有很多的改革和创新,让技术开发人员可以用8位处理器的价格获得32位处理器的性能。与同类型的处理器相比较,Cortex-M0的功耗更低,Cortex-M0内核处理器LPC11C14最高能达到50MHz,而性能方面却毫不逊色,就是他的优点。而且在抗干扰方面,抗干扰能力强,完全可以用于仓库中的数据采集。对于应用方面,它可以被多种编译器支持,适用于C语言的编写,同样支持多种嵌入式系统。综合考虑,Cortex-M0的高性价比,低能耗,抗干扰能力强,支持多操作系统,所以选择了此款处理器作为本项目的数据采集重任。3.1.2硬件的主要模块主要模块如图所示图3.1.2图.3硬件的主要接口与功能-处理器LPC11C14
-主频最高50MHz,外接12MHz晶体,实际工作48MHz
-32KBFLASH
-8KBSRAM
-1个I2C接口256BEEPROM
-1个SPI接口256KBFLASH
-2个扩展UART接口
-1个I2C接口
-2个SPI接口
-1个CAN总线接口
-1个RS-485/RS-422可选双功能接口
-2路ADC输入
-1个128x64点阵OLED双色(黄和蓝)显示屏
-1个八段LED数码管
-2个LED灯
-1个蜂鸣器
-1个温湿度传感器
-1个三轴加速度传感器
-1个光敏传感器
-1个可调电阻
-1个可控电风扇
-1个RFID模块
-1个ZigBee模块
-1个电源开关
-1个复位键(Reset)
-1个可控制四个方向和确定功能的五向摇杆键
-1个功能键(Esc)
-1个时钟输出-1个20PinJTAG调试接口
-1个1000mAh锂电池
-2根USB线
-1个RFID存储卡
-1个CoLink仿真器3.1.4硬件的微控制器LPC1114采用的是Cortex-M系列架构的为处理器的芯片,是ARM公司前几年发布,它具有非常低的功率,但又拥有比普通单片机高数倍的性能,它是继51单片机之后的绝佳替代品。在与以往的8位和16位单片机相比中,它又有显著的优势,32位微控制器具有更强的运算能力和处理速度。因为它的指令集简单,编制寻址统一,所以他能够有效的降低编码的难度和长度,对于编码的阅读有很大的便利。另外基于Cortex-M0的LPC1114的工作频率能够达到50兆赫兹,它的主要外围器件有:32kb的海量存储空间,8kb的数据存储空间,经过增强的I2C协议接口,基于RS-485标准的收发器,即通用异步串行收发器,拥有两个高性能的SPI接口,四个比51单片机功能更全的定时器,一个10位的ADC模数转换器,还有42个GPIO(多功能复用输入输出)引脚。Cortex-M0的结构图如图3.1.4图M0的工作流程3.2.1M0的工作流程M0上电后首先初始化各个设备,使得处理中断函数可以达到一秒一次,这样有助于接下来的项目进行。然后开始主程序轮询判断,在没有外部中断的干扰下进行数据的采集,打包并且发送给A9,这是正常的运行状态。当有中断时(ZigBee中断或者RFID刷卡),那么就要进行处理了。比如当收到ZigBee中断时一方面要进行模式的转换,由M0主动地控制转变为A9服务器控制M0模式,另一方面要根据A9发来的数据,进行操作对应的设备。为了保障整个环境的运行,还设置了一些异常处理,当发生异常时会有蜂鸣器的报警。3.2.2M0的工作流程图如图3.2.2图3.2.2M0的工作流程图3.3主要功能的介绍M0在本项目中的主要功能是信息的采集,所以下面主要介绍M0的各个模块是如何收集和处理信息的3.3.1温湿度传感器DHT111.DHT11的基本概述DHT11是一种复合型的温湿度数字传感器,它可以实时的通过自身的采集单元反馈需要测量的温度和湿度。DHT11内部包括一个通过电阻测量来确定潮湿度的元件和一个测量温度的元件。产品可靠性高,稳定性好,信号传输方面可以达20米以上,仅此这点,就可以在很多同等价位的传感器中脱颖而出。因为是集成化,所以是单线制串行接口,与M0的PIO3_2引脚连接。对于每一个DHT11在出厂之前都经过严格的检测,确保产品的质量,功耗低,体积小也是其显著的优势。2.DHT11的实物图如图图3.DHT11的引脚与主控芯片接口如图图4.DHT11的引脚定义(1)VDD供电引脚3.5-5.5V直流电源(2)DATA串行数据,因为只需要发送数据。(3)GND接地,也就是接电源负极。(4)NC空脚,悬空引脚。5.DHT11的相关参数相对湿度分辨率0.1%RH16Bit精确度25℃±2%RH-40~80℃±5%RH温度分辨率0.1%RH16Bit量程范围25℃±0.2℃-40~80℃±1℃6.DHT11的工作原理通讯方式:DHT11的通讯与同步用的是DATA,所采用的是单总数据格式操作流程:一般是高位先出,输出完整的数据为40位数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和通信过程:当没有信号时,DHT11是低功耗模式,当出现开始信号时,变为高速模式,等到M0发出开始的信号结束,DTH11发出反馈信号,字节数为40位,并进行一次数据采集,即温度和湿度的采集。当没有接收到信号时,它不会主动进行数据采集,当在采集结束后,由高速模式转换为低速模式。7.DHT11的通讯请求(1)DHT11能开始采集数据,即检测到开始信号的要求是,M0将总线拉低,而且拉低的值必须大于18ms,此时等待DHT11的实时响应,当没有工作时为高电平。(2)当M0的开始信号结束后,DHT11开始工作,反馈80微秒的低电平,通过延时20到40微秒,M0读取其的反馈信号并且发送开始信号,同时变换模式,总线上拉电阻。DHT11的通讯请求如图图8.DHT11的数据传输当总线处于工作状态时,说明DHT11反馈数据了,那么在等返回的信号结束后,再把总线升高到80微秒,其中开始的时候都是以50微秒为一位数据。DHT11的数据传输如图所示图9.数字1和0信号表示方法(1)表示方法如下图所示,数据开始传输的标志为,总线被DHT11拉低50微秒时。(2)当总线值在26到28微秒时,传送的数据值是0,当传送的值是0时,那么总线的值是70微秒。图3.3.2光照传感器ISL29003ISL29003的基本概述ISL29003是一种集成的传感器,它是用来采集光照信息的元件,内部配有ADC模块和IIC总线,主要功能是采集仓库环境中的光照,并且从模拟量转换为数字量,与同类型的光传感器相比,性能优越,误差小,稳定性好。ISL29003的基本特性通过I2C范围选择范围1:0勒克斯至1000勒克斯范围2:0勒克斯至4000勒克斯
范围3:0勒克斯至16000勒克斯
范围4:0勒克斯至64000勒克斯16位分辨率可调分辨率:65勒克斯可上、下阈值中断简单输出代码,与勒克斯直接成比例2.5v至3.3v供应6LdODFN(2.1mmx2mm)Pb-free(通过无铅认证)ISL29003的实物图如图图ISL29003的原理图如图图3.3.3RFID信息采集CY144431.芯片概述CY-14443A系列射频读写模块采用基于ISO14443标准的非接触卡读卡机专用芯片,采用0.6微米CMOSEEPROM工艺,支持ISO14443typeA协议,支持MIFARE标准的加密算法。芯片内部高度集成了模拟调制解调电路,只需最少量的外围电路就可以工作,支持UART接口(-C),IIC接口(-U),或者SPI接口(-P),数字电路具有TTL、CMOS两种电压工作模式。该技术建立在多项技术基础上,如无线电通信技术、数据库技术和计算机技术等,具有防水、耐高温、使用寿命长、加密存储数据、较高的实时定位精度和低廉的系统实现成本等优点。智能仓储需要实时采集仓库内各个作业环节的数据信息,对数据的准确性和流程的自动化要求较高,因此该技术在物流业得到了非常广泛的应用。2.CY14443的基本性能SPI高速串行接口;能自动感应到靠近天线区的卡片,并产生中断信号;采用高集成ISO14443A读卡芯片,支持MIFARE标准的加密算法;具有TTL/CMOS两种电压工作模式,工作电压3-5.5V;采用工业级高性能处理器,内置硬看门狗,具备高可靠性;抗干扰处理,EMC性能优良;把复杂的底层读写卡操作简化为简单的几个命令;3.实物图如图图4.CY14443的原理图如图图5.CY14443射频模块工作时序图及工作方式如图图通讯速率不大于3Mbps,MSB在前,上升沿采样。模块工作在双工方式,即模块接受指令后才会做出应答,由于SPI接口发送数据的同时接受上一时钟周期的从机响应数据,因此在命令发送结束后,需要稍作延时,等待模块处理命令并做出响应,命令发送阶段,都会来上一次发送的命令和数据内容,可以用来作为校验,读响应时可以发送0数据给模块。3.3.4三轴加速度传感器MMA7455L1.芯片概述飞思卡尔的三轴加速度传感器MMA7455L超薄3轴加速度传感器是专为移动用户推出的新型传感器。众所周知,Freescale公司是一家领先级的在汽车领域、消费性电子、工业、网络和无线市场供应嵌入式半导体的国际性供应商。MMA7455L系列传感器是数字输出3轴加速度传感器,具有数字输出(I2C和SPI)功能和XYZ(3轴灵敏度)。在2g时灵敏度为64LSB/g,10位模式下8g时为64LSB/g,可选的重力加速度有2g,4g或8g其在待机模式时电流只需2.5uA,正常运行的时候电流为400uA,且具有低功耗和低电(2.4V-3.6V)的特点。MMA7455L具有强大的设计,可抗强度达10000g的冲击,可编程的阈值中断输出,可用于移动识别的水平检测和单击或双击识别。MMA7455L系列加速度传感器数字输出(I2C和SPI)功能可以简化与MCU或微处理器的通信。其包括一个有3个灵敏度(2g,4g,8g)重力选择的特性,这使得设计人员可以灵活的选择特定应用所需的重力检测水平。MMA7455L系列加速度传感器是需要快速响应时间、高灵敏度、低电流、低电压运行和小封装的便携消费电子产品的理想解决方案。2.主要特性低压操作:2.4V-3.6V
用于偏置校准的用户指定寄存器
可编程阀值中断输出
电平检测模式运动识别(冲击、震动、自由下落)
脉冲检测模式单脉冲或双脉冲识别
灵敏度
64
LSB/g
@
2g
/8g
10位模式
8位模式的可选灵敏度(±2g、±4g、±8g)
环境温度:-40-85摄氏度
可靠的设计、高抗震性(5000g)
外形尺寸:3mm*5mm*1mm3.实物图如图图4.MMA7455L的引脚说明MMA7455L包括14个引脚,能够同时测量X/Y/Z三个方向的加速度,它支持SPI/I2C总线,通过引脚CS进行选择,各引脚具体功能如表,引脚排列如图序号名称描述状态1DVDD_IO3.3V电源输入(数字)输入2GND地端输入3N/C空引脚,悬空或接地输入4IADDR0I2C地址0位输入5GND地端输入6AVDD3.3V电源输入(模拟)输入7CS片选,SPI使能(0),I2C使能(1)输入8INT1/DRDY中断1/数字就绪输出9INT2中断2输出10N/C空引脚,悬空或接地输入11N/C空引脚,悬空或接地输入12SDOSPI串行数据输出输出13SDA/SDI/SDOI2C串行数据线输出/SPI串行数据输入/3-wire接口串行数据输出双向/输入/输出14SCL/SPCI2C/SPI时钟信号输出输入表图3.3.5ZigBee无线通信设备ZICM24101.芯片概述ZICM24系列的ZigBee模块是美国赛尔公司基于ZIC2410芯片改装设计之后的产品。目前是很优秀的ZigBee系统,他是单芯片的解决方案,它为拥有2.4GHZ的无线网络提,供优秀的网络保障,提供优秀的技术支持。当时开发时用了四个小组来研究不同的问题。分别为蓝牙技术小组,信息分享小组,高速无线网络技术小组和低速无线网络技术小组。我们所用的芯片就是第四小组研发出来的。因为他的高集成化,简化了设计,同时降低了功耗,节约了整体的成本,所以选用这款作为该项目的信息传输模块。2.主要特性以下为芯片的主要参数:传输距离:3000英尺无障碍传输距离最低睡眠电流:小于1μA
工作电压:2.1至3.3V;
接收电流:35mA;发送电流:44mA;
工作温度:-40-85℃;
保存温度:-55-125℃3.实物图如图图内部框图ZICM2410它拥有非常丰富的片内资源,如图我们可以得出,这款zigbee模块是可裁剪的,因而可以用于不同的场合,有了更广阔的应用平台。它拥有一个高速DMA,运行时能够极大的减轻MCU的处理计算压力,并且同时提高数据的传输速度。它还拥有I2S接口、串行通信接口、22个GPIO接口、时钟等片上资源,这为ZigBee的模块提供了硬件的基础。图5.ZigBee模块原理图如图图第四章系统移植和环境的搭建本章主要介绍关于作者所负责的M0的系统移植和环境搭建,A9的环境搭建由于篇幅所限,在此不多做介绍。4.1BOAWeb服务器移植BOA是一款非常小巧的Web服务器,源代码开放、性能优秀、支持CGI通用网关接口技术,特别适合应用在嵌入式系统中。BOA服务器主要功能是在互联嵌入式设备之间进行信息交互,达到通过网络对嵌入式设备进行监控,并将反馈信息自动上传给主控设备的目的。它是基于HTTP超文本传输协议的,Web网页是Web服务最基本的传输单元。嵌入式Web服务的工作基于客户机/服务器计算模型,由Web浏览器(客户机)和Web服务器(服务器)构成,也即著名的B/S结构。运行于客户端的浏览器首先要与嵌入式Web服务器BOA端建立连接,打开一个套接字虚拟文件,此文件建立标志着SOCKET连接建立成功然后客户端浏览器通过套接字SOCKET以GET或者POST参数传递方式向Web服务器提交请求,Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到请求后,根据请求的不同进行事务处理,返回HTML文件或者通过CGI调用外部应用程序,返回处理结果。服务器通过CGI与外部应用程序和脚本之间进行交互,根据客户端浏览器在请求时所采用的方法,服务器会搜集客户所提供的信息,并将该部分信息发送给指定的CGI扩展程序,CGI扩展程序进行信息处理并将结果返回给服务器,然后服务器对信息进行分析,并将结果发送回客户端在浏览器上显示出来。BOAWeb服务器移植操作流程:如图4.1图4.2BOA服务器测试流程:运行BOA:在开发板上运行./boa,界面如下就说明已经移植成功了:4.2CGI:通用网关接口CGI是一段程序,它运行在Server上,提供同客户端Html页面的接口,CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器.在这次项目中,CGI程序处理页面请求分别有:登录时查询用户输入用户名和密码时,查询数据库里的用户信息是否匹配图片拍摄,用户可以在页面输入要拍照的张数删除历史照片查看环境信息M0发送或接受的一系列的控制信号4.3SQLite移植SQLite,是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。此项目中我们用SQLite来管理从M0端接收的数据,将检测到的仓库信息存储起来。SQLite移植操作流程:如图4.3图4.34.5环境的搭建本小节介绍FS_11C14平台开发所需要的工具软件及其安装说明1.RealViewMDKRealViewMDK全称为RealViewMDK开发套件,该套件的产品模块包括uVision4.22aIDE、启动代码生成向导、设备模拟器、性能分析器、RealView编译器、MicroLib、RealViewReal-timeLibrary实时库。
安装过程:找到KeilRealViewMDK安装软件,然后双击,会出现如下图4.5.1所示的界面。选择好安装路径后,然后执行下一步,即可完成对软件的安装。图4.5.1安装RealViewMDK时还需要CoMDKPlugin应用程序。为了安装Keil连接CoLink的插件(注意安装路径与Keil路径相同,安装此应用是为了协调Keil的烧写)。2.CooCoxCoLinkExCooCoxCoLinkEx是一款支持SW调试的仿真器,它可以调试ARMCortexM3和CortexM0设备。CoLinkEx直接支持CoIDE和CoFlash,并与KeilRealviewMDK,IAREmbeddedWorkbench无缝集成。特征:支持CortexM0和CortexM3设备支持SW调试支持JTAG调试支持CoFlash,CoIDE,MDK和IAR3.USB的驱动为了方便程序的下载,在FS11C14开发板上,使用CoLink仿真器来完成程序的下载功能。在使用器件之前需要安装驱动程序,否则在直接使用CoLink仿真器进行程序的下载时会提示无法识别并且无法完成所要的功能。执行ColinkExUsbDriver应用程序,安装ColinkExUsbDriver-1.2.0如图4.5.3。插上ColinkEx就会检测到你的硬件。图4.5.34.IAREmbeddedWorkbench的安装嵌入式IAREmbeddedWorkbench适用于大量8位、16位以及32位的微处理器和微控制器,使用户在开发新的项目时也能在所熟悉的开发环境中进行。它为用户提供一个易学和具有最大量代码继承能力的开发环境,以及对大多数和特殊目标的支持。嵌入式I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025餐饮管理软件购买合同
- 撕刻版画课程设计
- 2024年科研实验用临时脚手架租赁合同
- 幼儿园外卖游戏课程设计
- 特教清洁工具课程设计
- 石家庄空气调节课程设计
- 电子课程设计课题
- 2024年电力工程设备进口与清关合同
- 2024年度暖通设备选型与采购合同模板3篇
- 碳酸二甲酯课程设计
- DB41T2781-2024公路大厚度水泥稳定碎石基层施工技术规程
- 2025年妇产科工作计划
- (T8联考)2025届高三部分重点中学12月第一次联考 生物试卷(含答案详解)
- 报关税费代缴服务合同
- 小学体育新课标培训
- 2024年应急预案知识考试题库及答案(共60题)
- 2024湖南株洲攸县城关国家粮食储备库员工招聘2人历年高频难、易错点500题模拟试题附带答案详解
- Python试题库(附参考答案)
- DB34∕T 4638-2023 创新型智慧园区建设与管理规范
- 有关于企业的调研报告范文(10篇)
- 重庆市康德卷2025届高一上数学期末检测模拟试题含解析
评论
0/150
提交评论