2 分布式指纹识别系统软件设计
2.1 μC/OS-Ⅱ系统移植
由于系统硬件平台所选用的嵌入式微处理器AT91SAM7X256的RAM、Flash等资源都非常有限,考虑各种因素,选用了μC/OS-Ⅱ作为嵌入式操作系统,TCP/IP协议通过扩展实现。μC/0S-Ⅱ操作系统是一个源码公开、可移植、可固化、可裁剪和占先式的实时多任务操作系统。其最主要的特点就是源码公开,绝大部分源码是用ANSI C写的。虽然μC/0S-Ⅱ只是提供了时间管理、任务问通信同步、任务管理和内存管理等主要服务,但它的可扩展性强。可扩展的上层服务有:设备驱动,文件系统,图形系统和TCP/IP协议系统等,并且由于其性能可以与许多高端商业软件产品相媲美,甚至某些性能比它们还要好,因此,正以其巨大的优势吸引了众多开发者。μC/0S-Ⅱ是专为微控制器系统和软件开发而设计的抢占式实时多任务操作系统内核,是微控制器启动后首先执行的背景程序,作为整个系统的框架贯穿系统运行的始终,对实时性和稳定性要求很高的数据采集系统而言,引入μC/OS-Ⅱ无疑将大大改善其性能。
2.2 CAN总线接口通信模块
CAN协议是建立在ISO的开放系统互联模型的基础上的,取其中的3层:物理层、数据链路层和应用层。物理层和数据链路层的功能可由CAN接口器件实现,而应用层的功能则要靠应用程序来完成。CAN总线接口通信模块的功能是接收和发送CAN总线数据。主要操作包括CAN控制器初始化和CAN总线上接收和发送数据的操作。信息由CAN控制器发送接收到CAN总线,都由CAN控制器自动完成。
2.3 以太网通信模块实现
以太网是通信网采用的最通用的通信协议标准,该标准定义了在通信网中采用的电缆类型和信号处理方法。以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制,是一种广播网络。数据的发送和接收就必须按以太网IEEE802.3协议来进行。软件的实现主要有模块的初始化、数据的发送和接收3部分。片上移植的μClinux系统包含了TCP-IP协议栈,以太网控制器集成在AT91SAM7X256内部。因此,实际上只要网关系统置开启状态,模块的初始化也随之完成。
2.4 指纹识别模块软件实现
指纹识别算法是指纹识别系统的核心。本系统中采用的指纹识别算法实现流程为:提取脊线方向,脊线频率,经过GABOR滤波,特征提取,与指纹数据库进行特征匹配。本系统单个节点有两大功能:指纹识别和指纹模板存储。指纹识别软件模块工作流程如图3所示。