MC68HC908JB8有五组通用接口PTA,PTB,PTC,PTD,PTE.。设计中选用PTB口和PTC口于FPS110连接,PTB口用于数据通信,PTC口用于控制。具体连接如图3所示
4)USB接口设计。
MC68HC908JB8片上集成的是1.5MB的低速USB模块。根据USB协议,需要在D-上加一个1.5k的上拉电阻到3.3伏,连接如图4所示。
系统软件设计
系统软件设计分为四个部分,分别是MC68HC908JB8上的USB固件设计,指纹采集程序设计,计算机上的USB驱动设计和演示程序设计
1.MC68HC908JB8上的USB固件设计
单片机的开发环境选用Metrowerks的CodeWarriorstudio集成开发软件,在线仿真和编程工具选用了P&EMicrocomputerSystems公司的MON08MULTILINK。
MC68HC908JB8片上集成了遵循USB1.1规范的低速USB模块,该模块有三个端点,端点0支持控制收发传输,端点1支持中断数据发送传输,端点2支持中断数据接收传输。对应的有USB控制积存器,USB中断寄存器,USB数据寄存器,USB状态寄存器。为了实现MC68HC908JB8和计算机之间的USB正常通信,必须在MC68HC908JB8中设计USB固件。如图5所示,USB固件主要包含控制传输和USB标准请求命令的处理,端点数据读写处理,其他中断处理。
2.指纹采集程序设计
MC68HC908JB8使用通用接口PTB和PTC与FPS110连接,通过控制FPS110片内的行寄存器和列寄存器就能很方便的完成整幅指纹或部分指纹的采集,指纹采集的基本流程如图6所示。
3.WINDOWS平台下的USB驱动程序设计
Windriver是美国Jungo公司出品的用于编写硬件驱动程序的一种工具软件,主要用于ISA插卡、PCI插卡和USB的驱动程序开发。使用Windriver开发驱动程序的优点主要在于不需要了解太多的操作系统和驱动程序方面的知识,而且Windriver带有功能强大的向导DriverWizard,能帮助开发者进行硬件诊断和自动生成代码。所以采用Windriver能让电子工程师在短时间内针对自制硬件开发出易用、兼容性好的驱动程序采用Windriver来设计USB驱动程序,如图7所示,实际上只是在用户模式下调用了用了Windriver通用驱动程序提供的API函数,并不用编写WDM驱动程序。
基本调用过程:程序运行时先调用WDU_INI函数初始化各种变量,等待回调函数结果;如果回调成功,则调用WDU_TRANSFER等函数完成收发数据;而程序运行结束时调用WDU_UNINIT释放变量,句柄等获得资源。
4.WINDOWS平台下演示程序设计
计算机上的演示程序主要包含计算机与MC68HC908JB8通信的简单控制,采集到指纹图像的显示,以及指纹图像的一些如细化、二值化等的简单处理。采用的工具是VC6.0,图8是一个演示界面的例子。
结束语
本文介绍了一种基于MC68HC908JB8的便携式USB指纹采集方案,实验表明,这种方案充分利用了USB支持即插即用,有较强的纠错能力,能总线供电等优点,简化了设计,降低了成本,实现了灵活可靠的指纹图像传输,有很好的应用前景。