2 系统的定制
2.1 选择嵌入式操作系统
随着微电子技术的进步,芯片的制造成本和销售价格都大大降低了,而功能和内部支持的端口却大大扩展了,16位和32位嵌入式处理器逐渐成为电子产品设计的主流。为了缩短产品设计周期和运行时间,使工作更稳定、更可靠和更高效并实现需要的复杂功能,需要运行于嵌入式处理器上的嵌入式操作系统,才能形成完整的系统平台。当前嵌入式操作系统包括Microsoft Embedded NT 4.0、Microsoft Windows CE、Nucleus PLUS、pSOSystem等。由于指纹识别对系统计算能力要求较高,需要具有强大的管理功能,并不需要硬实时功能,在实际开发中选用 Microsoft Embedded NT 4.0嵌入式操作系统,它具有操作系统的完善功能和强大的TCP/IP网络功能;开发环境可选用Visual C++ 6.0并支持组件对象模型、MFC、ATL等。经过实验验证,可满足设计要求。
2.2 系统硬件选择及开发
系统硬件框图见图2。
(1) 工控主板选用研祥PI6584V工控主板,并配如下部件:CPU(AMD K6-2)、内存(168线64MB)、PC 104以太网卡、 32MB DOM。该部分采用5V供电,静态耗电50μA。峰值耗电量50mA。体积为50mm%26;#215;80mm%26;#215;20mm。工控主板在系统中所起作用:搭载系统应用软件;使用EPP1.9模式,通过并口从并口板读取指纹图像数据;将指纹图像数据通过指纹建档算法转化为指纹特征值存入 DOM中;实时采集指纹与DOM中指纹特征值进行比对;接收键盘输入键值并根据按键功能定义进行相应操作;系统状态信息通过串口输出到控制板中,完成人机操作界面显示。
(2) 指纹采集头组件(COMS板)。COMS板的主要功能为:实时通过光学指纹采集仪将指纹图像折射到采像芯片上,由采像芯片完成模拟量到数字量的转换,并送往并口板存储器中暂存。COMS板的核心器件为OV7120和指纹采集仪。OV7120为黑白单元COMS VGA采像器件。指纹采集仪为光光采像头,型号为ZYZ202A。该型号采像头为长春方圆定型产品,主要技术参数:手指接触面:光学玻璃;采像有效面积:22mm%26;#215;22mm;成像方式:棱镜折射式;图像分辨率:450dpi。 (3) 并口板主要功能为:通过I2C总线对COMS板中采像芯片OV7120设置有关参数;从COMS板提取指纹采像数据并暂存于存储器中;每存取一帧图像数据即通过并口(EPP模式)向工控主板发出请求信号;根据工控主板发出的数据提取信号将指纹图像数据输入系统进行有关处理;实时检测整机内部环境温度并控制相关排风扇的工作。并口板的核心器件为EPM7032、AT89C2051、IS61C1024L。EPM7032为FPGA,其主要作用是完成COMS 板指纹图像数据到工控主板的数据传递。AT89C2051是通用8位单片机。IS61C1024L为128K%26;#215;8bit高速COMS静态存储器,与并口板之间采用IDC-20P双排针接口。
(4) 控制板主要功能为:接受外部命令并将对应键值输入工控主板以完成相关操作,通过串口从控主板获取显示内容并转化为液晶屏显示所需格式。控制板含有15个铵键,为导电胶方式。按键包括:Menu、Cancel、OK、0~9、共15个键。控制板的核心器件为键盘扫描芯片EM83050和标准8位单片机AT89C2051。与工控主板之间采用TJC3-3P插座;与液晶屏之间采用TJC3-9P插座。
(5) 液晶屏主要用来显示系统所处状态。液晶屏型号为WGM12232H,点阵大小122%26;#215;32。 串口LED显示采用RS232/485接口与计算机通信,通信方式:RS232接口、115200bps、异步8位、1位起始位、8位数据位、1位停止位。 发送数据格式如下: 55H AAH XX显示数据 其中,55H AAH为数据头标志,XX为背光控制字:48H点亮背光,其余不点亮背光。
通信说明:通信主动方为PC,被动方向LCD。首先PC发送数据头命令55H、AAH,LCD接收到数据头后,判断是否正确。若正确则开始接收背光控制字并显示数据;否则退出接收状态。传输数据中,当LCD端检测到传输中断超时,即退出接收状态。LCD值守状态时处于背光熄灭状态,当检测有键按下或有指纹时,上位机发送背光控制字(48H)使背光点亮。 完成硬件设计,通过编写测试软件在PC平台上进行测试,基本可满足系统要求。
3 软件及驱动编写
3.1 嵌入式NT系统定制
硬件测试完成后,根据硬件的中断号、插槽及系统要求的性能,需要对嵌入式NT进行定制。在NT系统裁减器中,主要选择如下: (1) 选择Minimal With Network Copy至Minimal With Network; (2) System中Devices选择Display-NullVga,Serial Ports-com1/com2(中断号:5/6),Parallel Ports-LPT1; (3) Networks:Network adapters-Novel NE2000 Compatile Adapts,Network Protocol-TCP/IP,Network Services-LAN Manage Workstations、Simple TCP Service、DHCP client Winsock; (4) Share System Component中选择Display Common、Keyboard driver common、Network Common、Virtual memory mamage; (5) Applications中选择Shell-command Shell,Utilities-Windows NT Command Prompt。 生成操作系统后,做一张嵌入式NT启动盘,用启动盘格式化DOM,键入NTBoot>后将操作系统拷贝至DOM,NT操作系统即可运行。
3.2 软件编写
系统流程图见图3。 系统启动部分主要功能:初始化指纹识别模块InitFp();初始化串口和刷新液晶LCDInit(int(hWnd));初始化字库 IniFontLib();初始化键盘响应InitKeySys();初始始化字库IniFontLib();初始化键盘响应InitKeySys();初始化并口采像设备InitParrel();初始化液晶显示InitDispary();将指纹库,密码库装入内存LoadAll()。系统启动完成后开始线程ThreadMain(),在线程中进入程序死循环,在循环中主要响应按键和采集图像进行指纹比对其中按键响应分三部分; (1) 当输入的按键个数等于设定个数(人员代码长度+密码长度)时,进行密码考勤; (2) 指纹考勤分为分组考勤(即输入接键的数字键数目为1时进行)、1:1考勤(即输入按键数目等于人员代码长度时进行); (3) 值守状态下,按MENU键,输入正确系统密码进入管理状态。 系统菜单包括:值守,指纹建档,1:1建棣,密码建档,指纹删除,密码删除,指纹查询,指纹分组查询,密码查询,系统日期,系统时间,默认组设置,修改 IP地址,语言设置,代码长度设置,系统密码。 采集图像进行指纹比对:在大循环中,先读图像:ReadImg(Img,50);如果读图像成功,进行比对:SysMatch(Img);比对成功后,显示人员代码、姓名。
3.3 数据传输部分
定义流水帐结构为:考勤时间:_SYSTEMTIME T;人员代码:char Code[16];出入标志:Byte Inout。网络传输采用标准TFTP和UDP协议进行通信,详细通信协议如下: 上传下载采用TFTP协议,主要完成的功能包括:上载人员名单、备份、下传流水帐、备份数据至主机。UDP主要负责打开、关闭TFTP服务。网络通信模块采用标准TFTP协议: 报头==0x81 下载 报头==0x82 上载 传递文件只能为流水账、配置表、指纹数据、密码装饰。
2 系统的定制
2.1 选择嵌入式操作系统
随着微电子技术的进步,芯片的制造成本和销售价格都大大降低了,而功能和内部支持的端口却大大扩展了,16位和32位嵌入式处理器逐渐成为电子产品设计的主流。为了缩短产品设计周期和运行时间,使工作更稳定、更可靠和更高效并实现需要的复杂功能,需要运行于嵌入式处理器上的嵌入式操作系统,才能形成完整的系统平台。当前嵌入式操作系统包括Microsoft Embedded NT 4.0、Microsoft Windows CE、Nucleus PLUS、pSOSystem等。由于指纹识别对系统计算能力要求较高,需要具有强大的管理功能,并不需要硬实时功能,在实际开发中选用 Microsoft Embedded NT 4.0嵌入式操作系统,它具有操作系统的完善功能和强大的TCP/IP网络功能;开发环境可选用Visual C++ 6.0并支持组件对象模型、MFC、ATL等。经过实验验证,可满足设计要求。
2.2 系统硬件选择及开发
系统硬件框图见图2。
(1) 工控主板选用研祥PI6584V工控主板,并配如下部件:CPU(AMD K6-2)、内存(168线64MB)、PC 104以太网卡、 32MB DOM。该部分采用5V供电,静态耗电50μA。峰值耗电量50mA。体积为50mm%26;#215;80mm%26;#215;20mm。工控主板在系统中所起作用:搭载系统应用软件;使用EPP1.9模式,通过并口从并口板读取指纹图像数据;将指纹图像数据通过指纹建档算法转化为指纹特征值存入 DOM中;实时采集指纹与DOM中指纹特征值进行比对;接收键盘输入键值并根据按键功能定义进行相应操作;系统状态信息通过串口输出到控制板中,完成人机操作界面显示。
(2) 指纹采集头组件(COMS板)。COMS板的主要功能为:实时通过光学指纹采集仪将指纹图像折射到采像芯片上,由采像芯片完成模拟量到数字量的转换,并送往并口板存储器中暂存。COMS板的核心器件为OV7120和指纹采集仪。OV7120为黑白单元COMS VGA采像器件。指纹采集仪为光光采像头,型号为ZYZ202A。该型号采像头为长春方圆定型产品,主要技术参数:手指接触面:光学玻璃;采像有效面积:22mm%26;#215;22mm;成像方式:棱镜折射式;图像分辨率:450dpi。 (3) 并口板主要功能为:通过I2C总线对COMS板中采像芯片OV7120设置有关参数;从COMS板提取指纹采像数据并暂存于存储器中;每存取一帧图像数据即通过并口(EPP模式)向工控主板发出请求信号;根据工控主板发出的数据提取信号将指纹图像数据输入系统进行有关处理;实时检测整机内部环境温度并控制相关排风扇的工作。并口板的核心器件为EPM7032、AT89C2051、IS61C1024L。EPM7032为FPGA,其主要作用是完成COMS 板指纹图像数据到工控主板的数据传递。AT89C2051是通用8位单片机。IS61C1024L为128K%26;#215;8bit高速COMS静态存储器,与并口板之间采用IDC-20P双排针接口。
(4) 控制板主要功能为:接受外部命令并将对应键值输入工控主板以完成相关操作,通过串口从控主板获取显示内容并转化为液晶屏显示所需格式。控制板含有15个铵键,为导电胶方式。按键包括:Menu、Cancel、OK、0~9、共15个键。控制板的核心器件为键盘扫描芯片EM83050和标准8位单片机AT89C2051。与工控主板之间采用TJC3-3P插座;与液晶屏之间采用TJC3-9P插座。
(5) 液晶屏主要用来显示系统所处状态。液晶屏型号为WGM12232H,点阵大小122%26;#215;32。 串口LED显示采用RS232/485接口与计算机通信,通信方式:RS232接口、115200bps、异步8位、1位起始位、8位数据位、1位停止位。 发送数据格式如下: 55H AAH XX显示数据 其中,55H AAH为数据头标志,XX为背光控制字:48H点亮背光,其余不点亮背光。
通信说明:通信主动方为PC,被动方向LCD。首先PC发送数据头命令55H、AAH,LCD接收到数据头后,判断是否正确。若正确则开始接收背光控制字并显示数据;否则退出接收状态。传输数据中,当LCD端检测到传输中断超时,即退出接收状态。LCD值守状态时处于背光熄灭状态,当检测有键按下或有指纹时,上位机发送背光控制字(48H)使背光点亮。 完成硬件设计,通过编写测试软件在PC平台上进行测试,基本可满足系统要求。
3 软件及驱动编写
3.1 嵌入式NT系统定制
硬件测试完成后,根据硬件的中断号、插槽及系统要求的性能,需要对嵌入式NT进行定制。在NT系统裁减器中,主要选择如下: (1) 选择Minimal With Network Copy至Minimal With Network; (2) System中Devices选择Display-NullVga,Serial Ports-com1/com2(中断号:5/6),Parallel Ports-LPT1; (3) Networks:Network adapters-Novel NE2000 Compatile Adapts,Network Protocol-TCP/IP,Network Services-LAN Manage Workstations、Simple TCP Service、DHCP client Winsock; (4) Share System Component中选择Display Common、Keyboard driver common、Network Common、Virtual memory mamage; (5) Applications中选择Shell-command Shell,Utilities-Windows NT Command Prompt。 生成操作系统后,做一张嵌入式NT启动盘,用启动盘格式化DOM,键入NTBoot>后将操作系统拷贝至DOM,NT操作系统即可运行。
3.2 软件编写
系统流程图见图3。 系统启动部分主要功能:初始化指纹识别模块InitFp();初始化串口和刷新液晶LCDInit(int(hWnd));初始化字库 IniFontLib();初始化键盘响应InitKeySys();初始始化字库IniFontLib();初始化键盘响应InitKeySys();初始化并口采像设备InitParrel();初始化液晶显示InitDispary();将指纹库,密码库装入内存LoadAll()。系统启动完成后开始线程ThreadMain(),在线程中进入程序死循环,在循环中主要响应按键和采集图像进行指纹比对其中按键响应分三部分; (1) 当输入的按键个数等于设定个数(人员代码长度+密码长度)时,进行密码考勤; (2) 指纹考勤分为分组考勤(即输入接键的数字键数目为1时进行)、1:1考勤(即输入按键数目等于人员代码长度时进行); (3) 值守状态下,按MENU键,输入正确系统密码进入管理状态。 系统菜单包括:值守,指纹建档,1:1建棣,密码建档,指纹删除,密码删除,指纹查询,指纹分组查询,密码查询,系统日期,系统时间,默认组设置,修改 IP地址,语言设置,代码长度设置,系统密码。 采集图像进行指纹比对:在大循环中,先读图像:ReadImg(Img,50);如果读图像成功,进行比对:SysMatch(Img);比对成功后,显示人员代码、姓名。
3.3 数据传输部分
定义流水帐结构为:考勤时间:_SYSTEMTIME T;人员代码:char Code[16];出入标志:Byte Inout。网络传输采用标准TFTP和UDP协议进行通信,详细通信协议如下: 上传下载采用TFTP协议,主要完成的功能包括:上载人员名单、备份、下传流水帐、备份数据至主机。UDP主要负责打开、关闭TFTP服务。网络通信模块采用标准TFTP协议: 报头==0x81 下载 报头==0x82 上载 传递文件只能为流水账、配置表、指纹数据、密码装饰。
举报