网站地图>收藏本站>设为首页
定做流程>服务项目>价格参考>付款方式>诚邀加盟>关于本站>联系我们
当前位置:5173毕业设计论文网文章资讯综合频道计算机纯论文

基于嵌入式指纹身份识别器的设计与实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-03-20 23:38:00
QQ交谈在线咨询详情 5173论文网竭诚为您服务 本站永久域名:www.lw5173.com

   

以嵌入式计算机为技术核心的嵌入式系统是继网络技术之后,又一个IT领域新的技术发展方向。嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征,目前,已经得到广泛的应用。由于应用复杂性及对实时性要求的增加,嵌入式系统的研究和开发也相应变得越来越重要。

本文描述了基于实验室开发的S3C44B0X嵌入式实验开发板,利用ADS嵌入式开发环境并借助JTAG仿真器,用ARM汇编指令系统以及C语言编写代码,实现外接指纹模块的设计内容;另外还实现了改造u-boot并移植uclinux操作系统。

本文的主要内容如下:介绍了实验环境的硬件结构,S3C44B0处理器的地址空间的分配,开发环境以及烧写工具的使用方法,这些是设计开发的基础;简要介绍了start.s启动程序的工作流程;详细讲述了S3C44B0X的启动过程,如何编写44B0的引导加载程序的方法;简要介绍了GPIO口、中断、串口等相关控制寄存器的设置方法,通过设置这些控制寄存器,完成初始化功能;详细介绍了通用异步串行接口UART功能模块的工作原理和其应用设计方法,这是本次设计的基础;设计实现了中断控制(包括内部中断和外部中断),串口和PC机的接收发送通信;改造启动加载程序u-boot和移植嵌入式操作系统uclinux在前面的基础之上完成嵌入式指纹身份识别器的软件;最后,对开发过程中所遇到的一些问题困难以及个人感想作了简要的总结。

 

关键词: S3C44B0Xu-bootuclinuxGPIOUARTADS

 

 

 

 

 

 

 

 

 

Abstract

Embedded system with embedded computer as the technique core is another new technique development direction after the network technique in IT field. As the embedded system has many outstanding characteristics such as small volume, powerful performance, low power consume, good reliability and facing to calling concrete application and so on, it has been widely used. With the increase in complexity of applications and the demands for real-time, the research and development of embedded system become more and more significant.

This graduation project is based on the S3C44B0X embedded experiment board developed by the laboratory.Making use of ADS embedded development environment and JTAG emulator.Using ARM assemble instruction system and C program language to develop to realize the design of the module of fingerprint whice is connected to the board of S3C44B0X. In addition, this article describe how to carry out reconstruct u-boot and how to graft operating system uclinux.

The topics discussed in the thesis are as follows: The description of the hardware structure of experiment environment, allocation of address space of S3C44B0, development environment and the Flash programming tool, which is basis of the design and development.Process of bootstrap loader named start.s. Tell of the course of start-up of S3C44B0X detailedly, and how to write the bootloader of S3C44B0. Configuration method of control registers of GPIO, interrupt, serial port, which is used for initialization.Operation principle of UART function modules, which is the principle of design. Developping to realize interrupt control(internal and external interrupt), communication between serial port with PC. Reconstruct bootloader u-boot and graft the embedded operating system uclinux. On the base of forementioned content, achieve the software of the embedded module of fingerprint. A brief summary of the difficulties encountered and personal thoughts in the development process.

 

key words S3C44B0Xu-bootuclinuxGPIOUARTADS

 

 

 

 


    . IV

Abstract V

第1章 绪    . 1

1.1 研究意义. 1

1.2 主要工作内容及设计目标. 1

1.3 研究方法. 2

第2章 开发环境的构建. 3

2.1 开发板硬件结构. 3

2.1.1 S3C44B0X简介. 3

2.1.2 地址空间分配. 5

2.2 ADS嵌入式开发环境. 6

