User Manual for GROW models including: R304 Fingerprint

封面

dick

User Manual - Banggood

User Manual. Hangzhou Grow Technology Co., Ltd. Feb 2019. Ver: 1.

R304FingerprintModule UserManual - Banggood

R30X series provide 23 instructions. Through combination of different instructions, application program may realize muti finger authentication functions.All commands/data are transferred in


File Info : application/pdf, 23 Pages, 463.80KB

PDF preview unavailable. Download the PDF instead.

20200611051102R304fingerprintmoduleusermanual
R304 Fingerprint Module
User Manual
Hangzhou Grow Technology Co., Ltd Feb 2019 Ver: 1.01
1

Preface & Declaration
Thank you for you selection of R304 Fingerprint Identification Module (Module) of GROW. The Manual is targeted for hardware & software developing engineer, covering hardware interface, system resource, instruction system, installment information, etc. To ensure the developing process goes smoothly, it is highly recommended the Manual is read through carefully. We will try our best to assure you the correctness of the Manual. However, should you find any problem or error with it, feel free to contact us or the sales representative of us. We would be very grateful. Holding the principle of constantly improving and perfecting products, so both the module and contents of the Manual might subject to changes. Sorry for separate notice. You may visit our website or call us for the latest information. The Manual contains proprietary information of GROW, which shall not be used by or disclosed to third parties without the permission of GROW, nor for any reproduction and alteration of information without any associated warranties, conditions, limitations, or notices. No responsibility or liability is assumed by GROW for the application or use, nor for any infringements of patents or other intellectual property rights of third parties that may result from its use. All products are sold subject to GROW's terms and conditions of sale supplied at the time of order acknowledgment. Testing, tool and other quality control techniques are used to the extent GROW considers necessary to support the warranty of relevant performance of its products to the specifications, except as expressly agreed to in writing by government requirements, testing of all parameters of each product is not necessarily performed.
www.hzgrow.com
I

I Introduction

Power
Working current Baud rate
Image acquiring time Storage capacity
FAR Average searching time Working environment
Outline Dimention Sensing Array

DC 4.2V-6.0V

Interface

UART(TTL logical

level)/ USB 2.0

Typical: 50mA

Matching Mode

1:1 and 1:N

(9600*N)bps,

Character file size

