




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于nRF24L01的无线指纹密码控制系统毕业论文目录摘要IAbstractII引言11 项目概述21.1 选题背景21.2 目的及意义21.3 国内外研究现状与发展趋势32 相关技术42.1 ARM42.2 无线传输技术42.3 指纹识别技术53 总体设计63.1 设计方案63.2 系统硬件总体设计73.2.1 系统硬件结构73.2.2 系统硬件方案设计83.3 系统软件总体设计93.3.1 系统总体功能模块图93.3.2 下位机软件设计114 系统硬件设计124.1 系统硬件设计原则134.2 核心部件选型134.2.1 单片机部件134.2.2 无线模块nRF24L01164.2.3 指纹模块184.2.4 12864OLED模块194.3硬件电路设计204.3.1 无线传输控制电路204.3.2 指纹录入控制电路214.3.3 按键扫描控制电路224.3.3 12864OLED显示控制电路235 软件设计245.1 软件设计原则255.2 主程序设计265.3 系统启动程序设计285.4 模式选择程序设计295.5 解锁程序设计305.6 密码设定程序设计315.7 发送控制命令程序设计326 系统测试与运行336.1 测试方案346.2 测试结果357 结论36致谢37参考文献38附录A 中文译文39附录B 英文原文43附录C 系统连接原理图49附录D 源程序代码50辽宁工程技术大学毕业设计(论文)引言 近一段时间以来,无线控制技术已成为自动化领域的热门话题,无线控制技术可以大幅度降低控制成本,并有效简化控制系统,具有逐步替代传统自动化系统的潜力,是未来自动化产品新的增长点和发展方向之一。传统的有线控制系统具有监控点数量多、布线复杂、集成难度较大等问题,给整个工程的施工、运行和维护带来了一定的困难。与有线控制方式相比,无线控制系统具有很大的优越性。在保证信号安全,畅通、可靠的条件下,通过无线技术可以对设备进行监视、控制和保护。因此,无线控制系统具有良好的发展前景。随着人们生活水平逐渐上升,对住宅的要求也越来越高,上升到了对整个家居智能化、自动化、安全、高效、舒适等更高层面的要求。但是传统的家居设备都以个体形式存在,不能很好地实现统一管理。针对这一特点,本设计采用先进的无线传输技术和生物识别技术45设计出了一款无线指纹密码控制系统,可以控制家居中任意一个设备的开关。对于改善现代人们的生活质量、创造舒适、安全、便利的生活空间有着非常重要的意义,并具有非常广阔的市场前景。1 项目概述1.1 选题背景随着当今社会经济的发展,人们追求一种生活上的高品质,向往在家中过着舒适、安全、便利的生活。在当前的住宅中,所有的设备都是独立的个体,没有一个统一的控制模块操控所有的设备。这样在操作和管理的过程中十分麻烦,而在理想的智能家居中,可以用一个控制模块操控所有设备,控制系统起着关键的作用。目前控制系统在工业中应用广泛,而在住宅中却没有很好地应用。大部分都是布线控制,需要手动控制每一个设备,这样生活还是一层不变,枯燥无味。在科技频繁碰撞出火花的今天,应当用最先进的技术改善原本的生活,可以应用在住宅中的技术应当属无线传输技术和生物识别技术。无线传输技术是采用无线代替原先的有线,摆脱了线的束缚,增加了美观性。生物识别技术,是通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段密切结合,利用人体固有的生理特性(如虹膜、指纹、脸象等)和行为特征(如声音、笔迹、步态等)来进行个人身份的验证。生物识别技术是目前最为方便和安全的识别技术,它不需要记住复杂的密码,也不需要随身携带钥匙、智能卡之类的东西。由于每个人的生物特征具有与其他人不同的唯一性和在一定时期内不变的稳定性,不易伪造和假冒,所以利用生物识别技术进行身份验证具有安全、可靠、准确的特点。此外,生物识别技术产品借助于现代计算机技术的实现,通过和电脑的配合,可以和安全、监控、管理系统整合,实现自动化管理。根据IBG(International Biometric Group,国际生物识别小组)2009年的统计结果,市场已有多种针对不同生理特征和行为特征的应用。其中,指纹识别技术最为方便也最为热门。将无线传输技术和指纹识别技术应用在家居中,既贴近于生活又很有实用价值。1.2 目的及意义 传统住宅中设备通常采用有线的方式进行检查、控制与通信,这一种通过布线方式的控制系统有很多缺点,安装过程复杂、成本较高、后期检查和维护困难等。随着无线通信与单片机智能控制技术的发展,传统的有线传输由于其布线、组网、成本等方面的局限性,已经不能满足技术发展和应用的需要。无线数据传输在很多应用场合具有有线技术无法或难以取代的优势。采用无线数据传输有以下优点:一是成本低,家居控制系统省去了大量的布线;二是建网快捷,只需在每个终端连接无线模块即可;三是扩展性好,采用有线传输方式,不能随意移动,设备重新布局就要重新布线,但采用无线数据传输,只需将设备与无线模块相连接就可以了;四是设备容易维护,而且只需维护数据传输模块,出现故障时能快速找到原因。所以,用无线来进行对家居中设备的控制是十分适合的。另外,在控制的过程中采用指纹和密码进行控制,快速、便捷、安全管理。1.3 国内外研究现状与发展趋势目前国内原理性研究取得大量成果,验证性产品开发工作已经启动,市场需求增长迅速。中科院联合一些高校也正在积极开展相关技术的研究工作,具备一定的技术攻关能力,获得了一些国际先进的研究成果,并已经参与到相关区域标准的制定工作中。在国外基于工业无线技术的测控系统得发展还处于关键技术攻关和实验室测试验证阶段,工业无线通信的关键技术难题正在被逐渐攻克,市场需求非常旺盛,一些大的工业自动化产品提供商在本国政府的资助下积极开展工业无线技术的研究工作,但尚未形成成熟的产品和相关专利。一些区域组织和技术联盟正在积极制定相关技术标准,并已取得了一些成果,并试图以国际标准的形式形成技术壁垒,进而垄断国际市场,但距离形成统一的国际标准还有相当的差距。 2 相关技术2.1 ARM ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。1985年第一个ARM原型在英国剑桥诞生。公司的特点是只设计芯片,而不生产。它提供ARM技术知识产权(IP)核,将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。ARM既可以认为是一个公司的名字,也可以认为是微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一种32位嵌入式处理器,它的特点是:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。ARM的主要模式有:用户模式(usr),ARM处理器正常的程序执行状态;系统模式(sys),运行具有特权的操作系统任务;快中断模式(fiq),支持高速数据传输或通道处理;管理模式(svc),操作系统保护模式;数据访问终止模式(abt),用于虚拟存储器及存储器保护;中断模式(irq),用于通用的中断处理;未定义指令终止模式(und),支持硬件协处理器的软件仿真。除用户模式外,其余6种模式称为非用户模式或特权模式,用户模式和系统模式之外的5种模式称为异常模式。ARM处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。ARM公司开发了很多系列的ARM处理器核,ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、ARM11系列、SecurCore系列、Intel的Xscale和Intel的StrongARM。目前最新的系列是ARM11,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列。每一个系列提供一套相对独特的性能来满足不同应用领域的需求。ARM技术适用于多种领域,比如嵌入式控制、消费/教育类多媒体、DSP和移动式应用等。2.2 无线传输技术短距离无线传输技术是信息科学的一个重要方面,近几年来随着计算机、信息处理与存储等技术的快速发展,短距离无线通信技术也得到迅速的发展。采用短距离无线通信技术来传输信息在现代社会应用广泛,它已变成人们生活和工作以及社会发展的重要工具。目前短距离无线数据传输技术主要有两种,一种是IrDA红外无线通信技术,另一种是工作于ISM(Industrial Scientific Medical)频段射频通信技术。nRF24L01是工作在ISM频段的单片无线收发器芯片。ISM频段主要是开发给工业、科学、医学三个主要机构使用的,该频段并没有所谓使用授权的限制,所以使用时不用申请许可证。ISM频段上短距离射频通信技术还有有蓝牙技术、802.11标准、GPRS等,它们较nRF24L01的通信协议过于复杂,增加了系统设计难度,而且成本过高,不适合应用在本控制系统中,所以本设计选择了nRF24L01。2.3 指纹识别技术 我们知道人体的指纹具有人各有异、终生不变、绝无丢失等特点,因此出现了指纹识别技术。指纹识别技术把一个人同他的指纹对应起来,通过比较他的指纹和预先保存的指纹匹配程度,就可以验证他的真实身份。每个人(包括指纹在内)皮肤纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的,并且终生不变。依靠这种唯一性和稳定性,我们才能创造指纹识别技术。指纹其实是比较复杂的,与人工处理不同,许多生物识别技术公司并不直接存储指纹的图像。多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图像属于个人隐私,因此不能直接存储指纹图像)。但指纹识别算法最终都归结为在指纹图像上找到并比对指纹的特征。一般的生物识别技术公司并不直接存储指纹的图像,而是使用不同的数字化算法在指纹图像上找到并比对指纹的特征。每个指纹都有几个独一无二、可测量的特征点,每个特征点大约57个特征,我们的十个手指最少4900个独立可测量的特征,这足以说明指纹识别是一个更加可靠的鉴别方式。指纹识别技术包括读取指纹图像、提取特征、保存数据和比对。通过通过指纹读取设备读取到人体指纹的图像,取到指纹图像之后,要对原始图像进行初步的处理,使之更清晰。接下来,指纹辨识软件建立指纹的数字表示特征数据,一种单方向的转换,可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特征数据。把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。3 总体设计3.1 设计方案随着微电子技术的发展,SoC(System on a chip)成为现今嵌入式系统的主要实现形式之一,面向SoC的软硬件协同设计也成为目前最流行的一种嵌入式系统设计方法。与传统的嵌入式系统设计方法不同,软硬件协同设计强调软件与硬件设计的并行性和相互反馈,提高了设计抽象的层次,拓展了设计覆盖的范围。软硬件协同设计可以缩短系统开发周期,降低系统成本,提高系统性能,保证系统开发质量。嵌入式系统软硬件协同设计从一个给定的系统任务描述着手,通过有效的分析系统任务和所需的资源,采用一系列变换方法设计出硬件和软件架构。本控制系统由STM32F103微控制器、STC89C52单片机、FM-70指纹模块和4*4薄膜矩阵键盘密码输入模块、12864OLED显示模块、无线通信模块和继电器等一些外围模块共同组成,实现在家用场合中对设备的管理。在这个系统里模拟三个设备,分别是洗衣机、药品柜和消毒柜。锁有两种,一种是指纹锁,一种是密码锁。指纹锁录入用户指纹,可录入多个指纹,即一个住宅中的用户都可以操控家中的设备。密码锁只能设置一个4位数的密码。锁和“钥匙”之间是无线通信,通过nRF24L01传递“开”或“关”的命令来实现控制设备的开关。而“钥匙”有两种,一种是指纹钥匙,一种是密码钥匙。在最开始有一个默认的按键密码,在系统启动后可以用这个密码控制各个设备的开关。矩阵键盘上有四种模式,可以分别设置指纹密码、按键密码,可以开锁,可以删除密码。在指纹密码录入下,录入指纹之前需要输入默认密码,即管理员权限,输入正确后,进行指纹的录入,同时会依次生成指纹的ID号。密码设置下,首先要键入原始密码,输入正确方可设置新密码。然后再开锁的时候选择一种开锁方式和操控对象,随即输入正确的密码后即可开锁,进行各个设备开关的控制。而输入错误的密码会有相应的提示。设备的开关是由51单片机和继电器控制一个个LED小灯6的亮灭来模拟的。指纹的输入端为一个指纹模块,密码的输入端为一个薄膜4*4矩阵键盘。还可以对指纹锁和密码锁进行增删改查等操作,这些操作同样需要管理员权限。系统总体框图如图3-1所示。图3-1 系统总体框图 Fig.3-1 The diagram of overall sysytem block 3.2 系统硬件总体设计3.2.1 系统硬件结构 基于nRF24L01的无线指纹密码控制系统硬件结构搭建如图3-2所示,图中共有3个房间,每个房间都有一个物品,每个物品的开关都由单片机进行控制。在各个被控制的物品和手持模块上都有一个无线模块,用户可以拿着手持模块端进行远距离无线控制,控制任意一个设备的开关。 图3-2 硬件搭建结构图Fig.3-2 The diagram of hardware structure 3.2.2 系统硬件方案设计 (1)单片机 a STM32F103单片机 STM32F103是以ARM Cortex-M3为内核的32位微控制器,内存比较大,可以同时容纳液晶屏、指纹模块以及无线模块编译后的代码,而且具有了更高的代码效率,具有高性能、低成本、低功耗的的特点,适合应用在嵌入式开发与设计中。b STC89C52单片机 STC89C52是STC公司生产的一种低功耗、高性能的8位微控制器,STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52在该嵌入式控制系统中提供高灵活、超有效的解决方案。(2)指纹模块FM-70光学指纹模块以高速DSP处理器为核心,具有指纹录入、图像处理、指纹比对、搜索与模板存储等功能的智能型模块。FM-70指纹模块操作起来非常简单,在每次录入指纹的时候都需要比对两次,而且对湿指纹的录入也比较准确。FM-70指纹模块应用广泛,适合从高端到低端的所有指纹识别系统。在本控制指系统中能完成预设定功能。 (3)无线模块 通过nRF24L01,在STM32和STC89C52每个单片机上都有一块nRF24L01,通过这个无线射频模块在这两个单片机之间进行信号传递。STM32和指纹模块、矩阵键盘模块进行通信,通过和事先设置的指纹、密码进行比对,判断输入指纹或密码的正确与否,进行设备的开关。(4)12864OLED12864OLED是12864行点阵的,是黄蓝双色、字符、图形显示模块。模块内藏6464的显示数据RAM,其中的每位数据都对应于OLED屏上一个点的亮、暗状态。其接口电路和操作指令简单,具有8位并行数据接口,读写时序适配6800系列时序,可直接与8位微处理器相连。其分辨率很高,同时具有灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。此外,低电压低功耗又是其显著特点。系统硬件设计方案图如图3-3所示。图3-3 系统硬件设计方案Fig.3-3 The scheme of the hardware design 3.3 系统软件总体设计3.3.1 系统总体功能模块图系统共分为4个模块:初始化设置模块、开锁模块、显示模块和更改设置模块。如图3-4所示。 图3-4 基于NRF24L01的无线指纹密码控制系统的功能模块图Fig.3-4 The function module of wireless fingerprint password control system based on NRF24L01(1) 初始化设置模块在系统启动后需要进行初始化设置,可以进行指纹的录入、密码的设置,每一个设置,都在显示屏上显示。对于指纹的设置可以录入多个指纹,录入指纹应取得管理员权限,即每录入一个指纹之前都需要输入密码,输入正确进行指纹录入,录入成功;密码只可以设置一个,但是密码可以更改,每次更改前需要输入原始密码,正确就可以设置新密码。(2)开锁模块在开锁模块中可以选择指纹开锁和密码开锁。无论选择那种开锁都可以,如果选择指纹开锁就直接进行指纹识别,如果选择密码开锁就直接键入密码。因为本设计中模拟了3个设备,分别是洗衣机、药品柜和消毒柜。薄膜矩阵键盘上的1、2、3键分别对应的是洗衣机、药品柜和消毒柜,按相应的按键就会打开该设备的开关,再按一下就会关闭该物品的开关。在选择完开锁方式之后就选择控制对象,再输入正确后就可以对选择的物品进行控制,再输入错误的情况下会有相应的提示。(3) 显示模块 显示模块是本控制系统中进行人机交互不可缺少的部分,通过12864OLED液晶屏上显示的内容,可以了解到每个物品的情况,这样就会保证做到全面安全。 (4)更改设置模块在这个模块中是管理员对其进行管理,主要对指纹锁和密码锁进行查看、修改、增加和删除。而且在删除的时候还需要管理员权限,输入密码后才可删除。3.3.2 下位机软件设计 (1) 编程语言的选取 随着嵌入式系统应用范围的不断扩大和嵌入式系统的广泛应用,高级语言编程已是嵌入式系统设计的必然趋势。因为汇编语言与微处理器的硬件结构密切相关,移植性较差,既不宜在复杂系统中使用,又不方便实现软件重用。而高级语言具有良好的通用性和丰富的软件支持,便于推广、易于维护,因此高级语言编程具有许多优势。目前应用比较广泛的语言有:Ada、C/C+、Java等高级语言。Ada语言语义严格,易读易懂,有较丰富的库程序支持,和运行环境联系较少,运行特性比较出色。目前在国防、航空、航天等领域应用广泛。C语言具有广泛的库程序支持,现在是嵌入式系统设计中最广泛的语言,在将来很长一段时间内仍在嵌入式系统应用领域占重要位置。C+语言是一种面向对象的编程语言,应用也很多,如Visual C+是一种集成开发环境,支持可视化编程,广泛应用于GUI程序开发,但与C语言相比,C+编写的程序代码往往比较庞大。另外C/C+语言程序与硬件环境及编译系统有较大关联,这样在某个环境下正常运行的程序换个机器或换个编译系统就可能产生错误。Java语言相对年轻,但有很强的跨平台特性发展势头较为强劲。但是Java语言更适合应用在软件工程和网络中。综合比较,C语言更适合嵌入式编程,所以本次设计编程选用的是C语言。下位机用 C 语言7编写,下位机软件流程如图3-5所示。 图3-5 下位机软件程序流程图Fig.3-5 The flow diagram of lower computer software program (2) 编译过程a源代码编写:编写C语言程序。 b程序编译:通过Keil编译器编译。 c软件仿真调试:在Keil中仿真软件运行情况。 d程序下载:通过JTag/JLink方式下载到目标机。 e软硬件测试、调试:通过JTag/JLink等方式联合调试程序。 f下载固化:程序无误,下载到目标板。4 系统硬件设计4.1 系统硬件设计原则系统设计中遵循了以下原则。(1)尽可能选择典型电路,并符合单片机常规用法,为硬件系统的标准化、模块化打下良好的基础。(2)系统扩展与外围设备的配置水平应充分满足系统的功能要求,并留有适当余地,以便进行二次开发。(3)硬件结构应结合软件应用方案一并考虑。硬件结构与软件方案会产生相互影响,软件能实现的功能尽可能由软件实现,以简化硬件结构。(4)系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。(5)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波等。(6)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。(7)尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也越大,这样就会降低了系统的稳定性。4.2 核心部件选型4.2.1 单片机部件主控模块上选择的是STM32F103,STM32F103是以ARM Cortex-M3为内核的32位微控制器,可以兼容所有的ARM工具和软件。最高工作频率72MHz,1.25DMIPS/MHz;片上集成32-512KB的Flash存储器,6-64KB的SRAM存储器可以以CPU的时钟速度进行读写,和8/16位设备相比,ARM Cortex-M3的32位RISC处理器提供了更高的代码效率,具有高性能、低成本、低功耗的的特点,适合应用在嵌入式开发与设计中。本设计中使用STM32最小系统,最小系统是指能够支持单片机正常工作的最简单的硬件系统。STM32F103单片机能够工作的最低硬件条件包括了晶振、复位、电源这三种外部电路。STM32F103原理图如图4-1所示,性能参数表如表4-1所示。图4-1 STM32F103系统电路图 Fig.4-1 The system circuit diagram of STM32F103 表4-1 STM32F103性能参数特点表Tab.4-1 The feature table of STM32F103 performance parameter 性能参数特点内核ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25MIPS/MHz;单周期乘法和硬件除法存储器片上集成32512KB的FLASH存储器,664KB的SRAM存储器时钟、复位和电源管理2.03.6V的电源供电和I/O接口的驱动电压,416MHz的晶振;内嵌出厂前调校的8MHz RC震荡电路,内部40KHz的RC振荡电路,用于CPU时钟,带校准用于RTC的32KHz的晶振低功耗3种低功耗模式:休眠、停止、待机模式调试模式串行调试和JTAG接口DMA12通道DMA控制器。支持的外设:定时器、ADC、DAC、SPI、IIC和USART2个12位的uS级的A/D转换器(16通道)A/D测量范围:03.6V,双采样和保持能力;片上集成一个温度传感器2通道12位D/A转换器STM32F103xC,STM32F103xD独有13个通信接口2个IIC接口,5个UART接口,3个SPI接口,两个和IIS、CAN接口,USB2.0全速接口接收模块上选择的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。STC89C52单片机拥有8K字节程序存储空间,512字节数据存储空间,内带4K字节EEPROM存储空间,可直接使用串口下载。STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具体性能如表4-2所示。表4-2 STC89C52性能参数特征表Tab.4-2 The feature table of STC89C52 performance parameter性能参数特点工作电压3.3V5.5V(5V单片机)/2.0V3.8V(3V单片机)工作频率040MHz,相当于普通8051的080MHz,时间工作频率可达48MHz定时器/计数器共3个,定时器T0、T1、T2外部中断共4路,下降沿中断或低电平触发电路通用异步串行口(UART)还可用定时器软件实现多个UART工作温度范围-40+85 因为在主控模块调试过程中,无线模块、指纹模块、12864OLED液晶显示屏的代码都需要存储在STM32F103中,尤其是12864OLED液晶显示屏,其中文字库占用较大内存,编译完之后是无法存储在51、52单片机中的,所以选择了STM32F103。4.2.2 无线模块nRF24L01nRF24L01是NORDIC公司最近生产的一款新型单片射频收发器件,采用FSK调制,工作于2.4 GHz2.5 GHz ISM频段。内部集成NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度可以达到2M(bps)。NOEDIC公司提供通信模块的GERBER文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要位单片机预留5个GPIO,一个中断引脚,一个GND引脚和一个VCC引脚就可以很容易实现无线通信的功能,非常适合用来为MCU系统构建无线通信功能。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。该射频模块集成了NORDIC公司生产的无线射频芯片nRF24L01:支持2.4GHz的全球开放ISM频段,最大发射功率为0dBm;2Mbps,传输速率高;功耗低,等待模式时电流消耗仅22uA;多频点(125个),满足多点通信及跳频通信需求;在空旷场地,有效通信距离25m(外置天线)、10m(PCB天线)等。它的特点是GFSK调制;硬件集成OSI链路层;具有自动应答和自动再发射功能;片内自动生成报头和CRC校验码;数据传输率为l Mb/s或2Mb/s;SPI速率为0 Mb/s10 Mb/s;125个频道:与其他nRF24系列射频器件相兼容;供电电压为1.9 V3.6 V。发射数据时,首先将nRF24L01配置为发射模式,接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。最后发射成功时,若CE为低,则nRF24L01进入待机模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入待机模式2。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。nRF24L01无线模块各引脚介绍如表4-3所示。表4-3 nRF24L01引脚介绍表Tab.4-3 The pinout table of nRF24L01 引脚名称引脚功能描述1CE数字输入RX或TX模式选择2CSN数字输入SPI片选信号3SCK数字输入SPI时钟4MOSI数字输入从SPI数据输入脚5MISO数字输出从SPI数据输出脚6IQR数字输出可屏蔽中断脚7VDD电源电源(+3V)8VSS电源接地(0V)9XC2模拟输出晶体振荡器2脚10XC1模拟输入晶体振荡器1脚/外部时钟输入脚11VDD_PA电源输出给RF的功率放大器提供+1.8V电源12ANT1天线天线接口113ANT2天线天线接口214VSS电源接地(0V)15VDD电源电源(+3V)16IREF模拟输入参考电流17VSS电源接地(0V)18VDD电源电源(+3V)19DVDD电源输出去耦电路电源正极端20VSS电源接地(0V) 首先在家用场合中,nRF24L01无线模块的距离足够用,而且消耗的功耗极低,传输稳定,并且跟其他无线模块比较价格最低,性价比较高,所以选择了nRF24L01无线模块。4.2.3 指纹模块 FM-70系列光学指纹模块以高性能高速DSP处理器AS601为核心,在无需上位机参与管理的情况下,具有指纹录入、图像处理、指纹比对、搜索和模板存储等功能的智能型模块。和同类质问产品相比,FM-70模块具有以下特色:指纹图像读取过程中,对于湿手指都有较好的成像质量,适合人群广泛;用户根据FM-70模块提供的丰富指令,可自行开发出功能强大的指纹识别应用系统;面对不同应用场合,用户可自行设定不同安全等级。指纹算法从获取的指纹图像中提取的特征,代表了指纹的信息。指纹的存储、比对和搜索等都是通过指纹特征来完成的。指纹处理包含两个过程:指纹登录过程和指纹匹配过程。指纹登录时,对每一枚指纹录入2次,将2次录入的图像进行处理,合成模板存储于模板中。指纹匹配时,通过指纹传感器,录入要验证指纹图像并进行处理,然后与模板中的指纹模板进行匹配比较(若与模块中指定的一个模板进行匹配,称为指纹比对方式,即1:1方式;若与多个模板进行匹配,称为指纹搜索方式,即1:N方式),模块给出匹配结果,通过或失败。FM-70指纹模块共有23条指令,每一条指令介绍的非常详细,并且通俗易懂。FM-70指纹模块的参数指标如表4-4所示。表4-4 FM-70指纹模块技术指标表Tab.4-4 The index table of FM-70 fingerprint module parameter 性能参数特点供电电压DC3.66.0V/直供3.3V供电电流供电小于120mA,峰值电流小于140mA指纹录入图像时间小于1.0秒窗口面积14*18mm特征文件/模板文件256/512字节存储容量1000枚安全等级五级,默认第三级认假率/拒真率小于0.001%/小于0.001%(安全等级为3级时)上位机接口UART(TTl逻辑电平)或USB2.0/USB1.1通信波特率(UART)(9600*N)bps,其中N为112,默认值为6,即57600bps工作温度-20+50存储环境-40+504.2.4 12864OLED模块 12864OLED(有机发光显示OrganicLight EmittingDisplay)液晶屏是一种128*64行点阵的蓝色或黄蓝双色的的液晶屏,作为新一代显示技术,广泛应用于各种仪器仪表的显示终端,实时显示字符、汉字、曲线等信息。模块内藏64*64的显示数据RAM,其中的每位数据都对应与OLED屏上的一个点的亮、暗状态;其接口电路和指令简单,具有8位并行数据接口,读写时序适配68系列时序,可直接与8位微处理器相连。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示汉字,可完成图形显示。此外,低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,具有超轻薄、高亮度、广视角、自发光、响应速度快、适应温度范围宽、抗震强、功耗低,可实现柔软显示等优越性能,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 4.3硬件电路设计4.3.1 无线传输控制电路从单片机控制的角度来看,我们只需要关注nRF24L01无线模块的六个控制和数据信号,分别为CSN、SCK、MISO、MOSI、IRQ和CE。CSN为芯片的片选线,CSN为低电平芯片工作;SCK是芯片控制的时钟线;MISO为芯片控制数据线,掌控输入输出;MOSI为芯片控制数据线,掌控输出输入;IRQ为中断信号,无线通信过程中MCU主要通过IRQ与nRF24L01进行通信;CE为芯片的模式控制线,在CSN为低的情况下,CE协同nRF24L01的CONFIG寄存器共同决定nRF24L01的状态。STC89C52与无线模块连接的原理图、STM32F103与无线模块连接的原理图如图4-2、图4-3所示。图4-2 STC89C52控制无线模块电路图 Fig.4-2 The circuit diagram of STC89C52 control wireless module 图4-3 STM32F103控制无线模块电路图Fig.4-3 The circuit diagram of STM32F103 control wireless module 4.3.2 指纹录入控制电路 FM-70指纹模块是一个技术比较成熟的、内部有快速图像处理功能的光学指纹模块。具有指纹录入快速、图像处理快速、干湿手指均可录入、指纹图像存储数量大、功耗低等优点。加之引脚数量少,将引脚和单片机进行连接,在单片机和指纹模块通过IIC完成通信之后即可录入指纹。单片机和指纹模块连接原理图如图4-4所示。图4-4 STM32F103控制指纹模块原理图Fig 4-4 STM32F103 control the schematic diagram of the fingerprint module4.3.3 按键扫描控制电路 4*4薄膜矩阵共16个按键,8根引脚。其中PB8PB11为上拉输入,PB12PB15为下拉输入。首先将PB8PB11分别设置为1,然后写出当每一行对应按键按下时PB12PB15对应的值,根据得出的16进制数就能知道那个按键被按下。图4-5为STM32F103和薄膜矩阵键盘连接原理图。图4-5 STM32F103控制矩阵键盘原理图Fig.4-5 STM32F103 control matrix keyboard diagram4.3.3 12864OLED显示控制电路本系统采用的液晶显示器是 128*64 的标准无字库液晶显示器,主要特性为:黄蓝双色;8 位并行数据接口,适配M6800 系列时序;拥有 6464 位(512 字节)的显示存储器,其数据直接作为显示驱动信号;操作指令简单,低功耗。12864OLED作为新一代的液晶显示技术,比传统的液晶屏有更广的视角,显示汉字、西文和图像都很清晰,其独特的取模取字方法可以得到设计者想要的字符。外形小巧、简洁,内部鲁棒性好,不轻易乱码,是一个用处广泛的液晶屏。 OLED12864 液晶是由 128 个液晶显示单元排列组成显示器的长,由 64 个液晶显示单元排列组成显示器的宽,如果一个汉字是 1616 宽度,那么可以显示长度 8 个汉字,宽度上能显示 4 个汉字。本系统选择的是不带字库的 12864,原因是不带字库的可以自由选择显示字体;LCD12864 液晶显示器与单片机的管脚接口如图 4-6 所示。图4-6 STM32F103控制液晶显示模块电路图Fig.4-6 The circuit diagram of STM32F103 control LCD module 5 软件设计5.1 软件设计原则系统软件8是控制和协调计算机以及外部设备,支持应用的软件开发和运行的系统,是不需要用户干预的各种程序的集合。主要功能是调度、监控和维护计算机系统,负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。软件设计原则需要满足:(1)可靠性用软件系统规模越做越大越复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越高,软件系统的可靠性也直接关系到设计自身的声誉和生存发展竞争能力。软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。软件可靠性和硬件可靠性本质区别在于:后者为物理机理的衰变和老化所致,而前者是由于设计和实现的错误所致。故软件的可靠性必须在设计阶段就确定,在生产和测试阶段再考虑就困难了。(2)健壮性健壮性又称鲁棒性,是指软件对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。软件健壮性是一个比较模糊的概念,但是却是非常重要的软件外部量度标准。软件设计的健壮与否直接反应了分析设计和编码人员的水平。(3)可修改性要求以科学的方法设计软件,使之有良好的结构和完备的文档,系统性能易于调整。(4)容易理解软件的可理解性是其可靠性和可修改性的前提。它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。(5) 程序简便 要实现一种功能可以用多种程序实现,但是要选择最简便、最通俗易懂的程序最为最终的程序。(6)可测试性可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。(7)效率性软件的效率性一般用程序的执行时间和所占用的内存容量来度量。在达到原理要求功能指标的前提下,程序运行所需时间愈短和占用存储容量愈小,则效率愈高。(8)标准化原则在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。(9)先进性满足客户需求,系统性能可靠,易于维护。(10)可扩展性软件设计完要留有升级接口和升级空间。对扩展开放,对修改关闭。5.2 主程序设计 系统工作流程图是整个系统完整的工作情况,系统工作流程图如图5-1所示。在系统工作流程图中,主程序是核心。主程序是整个程序设计的主体,也是整个系统中最重要的环节,它负责各个子程序模块的执行顺序、时序以及它们之间的关系。主程序通过系统的自检以及调用各种子程序模块,从而实现系统的初始化,进行数据显示、数据处理、按键处理、参数传递、产生控制信号等功能。主程序流程如图 5-2 所示。子程序的实现都是通过主程序的调用来实现的,系统子程序模块包括:显示子程序、指纹设置子程序、密码设置子程序、开/关物品子程序和删除指纹子程序等。图5-1系统工作流程图 Fig.5-1 The workflow diagram ofsystem 图5-2 主程序流程图Fig.5-2 The flow diagram of main program 5.3 系统启动程序设计本设计进行初始化的流程依次是指纹串口配置、启动系统滴答定时器、OLED初始化、无线模块初始化和矩阵键盘初始化,每个过程都有每个过程的作用。指纹串口配是要使单片机和指纹模块实现通信必须需要配置USART1串口,配置USART1的GPIO口,配置工作模式这样就可以将单片机上的数据打印到串口上进行与指纹模块的通信;启动系统滴答定时器的作用是使中断时间可自由配置,方便用户;OLED初始化的作用是配置GPIO引脚,初始清屏;无线模块初始化的目的是使IO口初始化,配置SPI_NRF_SPI的SCK、MISO、MOSI引脚为GPIOA5、GPIOA6、GPIOA7,同时配置CE、CSN和IRQ引脚,为发送数据做准备;矩阵键盘初始化是初始化IO口,配置PB8B11为上拉输入,PB12PB15为下拉输入。在进行初始化之后,保证所有的模块调试成功,进行本系统程序的烧录。初始化流程图如图5-3所示。图5-3 系统初始化流程图Fig.5-3 The flow diagram of system initialization 5.4 模式选择程序设计在系统启动之后,首先进行初始化。之后进入模式选择,在这个过程中,首先获取按键值,如果按键返回值为A,进入录入指纹模式;如果按键返回值为B,进入设置密码模式;如果按键返回值为C,进入解锁模式;如果按键返回值为D,进去删除指纹模式。模式选择具体过程如图5-4所示。图5-4 模式选择流程图Fig.5-4 The flow diagram of mode selection 5.5 解锁程序设计 在解锁程序设计下,首先选择解锁方式,解锁方式有两种,一种是指纹开锁,一种是密码开锁。如果选择指纹开锁就直接将手指放在指纹模块的扫描区,图像录入之后进行匹配;如果选择密码开锁就直接键入密码,输入完密码之后进行密码匹配。匹配成功之后进行开/关物品。具体过程如图5-5所示。图5-5 解锁流程图Fig.5-5 The flow diagram of unlock flow 5.6 密码设定程序设计 在密码设定程序设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中医针灸科慢性腰腿痛的经络穴位治疗考核试卷答案及解析
- 2025浙江衢州龙游人才科创有限公司公开招聘工作人员3人笔试模拟试题及答案解析
- 2025年产科妇产科护理知识考核模拟试卷答案及解析
- 2025陕西西北工业大学材料学院纳米诊疗团队非事业编科研助理招聘1人笔试模拟试题及答案解析
- 2025年耳鼻喉科手术技术及并发症预防考核模拟试卷答案及解析
- 2026中国人寿资产管理有限公司校园招聘笔试模拟试题及答案解析
- 2025江苏苏州科技大学招聘辅导员(博士)7人笔试模拟试题及答案解析
- 2025湖南兴湘投资控股集团有限公司招聘3人笔试备考试题及答案解析
- 2025年眼科疾病特异性药物应用模拟测试卷答案及解析
- 营口市中石化2025秋招面试半结构化模拟题及答案油气储运与管道岗
- 环境反应工程导论课件
- 四渡赤水军事教学课件
- 马场建造设计方案
- 本币交易员考试题库
- 安徒生童话题目及答案
- 胃食管反流病的健康教育指导讲课件
- 小儿腹股沟疝麻醉
- 宜宾党校考试试题及答案
- 2025年安徽省农业职业技能大赛(水生物病害防治员)备赛试题库(含答案)
- DB31T 444-2022 排水管道电视和声呐检测评估技术规程
- 演出冠名赞助合同协议
评论
0/150
提交评论