2.2.1 ADS1.2集成开发环境简介. 6

2.2.2 CodeWarrior建立工程及编译方法. 6

2.3 JTAG仿真器. 12

2.3.1 JTAG仿真器. 12

2.3.2 JTAG在线编程. 13

2.4 FLASH编程工具. 13

2.4.1 Flash Programmer简介. 13

2.4.2 Flash Programmer用法. 14

2.5 超级终端. 15

2.5.1 超级终端的原理. 16

2.5.2 使用UART串口和超级终端进行系统测试. 16

2.6 start.s启动程序工作流程. 17

第3章 44B0X编程结构分析及编程实现. 19

3.1 GPIO口结构分析. 19

3.1.1 S3C44B0X I/O口功能描述. 19

3.1.2 S3C44B0X端口控制寄存器. 21

3.2 S3C44B0X的异步串行接口UART 22

3.2.1 S3C44B0X的串行通讯(UART)单元. 22

3.2.2 串口电路原理及编程. 23

3.3 S3C44B0X中断概述及其编程. 25

3.3.1 S3C44B0X中断源. 26

3.3.2 IRQ向量中断模式. 27

3.3.3 中断控制专用寄存器. 27

3.3.4 外部中断电路原理. 28

3.3.5 中断编程. 28

第4章 系统初始化及引导程序设计. 31

4.1 U-BOOT简介. 31

4.2 引导程序结构分析. 31

4.2.1 stage1工作流程及代码结构. 31

4.2.2 stage2工作流程及代码结构. 32

4.3 U-BOOT引导程序的改造. 33

4.3.1修改B2.h文件. 33

4.3.2 修改start.s文件. 34

4.3.3 其它问题. 35

第5章 uClinux嵌入式操作系统移植. 37

5.1 UCLINUX2.4.24内核组成. 37

5.1.1 arch目录. 37

5.1.2 include目录. 37

5.1.3 init目录. 37

5.1.4 kernel目录. 37

5.1.5 drivers目录. 38

5.1.6 其他目录. 38

5.2 移植项目及说明. 38

5.2.1 压缩内核代码起始地址. 38

5.2.2 处理器配置选项. 39

5.2.3 内核起始地址. 39

5.2.4 存储空间配置. 40

5.2.5 初始化节拍定时器. 40

5.2.6 定义二级异常中断矢量表. 41

5.2.7 定义CPU体系结构和交叉编译器. 41

5.2.8以太网设备基地址. 42

5.3 移植的步骤. 42

5.3.1 解压uClinux-dist发行包. 42

5.3.2 安装补丁. 42

5.3.3 配置与编译. 42

5.3.4交叉编译. 43

5.4 uClinux的启动信息. 44

第6章 指纹识别模块读写程序的设计与实现. 46

6.1 读写模块结构分析. 46

6.1.1 产品特色. 46

6.1.2 应用领域. 47

6.1.3 性能指标. 47

6.1.4 使用注意事项. 48

6.2 接口定义. 48

6.3 通讯协议. 49

6.3.1 命令结构. 49

6.3.2 应答结构. 49

6.3.3 命令字列表. 50

6.3.4 应答列表. 50

6.4 具体实现. 50

6.4.1 电路设计. 50

6.4.2 程序设计与实现. 50

6.5 操作界面. 53

第七章 系统调试. 55

7.1 硬件调试. 55

7.1.1 UART0PC机的通讯. 55

7.1.2 UART1与指纹模块的通讯. 57

7.2 软件调试. 57

    . 58

    . 60

参考文献. 61

    . 62


1章 绪   

