光学头模块内部部分开发手册.doc_第1页
光学头模块内部部分开发手册.doc_第2页
光学头模块内部部分开发手册.doc_第3页
光学头模块内部部分开发手册.doc_第4页
光学头模块内部部分开发手册.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

光学头模块内部部分开发手册 Godo Electronic Company Limited(一) 系统结构概述a) 硬件架构b) 系统控制寄存器和状态寄存器c) 用户记事本d) 系统存储结构e) 低功耗状态f) 缓冲区与指纹库g) 模板与特征h) FLASH空间分配(二) 模块指令系统a) 模块指令集b) 指令数据包格式c) 指令应答(三) UART实现(四) 指令详解(五) 上位机应用示例(流程图)一、 系统结构概述a) 硬件架构1 硬件系统主要由四部分组成:传感器、处理器、存储器、电源。2 处理器采用TI的c55x系列DSP,目前选用TMS320VC5507或TMS320VC5509A。3 图像格式256x256,256级灰度,分辨率为450dpi。4 系统采用3.3V供电,峰值功耗约为120mA。5 模块唯一的对外接口为一个5芯插座,其信号定义如下:如果与PC联机,则中间应挂接RS232转接板。6 模块采用高度集成的一体化结构,即光路和主板集成在一起。b) 系统控制寄存器和状态寄存器模块内设有11个系统寄存器,用于控制模块运行的基本参数以及纪录模块的工作状态,通过写寄存器指令(GoDo_WriteReg)和读寄存器指令(GoDo_ReadReg)可以实现对这11个寄存器的设置和读取。1、 系统状态寄存器 只读寄存器序号:0x01 长度:1 字节状态寄存器的格式内容如下:STATUS:7 65 4 210ReservedPWDSECURITYPassBusy注:l Busy:占1位,置“1”表示系统正在执行命令,“0”表示系统空闲;若置“1”则模块拒绝接受除Free命令之外的任何命令;l Pass:占1位,置“1”表示指纹验证通过;l SECURITY:占3位,其值代表不同的安全等级,实际用到5个值。初值从存于FLASH的参数表中导入。SetSecurLevel指令首先更改此值,然后将其写入FLASH;l PWD:占一位,置1表示设备握手口令通过验证;2、指纹库大小寄存器 只读寄存器序号:0x02长度:2 字节指纹库大小寄存器的格式内容如下:High byte(十六进制)Low byte(十六进制)注:l 指纹库大小分三个档次100枚 300枚 800枚,根据FLASH大小而定。3、波特率控制寄存器读写(上电复位后波特率寄存器恢复成缺省值)寄存器序号:0x03长度:1字节 波特率代码注:l 0:38400bps1:57600bps2:115200bpsl 上位机收到应答包后应至少等待1ms才能以新的波特率与模块通信。4、FLASH类型寄存器 只读寄存器序号:0x04长度:1字节 FLASH型号代码注:l 0:SST1:Saifun2:Atmel 5、比对阈值寄存器 读写寄存器序号:0x05长度:1字节 比对阈值代码注:l 1:Level 12:Level 23:Level 34:Level 45:Level 56、数据包大小寄存器 读写(上电复位后数据包大小寄存器恢复成缺省值)寄存器序号:0x06长度:1字节 数据包大小代码注:l 0:64 bytes1:128 bytes2:256 bytes7、模块型号寄存器 只读寄存器序号:0x09长度:8字节 字符1(十六进制ASCII码)字符2(十六进制ASCII码)字符3(十六进制ASCII码)字符4(十六进制ASCII码)字符5(十六进制ASCII码)字符6(十六进制ASCII码)字符7(十六进制ASCII码)字符8(十六进制ASCII码)8、软件版本号寄存器 只读寄存器序号:0x0A长度:8字节 字符1(十六进制ASCII码)字符2(十六进制ASCII码)字符3(十六进制ASCII码)字符4(十六进制ASCII码)字符5(十六进制ASCII码)字符6(十六进制ASCII码)字符7(十六进制ASCII码)字符8(十六进制ASCII码)9、生产商名称寄存器 只读寄存器序号:0x0B长度:8字节 字符1(十六进制ASCII码)字符2(十六进制ASCII码)字符3(十六进制ASCII码)字符4(十六进制ASCII码)字符5(十六进制ASCII码)字符6(十六进制ASCII码)字符7(十六进制ASCII码)字符8(十六进制ASCII码)上述寄存器序号是逻辑序号,不代表再FLASH或内存中的实际顺序。再内存中的实际结构见表12。c) 用户记事本模块内部开辟了一个64字节的存储区域作为用户记事本,上位机可以通过Godo_WriteNotepad指令和Godo_ReadNotepad指令访问该区域。d) 系统存储结构FLASH中开辟一块4K字节的存储区域供系统存储参数表、用户记事本、残留指纹和指纹库索引表等系统数据。4K字节的系统数据存储区分成8页,每页512字节。其中参数表占一页,用户记事本占一页,残留指纹占一页,指纹库索引表占一页。 页号内容注解0参数表1用户记事本2保留 3保留4保留5保留6残留指纹7指纹库索引表可供索引2048枚指纹序号名称字节数内容注释1系统状态寄存器1STATUS2工作状态寄存器13错误指示寄存器14指纹库大小2100或300或800依FLASH型号而定5FLASH类型10或1或2SST=0,Saifun=1,Atmel=26比对阀值1分5个等级7设备地址4模块唯一的地址8系统配置表8保留出厂默认值由Setup指令设定数据包大小波特率设置保留保留保留传感器图像读取起始行只能由Setup指令设定传感器图像读取起始列只能由Setup指令设定9设备描述符24模块型号软件版本号厂家名称10保留230表12e) 低功耗状态上位机通过低功耗指令(Godo_PowerDown)通知模块即将断电,模块应答就绪后上位机可以通过拉低PowerDown引脚或直接切断电源使模块进入低功耗状态,进入低功耗状态后模块的功耗将维持在1uA以下。因为模块是以断电方式进入深度低功耗状态的,所以此时模块拒绝接受上位机的任何命令,上位机只有通过模块的PowerDown引脚或重新上电才能唤醒模块。f) 缓冲区与指纹库模块内设有一个64K字节的图像缓冲区与二个512 bytes(256字)大小的特征文件缓冲区,名字分别称为:ImageBuffer,CharBuffer1,CharBuffer2。用户可以通过指令读写任意一个缓冲区。CharBuffer1或CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件。上传或下载图像时只用到像素字节的高四位,即将两个像素合成一个字节传送。模块内设有一个FLASH指纹库,指纹库容量根据不同型号分为100枚,300枚,800枚三个档次。基本配置库容量为100枚。指纹模板按照序号存放,序号定义为:0N-1(N指指纹库容量)。用户只能根据序号访问指纹库内容。数据库=系统存储区+指纹库;07页为系统存储区,指纹库从第8页开始。g) 模板与特征指纹特征文件大小为256字节,包含特征点信息与总体信息;模板大小为512字节,是两个相同指纹特征之和。h) FLASH空间分配FLASH容量内容1Mb2Mb4MbCodes64k bytes64k bytes64k bytes数据库系统占用4k bytes4k bytes4kbytes指纹库60k bytes188k bytes444k bytes二、 模块指令系统a) 模块指令集:1. Godo_GetImagel 指令代码:01Hl 功能:从传感器上读入图像2. Godo_GenCharl 指令代码:02Hl 功能:根据原始图像生成指纹特征存于CharBuffer1或CharBuffer23. Godo_Matchl 指令代码:03Hl 功能:精确比对CharBuffer1与CharBuffer2中的特征文件4. Godo_Searchl 指令代码:04Hl 功能:以CharBuffer1或CharBuffer2中的特征文件搜索整个或部分指纹库5. Godo_RegModell 指令代码:05Hl 功能:将CharBuffer1与CharBuffer2中的特征文件合并生成模板存于CharBuffer26. Godo_StoreCharl 指令代码:06Hl 功能:将特征缓冲区中的文件储存到flash指纹库中7. Godo_DeletOneCharl 指令代码:0CHl 功能:删除flash指纹库中的一个特征文件8. Godo_Emptyl 指令代码:0DHl 功能:清空flash指纹库9. GoDo_WriteRegl 指令代码:0EHl 功能:写模块寄存器10. Godo_ReadParTablel 指令代码:0FHl 功能:读参数表11. Godo_PowerDownl 指令代码:10Hl 功能:低功耗指令12. Godo_Setupl 指令代码:11Hl 功能:系统初始化指令,对传感器偏移量等进行检测纪录13. Godo_SetPwdl 指令代码:12Hl 功能:设置设备握手口令14. Godo_VfyPwdl 指令代码:13Hl 功能:验证设备握手口令15. Godo_WriteNotepad l 指令代码:15Hl 功能:写记事本16. Godo_ReadNotepad l 指令代码:16Hl 功能:读记事本17. Godo_Resetl 指令代码:14Hl 功能:系统复位,进入上电初始状态b) 指令、数据包格式所有的数据包都要加包头:0xA5A5,0xCC3301命令包格式:4bytes1 byte 2 bytes1byte 2 bytes0xA5A5CC33包标识01 包长度指令参数1参数2参数n校验和数据包不能单独进入执行流程,必须跟在指令包或应答包后面。包长度为包内容(指令、参数或数据)的字节数。校验和是数据包从包标识至校验和之间所有字节之和,超出2字节的进位忽略。c) 指令应答应答是将有关命令执行情况与结果上报给上位机,应答包含有参数,并可跟后续数据包。上位机只有在收到模块的应答包后才能确认模块收包情况与指令执行情况。应答包格式:4 bytes1 byte2 byte1 bytesN bytes2 bytes0xA5A5CC33包标识 07包长度确认码返回参数校验和确认码定义:1. 00h:表示指令执行完毕或OK;2. 01h:表示数据包接收错误;3. 02h:表示传感器上没有手指;4. 03h:表示录入指纹图像失败;5. 04h:表示指纹图像太干、太淡而生不成特征;6. 05h:表示指纹图像太湿、太糊而生不成特征;7. 06h:表示指纹图像太乱而生不成特征;8. 07h:表示指纹图像正常,但特征点太少(或面积太小)而生不成特征;9. 08h:表示指纹不匹配;10. 09h:表示没搜索到指纹;11. 0ah:表示特征合并失败;12. 0bh:表示访问指纹库时地址序号超出指纹库范围;13. 0ch:表示从指纹库读模板出错或无效;14. 10h:表示删除模板失败;15. 11h:表示清空指纹库失败;16. 12h:表示不能进入低功耗状态;17. 13h:表示口令不正确;18. 14h:表示系统复位失败;19. 15H:表示缓冲区内没有有效原始图而生不成图像;20. 16H:表示在线升级失败;21. 17H:表示残留指纹或两次采集之间手指没有移动过;22. 18H:表示读写FLASH出错;23. 19hffh:Reserved。指令只能由上位机下给模块,模块向上位机应答。系统上电复位后将首先检查默认的设备握手口令是否被修改,若未被修改,则系统认为上位机没有验证口令的需求,模块直接进入正常工作状态;若已被修改,则必须首先验证设备握手口令,口令通过后模块才进入正常工作状态。三、 UART实现a) 收包在UART中断服务程序中实现,发包用子函数实现;b) UART中断服务程序负责完成收到一个字符后的解码、收到整帧后的解码及校错、本帧应答等事务;c) UART中断服务程序允许嵌套,但不允许相同任务超前;d) 数据链路层的接收部分设数据链路寄存器:LinkSR,用于监控数据包接收;e) LinkSR格式:7 3210ReservedTpktBufferFullPhaseActivef) 当UART收到0Xa5a5cc33这4个字符时就认为一个包的开始,其后收到的字符被认为是包标识,若包标识正确,则认为后二个字符为包长度,此时触发LinkSR的PhaseActive位取反,然后按照包长度将整个包接收下来。接收最后两个字符为校验和。g) 若以上环节任一个有错,则初始化缓冲区和指针,并重新开始等待包头(0xa5a5cc33)。h) 校验和正无误后送往包缓冲区,并通知应用层。i) 发送数据包的整个过程都由子函数实现。j) 包正在发送标志位(Tpkt)表明数据链路上有数据包正在发送。在每次发送数据包开始时置位,发送结束后复位。在Tpkt置位期间不允许发送其他数据包。四、 指令详解1. 录入图像Godo_GetImage 功能说明:探测手指,探测到后录入指纹图像存于ImageBuffer。返回确认码表示:录入成功、无手指等。 输入参数:none 返回参数:确认字 指令代码:01H 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度指令码校验和0xA5A5CC3301H01H01H03H 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示录入成功;确认码=01H表示收包有错;确认码=02H表示传感器上无手指;确认码=03H表示录入不成功;sum指校验和2. 生成特征Godo_GenChar 功能说明:将ImageBuffer中的原始图像生成指纹特 征文件存于CharBuffer1 或CharBuffer2,并返回有效面积(百分比)、上下左右边界五个参数。 输入参数:BufferID(特征缓冲区号) 返回参数:确认字,有效面积(百分比)、上下左右边界(到边框 的距离) 指令代码:02H 指令包格式:4 bytes1 byte2 bytes1 byte1 byte2 bytes包头包标识包长度指令码缓冲区号校验和0xA5A5CC3301H02H02HBufferIDsum注:缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h 应答包格式:4 bytes1 byte2 bytes1 byte1byte1byte1byte1byte1 byte2 bytes包头包标识包长度确认码面积上界下界左界右界校验和0xA5A5CC3307H06HXxHValidAreaTBBBLBRBsum注:确认码=00H表示生成特征成功;确认码=01H表示收包有错;确认码=04H表示指纹图像太干、太淡而生不成特征;确认码=05H表示指纹图像太湿、太糊而生不成特征;确认码=06H表示指纹图像太乱而生不成特征;确认码=07H表示指纹图像正常,但特征点太少而生不成特征;确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;sum指校验和3. 精确比对两枚指纹特征Godo_Match 功能说明:精确比对CharBuffer1 与CharBuffer2 中的 特征文件 输入参数:none 返回参数:确认字,比对得分 指令代码:03H 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度指令码校验和0xA5A5CC3301H01H03H05H 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes2 bytes包头包标识包长度确认码得分校验和0xA5A5CC3307H03HXxHXxHsum注:确认码=00H表示指纹匹配;确认码=01H表示收包有错;确认码=08H表示指纹不匹配;sum指校验和4. 搜索指纹Godo_Search 功能说明:以CharBuffer1或CharBuffer2中的特征文件搜索整个 或部分指纹库。若搜索到,则返回页码。 输入参数:BufferID, StartPage(起始页),PageNum(页数) 返回参数:确认字,页码(相配指纹模板) 指令代码:04H 指令包格式:4 bytes1 byte2 bytes1 byte1 byte2 bytes2 bytes2 bytes包头包标识包长度指令码缓冲区号参数参数校验和0xA5A5CC3301H06H04HBufferIDStartPagePageNumsum注:缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes2 bytes包头包标识包长度确认码页码校验和0xA5A5CC3307H3xxHPageIDsum注:确认码=00H表示搜索到;确认码=01H表示收包有错;确认码=09H表示没搜索到;此时页码与用户信息均为0sum指校验和5. 合并特征(生成模板)Godo_RegModel 功能说明:将CharBuffer1与CharBuffer2中的特征文件合并生成 模板,结果存于CharBuffer2。 输入参数:none 返回参数:确认字 指令代码:05H 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度指令码校验和0xA5A5CC3301H01H05H08H 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示合并成功;确认码=01H表示收包有错;确认码=0aH表示合并失败(两枚指纹不属于同一手指);sum指校验和6. 储存模板Godo_StoreChar 功能说明:将CharBuffer1 或CharBuffer2中的模板文件存到PageID号flash数据库位置。 输入参数:BufferID(缓冲区号),PageID(指纹库位置号) 返回参数:确认字 指令代码:06H 指令包格式:4 bytes1 byte2 bytes1 byte1 byte2 bytes2 bytes包头包标识包长度指令码缓冲区号位置号校验和0xA5A5CC3301H04H06HBufferIDPageIDsum注:缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示储存成功;确认码=01H表示收包有错;确认码=0bH表示PageID超出指纹库范围;确认码=18H表示写FLASH出错;sum指校验和7. 删除一个模板Godo_DeletOneChar 功能说明:删除flash数据库中指定ID号的指纹模板 输入参数:PageID(指纹库模板号) 返回参数:确认字 指令代码:0cH 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes2 bytes包头包标识包长度指令码页码校验和0xA5A5CC3301H03H0cHPageIDsum 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示删除模板成功;确认码=01H表示收包有错;确认码=10H表示删除模板失败;sum指校验和8. 清空指纹库Godo_Empty 功能说明:删除flash数据库中所有指纹模板 输入参数:none 返回参数:确认字 指令代码:0dH 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度指令码校验和0xA5A5CC3301H01H0dHsum 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示清空成功;确认码=01H表示收包有错;确认码=11H表示清空失败;sum指校验和9. 写模块寄存器GoDo_WriteReg 功能说明:写模块寄存器 输入参数:寄存器序号 返回参数:确认字 指令代码:0eH 指令包格式:4 bytes1 byte2 bytes1 byte1byte1byte2 bytes包头包标识包长度指令码寄存器序号内容校验和0xA5A5CC3301H03H0eH3/5/6xxsum 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示OK;确认码=01H表示收包有错;sum指校验和10. 读系统参数表Godo_ReadParTable 功能说明:读取模块的参数表 输入参数:none 返回参数:确认字 + 参数表 指令代码:0fH 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度指令码校验和0xA5A5CC3301H01H0fHsum 应答包格式:4 bytes1 byte2 bytes1 byte50 bytes2 bytes包头包标识包长度确认码参数表校验和0xA5A5CC3307H1+50xxH见三参数表结构sum注:确认码=00H表示OK;确认码=01H表示收包有错;sum指校验和11. 进入低功耗Godo_ PowerDown 功能说明:令模块进入低功耗状态 输入参数:none 返回参数:确认字 指令代码:10H 指令包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度指令码校验和0xA5A5CC3301H01H10Hsum 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示成功进入休眠;确认码=01H表示收包有错;确认码=12H表示不能进入休眠;sum指校验和12. 系统初始化设置Godo_Setup 功能说明:模块初始化设置口令 输入参数:none 返回参数:确认字 指令代码:11H 指令包格式:4 bytes1 byte2 bytes1 byte1 byte1 byte2 bytes包头包标识包长度指令码起始行起始列校验和0xA5A5CC3301H01H11H119 must be odd040must be evensum注:模块地址缺省值为0 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示OK;确认码=01H表示收包有错;sum指校验和13. 设置口令Godo_SetPwd 功能说明:设置模块握手口令 输入参数:PassWord 返回参数:确认字 指令代码:12H 指令包格式:4 bytes1 byte2 bytes1 byte4 byte2 bytes包头包标识包长度指令码口令校验和0xA5A5CC3301H05H12HPassWordsum注:模块地址缺省值为0 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A5CC3307H01HxxHsum注:确认码=00H表示OK;确认码=01H表示收包有错;sum指校验和14. 验证口令Godo_VfyPwd 功能说明:验证模块握手口令 输入参数:PassWord 返回参数:确认字 指令代码:13H 指令包格式:4 bytes1 byte2 bytes1 byte4 byte2 bytes包头包标识包长度指令码口令校验和0xA5A5CC3301H05H13HPassWordsum 应答包格式:4 bytes1 byte2 bytes1 byte2 bytes包头包标识包长度确认码校验和0xA5A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论