首页 毕业论文 基于ARM微控制器STM32的宾馆信息管理系统设计

毕业论文 基于ARM微控制器STM32的宾馆信息管理系统设计

举报
开通vip

毕业论文 基于ARM微控制器STM32的宾馆信息管理系统设计毕业论文基于ARM微控制器STM32的宾馆信息管理系统设计摘要本文在分析国内外商务旅馆以及嵌入式单片机的现状与发展趋势的基础上,针对旅馆安全化、智能化以及信息化的功能要求,设计了一个旅馆信息管理系统。系统以ARMCortex-M3内核的微控制器STM32F107VC为核心,一方面研究了主控器STM32的存储器结构,针对信息采集增加串口通信,并将信息经过AD转化器处理,暂存在Flash中,对于视频监视需要存储大容量的信息,通过扩展外设SDcard与USB来存储信息,以达到备份的目的;另一方面,通过10M/100M以太...

毕业论文 基于ARM微控制器STM32的宾馆信息管理系统设计
毕业论文基于ARM微控制器STM32的宾馆信息管理系统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 摘要本文在分析国内外商务旅馆以及嵌入式单片机的现状与发展趋势的基础上,针对旅馆安全化、智能化以及信息化的功能要求,设计了一个旅馆信息管理系统。系统以ARMCortex-M3内核的微控制器STM32F107VC为核心,一方面研究了主控器STM32的存储器结构,针对信息采集增加串口通信,并将信息经过AD转化器处理,暂存在Flash中,对于视频监视需要存储大容量的信息,通过扩展外设SDcard与USB来存储信息,以达到备份的目的;另一方面,通过10M/100M以太网模块、RJ45接口连接到Internet中从而实现智能家电的远程控制。再者,通过触摸屏LCD实现人机交互,可将智能家电的信息、视频信息及最近软件更新提示等内容显示出来,同时也可以通过触摸屏将相应的控制信息发送出去。使系统更加人性化,安全化。系统实现了信息的采集和显示、数据信息的自动更新,人机交互、视频监视以及对智能家电的远程控制等功能,完成了设计的要求。关键词:旅馆;微控制器STM32;信息存储管理AbstractThispaperanalyzestheglobalhotel,andtheEmbeddedsituationanddevelopmenttrend,basedonthehotelsecurity,intelligenceandinformationofthefunctionalrequirements,asaresultitneedtodesignahotelmanagementinformationsystem.ThissystemusethemicrochipbasedonthecoreofARMCortex-M3fromthemicrocontrollernamedSTM32F107VC,thesystemononehandofthemasterSTM32frameofmemory,addtheserialportcommunicationfordataacquisitionandprocessingofinformationthroughtheADconverter,temporarystorageinFlash,thevideomonitoringneedtostorelargeofinformation,byextendingtheSDcardandUSBperipheralstostoredatainordertoachievethepurposeofbackup;onotherhand,by10/100MEthernetmodule,RJ45interfacetoconnecttotheInternetinordertoachieveintelligenthomeappliancesremotecontrol.Furthermore,throughthetouchscreentoachievehuman-computerinteraction,thecontentofintelligentinformationappliances,videoinformationandrecentsoftwareupdatenotificationsandothercontentdisplayed,thetouchscreencanalsobesenttotheappropriatecontrolinformation.Makethesystemmoreuser-friendly,enhancesafety.Systemachievetheinformationcollectionanddisplay,dataautomaticallyupdated,human-computerinteraction,videosurveillance,remotecontrolofsmartappliancesandotherfunctionstocompletethedesignrequirements.Keywords:hotel;STM32microcontroller;informationstoragemanagement目录11概述11.1研究的目的和意义21.2国内外现状和发展趋势21.2.1旅馆行业国内外的现状及发展趋势41.2.2嵌入式单片机国内外现状61.3课题研究的主要内容72系统总体设计72.1系统总体 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 82.2各模块的功能介绍103硬件系统设计103.1ARMCortex-M3微处理系统103.1.1ARMCortex-M3内核介绍153.1.2STM32系列处理器选型203.1.3STM32时钟和复位系统223.1.4系统电源系统233.2触摸屏设计233.2.1触摸屏的工作原理243.2.2触摸屏驱动芯片与接口263.3信息采集模块263.3.1信息采集的硬件电路设计273.3.2视频压缩技术283.4存储模块283.4.1存储电路设计293.4.2DMA数据存储293.4.3SD卡数据转移模块303.4.4USB大容量存储323.5通信模块设计323.5.1CAN总线介绍333.5.2CAN总线接口电路343.5.3网络硬件电路设计364软件系统设计364.1系统软件流程364.1.1软件总体框架364.1.2系统流程图374.2独立看门狗程序设计384.3触摸屏流程图394.4信息采集模块404.5存储设计404.5.1DMA中断处理404.5.2软件的自动更新414.6通信软件设计435系统的仿真与调试435.1调试 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 435.2调试工具及调试过程435.2.1调试工具445.2.2集成开发及调试环境RealViewMDK475.2.3各功能模块调试536结论与展望54参考文献56致谢57附录1概述1.1研究的目的和意义随着科学技术的进步,以及科学知识的普遍推广,计算机的应用已普及到经济和社会生活的各个领域并发挥着越来越重要的作用。在人们生活水平提高的同时,人们的安全防范意识也得到了提高。中型商务旅馆信息管理系统也就应该把安全作为重要的竞争手段。智能化、安全化以及信息化是中型旅馆的发展趋势,智能化在于更加人性化,用户可以自己定义不同场景智能信息家电的响应;安全化是实时监控非法闯入(视频监控)、火灾、紧急呼救的发生;信息化是提供最新的股市情报、新闻、天气预报、电视节目预报、甚至当前公路上的交通流量状况,还可以自动管理用户的水电账单、银行和信用卡账户等财务信息,电话通话时间、费用结算等。[1]中型商务旅馆智能化、安全化及信息化的实践意义主要表现在以下几点:1)提高旅馆经济效益借助现代科技的旅馆内部多种管理信息系统和基于Internet的旅馆集团管理信息系统,不仅可以降低旅馆运营成本、提高管理效率、全面整合旅馆资源,而且数字信息产品培植了旅馆新的营业收入增长点。2)强化核心竞争能力信息时代互联网的发展和应用,改变了旅馆的营销方式、拓宽了营销领域、丰富了营销技术,如何借助网络的信息化平台开展旅馆网络营销、开展有特色的服务、优化酒店管理的流程,成为酒店业竞争的新内容,这对我国众多的经济型酒店具有重大的意义。同时企业经营管理思想和理念可以说是旅馆的核心竞争力之所在,旅馆信息化建设的过程也是贯彻实施管理理念的重要途径,谁先采用了先进的科技手段,谁就将增加自身的核心竞争力,谁就将抢占市场的先机。3)适应未来发展需要从目前我国旅馆的客源市场构成来看,随着中国对外开放和参与国际经济交流和合作的不断深入,旅游业的蓬勃发展,来华外国客人的数量逐年增加,世界旅游组织预测中国在2020年将成为世界最大旅游目的地,接待旅游者人数将达13710万人次,庞大数量的接待任务需要高效率的信息流程管理,信息化商务旅馆将为客人营造良好的网络环境,顺应我国制定的旅游信息化战略决策,更好的适应未来旅馆发展的需要。1.2国内外现状和发展趋势1.2.1旅馆行业国内外的现状及发展趋势1)旅馆行业的现状在酒店信息化建设上,大多数酒店只重视硬件的高档配置,而没有考虑实际和未来的发展需要,除了少数高档次、大型饭店和饭店集团外,很少配备专业计算机网络人才,对系统的开发缺乏专业论证,总想一步到位,事实上酒店信息化设计实施过程也是贯彻酒店经营管理理念和经营思路的过程,是将信息化技术和酒店服务相结合的新发展,它完全改变了酒店的经营理念和竞争模式,大多数酒店经营者没有把信息化建设与提高酒店的经营管理、竞争和长期效益结合起来。另一方面,我国国内饭店集团与国外饭店集团相比规模还是很大,饭店集团内部缺少较为先进的信息网络系统,早在1965年假日饭店集团就建立了自己独立的电脑预订系统,而国内饭店集团在这方面的投入和研发不足。[14]2)未来酒店的发展(1)转化观念,再造流程不同的酒店管理者对信息化持有不同的态度和认识,国内大多数酒店经营者认为酒店属于传统的服务行业,通常把投资信息化与影响和改善酒店的经营、管理效率等方面的功效挂起钩来,没有把信息化的价值融入酒店自身价值链在竞争中发挥的作用挂起钩来。现在酒店管理流程正由传统的资金流导向高速信息流和服务流导向转变,酒店信息化得过程实际上市管理方式和服务流程的再而IT行业属技术密集型行业,由于这种行业间本质上的差异,致使很多IT公司尽管竭尽全力将最先造,彻底的改变着酒店。(2)加强管理,统一 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 由于酒店业属于劳动密集型服务行业,进的产品设备或解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 推销给酒店,单就客房网络的具体实施来说,就有ISDN、ADSL、XDSL、802.11无线网卡、光纤、双绞线等方案,然而其结果通常是酒店付出了昂贵的代价却不尽如人意,供应商和酒店没有利益上的一致性,技术功能与酒店需求错位,因而在酒店信息化得过程中需实施行业认证管理,制定统一的酒店行业信息化标准和等级,统一对酒店信息化内涵的理解,规范IT公司在酒店信息化中技术开发。(3)内外兼修,多方参与酒店信息化总体上可以分为内部和外部两个方面,内部是基于局域网的管理信息系统,外部是基于互联网的电子商务,内部信息化是外部信息化的基础,外部信息化是内部信息化得延展,在酒店信息化进程加快得今天,国内酒店要内部和外部两个方面同时着手,同时可以与第三方旅游网站网络预订合作,增加产品信息,争取对客房分销渠道的控制权。(4)长远规划,系统开发酒店信息化是一项复杂的系统工程,酒店需要投入大量的人力、物力和资金。因而,酒店信息化应该根据自己的规模和目标,从业务流程重组、系统设计、产品选型、工程实施、工程监理等全面考虑,提出总体方案设计,并由行业管理部门组成专家组,对总体方案进行论证和审核,以确保方案的先进性、可行性。(5)逐步导入,不断升级酒店在资源的结构上有非常鲜明的即时响应特征,如何提高自有资源的使用效率和社会资源的配置效率应该是最关心的问题。来自客户对会议、客房、餐饮的预定需要信息,不停的通过在线或者离线的方式传到酒店方,那么酒店就应该在自己的细分市场内为能够实现或者潜在的客户提供快速的预定服务,从而链动对其他内部的或者外部的“供”的资源的配置,这个也就是海尔说的“前台一张(需求认定)网,后台一条(供应满足)链。”1.2.2嵌入式单片机国内外现状现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。嵌入式单片机可以称为后PC时代和后网络时代的新秀。与传统的通用计算机,数字产品相比,利用嵌入式单片机的产品有其自己的特点:[3]1)由于嵌入式单片机采用的是微处理器,实现相对单一的功能,所以往往不需要大量的外围器件。因而在体积上,功耗上有其自身的优势。相比之下,一个使用WindowsCE的PDA,仅靠机内电源就可以使用几天,而任何一台笔记本仅仅能够支持3小时左右。2)嵌入式单片机是将计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,是一门综合技术学科。3)嵌入式单片机是一个软硬件高度结合的产物。为了提高执行速度和系统可靠性,嵌入式单片机中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。4)为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式单片机要求配备标准的一种或多种网络通信接口。5)因为嵌入式单片机往往和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式单片机产品一旦进入市场,具有较长的生命周期。未来的几年内,随着信息化,智能化,网络化的发展,嵌入式单片机技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑)工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。嵌入式单片机是这个后PC时代的擎天之柱。我们有理由相信,未来的电子技术就是嵌入式单片机的天下。1.3课题研究的主要内容对非法闯入(视频监控)、火灾、紧急呼救的安全防范;对旅馆内部消费电子产品的智能控制;可以通过语音识别技术实现对家用电器的智能控制:智能信息家电可以通过服务器直接从制造商的服务网站上自动下载、更新驱动程序和诊断程序,实现智能化的故障自诊断维护等。安全防范:智能安防可以实时监控非法闯入(视频监控)、火灾、紧急呼救的发生。消费电子产品的智能控制:例如可以自动控制加热时间、加热温度的微波炉,可以自动调节温度、湿度的智能空调,可以根据指令自动搜索电视节目并摄录的电视机/录像机等等。交互式智能控制:可以通过语音识别技术实现智能家电的声控功能;通过各种主动式传感器(如温度、声音、动作等)实现智能信息家电的主动性动作响应。用户还可以自己定义不同场景智能信息家电的响应。自动维护:智能信息家电可以通过服务器直接从制造商的服务网站上自动下载、更新驱动程序和诊断程序,实现智能化的故障自诊断、新功能自动扩展。2系统总体设计2.1系统总体设计方案根据中型商务旅馆信息管理系统要实现的功能和实际情况的需求,选用意法半导体(ST)公司STM32增强型系列STM32F107VC,该芯片的最高工作频率为72MHz。系统设计的目标是对旅馆进行实时监控,对智能家电的智能控制,人机交互。系统总体框架图如图2.1所示,该系统主要有触摸屏系统、信息采集模块、存储模块和通信模块四部分组成。SHAPE\*MERGEFORMAT图2.1总体设计框架图在系统结构图中,各监视器之间都有CAN总线网络接口,满足网络总线协议规范。监视信息可以通过总线接口上传到监控平台(人机接口)显示,同时监视平台也可以对信息进行处理,并将相关的信息进行存储(备份),从而达到远程控制的目的。STM32F107微控制器制作的各功能模块框图,如图2.2所示。图2.2各模块框图2.2各模块的功能介绍人机交互模块通过触摸屏实现对信息的显示(输出),同时可以对信息进行控制(输入)。在硬件上主要通过LCD及其对相应的驱动芯片进行相应的管理。在这里将相关的驱动程序和界面设置等程序放到相应的驱动芯片中,启动后微控制器启动相关的程序,从而实现触摸屏的人机交互。信息采集模块在这里信息采集主要是微控制器控制通过串口对视频监控信息的采集,将搜集到的图像信息通过AD转换器转换,再将相应的信息存储到SDcard或是USB外接的优盘。存储模块存储模块主要是通过扩充外围设备达到大容量的存储的目的,增加了SDcard和USB模块来扩大存储;存储信息采集模块的信息(备份),同时还有通信模块中下载的智能家电的驱动程序。通信模块通信模块要实现远程控制,通过增加一个以太网10/100MAC模块,实现网络连接,可以将远方的指令传达到指定的智能家电,达到远程控制的目的。3硬件系统设计3.1ARMCortex-M3微处理系统3.1.1ARMCortex-M3内核介绍ARMCortex发布于2005年,为各种不同性能需求的应用提供了一整套完整的优化解决方案,该系列的技术划分完全针对不同的市场应用和性能需求。目前ARMCortex定义了三个系列,其中Cortex-M系列是针对价格敏感应用领域的嵌入式处理器,只支持Thumb-2指令集,强调操作的确定性,以及性能、功耗和价格的平衡。为降低器件成本,Cortex-M3处理器采用了与系统部件紧耦合的实现方法,来缩小芯片面积,其内核面积比现有的三级流水线内核缩小了30%。Cortex-M3处理器实现了Thumb-2指令集架构,具有很高的代码密度,可降低存储器需求,并能达到非常接近32位ARM指令集的性能。ARMCortex-M3处理器是一个低功率处理器,特点是门数低、中断延迟短且调试成本低。它专用于要求快速中断响应的深层嵌入式应用程序,包括微控制器、汽车和工业控制系统。对于系统和软件开发,Cortex-M3处理器具有以下优势:[5]小的处理器内核、系统和存储器,可降低器件成本;完整的电源管理,很低的功耗;突出的处理器性能,可满足挑战性的应用需求;快速的中断处理,满足高速、临界的控制应用;可选的存储器保护单元(MPU),提供平台级的安全性;增强的系统调试功能,可加快开发进程;没有汇编代码要求,简化系统开发;宽广的适用范围:从超低成本微控制器到高性能SoC。图3.1Cortex-M3处理器系统方框图注释:虚线框中的MPU和ETM是可选组件。表3.1方框图中的缩写及其定义 缩写 含义 NVIC 嵌套向量中断控制器 SYSTICKTimer 一个简单的周期定时器,用于提供时基,亦被操作系统所使用 MPU 存储器保护单元(可选) CM3BusMatrix 内部的AHB互连 AHBtoAPB 把AHB转换为APB的总线桥 SW-DP/SWJ-DP 串行线调试端口/串行线JTAG调试端口。通过串行线调试协议或者是传统的JTAG协议(专用于SWJ-DP),都可以用于实现与调试接口的连接。 AHB-AP AHB访问端口,它把串行线/SWJ接口的命令装换成AHB数据传送。 ETM 嵌入式跟踪宏单元(可选组件),调试用。用于处理指令跟踪。 DWT 数据观察点及跟踪单元,调试用。这是一个处理数据观察点功能的模块。 ITM 仪器化跟踪宏单元 TPIU 跟踪单元的接口单元。所有跟踪单元发出的调试信息都要先送给它,它再转发给外部跟踪捕获硬件的。 FPB Flash地址重载及断电单元 ROM表 一个小的查找表,其中存储了配置信息。Cortex-M3处理器紧密结合一个可配置的嵌套向量中断控制器(NVIC),提供了工业领先的中断处理性能。标准的NVIC实现包括一个不可屏蔽中断(NMI),加上具有优先级的32个通用物理中断。通过简单的综合选择,控制器可以被配置为1-244个物理中断。另外,抢占式优先级的数目,在综合时配置到255个。与处理器内核的紧密结合,使处理器可以更快地执行中断服务程序(ISR)。典型情况下,从中断发生到进入服务可减少70%的周期数,这是通过寄存器硬件堆栈,加上退出和重启多寄存器Load-Store操作完成的。这种实现也意味着不需要任何汇编代码来完成寄存器数据传送,大大简化了代码。NVIC采用尾链(Tail-Chaining)技术,简化了在激活与挂起的中断之间的数据传送。它用简单的6个周期的取指,取代了传统的串行堆栈通常需要超过30个时钟周期的Push-Pop操作,与ARM7TDMI相比较有很更快的中断响应速度,如图3.2所示。为了提高低功耗特性,NVIC设计了二种睡眠方式。其深度睡眠(Deep-Sleep)功能可以输出信号到其他系统模块,使整个器件快速关闭。NVIC为低延迟实现异常处理提供了方便。主要有以下特征:[7]可配置1~240个外部中断。可配置优先级位数3~8位。支持电平和脉冲(边沿)中断。可以动态重新分配中断优先级。优先级分组。支持尾链(tail-chaining)中断。Cortex-M3中断响应与ARM7TDMI比较如图3.2所示:图3.2Cortex-M3与ARM7TDMI中断响应速度比较Cortex-M3处理器在高性能内核基础上,集成了多种系统外设,可以满足不同应用对成本和性能的要求。处理器是全部可综合、高度可定制的(包括物理中断、系统调试等),Cortex-M3还有一个可选的细粒度的(fine-granularity)存储器保护单元(MPU)和一个嵌入式跟踪宏单元(ETM)。处理器内核是ARMv7-M架构的。Cortex-M3内核是建立在一个高性能哈佛结构的三级流水线基础上的,可满足事件驱动的应用需求。通过广泛采用时钟选通等技术,改进了每个时钟周期的性能,包括单周期的32x32乘法和硬件除法,获得了优异的能效比。另外,通过一个基于堆栈的异常模式的实现,显著地缩小了内核的物理尺寸。Cortex-M3内核实现了Thumb-2指令集一一传统Thumb指令集的一个超集,既获得了传统32位代码的性能,又具有16位的高代码密度。Cortex-M3内核具有如下特点:ARMv7-MThumb-2指令集架构(ISA)的子集,包括了所有16位和32位的Thumb-2基本指令,不包含SIMD,DSP和ARM系统访问。采用哈佛处理器结构,在取指的同时可以读取/存储数据。三级流水线。单周期32位乘法。硬件除法。Thumb和Debug状态。Handler和Thread模式。处理器状态自动保存与恢复,保证低延迟的ISR进入和退出。可打断-继续LDM/STM,PUSH/POP。支持ARMv6的BE8/LE(大小端)。ARMv6不对齐访问。3.1.2STM32系列处理器选型STM32系列所有产品都基于32位ARMCortex-M3内核,主要特性包括工业标准的ARM框架,处理速度提高35%,代码量减少45%,嵌入式快速中断控制器支持延时操作和实时性能。STM32产品系列如表3.2所示。表3.2STM32产品系列 型号 Flash(字节) SPI I2C 定时器 主振荡器MHz 看门狗 复位电路 DMA通道 STM32F101 多达256/512K 1~3 1~2 2~4个16位 4~16 2 有 7~12 STM32F102 多达256/512K 1~3 1~2 2~4个16位 4~16 2 有 7~12 STM32F103 多达256/512K 1~3 1~2 2~4个16位 4~16 2 有 7~12 STM32F105 多达256/512K 1~3 1~2 2~4个16位 4~16 2 有 7~12 STM32F107 多达256/512K 1~3 1~2 2~4个16位 4~16 2 有 7~12 型号 CPU(MHz) SRAM(字节) ADC USB2.0 CAN2.0B 其它 STM32F101 36 16K 1个12位 无 无 无 STM32F102 48 16K 1个12位 全速 无 无 STM32F103 72 20~64K 2~3个12位 全速 1个 1~2个专用PWM STM32F105 72 20~64K 2个12位 OTG全速 2个 无 STM32F107 72 20~64K 2个12位 OTG全速 2个 EthernetIEEE1588全新STM32互连型(Connectivity)系列微控制器增加一个全速USB(OTG)接口,使终端产品在连接另一个USB设备时既可以充当USB主机又可充当USB从机;还增加一个硬件支持IEEE1588精确时间协议(PTP)的以太网接口,用硬件实现这个协议可降低CPU开销,提高实时应用和联网设备同步通信的响应速度。全新互连型系列还是STM32家族中首款集成两个CAN2.0B控制器的产品,让开发人员能够研制可连接两条工业标准CAN(控制器区域网)总线的网关设备。此外,新系列微控制器还支持以太网、USBOTG和CAN2.0B外设接口同时工作,因此,开发人员只需一颗芯片就能设计整合所有这些外设接口的网关设备。STM32互连型系列产品强化了音频性能,采用一个先进的锁相环机制,实现音频级别的I2S通信。结合USB主机或从机功能,STM32可以从外部存储器(U盘或MP3播放器)读取、解码和输出音频信号。设计人员还可以在新系列微控制器上开发人机界面(HMI)功能,如播放和停止按键,以及显示器界面。这个功能使其可用于各种家庭音响设备,如音响底座系统、闹钟/音乐播放器和家庭影院。新系列产品整合先进的面向连接的外设,标准的STM32外设(包括一个PWM定时器),高性能的32位ARMCortex-M3CPU,这些特性使开发人员可以在设备上(如家电、楼宇或工业自动化)整合多种功能,如马达控制、用户界面控制和设备互连功能。其它目标应用包括需要联网、数据记录或USB外设扩展功能的系统,如病患监视、销售终端机、自动售货机和保安系统。包括新的互连型系列在内的STM32系列微控制器具有多种配套软件和开发工具,其中包括意法半导体免费提供的软件库以及第三方工具厂商的广泛支持。意法半导体还将推出一个新的评估板,目前正在向大客户提供STM32F105和STM32F107互连型系列的样片。图3.3STM32F107VC设计中用到网络互联模块,因此选择了更合适的STM32F107VC,如图3.3所示,STM32F107VC是STM32增强型系列产品。使用高性能ARMCortex-M332位的RISC内核,工作频率为72MHz,快速可嵌套中断,6~12个时钟周期,内置高速存储器(高达64K~256KB Flash,高达64KB的SRAM),丰富的增强I/O端口和连接到两条APB总线的外设,STM32F107VC具体模块如下:1)网络通信功能  一个RJ45网络接口,支持10M/100M自适应网络  一个RS485网络通讯接口  两个CAN网络通讯接口2)人机交互接口  一个3.2寸大屏幕320*240,26万色TFT-LCD,支持8/16位总线接口,镜面屏,超高高度电阻式触摸屏,含专业高精度触摸屏控制芯片(RSM1843)3)四个LED发光管,一个电源发光管4)两个GPIO按键5)一个RESET按键6)串行通信接口两个RS232连接插座(DB9)  一个mini型USB插座,支持USBOTG,配备专业USBOTG转接线两个CAN连接插座SPI接口IIC接口7)外部存储单元一个SD卡座(不含SD卡),提供文件系统(FATFS)USBOTG功能,支持外接优盘8)IIC接口外接EEPROM9)外接两路ADC输入通道10)一路电位器输入模拟信号  11)USBOTG接口,支持最新USB技术12)一个JTAG/SWD调试接口(20pin)13)供电方式:5V电源适配器或USB供电,通过跳线选择此芯片可以满足工业、医疗、楼宇自动化、家庭音响和家电市场多种产品需求。3.1.3STM32时钟和复位系统在STM32中,有五个时钟源:高速外部时钟(HSE)、低速外部时钟(LSE)、高速内部时钟(HSI)、低速内部时钟(LSI)、锁相环倍频输出(PLL)。1)高速外部时钟(HSE),可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。2)低速外部时钟(LSE),接频率为32.768kHz的石英晶体。3)高速内部时钟(HSI),RC振荡器,频率为8MHz。4)低速内部时钟(LSI),RC振荡器,频率为40kHz。5)锁相环倍频输出(PLL),其时钟输入源可选择为HSE、HSE/2或者HSI/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。另外,STM32还可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE或者系统时钟。系统时钟SYSCLK,它是供STM32中绝大部分部件工作的时钟源。系统时钟可选择为PLL输出、HSI或者HSE。系统时钟最大频率为72MHz,它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频。其中AHB分频器输出的时钟送给5大模块使用:1)送给AHB总线、内核、内存和DMA使用的HCLK时钟。2)通过8分频后送给Cortex的系统定时器时钟。3)直接送给Cortex的空闲运行时钟FCLK。4)送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用。5)送给APB2分频器。APB2分频器可选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器1使用。另外,APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。在以上的时钟输出中,有很多是带使能控制的,例如AHB总线时钟、内核时钟、各种APB1外设、APB2外设等等。当需要使用某模块时,记得一定要先使能对应的时钟。需要注意的是定时器的倍频器,当APB的分频为1时,它的倍频值为1,否则它的频值就为2。连接在APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。注意USB模块虽然需要一个单独的48MHz时钟信号,但它应该不是供USB模块工作的时钟,而只是提供给串行接口引擎(SIE)使用的时钟。USB模块工作的时钟应该是由APB1提供的。连接在APB2(高速外设)上的设备有:UART1、SPI1、Timerl、ADC1、ADC2。复位系统表3.3Cortex-M3各种复位信号 复位信号 描述 上电复位 在器件上电时需要把复位置为有效(assert),把处理器核心和调试系统一起复位 系统复位 只影响处理器核心、NVIC(与调试相关的除外)以及MPU,不复位调试系统 测试复位 只复位调试系统图3.4Cortex-M3芯片内部复位信号和其作用范围示意图3.1.4系统电源系统采用外部5V电源输入、USB接口提供5V电源输入5VDC电源适配器连接到CN15,电源选择跳线JP1插到1-2处,选择外部5V电源供电。把USB电缆连接到USB口CN7,电源选择跳线JP1插到2-3处,选USB5V电源供电。图3.5电源供电图3.2触摸屏设计3.2.1触摸屏的工作原理电阻式触摸屏是电阻式家族中应用最广、最普及的一种。这种触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。如图3.6所示。图3.6触摸屏原理图3.2.2触摸屏驱动芯片与接口一个3.2寸大屏幕320*240,26万色TFT-LCD,支持8/16位总线接口,镜面屏,超高高度。电阻式触摸屏,含专业高精度触摸屏控制芯片(RSM1843)。如图3.7所示。图3.7触摸屏驱动芯片RS1843彩色TFTLCD接口描述20X240TFT彩色LCD数据线连接到STM32F107VC的PE口。4个红色LED(LD2、3、4、5)连接到标准IO口PD2、3、4、7用于显示。表3.3引脚定义如下: 引脚 信号描述 对应IO 引脚 信号描述 对应IO 引脚 信号描述 对应IO 1 3V3 电源 2 GND 地 3 DB00 PE0 4 DB01 PE1 5 DB02 PE2 6 DB03 PE3 7 DB04 PE4 8 DB05 PE5 9 DB06 PE6 10 DB07 PE7 11 DB08 PE8 12 DB09 PE9 13 DB10 PE10 14 DB11 PE11 15 DB12 PE12 16 DB13 PE13 17 DB14 PE14 18 DB15 PE15 19 CS PC6 20 RS PD13 21 WR PD14 22 RD PD15 23 RESET RESET 24 EN NC 25 MISO PC11 26 INT PC5 27 MOSI PC12 28 LE PB2 29 SCLK PC10 30 F_CS PC7 31 TP_CS PC8 32 SD_CS PC9 3.3信息采集模块3.3.1信息采集的硬件电路设计这里我们不考虑外界视频监控器是什么型号的,主要设计为外界视频搜集的硬件支持条件,通过串口接受信号并将信号经过AD,将信息传递给STM32F107,而后将信息显示或是存储。如图3.8所示。图3.8信息采集流程图将外部采集的信息通过USART1_TX和USART1_RX经MAX3232送至STM32F107。电路原理如图3.9所示。图3.9串口转换原理图在信息采集过程中离不开AD转换器,AD转换器电路图如图3.10所示。图3.10ADC_DAC3.3.2视频压缩技术由于信息采集模块需要采集大量的视频信息,考虑到实际情况,需要将视频信息压缩一下,以减小存储空间。视频压缩的原理如下:视频图像数据有极强的相关性,也就是说有大量的冗余信息。其中冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术。去时域冗余信息使用帧间编码技术可去除时域冗余信息,它包括以下三部分:运动补偿运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。运动表示不同区域的图像需要使用不同的运动矢量来描述运动信息。运动矢量通过熵编码进行压缩。运动估计运动估计是从视频序列中抽取运动信息的一整套技术。注:通用的压缩标准都使用基于块的运动估计和运动补偿去空域冗余信息主要使用帧间编码技术和熵编码技术:变换编码帧内图像和预测差分信号都有很高的空域冗余信息。变换编码将空域信号变换到另一正交矢量空间,使其相关性下降,数据冗余度减小。量化编码经过变换编码后,产生一批变换系数,对这些系数进行量化,使编码器的输出达到一定的位率。这一过程导致精度的降低。熵编码熵编码是无损编码。它对变换、量化后得到的系数和运动信息,进行进一步的压缩。通过视频压缩,可以把信息数据量压下来,以压缩形式存储、传输,既节约了存储空间,又提高了通信干线的传输效率。3.4存储模块3.4.1存储电路设计由于存储的信息容量比较大(如视频信息等),在这里选择利用SDcard或是大容量的USB来存储信息。而相应的驱动程序写入FlashAT45DB161D芯片中,芯片电路如图3.11所示。图3.11AT45DB161D应用电路图3.4.2DMA数据存储直接存储器存取DirectMemoryAccess(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU任何干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。DMA的传送数据的过程:(1)由三个阶段组成1)传送前的预处理:由CPU完成以下步骤向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数,DMA的功能控制信号。2)数据传送:在DMA卡控制下自动完成3)传送结束处理DMA卡上应包括通用接口卡的全部组成部分,并多出如下内容:主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等(2)一次完整的DMA传送过程:DMA预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序(3)DMA控制在I/O设备与主存间交换数据:准备一个数据,向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向CPU发中断请求。3.4.3SD卡数据转移模块根据SD卡与主控制器的通信协议不同,SD卡提供两种访问模式有SDIO模式和SPI模式。所用通信模式不同,SD卡引脚的功能也不同。在具体通信过程中,主机只能选择其中一种通信模式。通信模式的选择对于主控制器来说是透明的,卡会自动检测复位命令的通信协议模式,而且通信模式一旦选定,系统在通电情况下不能改变。本文选择SD模式,SD卡挂接在STM32的SDIO总线上,外部主控制器访问卡的外部信号线并不与存储器单元直接相连,而是通过卡的接口控制器与存储器单元接口相连。这样主控制器并不直接访问存储器,而是通过卡的接口控制器来访问存储器。卡内存储单元的读/擦/写由卡接口控制器根据主控制器的命令自动处理完成,而主控制器无须知道卡内是如何操作、管理存储单元的,这将大大减轻主控制器对存储器操作的负担。SD卡的接口电路图如图3.12所示。图3.12SD卡接口电路图3.4.4USB大容量存储通用串行总线(USB,universalserialbus)由于具有高传输速率、即插即用和易于扩展等优点而被广泛应用于计算机外设、数字设备和仪器仪表等领域。USBOTG是USB2.0规范的补充,结合了对移动应用友好的新特性,包括低功耗、更小的USB接头以及在相同的USB端口上增加了双重角色的功能(作为主机和外设的功能)。OTG通过在没有计算机的情况下,相互之间对等连接使传统的只能作为USB外设的移动产品的性能和连接性得到扩展。USB是一个非常严格的标准协议,对线缆、插头和插座等有很严格的规范要求,这对防止将插头插错及提高易用性提供了保障。在最初的协议版本中,规定USB接头有4条线:电源、D-、D+和地线。我们暂且把这样的接头叫做标准的USB接头,由于后来USBOTG的出现,又增加了MINIUSB接头。MINIUSB接头有5条线,多了一条ID线,用来标识身份(主机还是从机)。其中ID线接地为A类设备,ID悬空为B类设备。作为A类设备时向VBUS供电,默认为USB主机角色,通过HNP协议(主机协商协议)切换到USB设备角色;作为B类设备时默认为USB设备角色,通过HNP协议(主机协商协议)切换到USB主机角色。USBOTG接口电路图如图3.13所示。图3.13USB接口电路图3.5通信模块设计3.5.1CAN总线介绍控制器局域网CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。现在CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN总线有以下特点:[12]1)CAN可以是对等结构,即多主机工作方式,网络上任意一个节点可以在任意时刻主动地向网络上其它节点发送信息,不分主从,通讯方式灵活。2)CAN网络上的节点可以分为不同的优先级,满足不同的实时需要。3)CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送信息时,优先级低的节点自动停止发送,在网络负载很重的情况下不会出现网络瘫痪。4)CAN可以点对点、点对多点、点对网络的方式发送和接收数据,通讯距离最远10km(5kb/s),节点数目可达110个。5)CAN采用的是短帧结构,每一帧的有效字节数为8个,具有CRC校验和其它检测措施,数据出错几率小。CAN节点在错误严重的情况下,具有自动关闭功能,不会影响总线上其它节点操作。6)通信介质采用廉价的双绞线,无特殊要求,用户接口简单,容易构成用户系统。3.5.2CAN总线接口电路整个转换过程可分为:CAN总线转换到RS-485总线和RS-485总线转换到CAN总线。CAN总线转换到RS-485总线的流程如下:微控制器接收到CAN总线节点发送的报文,根据CAN总线规定的数据格式取出报文的有用信息,然后由微控制器通过MAX485将信息发送到RS-485总线。而RS-485总线转换到CAN总线则是上述流程的逆过程。总线电路图如图3.14和3.15所示。图3.14CAN总线接口电路图3.15RS485总线接口电路在整个转化过程中都需要STM32F107在中间控制。3.5.3网络硬件电路设计网络模块提供RS232通信接口,网络模块与MCU间是通过串行口进行通信的,在STM32F107集成了以太网10/100MAC模块,以太网模块包括一个符合802.3协议的MAC(介质访问控制器)和专用的DMA控制器。该模块支持默认的独立于介质的接口(MII)和精简的独立于介质的接口(RMII),通过AFIO_MAPR寄存器的选择位,可以选择使用哪个接口。DMA控制器通过AHB主和从接口,分别访问MAC控制器和存储器。以太网10/100MAC模块电路图如图3.16所示。图3.16以太网10/100MAC模块电路图4软件系统设计4.1系统软件流程4.1.1软件总体框架设计中的软件部分主要由以下几个部分组成:看门狗、中断控制器(NVIC)设置和中断程序、触摸屏驱动、信息采集程序、存储程序、通信控制程序。系统框架如图4.1所示。SHAPE\*MERGEFORMAT图4.1软件系统架构4.1.2系统流程图软件才用了C语言编程,在设计时考虑软件的可移植性,采用了模块化设计。主程序由几个功能模块组成:硬件初始化、信息采集、触摸屏、存储模块、通信模块。图4.2系统整体流程图4.2独立看门狗程序设计在看门狗主程序里面先初始化一下系统代码,然后启动按键输入和看门狗,在看门狗开启后马上点亮LED0,并进入死循环等待按键的输入,一旦WK_UP有按键,则喂狗,否则等待IWDG复位的到来。该部分代码如下:intmain(void){Stm32ClockInit(9);//系统时钟设置Delay_init(72);//延时初始化uart_init(72,9600);//串口初始化LED_Init();//初始化与LED连接的硬件接口KEY_Init();//按键初始化Delay_ms(300);//让人看得到灭IWDG_Init(4,625);//与分频数为64,重载值为625,溢出时间为1SLED0=0;//点亮LED0While(1){if(KEY_Scan()==3)IWDG_feed();//如果WK_UP按下,则喂狗};}4.3触摸屏流程图触摸屏有自动模式和手动模式两种,都可以通过触碰产生中断读取触碰坐标值,手动模式还可以通过轮询触碰事件读取坐标,采用的是手动模式中的轮询方式,这种方式的流程图如图4.3所示。在初始化寄存器TPCR1,TPCR2,INTR须按流程图设置,DWWR=AWRR=0x27,DWHR=AWBR=OxEF,其他寄存器默认设置。图4.3触摸屏轮询查询方式流程图4.4信息采集模块主芯片通过TIM2定时中断设置采样频率,通过AD转换,并将采集数据读出,缓存到Buffer,待Buffer满后存入NANDFLASH,程序流程如图4.4所示。图4.4信息采集流程图4.5存储设计4.5.1DMA中断处理DMA是DirectMemoryAccess的首字母缩写,一次数据传输的单位可以为:8位、16位或32位。DMA完成从外设到存储器的数据传输有三个步骤:1)DMA请求仲裁2)从外设中读取数据(DMA源)3)将读取的数据写入到SRAM中(DMA目的地)4.5.2软件的自动更新写两个程序,一个是主程序;一个是升级程序;所有升级任务都由升级程序完成。1)启动升级程序,升级程序连接到网站,下载新的主程序到临时文件夹;2)升级程序获取服务器端XML配置文件中新版本程序的更新日期或版本号或文件大小;3)升级程序获取原有客户端应用程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大于旧版本的程序的大小则提示用户升级。本文主要采用比较新旧版本更新日期号来提示用户升级。4)如果用户选择升级,则获取下载文件列表,开始进行批量下载文档;5)升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序;6)删除旧的主程序,拷贝临时文件夹中的文件到相应的位置;7)检查主程序的状态,若状态为活动的,则启动新的主程序;8)关闭升级程序,升级完成。4.6通信软件设计CAN通信部分程序如下:voidCAN_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);/*PD0-CANRX*/GPIO_InitStructure.GPIOPin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIOD,&GPIO_InitStructure);/*PD1-CANTX*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOD,&GPIO_InitStructure);GPIO_PinRemapConfig(GPIO_Remap2_CAN1,ENABLE);//端口重映射到PD0,PD2}5系统的仿真与调试5.1调试方法嵌入式单片机开发过程实际上就是一个调试诊断的过程,而且调试诊断将一直伴随着一个产品的终身,即使是最成熟的产品也偶尔会出现这样或那样的问题,这都需要开发人员去诊断、排查。嵌入式单片机的调试包括硬件调试、软件调试以及综合调试。硬件调试是指系统刚开发出来时上电前后的检查,包括:[16]1)上电前检查电源和地是否短路,目视检查是否有虚焊、漏焊;2)上电后检查时钟线上的频率和波形、幅度是否正常,各电源电压是否稳定正常,各芯片温度是否正常,各指示灯是否正常。软件调试一般是指保证硬件一切正常的情况下验证程序执行的时序是否正确,逻辑和结果是否与设计要求相符,能否满足功能和性能要求等。软件调试的方法有很多,包括:1)用指示灯跟踪调试;2)用串口打印调试;3)用简单的调试器进行汇编代码级调试;4)用比较高端的调试器进行源代码级调试;5)用仿真器进行硬件仿真。5.2调试工具及调试过程5.2.1调试工具J-Link是一个用于连接PCUSB口和开发板JTAG口的小硬件适配
本文档为【毕业论文 基于ARM微控制器STM32的宾馆信息管理系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
蓝多多
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:63
分类:其他高等教育
上传时间:2019-03-20
浏览量:15