Online dynamic signature authentication system based on ADS7846

Pick    To:        This article focuses on how to use AT89S51 , touch screen and touch screen controller ADS7846 to achieve online dynamic signature 3D data collection and preprocessing.

Due to the advantages of convenient touch screen input, thinness and portability, more and more electronic products now use touch screens as input devices for man-machine interfaces. In dynamic signature authentication, a touch screen is also used as an input device to collect data for handwriting.

The system is mainly composed of four-wire resistive touch screen, touch screen controller ADS7846, single chip 89S51 . The system block diagram is shown in Figure 1 .

Four-wire resistive touch screen

The resistive touch screen uses resistance analog quantity technology. It uses a layer of glass as the base layer, coated with a transparent metal oxide (ITO indium oxide ) conductive layer, covered with a layer of glass or a smooth plastic layer hardened on the outer surface, and its inner surface is also coated with a layer of ITO In the conductive layer, there are many small transparent isolation points to separate the two conductive layers. Whenever a pen or finger is pressed, the two conductive layers contact each other to form a loop ( Figure 2) .

Both ends of the conductive layer are coated with a piece of silver glue, called a pair of electrodes on the working surface. The upper and lower conductive layers are one horizontal and one vertical. They are used to measure the coordinate positions of X and Y , respectively . The electrodes on the horizontal plane are called X + electrodes and X- electrodes, and the electrodes on the vertical plane are called Y + electrodes and Y- electrodes. When working, the two electrodes provide reference voltage or measure the position of the contact point according to the measurement needs. When measuring the X coordinate of the contact point , the X + electrode and the X- electrode on the conductive layer are respectively connected to the reference voltage and Ground, no voltage is applied to the Y electrode, then a uniform voltage distribution will be formed between the X electrodes. The Y + electrode is used as the measurement point, and the obtained voltage value is A / D converted, and the X coordinate of the contact point can be correspondingly determined . The Y coordinate is also similar, just change to apply voltage to the Y electrode and not apply voltage to the X electrode.

The principle of measuring the pressure of the touch is related to the characteristics of the ITO ( indium oxide ) material. The conductivity formula of the ITO conductive film is r = r0 (1 + l0 / d) , where d is the thickness of the conductive film, so the ITO conductivity It is inversely proportional to the thickness of the ITO conductive film, so when the pressure of the touch is greater, the ITO conductive film of the contact point is thinner, so the corresponding conductivity is larger, and the resistance is smaller, so the measurement of touch pressure is actually to measure the contact Resistance value of ITO conductive film.     

Communication between ADS7846 and AT89S51

ADS7846 is a digital-to-analog conversion chip produced by BURN-BROWN , which is specially used for four-wire resistive touch screen. There is a multi-channel analog switch consisting of a measurement circuit network and a 12 -bit A / D converter. When working, the 7846 receives different command words according to the data input port DIN to open the corresponding switch channel, and accepts the returned analog voltage, obtains the corresponding digital quantity through A / D conversion, and then transmits it back to the microcontroller through DOUT .

AT89S51 is an upgraded product of ATMEL 's new 89C51 .

The communication between AT89S51 and ADS7846 is mainly carried out through the I / O port of the single-chip microcomputer and the five pins of 7846 such as CLK , CS , DOUT , DIN , and BUSY . When the system is working, the MCU first selects 7846 through the chip select signal , and then sends command control word data to 7846 through DIN , and is matched with the corresponding timing pulse through the CLK pin. When the BUSY bit is set, it passes through the DOUT data output port. Get 12 -bit conversion result.

Since the system is required to collect three-dimensional data including X coordinate, Y coordinate and pressure, the command word to open the X channel for measurement is sent first , the returned digital value is the X coordinate, and then the command word to open the Y channel for measurement is sent . The resulting value is the Y coordinate. Then get the values ​​of Z1 and Z2 in turn , through the conversion formula

RTOUCH

It can be calculated RTOUCH i.e. the pressure value Z (wherein RX-plant resistance value of the size of the x-axis, with a touch screen related to the performance parameters, i.e. X-POSITION start X coordinate value is obtained).

It is worth mentioning here that Z1 and Z2 are still 12 -bit A / D converted digital values ​​after conversion, but the Z value obtained by the conversion formula is actually the resistance value of the two ITO oxide films between the contact points . This completes the collection of three-dimensional information at a certain moment. According to actual requirements, use the timer to set the sampling time to 10ms . The collected data is sent to a PC for storage via a USB interface for subsequent matching processing. At the same time, the collected data can be displayed on the LCD screen for easy observation while writing.

Picture 1   System circuit block diagram

Picture 2   Schematic diagram of touch screen

Figure 3 Data waveform before processing

Figure 4 The processed data waveform

Initial calibration of touch screen