指纹识别是一种基于生物特性的较为安全可靠的生物识别技术。因为人体指纹具有唯一性、不变性、与主体永不分离等特点,所以指纹识别系统越来越多地进入到人们的工作和生活中,如电子消费结算设备、门禁系统、电子商务等,指纹识别系统发挥着越来越重要的作用。利用指纹识别技术的应用系统常见有两种方法,即嵌入式系统和连接PC的桌面应用系统。嵌入式系统是一个相对独立的完整系统,它不需要连接其它设备或计算机就可以独立完成其设计的功能,像指纹门锁、指纹考勤终端就是嵌入式系统。本设计就是基于S3C44B0嵌入式实验开发板实现一个嵌入式身份识别器。

 

1.1 研究意义

当前指纹识别技术已经成熟,其应用日益普遍,除了刑事侦察用之外,在民用方面已非常广泛,如指纹门禁系统、指纹考勤系统、银行指纹储蓄系统、银行指纹保管箱、指纹医疗保险系统、计划生育指纹管理系统、幼儿接送指纹管理系统、指纹献血管理系统、证券交易指纹系统、指纹枪械管理系统、智能建筑指纹门禁管理系统、驾驶员指纹管理系统等。由于通过指纹进行身份识别的可靠性,它必将在我们的广泛应用于社会生产和服务的各个领域。

当今嵌入式技术的不断发展,将指纹身份识别系统加入到嵌入式产品中可以提高产品的安全性,起到防盗作用,有效的保护用户的机密信息,更可以开发出一些某些行业的专职人员专有使用的产品。因此,对指纹身份识别技术的研究以及应用的推广是很有实际意义和市场价值的。

 

1.2 主要工作内容及设计目标

本设计是基于S3C44B0开发板,利用开发板上的串口分别与PC机、指纹识别模块进行通信,从而实现在PC机上对指纹识别模块的操作。

为了更好地了解嵌入式应用开发方法思路,以及S3C44B0X教学实验板的结构和应用开发,本设计要求在学习S3C44B0X的一些基础知识的基础之上先完成一些简单实验。最后设计开发板与指纹识别模块的接口电路,并改造u-boot作为引导启动程序,移植uClinux操作系统,并运用嵌入式开发环境ADS编写应用程序。

本设计的具体实现是利用开发板上的UART0口与PC机的COM1口连接,UART1口与指纹识别模块的UART口连接,利用PC机中的超级终端在应用程序的提示下,选择对指纹识别模块进行各种操作,然后由应用程序完成对指纹模块发送各种命令的工作,并将指纹模块的回馈信息在超级终端中打印实现人机交互。

 

1.3 研究方法

(1)    学习并掌握S3C44B0处理器的硬件基础知识。

(2)    在硬件的学习基础上编写一些简单的外部接口电路的程序。

(3)    学习protel电路辅助设计软件的使用。

(4)    学习u-boot的改造。

(5)    学习linux的一些基础知识为移植uClinux做好准备。

(6)    移植uClinux

(7)    开发模块在uClinux下的驱动程序。

(8)    编写指纹识别模块的应用程序。

 

 

 

但是要注意的是指纹模块与44B0X板的连接必须为TTL电平。开发板上的D9公头经过MAX232其输出是RS232电平,所以将开发板的GPF6GPF7口配置为TXD1RXD1功能,直接从GPF口的引出口接到指纹模块,这样就可以满足电平要求。通讯实现与上节讲述的方法基本相同。区别主要是44B0和指纹识别模块之间通讯的信息是有一定约束的,即必须采用指纹模块规定的命令模式才能实现对指纹模块的操作;指纹模块回馈给44B0的信息也是有规定格式的。对于指纹模块的通讯协议前面已有介绍,这里就不再详细讲解了。

 

7.2 软件调试

要实现指纹身份识别模块的各种功能,就必须在实现串口通讯的基础上,完成对指纹模块正确地发送命令字的功能。软件调式的目的是为了检验最后是否能正确的操作指纹模块,通过在超级终端的操作界面下根据提示可以实现对指纹模块的各种操作。

软件测试前必须保证硬件连接正确,然后可以利用串口监控软件CommMonitor监视串口的输入与输出。在正式连接前可以将本来发送到指纹模块的命令发回到PC机然后在CommMonitor中查看发送命令是否正确。经过验证命令发送正确。然后将命令转发到指纹模块进行验证。