N=112 (default N=6

256 bytes

<0.5s

Template size

512 bytes

1000

Security level

5 (1, 2, 3, 4,

5(highest))

<0.0001%

FRR

<0.1%

< 1s (1:1000)

Window dimension 11mm*15mm

Temp: -20- +55

Storage environment Temp: -30- +80

RH: 10%-85%

RH: <90%

Split type

Sensor:33.4*20.4*3.79 mm

192*256 pixels

Operation Principle
Fingerprint processing includes two parts: fingerprint enrollment and fingerprint matching (the matching can be 1:1 or 1:N). When enrolling, user needs to enter the finger two times. The system will process the two time finger images, generate a template of the finger based on processing results and store the template. When matching, user enters the finger through optical sensor and system will generate a template of the finger and compare it with templates of the finger library. For 1:1 matching, system will compare the live finger with specific template designated in the Module; for 1:N matching, or searching, system will search the whole finger library for the matching finger. In both circumstances, system will return the matching result, success or failure.

-1-

II Main Parameters III Hardware Interface
Exterior Interface
32.0*22.2mm
-2-

Serial Communication

When the FP module communicates with user device, definition of J1 is as follows:

Pin Nmuber Name

Type

Function Description

1

Vin

in Power input

2

GND

 Signal ground. Connected to power ground

3

TD

out Data output. TTL logical level

4

RD

in Data input. TTL logical level

Hardware connection

Via serial interface, the Module may communicate with MCU of 3.3V or 5V power: TD (pin 3 of P1) connects with RXD (receiving pin of MCU), RD (pin 4 of P1) connects with TXD (transferring pin of MCU). Should the upper computer (PC) be in RS-232 mode, please add level converting circuit, like MAX232, between the Module and PC.

USB Communication

Pin Nmuber
8 7 6 5

Name Vin DD+ GND

Type in in out 

Function Description Power input USB data input. USB data output. Signal ground.

Serial communication protocol
The mode is semiduplex asychronism serial communication. And the default baud rate is 57600bps. User may set the baud rate in 9600115200bps Transferring frame format is 10 bit: the low-level starting bit, 8-bit data with the LSB first, and an ending bit. There is no check bit.

Reset time
At power on, it takes about 200ms for initialization. During this period, the Module can't accept commands for upper computer.
Electrical paramenter (All electrical level takes GND as reference)
Power supply
-3-

Item

Parameter Unit
Min Typ Max

Note

Power Voltage (Vin) 3.6

6.0

V Normal working value.

Maximum Voltage 0.3

7.0

V Exceeding the Maximum rating

(Vinmax)

may cause permant harm to the

Module.

Operation Current 90 100 110 mA

(Icc)

Peak Current (Ipeak)

150 mA

TDoutput, TTL logic level

Item

Condition

VOL IOL=4mA VOH IOH= 4mA

Parameter

Min

Typ

Max

0.4

2.4

3.3

Unit

Note

V Logic 0 V Logic 1

RDinput, TTL logic level

Item Condition

VIL VIH
IIH
VImax

VIH =5V VIH =3.3V

Min 2.4
0.3

Parameter Typ
1 30

Max 0.6
5.5

Unit
V V mA uA V

Note Loigc 0 Logic 1
Maximum input voltage

IV System Resources

To address demands of different customer, Module system provides abundant resources at user's use.
Notepad

512-byte memory is set aside in flash for User's notepad. The notepad is divided into 16 pages logically, 32 bytes per page. The host can access any page by instruction GR_WriteNotepad or GR_ReadNotepad. Note: when written, the whole page is taken as a whole and its former contents will be replaced.
Buffer
There are an image buffer and two 512-byte-character-file buffer within the RAM space of the module. Users can read & write any of the buffers by instructions. Note: Contents of the above buffers will be lost at power-off.

-4-

Image buffer
ImageBuffer serves for image storage and the image format is 208*288 pixels. When transferring through UART, to quicken speed, only the upper 4 bits of the pixel is transferred (that is 16 grey degrees). And two adjacent pixels of the same row will form a byte before the transferring. When uploaded to PC, the 16-grey-degree image will be extended to 256-grey-degree format. That's 8-bit BMP format. When transferring through USB, the image is 8-bit pixel, that's 256 grey degrees.
Character file buffer
Character file buffer, CharBuffer1, CharBuffer2, can be used to store both character file and template file.
4.3Fingerprint Library
Synstem sets aside a certain space within Flash for fingerprint template storage, that's fingerprint library. Contents of the library remain at power off. Capacity of the library changes with the capacity of Flash, system will recognize the latter automatically. Fingerprint template's storage in Flash is in sequential order. Assume the fingerprint capacity N, then the serial number of template in library is 0, 1, 2, 3 ... N. User can only access library by template number.
System Confiuration Parameter
To facilitate user's developing, Module opens part system parameters for use. And the basic instructions are SetSysPara & ReadSysPara. Both instructions take Parameter Number as parameter. When upper computer sends command to modify parameter, Module first responses with original configurations, then performs the parameter modification and writes configuration record into Flash. At the next startup, system will run with the new configurations.
Baud rate control (Parameter Number: 4)
The Parameter controls the UART communication speed of the Modul. Its value is an integer N, N= [1, 12]. Cooresponding baud rate is 9600*N bps
Security Level (Parameter Number: 5)
The Parameter controls the matching threshold value of fingerprint searching and matching. Security level is divided into 5 grades, and cooresponding value is 1, 2, 3, 4, 5. At level 1, FAR is the highest and FRR is the lowest; however at level 5, FAR is the lowest and FRR is the highest.
Data package length (Parameter Number: 6)
The parameter decides the max length of the transferring data package when communicating with upper computer. Its value is 0, 1, 2, 3, corresponding to 32 bytes, 64 bytes, 128 bytes, 256 bytes
-5-

respectively.

System status register

System status register indicates the current operation status of the Module. Its length is 1 word, and

can be read via instruction ReadSysPara. Definition of the register is as follows:

Bit Num

15 4

3

2

1

0

Description

Reserved ImgBufStat PWD Pass Busy

Note:

Busy1 bit. 1: system is executing commands; 0: system is free;

Pass1 bit. 1: find the matching finger; 0: wrong finger;

PWD1 bit. 1: Verified device's handshaking password.

ImgBufStat1 bit. 1: image buffer contains valid image.

Module password

At power-on reset, system first checks whether the handshaking password has been modified. If not, system deems upper computer has no requirement of verifying password and will enter into normal operation mode. That's, when Module password remains the default, verifying process can be jumped. The password length is 4 bytes, and its default factory value is 0FFH, 0FFH, 0FFH, 0FFH. Should the password have be modified, refer to instruction SetPwd, then Module (or device) handshaking password must be verified before the system enter into normal operation mode. Or else, system will refuse to execute and command. The new modified password is stored in Flash and remains at power off.

Module address

Each module has an identifying address. When communicating with upper computer, each instruction/data is transferred in data package form, which contains the address item. Module system only responds to data package whose address item value is the same with its identifying address. The address length is 4 bytes, and its default factory value is 0xFFFFFFFF. User may modify the address via instruction SetAdder. The new modified address remains at power off.

Random number generator

Module integrates a hardware 32-bit random number generator (RNG) (without seed). Via instruction GetRandomCode, system will generate a random number and upload it.

V Communication Protocol
The protocol defines the data exchanging format when R30X series communicates with upper computer. The protocol and instruction sets apples for both UART and USB communication mode. For PC, USB interface is strongly recommended to improve the exchanging speed, especially in fingerprint scanning device.

-6-

5.1Data package format

When communicating, the transferring and receiving of command/data/result are all wrapped in data package format.
Data package format

Header Adder

Package

identifier

Definition of Data package

Package length

Package content

Checksum

(instuction/data/Parameter

Name

Symbol Length

Description

Header

Start

2 bytes Fixed value of 0xEF01; High byte transferred first.

Adder
Package identifier

ADDER PID

4 bytes

Default value is 0xFFFFFFFF, which can be modified by command. High byte transferred first and at wrong adder value, module will reject to transfer.

01H Command packet;

1 byte

Data packet; Data packet shall not appear alone in 02H executing processs, must follow command packet or
acknowledge packet.
07H Acknowledge packet;

08H End of Data packet.

Package length
Package contents
Checksum

LENGTH DATA SUM

2 bytes

Refers to the length of package content (command packets and data packets) plus the length of Checksum( 2 bytes). Unit is byte. Max length is 256 bytes. And high byte is transferred first.

It can be commands, data, command's parameters,  acknowledge result, etc. (fingerprint character value, template
are all deemed as data);

2 bytes

The arithmetic sum of package identifier, package length and all package contens. Overflowing bits are omitted. high byte is transferred first.

Check and acknowledgement of data package
Note: Commands shall only be sent from upper computer to the Module, and the Module acknowledges the commands.
Upon receipt of commands, Module will report the commands execution status and results to upper computer through acknowledge packet. Acknowledge packet has parameters and may also have following data packet. Upper computer can't ascertain Module's package receiving status or command execution results unless through acknowledge packet sent from Module. Acknowledge packet includes 1 byte confirmation code and maybe also the returned parameter. Confirmation code's definition is : 00h: commad execution complete;

-7-

01h: error when receiving data package; 02h: no finger on the sensor; 03h: fail to enroll the finger; 06h: fail to generate character file due to the over-disorderly fingerprint image; 07h: fail to generate character file due to lackness of character point or over-smallness of fingerprint image 08h: finger doesn't match; 09h: fail to find the matching finger; 0Ah: fail to combine the character files; 0Bh: addressing PageID is beyond the finger library; 0Ch: error when reading template from library or the template is invalid; 0Dh: error when uploading template; 0Eh: Module can't receive the following data packages. 0Fh: error when uploading image; 10h: fail to delete the template; 11h: fail to clear finger library; 13h: wrong password! 15h: fail to generate the image for the lackness of valid primary image; 18h: error when writing flash; 19h: No definition error; 1Ah: invalid register number; 1Bh: incorrect configuration of register; 1Ch: wrong notepad page number; 1Dh: fail to operate the communication port; others: system reserved;

VI Module Instruction System

R30X series provide 23 instructions. Through combination of different instructions, application program may realize muti finger authentication functions. All commands/data are transferred in package format. Refer to 5.1 for the detailed information of package.
System-related instructions

Verify passwoard VfyPwd

Description: Verify Module's handshaking password. (Refer to 4.6 for details)

Input Parameter: PassWord (4 bytes)

Return Parameter: Confirmation code (1 byte)

Instruction code: 13H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

4 byte

Header Module

Package

Instruction Password

2 bytes Checksum

-8-

address

identifier

code

0xEF01 xxxx

01H

07H

13H

PassWord

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

Header

Module address

Package

Package Confirmation

identifier

Length

code

0xEF01

xxxx

07H

03H

xxH

Note: Confirmation code = 00H: Correct password;

Confirmation code = 01H: error when receiving package;

Confirmation code = 13H: Wrong password;

sum
2 bytes Checksum
sum

Set password SetPwd

Description: Set Module's handshaking password. (Refer to 4.6 for details)

Input Parameter: PassWord (4 bytes)

Return Parameter: Confirmation code (1 byte)

Instruction code: 12H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

4 byte

2 bytes

Header Module

Package

Package

Instruction Password Checksum

address

identifier

length

code

0xEF01 xxxx

01H

07H

12H

PassWord

sum

Acknowledge package format:

2 bytes

4 byte

2 bytes

1 byte

2 bytes

Header

Module address

Package length Confirmation

Checksum

code

0xEF01

xxxx

03H

xxH

Sum

Note: Confirmation code=00H: password setting complete; Confirmation code=01H: error when receiving package;

Set Module address SetAdder

Description: Set Module address. (Refer to 4.7 for adderss information)

Input Parameter: None;

Return Parameter: Confirmation code (1 byte)

Instruction code: 15H

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

4 bytes

Header

Original

Package Package Instruction New Module

Module address identifier length

code

address

0xEF01

xxxx

01H

07H

15H

xxxx

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

Header

New Module

Package

Package

Confirmation

address

identifier

length

code

2 bytes Checksum
sum
2 bytes Checksum

-9-

0xEF01

xxxx

07H

07H

xxH

Sum

Note: Confirmation code=00H: address setting complete;

Confirmation code=01H: error when receiving package;

Set module system's basic parameter SetSysPara

Description: Operation parameter settings. (Refer to 4.4 for more information)

Input Parameter: Parameter number;

Return Parameter: Confirmation code (1 byte)

Instruction code: 0eH

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

1byte

1byte

2 bytes

Header Module Package Package Instruction Parameter Contents Checksum

address identifier length

code

number

0xEF01 Xxxx

01H

05H

0eH

4/5/6

xx

sum

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package

Package

Confirmation

Checksum

address

identifier

length

code

0xEF01

Xxxx

07H

03H

xxH

Sum

Note: Confirmation code=00H: parameter setting complete;

Confirmation code=01H: error when receiving package;

Confirmation code=1aH: wrong register number;

Port Control Control

Description:

For UART protocol, it control the "on/off" of USB port;

For USB protocol, it control the "on/off" of UART port;

Input Parameter: control code

Control code "0" means turns off the port;

Control code "1" means turns on the port;

Return Parameter: confirmation code;

Instruction code: 17H

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

1byte

Header

Chip

Package Package Instruction Control

address identifier length

code

code

0xEF01

xxxx

01H

04H

17H

0/1

Acknowledge package format:

2 bytes

4bytes

1 byte 2 bytes

1 byte

2 bytes

Header

Chip

Package Package Confirmation Checksum

address identifier length

code

0xEF01

xxxx

07H

03H

xxH

sum

Note: Confirmation code=00H: Port operation complete;

Confirmation code=01H: error when receiving package;

2 bytes Checksum
sum

- 10 -

Confirmation code=1dH: fail to operate the communication port;

Read system Parameter

ReadSysPara

Description: Read Module's status register and system basic configuration parameters; Refer to 4.4

for system configuration parameter and 4.5 for system status register.

Input Parameternone

Return ParameterConfirmation code (1 byte) + basic parameter16bytes

Instuction code: 0fH

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package Package length Instruction Checksum

address

identifier

code

0xEF01

Xxxx

01H

03H

0fH

sum

Acknowledge package format:

2 bytes 4bytes

1 byte 2 bytes

1 byte

16 bytes

2 bytes

Header Module

Package Package Confirmation Basic parameter Checksum

address

identifier length

code

list

0xEF01 xxxx

07H

3+16

xxH

See following

sum

table

Note: Confirmation code=00H: read complete;

Confirmation code=01H: error when receiving package;

Name

Description

Offset (word) Size (word)

Status register

Contents of system status register

0

1

System identifier code Fixed value: 0x0009

1

1

Finger library size Finger library size

2

1

Security level

Security level (1, 2, 3, 4, 5)

3

1

Device address

32-bit device address

4

2

Data packet size Size code (0, 1, 2, 3)

6

1

Baud settings

N (baud = 9600*N bps)

7

1

Read valid template number TempleteNum

Description: read the current valid template number of the Module

Input Parameter: none Return Parameter: Confirmation code (1 byte)template number:N

Instuction code: 1dH

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

Header

Module address

Package

Package

Instruction

identifier

length

code

0xEF01

xxxx

01H

0003H

1dH

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package Package Confirmation

Template

2 bytes Checksum
0021H
2 bytes Checksum

- 11 -

address identifier

length

code

number

0xEF01

xxxx

07H

5

xxH

N

sum

Note: Confirmation code=00H: read complete;

Confirmation code=01H: error when receiving package;

Fingerprint-processing instructions

To collect finger image GenImg

Description: detecting finger and store the detected finger image in ImageBuffer while

returning successfull confirmation code; If there is no finger, returned confirmation code

would be "can't detect finger".

Input Parameter: none

Return Parameter: Confirmation code (1 byte)

Instuction code: 01H

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package Package length Instruction

Checksum

address

identifier

code

0xEF01

Xxxx

01H

03H

01H

05H

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package

Package

Confirmation

Checksum

address

identifier

length

code

0xEF01

Xxxx

07H

03H

xxH

Sum

Note: Confirmation code=00H: finger collection successs;

Confirmation code=01H: error when receiving package;

Confirmation code=02H: can't detect finger;

Confirmation code=03H: fail to collect finger;

Upload image UpImage

Description: to upload the image in Img_Buffer to upper computer. Refer to 1.1.1 for more about

image buffer.

Input Parameter: none

Return Parameter: Confirmation code (1 byte)

Instuction code: 0aH

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module address Package Package length Instruction code Checksum

identifier

0xEF01

Xxxx

01H

03H

0aH

000eH

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package

Package Confirmation Checksum

address

identifier

length

code

- 12 -

0xEF01

Xxxx

07H

03H

xxH

sum

Note 1 Confirmation code=00H: ready to transfer the following data packet;

Confirmation code=01H: error when receiving package;

Confirmation code=0fH: fail to transfer the following data packet;

2  Module shall transfer the following data packet after responding to the upper

computer.

Download the image DownImage

Description: to download image from upper computer to Img_Buffer. Refer to 1.1.1 for more about

the image buffer.

Input Parameter: none

Return Parameter: Confirmation code (1 byte)

Instuction code: 0bH

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module address

Package

Package

Instruction Checksum

identifier

length

code

0xEF01

Xxxx

01H

03H

0bH

000fH

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package

Package Confirmation Checksum

address

identifier

length

code

0xEF01

Xxxx

07H

03H

xxH

sum

Note: 1Confirmation code=00H: ready to transfer the following data packet;

Confirmation code=01H: error when receiving package;

Confirmation code=0eH: fail to transfer the following data packet;

2 Module shall transfer the following data packet after responding to the upper computer.

Data package length must be 64, 128, or 256

To generate character file from image Img2Tz

Description: to generate character file from the original finger image in ImageBuffer and

store the file in CharBuffer1 or CharBuffer2.

Input Parameter: BufferID (character file buffer number)

Return Parameter: Confirmation code (1 byte)

Instuction code: 02H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

1 byte

2 bytes

Header Module

Package

Package

Instruction

Buffer Checksum

address

identifier

length

code

number

0xEF01 xxxx

01H

04H

02H

BufferID

sum

Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values

(except 1h, 2h) would be processed as CharBuffer2.

Acknowledge package format:

- 13 -

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package Package length Confirmation Checksum

address

identifier

code

0xEF01

xxxx

07H

03H

XxH

sum

Note: Confirmation code=00H: generate character file complete;

Confirmation code=01H: error when receiving package;

Confirmation code=06H: fail to generate character file due to the over-disorderly

fingerprint image;

Confirmation code=07H: fail to generate character file due to lackness of character

point or over-smallness of fingerprint image;

Confirmation code=15H: fail to generate the image for the lackness of valid primary

image;

To generate template

RegModel

Description: To combine information of character files from CharBuffer1 and CharBuffer2 and

generate a template which is stroed back in both CharBuffer1 and CharBuffer2. Input Parameternone Return ParameterConfirmation code (1 byte)

Instuction code: 05H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

2 bytes

Header Module

Package

Package Instruction Checksum

address

identifier

length

code

0xEF01 xxxx

01H

03H

05H

09H

Acknowledge package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

2 bytes

Header Module

Package Package Confirmation Checksum

address

identifier length

code

0xEF01 xxxx

07H

03H

xxH

sum

Note: Confirmation code=00H: operation success;

Confirmation code=01H: error when receiving package;

Confirmation code=0aH: fail to combine the character files. That's, the character files

don't belong to one finger.

To upload character or template UpChar

Description: to upload the character file or template of CharBuffer1/CharBuffer2 to upper

computer;

Input Parameter: BufferID (Buffer number)

Return Parameter: Confirmation code (1 byte)

Instuction code: 08H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

1 byte

2 bytes

Header Module

Package Package Instruction Buffer Checksum

- 14 -

address

identifier length

code

number

0xEF01 xxxx

01H

04H

08H

BufferID

sum

Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values

(except 1h, 2h) would be processed as CharBuffer2.

Acknowledge package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

2 bytes

Header Module

Package Package Confirmation Checksum

address

identifier length

code

0xEF01 xxxx

07H

03H

xxH

sum

Note 1: Confirmation code=00H: ready to transfer the following data packet;

Confirmation code=01H: error when receiving package;

Confirmation code=0dH: error when uploading template;

2: Module shall transfer following data packet after responding to the upper computer.;

3: The instruction doesn't affect buffer contents.

To download character file or template DownChar

Description: to download character file or template from upper computer to the specified buffer of

Module;

Input Parameter: BufferID (buffer number)

Return Parameter: Confirmation code (1 byte)

Instuction code: 09H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

1 byte

2 bytes

Header Module Package Package Instruction buffer Checksum

address identifier length

code

number

0xEF01 xxxx

01H

04H

09H

BufferID

sum

Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values (except

1h, 2h) would be processed as CharBuffer2.

Acknowledge package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

2 bytes

Header Module

Package Package Confirmation Checksum

address

identifier length

code

0xEF01 xxxx

07H

03H

xxH

sum

Note 1: Confirmation code=00H: ready to transfer the following data packet;

Confirmation code=01H: error when receiving package;

Confirmation code=0eH: fail to receive the following data packages.

2: Module shall transfer the following data packet after responding to the upper

computer.

To store template Store

Description: to store the template of specified buffer (Buffer1/Buffer2) at the designated location of Flash library. Input Parameter: BufferID(buffer number), PageIDFlash location of the template, two bytes with high byte front and low byte behind

- 15 -

Return Parameter: Confirmation code (1 byte)

Instuction code: 06H

Command (or instruction) package format:

2 bytes 4bytes

1 byte 2 bytes 1 byte

1 byte

2 bytes 2 bytes

Header Module Package Package Instruction buffer Location Checksum

address identifier length

code

number number

0xEF01 xxxx

01H

06H

06H

BufferID PageID

sum

Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values

(except 1h, 2h) would be processed as CharBuffer2.

Acknowledge package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

2 bytes

Header Module

Package

Package Confirmation Checksum

address

identifier

length

code

0xEF01 Xxxx

07H

03H

xxH

sum

Note: Confirmation code=00H: storage success;

Confirmation code=01H: error when receiving package;

Confirmation code=0bH: addressing PageID is beyond the finger library;

Confirmation code=18H: error when writing Flash.

To read template from Flash library LoadChar

Description: to load template at the specified location (PageID) of Flash library to template buffer

CharBuffer1/CharBuffer2

Input Parameter: BufferID(buffer number), PageID (Flash location of the template, two bytes with

high byte front and low byte behind)

Return Parameter: Confirmation code (1 byte)

Instuction code: 07H

Command (or instruction) package format:

2 bytes 4bytes

1 byte 2 bytes

1 byte

1 byte

2 bytes 2 bytes

Header Module

Package Package Instruction buffer

Page Checksum

address

identifier length

code

number

number

0xEF01 xxxx

01H

06H

07H

BufferID PageID

sum

Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values (except

1h, 2h) would be processed as CharBuffer2.

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module address

Package

Package Confirmation Checksum

identifier

length

code

0xEF01

xxxx

07H

03H

XxH

sum

Note: Confirmation code=00H: load success;

Confirmation code=01H: error when receiving package;

Confirmation code=0cH: error when reading template from library or the readout template is

invalid;

Confirmation code=0BH: addressing PageID is beyond the finger library;

- 16 -

To delete template

DeletChar

Description: to delete a segment (N) of templates of Flash library started from the specified

location (or PageID);

Input Parameter: PageID (template number in Flash), N (number of templates to be deleted)

Return Parameter: Confirmation code (1 byte)

Instuction code: 0cH

Command (or instruction) package format:

2 bytes 4bytes

1 byte 2 bytes 1 byte 2 bytes

2bytes

2 bytes

Header Module

Package Package Instruction Page

number of Checksum

address

identifier length

code

number templates to

be deleted

0xEF01 Xxxx

01H

07H

0cH

PageID

N

sum

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module Package identifier

Package Confirmation Checksum

address

length

code

0xEF01

Xxxx

07H

03H

xxH

sum

Note: Confirmation code=00H: delete success;

Confirmation code=01H: error when receiving package;

Confirmation code=10H: faile to delete templates;

To empty finger library

Empty

Description: to delete all the templates in the Flash library

Input Parameter: none

Return Parameter: Confirmation code (1 byte)

Instuction code: 0dH

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

Header Module

Package

Package Instruction

address

identifier

length

code

0xEF01 Xxxx

01H

03H

0dH

Acknowledge package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

Header Module

Package Package Confirmation

address

identifier length

code

0xEF01 Xxxx

07H

03H

xxH

Note: Confirmation code=00H: empty success;

Confirmation code=01H: error when receiving package;

Confirmation code=11H: fail to clear finger library;

2 bytes Checksum
0011H
2 bytes Checksum
sum

To carry out precise matching of two finger templates

Match

Description: to carry out precise matching of templates from CharBuffer1 and CharBuffer2, providing matching results.

- 17 -

Input Parameter: none

Return Parameter: Confirmation code (1 byte)matching score.

Instuction code: 03H

Command (or instruction) package format:

2 bytes 4bytes

1 byte

2 bytes

1 byte

2 bytes

Header Module

Package

Package length Instruction code Checksum

address

identifier

0xEF01 Xxxx

01H

03H

03H

07H

Acknowledge package format:

2 bytes 4bytes

1 byte 2 bytes

1 byte

2 bytes

2 bytes

Header Module Package Package Confirmation Matching Checksum

address identifier length

code

score

0xEF01 Xxxx

07H

05H

XxH

XxH

sum

Note 1: Confirmation code=00H: templates of the two buffers are matching!

Confirmation code=01H: error when receiving package;

Confirmation code=08H: templates of the two buffers aren't matching;

2: The instruction doesn't affect the contents of the buffers.

To search finger library

Search

Description: to search the whole finger library for the template that matches the one in CharBuffer1

or CharBuffer2. When found, PageID will be returned.

Input Parameter: BufferID, StartPage (searching start address), PageNumsearching numbers Return Parameter: Confirmation code (1 byte), PageID (matching templates location

Instuction code: 04H

Command (or instruction) package format:

2 bytes 4bytes

1 byte 2 bytes 1 byte

1 byte

2 bytes

2 bytes 2 bytes

Header Module Package Package Instructio buffer Parameter Parameter Checks

address identifie length

n code number

um

r

0xEF01 xxxx

01H

08H

04H BufferID StartPage PageNum sum

Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values

(except 1h, 2h) would be processed as CharBuffer2.

Acknowledge package format:

2 bytes 4bytes

1 byte 2 bytes

1 byte

2 bytes 2 bytes

2 bytes

Header Module Package Package Confirmation 



Checksum

address identifier length

code

0xEF01 xxxx

07H

7

xxH

PageID MatchScore sum

Note 1: Confirmation code=00H: found the matching finer;

Confirmation code=01H: error when receiving package;

Confirmation code=09H: No matching in the library (both the PageID and

matching score are 0);

2: The instruction doesn't affect the contents of the buffers.

- 18 -

Other instructions

To generate a random code GetRandomCode

Description: to command the Module to generate a random number and return it to upper

computer;Refer to 4.8 for more about Random Number Generator;

Input Parameter: none

Return Parameter: Confirmation code (1 byte)

Instuction code: 14H

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module

Package Package length Instruction

Checksum

address

identifier

code

0xEF01

xxxx

01H

03H

14H

0018H

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

4 bytes

2 bytes

Header

Module

Package

Package Confirmation Random Checksum

address

identifier

length

code

number

0xEF01

xxxx

07H

07H

xxH

xxxx

sum

Note: Confirmation code=00H: generation success;

Confirmation code=01H: error when receiving package;

To write note pad WriteNotepad

Description: for upper computer to write data to the specified Flash page (refer to 4.1 for more

about Note pad). Also see ReadNotepad;

Input Parameter: NotePageNum, user content (or data content)

Return Parameter: Confirmation code (1 byte)

Instuction code: 18H

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

1byte 32 bytes

2 bytes

Header

Module Package Package Instruction Page

Data

Checksum

address identifier length

code

number content

0xEF01

xxxx

01H

36

18H

0~15 content

sum

Acknowledge package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

2 bytes

Header

Module address Package

Package Confirmation code Checksum

identifier

length

0xEF01

xxxx

07H

03H

xxH

sum

Note: Confirmation code=00H: write success;

Confirmation code=01H: error when receiving package;

To read note pad ReadNotepad

Description: to read the specified page's data content; Refer to 4.1 for more about user note pad.

- 19 -

Also see WriteNotepad.

Input Parameter: none

Return Parameter: Confirmation code (1 byte) + data content

Instuction code: 19H

Command (or instruction) package format:

2 bytes

4bytes

1 byte

2 bytes

1 byte

1byte

Header

Module

Package

Package

Instruction

Page

address

identifier

length

code

number

0xEF01

xxxx

01H

04H

19H

0~15

Acknowledge package format:

2 bytes

4bytes

1 byte 2 bytes

1 byte

32bytes

Header

Module

Package Package Confirmation

User content

address identifier length

code

0xEF01

xxxx

07H

3+32

xxH

User content

Note: Confirmation code=00H: read success;

Confirmation code=01H: error when receiving package;

2 bytes Checksum
xxH
2 bytes Checksum
sum

Instruction Table

Classified by functions

Finerprint processing

System-related

type num 1 2 3 4
5 6
7
8 9 10 11
12

code

description

Type num

13H To verify password

13

12H To set password

14

15H To set device address

15

Finerprint processing

0EH To set system

16

Parameter

17H Port control

17

0FH To read system

18

Parameter

1DH To read finger

19

template numbers

01H Collect finger image

20

0AH To upload image

0BH To download image

21

02H To generate character

22

others

file from image

05H To combine character

23

files and generate

template

Code 08H 09H 06H 07H

description to upload template To download template To store template; to read/load template

0CH to delete tempates 0DH to empty the library

03H Carry out precise matching of two templates;
04H Search the finger library

14H to get random code 18H to write note pad

19H To read note pad

Classified by instruction code

code identifier

Description

Code

Identifier

Description

- 20 -

01H GenImg

Collect finger image

0DH Empty

to empty the library

02H Img2Tz

To generate character 0EH SetSysPara

To set system Parameter

file from image

03H Match

Carry out precise 0FH ReadSysPara

To read system

matching of two

Parameter

templates;

04H Serach

Search the finger 12H SetPwd

To set password

library

05H RegModel To combine character 13H VfyPwd

To verify password

files and generate

template

06H Store

To store template;

14H GetRandomCode to get random code

07H LoadChar to read/load template 15H SetAdder

To set device address

08H UpChar

to upload template

17H Control

Port control

09H DownChr to download template 18H WriteNotepad

to write note pad

0AH UpImage To upload image

19H ReadNotepad

To read note pad

0BH DownImage To download image

1BH HiSpeedSearch Search the library fastly

0CH DeletChar to delete tempates

1DH TempleteNum To read finger template

numbers

- 21 -



References

WPS 文字