Since some edge parts of the touch screen are invalid touch areas, the actual converted X and Y coordinates are not from 0 to 4095 , so initial calibration is required, and the conversion formula is used to linearize the entire range from 0 to 4095 , the conversion formula for the X-coordinate value X = (X-Xmin) & TImes; 4095 / (Xmax-Xmin), wherein Xmax and Xmin are the maximum value and the minimum value of effective area in the X direction touchscreen touch. Similarly, the conversion formula corresponding to the Y coordinate value is Y = (Y-Ymin) & TImes; 4095 / (Ymax-Ymin) , where Ymax and Ymin are the maximum and minimum values ​​in the Y direction of the effective touch area of ​​the touch screen, respectively . The pressure value represents the magnitude of the resistance value, and does not directly reflect the magnitude of the pressure. Therefore, according to actual needs, it is converted into a pressure value of 0 to 256 corresponding to the magnitude of the pressure. The conversion formula is Z = (Zmax-Z) & TImes; 256 / (Zmax-Zmin) , where Zmax and Zmin are the maximum resistance value and the minimum resistance value when the writing pen is in contact with the touch screen, respectively.

The experimental data shows that the characteristic parameters of the touch screen used are: Xmax and Xmin are 3860 and 180 ; Zmax and Zmin are 3690 and 440 , and 540 and 350 respectively . Since the physical characteristics of each touch screen and stylus are different, the system must re-initialize and calibrate whenever the touch screen or stylus is replaced.

Data preprocessing

In the process of data collection, there are many factors that affect the accuracy of the data, so the data must be preprocessed accordingly to ensure the accuracy of the collected data. There are mainly the following factors:

Missing points caused by writing jitter

During data acquisition, zero-value points will appear in continuous data. There are two possibilities for zero-value points: one is caused by the change of strokes during normal writing, and the other is due to the lack of flatness of the touch screen or the writing. The jitter causes the interruption of the handwriting. The difference method is mainly to look at the intermittent time, that is, the number of consecutive occurrences of the zero value. Generally, the intermittent time caused by the jitter is less than the set sampling time of 10ms . Only one can appear in the middle of valid data, which can be regarded as invalid zero value, and the occurrence of more than two consecutive zero values ​​can be regarded as the effective zero value generated by the change of the stroke without processing. When a certain zero value is judged After the invalid zero value, linearly interpolate it to make up for the loss of data, ie an = (an + 1 + an-1) / 2 , where an is the invalid zero value point , an-1 and an + 1 are an A valid value in front of and behind. Figures 3 and 4 are the waveforms before and after processing, respectively.

Removal of duplicate acquisition points

Due to the pause when the writer writes, it causes repeated collection at a certain point. Obviously, there will be a large error with the sample data in the subsequent matching, so it is necessary to delete the duplicate data. Whenever the two points before and after are judged When the X coordinate and Y coordinate are the same, you can conclude that they are duplicate points, then delete the latter point, and then use the subsequent points to make up in turn. This ensures that the collected data can truly reflect the handwriting information.

Calibration of writing position

The point where the writer starts the pen each time he writes is not necessarily the same, so that the result of each writing sample is a constant difference from the sample value in the sample template, so it is necessary to calibrate the writing position. X and Y coordinates of the sample data collected with the first data in the X and Y coordinates of the first comparison data, formulas are DX = (X1-X '1 ), DY = (Y1-Y' 1) , where X1 and Y1 are the X coordinate value and Y coordinate value of the first point of the sampled data ,   X ' 1 and Y ' 1 are the X coordinate value and Y coordinate value of the first point in the sample data ,   DX and DY are the offset values ​​of the sampled data and the sample data in the X and Y directions. Therefore, the calibration formula is: Xn = Xn + DX , Yn = Yn + DY .

The above are several methods for preprocessing data. Preprocessing can provide more accurate data for subsequent handwriting matching and reduce the amount of matching operation. Therefore, preprocessing is an important step before handwriting matching authentication. Directly affect the accuracy of certification.

Programming Laptop

There is a rule, custom laptop is called programming laptop cause nearly 90% is used for projects. 15.6 inch laptop for coding and programming is usually equipped with 10th or 11th cpu, 2gb or 4gb graphics optional. 15 inch laptop untuk programming is used on big tender or group for a special jobs. 15.6 inch programming laptop under 30000 is a more competitive one for business or high school students or teachers.

However, here is the recommended laptop for programming, especially for heavy office jobs or university coursework, since double heat-releasing, metal body, bigger battery, FHD screen, high-level cpu, etc. Build the deep and stable foundation to enjoy smooth running experience. Your clients will satisfy it`s excellent performance. Of course, there are other lower specification with tight budget.

As a entry windows laptop for programming, this 14 inch celeron Education Laptop is the most competitive and hottest device for elementary project.

Any other special requirements, just contact us freely.

Programming Laptop,Laptop For Coding And Programming,Programming Laptop Under 30000,Recommended Laptop For Programming,Windows Laptop For Programming

Henan Shuyi Electronics Co., Ltd. , https://www.shuyioemelectronics.com