经过测试,软件是正确的,可以完成指纹模块的各种操作。

 

 

 

 

 

 

 

 

 

 

 

 

   

如今,嵌入式的应用可以说无所不在,为了开发出更好的嵌入式应用系统,就必须先了解嵌入式的基本知识,嵌入式系统的开发环境和一般开发方法。

经过几个月的学习和设计,完成了基于Samsung S3C44B0X嵌入式实验平台的指纹识别应用设计。

本文结合嵌入式相关知识与开发方法以及44B0的资源板,描述了一些44

B0基本功能模块、指纹识别模块的工作原理与应用开发思路和方法,包括设计部分外围电路,编写初始化程序、接口驱动程序和应用程序,同时还讲述了u-boot启动加载程序和uclinux嵌入式操作系统的移植方法。

一、此次设计主要成果和收获

1.弄清了44B0内部的各功能模块内容以及实验板上的资源分布,用到串口、JTAG口、GPIO口等接口完成了诸如跑马灯、键盘控制、仿真等一些简单应用功能。

2.对实验空间的地址分配有了深刻的了解和掌握,这对于存储器的读写操作及其应用非常重要。只有了解了硬件结构,才可能用软件去控制硬件完成相应功能。

3.了解了用ARM指令系统编写的启动程序的工作流程,这也是嵌入式底层程序与我们通常的应用程序开发的区别,因为一般的应用程序下面有像WindowsLinux这样的操作系统为我们打理一切了,而嵌入式底层开发则一切都得自己动手解决。

4.最重要的是,了解了嵌入式应用开发的方法和思路,这对于后续学习有很大的帮助。也是更高层次嵌入式系统开发的前提和基础。

5.  对通用的嵌入式启动加载程序u-boot和嵌入式操作系统uclinux的移植有了深刻的理解,同时对linux下的设别驱动以及各种设备文件有了一定的了解。

 

二、进一步研究工作的展望

本文基于44B0的实验开发板设计与指纹识别模块的接口电路以及移植u-bootuclinux操作系统。由于时间有限,实现功能比较简单,因此,对于此实验板还有很大的研究空间,无论是硬件拓展还是功能驱动软件设计。主要包括如下几个方面:

1.可应用以太网接口、USB接口、IIS音频接口完成更高层的接口应用开发。

2.可进一步改进当前的软件设计部分,使得当前实现的功能更加完善。

3.可对板上的有限资源进行拓展,比如加入电机驱动电路,包括直流电机和步进电机部分,使得板上的资源更加强大,这可以通过自己设计外围电路实现。

4.可加入显示屏,实现图形用户界面(GUI),方便操作。

 

 

三、开发过程中的几点感想

经过近四年的本科知识学习,随着在专业知识上的积累,我发现自己对硬件部分较感兴趣,同时,也想与具体的应用开发结合,而嵌入式应用开发正好符合将硬件与软件相结合的这一要求。本次毕业设计设计基于44B0的嵌入式简单功能应用开发,对于我来说是新知识的起点,也是旧知识的实践运用。在开发过程中,有如下深刻的体会:

1.在一般应用程序开发过程中,极少需要我们关注底层硬件方面,但进行基于ARM芯片的应用开发,则必须要求我们对平台硬件十分熟悉,否则举步维艰。

2.汇编语言仍是底层启动程序设计的首选,而C语言则是应用开发语言的首选。

3.关于计算机原理、微机接口电路、操作系统、数据结构、C语言程序设计等基础课程在系统开发过程中有着十分重要的作用。

4.程序写出来很简单,但调试、修改过程却是要很长的时间,要要有足够耐心。

5.知识需要自己动手实践,才能更深入理解。实践是检验真知的唯一标准。

 

 

 

 

 

 

 

 

 

 


以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
     购买帮助>>

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论