ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ UART (C)
សៀវភៅណែនាំអ្នកប្រើប្រាស់
លើសVIEW
នេះគឺជាម៉ូឌុលឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃដែលមានរាងមូលដែលរួមបញ្ចូលគ្នាយ៉ាងខ្ពស់ ដែលមានទំហំតូចជិតដូចបន្ទះក្រចក។ ម៉ូឌុលត្រូវបានគ្រប់គ្រងតាមរយៈពាក្យបញ្ជា UART ងាយស្រួលប្រើ។ Advan របស់វា។tagរួមមានការផ្ទៀងផ្ទាត់ 360° Omni-directional verification, fast verification, high stability, low power use, etc.
ផ្អែកលើប្រព័ន្ធដំណើរការ Cortex ដែលមានប្រសិទ្ធភាពខ្ពស់ រួមផ្សំជាមួយនឹងក្បួនដោះស្រាយការបោះពុម្ពស្នាមម្រាមដៃពាណិជ្ជកម្មដែលមានសុវត្ថិភាពខ្ពស់ ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ UART (C) មានលក្ខណៈពិសេសដូចជាការចុះឈ្មោះស្នាមម្រាមដៃ ការទទួលបានរូបភាព ការស្វែងរកលក្ខណៈពិសេស ការបង្កើតគំរូ និងការរក្សាទុក ការផ្គូផ្គងស្នាមម្រាមដៃជាដើម។ ដោយគ្មានចំណេះដឹងអំពីក្បួនដោះស្រាយស្នាមម្រាមដៃដ៏ស្មុគស្មាញ អ្វីដែលអ្នកត្រូវធ្វើគឺគ្រាន់តែផ្ញើពាក្យបញ្ជា UART មួយចំនួន ដើម្បីបញ្ចូលវាទៅក្នុងកម្មវិធីផ្ទៀងផ្ទាត់ស្នាមម្រាមដៃយ៉ាងរហ័ស ដែលទាមទារទំហំតូច និងភាពជាក់លាក់ខ្ពស់។
លក្ខណៈពិសេស
- ងាយស្រួលប្រើដោយពាក្យបញ្ជាសាមញ្ញមួយចំនួន អ្នកមិនចាំបាច់ដឹងពីបច្ចេកវិទ្យាស្នាមម្រាមដៃណាមួយ ឬរចនាសម្ព័ន្ធអន្តរម៉ូឌុលនោះទេ។
- ក្បួនដោះស្រាយស្នាមម្រាមដៃពាណិជ្ជកម្ម ដំណើរការមានស្ថេរភាព ការផ្ទៀងផ្ទាត់រហ័ស គាំទ្រការចុះឈ្មោះស្នាមម្រាមដៃ ការផ្គូផ្គងស្នាមម្រាមដៃ ប្រមូលរូបភាពស្នាមម្រាមដៃ ផ្ទុកឡើងមុខងារស្នាមម្រាមដៃជាដើម។
- ការរកឃើញភាពរសើបរបស់ capacitive គ្រាន់តែប៉ះបង្អួចប្រមូលពន្លឺសម្រាប់ការផ្ទៀងផ្ទាត់រហ័ស
- Hardware រួមបញ្ចូលគ្នាយ៉ាងខ្ពស់ ខួរក្បាល និងឧបករណ៍ចាប់សញ្ញានៅក្នុងបន្ទះឈីបតូចមួយ សាកសមសម្រាប់កម្មវិធីដែលមានទំហំតូច
- គែមដែកអ៊ីណុកតូចចង្អៀត តំបន់ប៉ះធំ គាំទ្រការផ្ទៀងផ្ទាត់ 360° Omni-directional
- ឧបករណ៍ចាប់សញ្ញាមនុស្សដែលបានបង្កប់ ខួរក្បាលនឹងចូលគេងដោយស្វ័យប្រវត្តិ ហើយភ្ញាក់ឡើងនៅពេលប៉ះ ការប្រើប្រាស់ថាមពលទាប
- Onboard UART connector ងាយស្រួលភ្ជាប់ជាមួយ hardware platforms ដូចជា STM32 និង Raspberry Pi
ភាពជាក់លាក់
- ប្រភេទឧបករណ៍ចាប់សញ្ញា៖ ការប៉ះ capacitive
- គុណភាពបង្ហាញ: 508DPI
- ភីកសែលរូបភាព៖ ១៩២ × ១៩២
- រូបភាពមាត្រដ្ឋានប្រផេះ៖ ៨
- ទំហំឧបករណ៍ចាប់សញ្ញា: R15.5mm
- សមត្ថភាពស្នាមម្រាមដៃ: 500
- ពេលវេលាដែលត្រូវគ្នា៖ <500ms (1:N, និង N<100)
- អត្រាទទួលយកមិនពិត៖ <0.001%
- អត្រាបដិសេធមិនពិត៖ <0.1%
- វ៉ុលប្រតិបត្តិការtage: ១–3V
- ចរន្តប្រតិបត្តិការ៖ <៥០ ម៉ែអា
- ការគេងបច្ចុប្បន្ន៖ <16uA
- ប្រឆាំងនឹងអេឡិចត្រូស្តាតៈ ទំនាក់ទំនងការឆក់ 8KV / ការឆក់ពីលើអាកាស 15KV
- ចំណុចប្រទាក់៖ UART
- Baudrate: 19200 bps
- បរិយាកាសប្រតិបត្តិការ៖
• សីតុណ្ហភាព៖ -20°C~70°C
• សំណើម៖ 40%RH ~ 85%RH (គ្មាន condensation) - បរិយាកាសផ្ទុក៖
• សីតុណ្ហភាព៖ -40°C~85°C
• សំណើម៖ <85%RH (គ្មាន condensation) - ជីវិត៖ ១លានដង
ហាដវែរ
វិមាត្រ
ចំណុចប្រទាក់
ចំណាំ៖ ពណ៌នៃខ្សែភ្លើងពិតប្រាកដអាចខុសពីរូបភាព។ យោងទៅតាមលេខសម្ងាត់នៅពេលភ្ជាប់ប៉ុន្តែមិនមានពណ៌ទេ។
- VIN: 3.3V
- GND: ដី
- RX៖ ការបញ្ចូលទិន្នន័យសៀរៀល (TTL)
- TX៖ លទ្ធផលទិន្នន័យសៀរៀល (TTL)
- RST៖ បើក/បិទ Pin
• ខ្ពស់៖ បើកថាមពល
• ទាប៖ បិទថាមពល (របៀបគេង) - ភ្ញាក់៖ ភ្ញាក់ឡើងម្ជុល។ នៅពេលដែលម៉ូឌុលស្ថិតនៅក្នុងរបៀបគេង ម្ជុល WKAE គឺខ្ពស់នៅពេលប៉ះឧបករណ៍ចាប់សញ្ញាដោយប្រើម្រាមដៃ។
បញ្ជា
ទម្រង់ពាក្យបញ្ជា
ម៉ូឌុលនេះដំណើរការជាឧបករណ៍ទាសករ ហើយអ្នកគួរតែគ្រប់គ្រងឧបករណ៍ Master ដើម្បីផ្ញើពាក្យបញ្ជាដើម្បីគ្រប់គ្រងវា។ ចំណុចប្រទាក់ទំនាក់ទំនងគឺ UART: 19200 8N1 ។
ទម្រង់ពាក្យបញ្ជា និងការឆ្លើយតបគួរតែជា៖
1) = 8 បៃ
បៃ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
CMD | 0xF5 | CMD | P1 | P2 | P3 | 0 | CHK | 0xF5 |
អេក | 0xF5 | CMD | Q1 | Q2 | Q3 | 0 | CHK | 0xF5 |
កំណត់ចំណាំ៖
CMD៖ ប្រភេទពាក្យបញ្ជា/ការឆ្លើយតប
P1, P2, P3: ប៉ារ៉ាម៉ែត្រនៃពាក្យបញ្ជា
Q1, Q2, Q3: ប៉ារ៉ាម៉ែត្រនៃការឆ្លើយតប
សំណួរទី 3៖ ជាទូទៅ Q3 គឺជាព័ត៌មានត្រឹមត្រូវ/មិនត្រឹមត្រូវនៃប្រតិបត្តិការ វាគួរតែជា៖
#កំណត់ ACK_SUCCESS #កំណត់ ACK_FAIL #កំណត់ ACK_FULL #កំណត់ ACK_NOUSER #កំណត់ ACK_USER_OCCUPIED #កំណត់ ACK_FINGER_OCCUPIED #កំណត់ ACK_TIMEOUT |
0x00 0x01 0x04 0x05 0x06 0x07 0x08 |
// ជោគជ័យ // បរាជ័យ // មូលដ្ឋានទិន្នន័យពេញ // អ្នកប្រើប្រាស់មិនមានទេ។ // អ្នកប្រើប្រាស់មាន // ស្នាមម្រាមដៃមាន //ដល់ម៉ោង |
CHK៖ Checksum វាគឺជាលទ្ធផល XOR នៃបៃពី Byte 2 ទៅ Byte 6
2) > 8 បៃ។ ទិន្នន័យនេះមានពីរផ្នែក៖ ក្បាលទិន្នន័យ និងក្បាលទិន្នន័យកញ្ចប់ទិន្នន័យ៖
បៃ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
CMD | 0xF5 | CMD | សួស្តី (លេន) | ទាប(លេន) | 0 | 0 | CHK | 0xF5 |
អេក | 0xF5 | CMD | សួស្តី (លេន) | ទាប(លេន) | Q3 | 0 | CHK | 0xF5 |
ចំណាំ៖
CMD, Q3: ដូចគ្នានឹង 1)
Len៖ ប្រវែងទិន្នន័យត្រឹមត្រូវក្នុងកញ្ចប់ទិន្នន័យ ១៦ ប៊ីត (ពីរបៃ)
សួស្តី (លេន)៖ ខ្ពស់ ៨ ប៊ីតនៃលេន
Low(Len)៖ កម្រិត Len 8 ប៊ីតទាប
CHK: Checksum វាជាលទ្ធផល XOR នៃបៃពីបៃ 1 ដល់បៃ 6 កញ្ចប់ទិន្នន័យ៖
បៃ | 1 | 2…Len+1 | លេន+២ | លេន+២ |
CMD | 0xF5 | ទិន្នន័យ | CHK | 0xF5 |
អេក | 0xF5 | ទិន្នន័យ | CHK | 0xF5 |
ចំណាំ៖
Len៖ ចំនួនបៃទិន្នន័យ
CHK៖ Checksum វាគឺជាលទ្ធផល XOR នៃបៃពី Byte 2 ទៅ Byte Len+1
កញ្ចប់ទិន្នន័យតាមក្បាលទិន្នន័យ។
ប្រភេទពាក្យបញ្ជា៖
- កែប្រែលេខ SN នៃម៉ូឌុល (CMD/ACK ទាំងពីរ 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x08 SN ថ្មី (ប៊ីត ២៣-១៦) SN ថ្មី (ប៊ីត ២៣-១៦) SN ថ្មី (ប៊ីត ៧-០) 0 CHK 0xF5 អេក 0xF5 0x08 អេសចាស់ (ប៊ីត ២៣-១៦) SN ចាស់ (Bit 15-8) SN ចាស់ (Bit 7-0) 0 CHK 0xF5 - គំរូសំណួរ SN (CMD/ACK ទាំងពីរ 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x2A 0 0 0 0 CHK 0xF5 អេក 0xF5 0x2A SN (ប៊ីត ២៣-១៦) SN (ប៊ីត ២៣-១៦) SN (ប៊ីត ២៣-១៦) 0 CHK 0xF5 - របៀបគេង (CMD/ACK ទាំងពីរ 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 ០x៤ ស៊ី 0 0 0 0 CHK 0xF5 អេក 0xF5 ០x៤ ស៊ី 0 0 0 0 CHK 0xF5 - កំណត់/អានរបៀបបន្ថែមស្នាមម្រាមដៃ (CMD/ACK ទាំងពីរ 8 Byte)
មានរបៀបពីរ៖ បើករបៀបចម្លង និងបិទរបៀបចម្លង។ នៅពេលដែលម៉ូឌុលនេះស្ថិតនៅក្នុងទម្រង់ចម្លងចម្លងដែលបានបិទ៖ ស្នាមម្រាមដៃដូចគ្នាអាចត្រូវបានបន្ថែមជាលេខសម្គាល់តែមួយប៉ុណ្ណោះ។ ប្រសិនបើអ្នកចង់បន្ថែមលេខសម្គាល់ផ្សេងទៀតដែលមានស្នាមម្រាមដៃដូចគ្នា ការឆ្លើយតបរបស់ DSP បានបរាជ័យព័ត៌មាន។ ម៉ូឌុលស្ថិតនៅក្នុងរបៀបបិទបន្ទាប់ពីបើកថាមពល។បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x2D 0 Byte5=0៖
១៖ បើកដំណើរការ
០៖ បិទ
Byte5=1:00: របៀបថ្មី។
1: អានរបៀបបច្ចុប្បន្ន0 CHK 0xF5 អេក 0xF5 0x2D 0 របៀបបច្ចុប្បន្ន ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 - បន្ថែមស្នាមម្រាមដៃ (CMD/ACK ទាំងពីរ 8 Byte)
ឧបករណ៍មេគួរតែផ្ញើពាក្យបញ្ជាបីដងទៅម៉ូឌុល ហើយបន្ថែមស្នាមម្រាមដៃបីដង ត្រូវប្រាកដថាស្នាមម្រាមដៃដែលបានបន្ថែមគឺត្រឹមត្រូវ។
ក) ទីមួយបៃ 1 2 3 4 5 6 7 8 CMD 0xF
50x0
1លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតទាប) ការអនុញ្ញាត (1/2/3) 0 CHK 0xF5 អេក 0xF
50x0
10 0 ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 ACK_FULL
ACK_USER_OCCUPIED ACK_FINGER_OCCUPIED
ACK_TIMEOUTកំណត់ចំណាំ៖
លេខសម្គាល់អ្នកប្រើប្រាស់៖ 1~0xFFF;
ការអនុញ្ញាតរបស់អ្នកប្រើ៖ 1,2,3, (អ្នកអាចកំណត់ការអនុញ្ញាតដោយខ្លួនឯង)
ខ) ទីពីរបៃ 1 2 3 4 5 6 7 8 CMD
0xF5
0x02
លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់)
លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប ៨ ប៊ីត)
ការអនុញ្ញាត (1/2/3)
0
CHK
0xF5
អេក
0xF5
0x02
0
0
ACK_SUCCESS ACK_FAIL ACK_TIMEOUT
0
CHK
0xF5
គ) ទីបី
បៃ 1 2 3 4 5 6 7 8 CMD
0xF5
0x03
លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់)
លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប ៨ ប៊ីត)
ការអនុញ្ញាត (1/2/3)
0
CHK
0xF5
អេក
0xF5
0x03
0
0
ACK_SUCCESS ACK_FAIL ACK_TIMEOUT
0
CHK
0xF5
ចំណាំ៖ លេខសម្គាល់អ្នកប្រើប្រាស់ និងការអនុញ្ញាតជាបីពាក្យបញ្ជា។
- បន្ថែមអ្នកប្រើប្រាស់ និងផ្ទុកឡើង eigenvalues (CMD = 8Byte/ACK> 8 Byte)
ពាក្យបញ្ជាទាំងនេះគឺស្រដៀងទៅនឹង "5. បន្ថែមស្នាមម្រាមដៃ” អ្នកគួរតែបន្ថែមបីដងផងដែរ។
ក) ទីមួយ
ដូចគ្នានឹងទីមួយនៃ "5. បន្ថែមស្នាមម្រាមដៃ”
ខ) ទីពីរ
ដូចគ្នានឹងទីពីរនៃ "5. បន្ថែមស្នាមម្រាមដៃ”
គ) ទីបី
ទម្រង់ CMD៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x06 0 0 0 0 CHK 0xF5 ទ្រង់ទ្រាយ ACK៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x06 សួស្តី (លេន) ទាប(លេន) ACK_SUCCESS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ៖
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 0 0 0 Eigenvalues CHK 0xF5 កំណត់ចំណាំ៖
ប្រវែង Eigenvalues (Len-) គឺ 193Byte
កញ្ចប់ទិន្នន័យត្រូវបានផ្ញើនៅពេលដែលបៃទីប្រាំនៃទិន្នន័យ ACK គឺ ACK_SUCCESS - លុបអ្នកប្រើប្រាស់ (CMD/ACK ទាំង 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x04 លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតទាប) 0 0 CHK 0xF5 អេក 0xF5 0x04 0 0 ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 - លុបអ្នកប្រើប្រាស់ទាំងអស់ (CMD/ACK ទាំង 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x05 0 0 0: លុបអ្នកប្រើប្រាស់ទាំងអស់ 1/2/3: លុបអ្នកប្រើប្រាស់ដែលមានការអនុញ្ញាតគឺ 1/2/3 0 CHK 0xF5 អេក 0xF5 0x05 0 0 ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 - សំណួរចំនួនអ្នកប្រើប្រាស់ (CMD/ACK ទាំង 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x09 0 0 0: ចំនួនសំណួរ
0xFF៖ ចំនួនសំណួរ0 CHK 0xF5 អេក 0xF5 0x09 ចំនួន/ចំនួន (ខ្ពស់ 8 ប៊ីត) ចំនួន/ចំនួន (ទាប 8 ប៊ីត) ACK_SUCCESS
ACK_FAIL
0xFF(CMD=0xFF)0 CHK 0xF5 - 1:1 (CMD/ACK ទាំងពីរ 8Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 ០x១ ប៊ី លេខសម្គាល់អ្នកប្រើប្រាស់ (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប 8 ប៊ីត) 0 0 CHK 0xF5 អេក 0xF5 ០x១ ប៊ី 0 0 ACK_SUCCESS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 - ការប្រៀបធៀប 1: N (CMD/ACK ទាំងពីរ 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 ០x៤ ស៊ី 0 0 0 0 CHK 0xF5 អេក 0xF5 ០x៤ ស៊ី លេខសម្គាល់អ្នកប្រើប្រាស់ (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប 8 ប៊ីត) ការអនុញ្ញាត
(1/2/3)
ACK_NOUSER
ACK_TIMEOUT0 CHK 0xF5 - ការអនុញ្ញាតសំណួរ (CMD/ACK ទាំងពីរ 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x0A លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (Low8Bit) 0 0 CHK 0xF5 អេក 0xF5 0x0A 0 0 ការអនុញ្ញាត
(1/2/3)
ACK_NOUSER0 CHK 0xF5 - កំណត់/កម្រិតប្រៀបធៀបសំណួរ (CMD/ACK ទាំង 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x28 0 Byte5=0៖ កម្រិតថ្មី។
Byte5=1:00: កំណត់កម្រិត
1: កម្រិតសំណួរ0 CHK 0xF5 អេក 0xF5 0x28 0 កម្រិតបច្ចុប្បន្ន ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 កំណត់សម្គាល់៖ ការប្រៀបធៀប កម្រិតអាចជា 0 ~ 9 តម្លៃធំជាង ការប្រៀបធៀបកាន់តែតឹងរ៉ឹង។ លំនាំដើម ៥
- ទទួលបានរូបភាព និងអាប់ឡូត (CMD=8 Byte/ACK>8 Byte)
ទម្រង់ CMD៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x24 0 0 0 0 CHK 0xF5 ទ្រង់ទ្រាយ ACK៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x24 សួស្តី (លេន) ទាប(លេន) ACK_SUCCUSS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 ទិន្នន័យរូបភាព CHK 0xF5 កំណត់ចំណាំ៖
នៅក្នុងម៉ូឌុល DSP ភីកសែលនៃរូបភាពស្នាមម្រាមដៃគឺ 280*280 ភីកសែលនីមួយៗត្រូវបានតំណាងដោយ 8 ប៊ីត។ នៅពេលផ្ទុកឡើង DSP បានរំលងភីកសែល sampដាក់ក្នុងទិសផ្ដេក/បញ្ឈរ ដើម្បីកាត់បន្ថយទំហំទិន្នន័យ ដូច្នេះរូបភាពបានក្លាយជា 140*140 ហើយគ្រាន់តែយកភីកសែល 4 ប៊ីតខ្ពស់។ រាល់ភីកសែលពីរត្រូវបានផ្សំជាបៃមួយសម្រាប់ផ្ទេរ (ភីកសែលមុន 4 ប៊ីតខ្ពស់ ភីកសែលចុងក្រោយទាប 4 ភីកសែល)។
ការបញ្ជូនចាប់ផ្តើមតាមបន្ទាត់ពីបន្ទាត់ទីមួយ បន្ទាត់នីមួយៗចាប់ផ្តើមពីភីកសែលទីមួយ ផ្ទេរទិន្នន័យទាំងស្រុង 140*140/2 បៃ។
ប្រវែងទិន្នន័យនៃរូបភាពត្រូវបានជួសជុលនៅ 9800 បៃ។ - ទទួលបានរូបភាព និងអាប់ឡូត eigenvalues (CMD=8 Byte/ACK> 8Byte)
ទម្រង់ CMD៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x23 0 0 0 0 CHK 0xF5 ទ្រង់ទ្រាយ ACK៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x23 សួស្តី (លេន) ទាប(លេន) ACK_SUCCUSS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 0 0 0 Eigenvalues CHK 0xF5 កំណត់ចំណាំ៖ ប្រវែងនៃ Eigenvalues (Len -3) គឺ 193 បៃ។
- ទាញយក eigenvalues ហើយប្រៀបធៀបជាមួយស្នាមម្រាមដៃដែលទទួលបាន (CMD>8 Byte/ACK=8 Byte)
ទម្រង់ CMD៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x44 សួស្តី (លេន) ទាប(លេន) 0 0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 0 0 0 Eigenvalues CHK 0xF5 ចំណាំ៖ ប្រវែងនៃ Eigenvalues (Len -3) គឺ 193 បៃ។
ទ្រង់ទ្រាយ ACK៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x44 0 0 ACK_SUCCUSS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 - ទាញយក eigenvalues និងការប្រៀបធៀប 1:1 (CMD>8 Byte/ACK=8 Byte)
ទម្រង់ CMD៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x42 សួស្តី (លេន) ទាប(លេន) 0 0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប 8 ប៊ីត) 0 Eigenvalues CHK 0xF5 កំណត់ចំណាំ៖ ប្រវែងនៃ Eigenvalues (Len -3) គឺ 193 បៃ។
ទ្រង់ទ្រាយ ACK៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x43 0 0 ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 - ទាញយក eigenvalues និងការប្រៀបធៀប 1: N (CMD > 8 Byte/ACK=8 Byte)
ទម្រង់ CMD៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x43 សួស្តី (លេន) ទាប(លេន) 0 0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 0 0 0 Eigenvalues CHK 0xF5 កំណត់ចំណាំ៖ ប្រវែងនៃ Eigenvalues (Len -3) គឺ 193 បៃ។
ទ្រង់ទ្រាយ ACK៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x43 លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប ៨ ប៊ីត) ការអនុញ្ញាត
(1/2/3)
ACK_NOUSER0 CHK 0xF5 - អាប់ឡូត eigenvalues ពី DSP model CMD=8 Byte/ACK>8 Byte)
ទម្រង់ CMD៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x31 លេខសម្គាល់អ្នកប្រើប្រាស់ (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប ៨ ប៊ីត) 0 0 CHK 0xF5 ទ្រង់ទ្រាយ ACK៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x31 សួស្តី (លេន) ទាប(លេន) ACK_SUCCUSS
ACK_FAIL
ACK_NOUSER0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 លេខសម្គាល់អ្នកប្រើប្រាស់ (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប ៨ ប៊ីត) ការអនុញ្ញាត (1/2/3) Eigenvalues CHK 0xF5 កំណត់ចំណាំ៖ ប្រវែងនៃ Eigenvalues (Len -3) គឺ 193 បៃ។
- ទាញយក eigenvalues ហើយរក្សាទុកជា User ID ទៅ DSP (CMD>8 Byte/ACK =8 Byte)
ទម្រង់ CMD៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x41 សួស្តី (លេន) ទាប(លេន) 0 0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 4 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប 8 ប៊ីត) ការអនុញ្ញាត (1/2/3) Eigenvalues CHK 0xF5 កំណត់ចំណាំ៖ ប្រវែងនៃ Eigenvalues (Len -3) គឺ 193 បៃ។
ទ្រង់ទ្រាយ ACK៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 0x41 លេខសម្គាល់អ្នកប្រើប្រាស់ (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប 8 ប៊ីត) ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 - ព័ត៌មានសំណួរ (ID និងការអនុញ្ញាត) របស់អ្នកប្រើប្រាស់ទាំងអស់ដែលបានបន្ថែម (CMD=8 Byte/ACK>8Byte)
ទម្រង់ CMD៖បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 ០x១ ប៊ី 0 0 0 0 CHK 0xF5 ទ្រង់ទ្រាយ ACK៖
១) ក្បាលទិន្នន័យ៖បៃ 1 2 3 4 5 6 7 8 អេក 0xF5 ០x១ ប៊ី សួស្តី (លេន) ទាប(លេន) ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 2) កញ្ចប់ទិន្នន័យ
បៃ 1 2 3 ៥-លេន+១ លេន+២ លេន+២ អេក 0xF5 លេខសម្គាល់អ្នកប្រើប្រាស់ (8 ប៊ីតខ្ពស់) លេខសម្គាល់អ្នកប្រើប្រាស់ (ទាប 8 ប៊ីត) ព័ត៌មានអ្នកប្រើប្រាស់ (លេខសម្គាល់អ្នកប្រើប្រាស់ និងការអនុញ្ញាត) CHK 0xF5 កំណត់ចំណាំ៖
ប្រវែងទិន្នន័យនៃកញ្ចប់ទិន្នន័យ (Len) គឺ "3*User ID+2"
ទម្រង់ព័ត៌មានអ្នកប្រើប្រាស់៖បៃ 4 5 6 7 8 9 … ទិន្នន័យ លេខសម្គាល់អ្នកប្រើប្រាស់ 1 (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ 1 (ទាប 8 ប៊ីត) ការអនុញ្ញាតរបស់អ្នកប្រើ 1 (1/2/3) លេខសម្គាល់អ្នកប្រើប្រាស់ 2 (កម្រិតខ្ពស់ 8 ប៊ីត) លេខសម្គាល់អ្នកប្រើប្រាស់ 2 (ទាប 8 ប៊ីត) ការអនុញ្ញាតរបស់អ្នកប្រើ 2 (1/2/3) …
- កំណត់/សួរ អស់ពេលចាប់យកស្នាមម្រាមដៃ (CMD/ACK ទាំងពីរ 8 Byte)
បៃ 1 2 3 4 5 6 7 8 CMD 0xF5 0x2 អ៊ី 0 Byte5=0៖ អស់ពេល
Byte5=1:00: កំណត់ពេលវេលា
1: អស់ពេលនៃការសួរ0 CHK 0xF5 អេក 0xF5 0x2 អ៊ី 0 អស់ពេល ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 កំណត់ចំណាំ៖
ជួរនៃតម្លៃពេលវេលារង់ចាំស្នាមម្រាមដៃ (tout) គឺ 0-255 ។ ប្រសិនបើតម្លៃគឺ 0 ដំណើរការទិញស្នាមម្រាមដៃនឹងបន្ត ប្រសិនបើគ្មានស្នាមម្រាមដៃចុចលើ។ ប្រសិនបើតម្លៃមិនមែន 0 នោះប្រព័ន្ធនឹងមានសម្រាប់ហេតុផលនៃការអស់ពេល ប្រសិនបើគ្មានស្នាមម្រាមដៃចុចនៅលើពេលវេលា tout * T0 ។
ចំណាំ៖ T0 គឺជាពេលវេលាដែលត្រូវការសម្រាប់ការប្រមូល/ដំណើរការរូបភាព ជាធម្មតា 0.2- 0.3 វិ។
ដំណើរការទំនាក់ទំនង
បន្ថែមស្នាមម្រាមដៃ
លុបអ្នកប្រើប្រាស់
លុបអ្នកប្រើប្រាស់ទាំងអស់។
ទទួលបានរូបភាព និងបង្ហោះ EIGENVALUE
ការណែនាំអ្នកប្រើប្រាស់
ប្រសិនបើអ្នកចង់ភ្ជាប់ម៉ូឌុលស្នាមម្រាមដៃទៅកុំព្យូទ័រ អ្នកត្រូវទិញ UART មួយទៅម៉ូឌុល USB ។ យើងណែនាំអ្នកឱ្យប្រើ Waveshare FT232 USB UART Board (មីក្រូ) ម៉ូឌុល។
ប្រសិនបើអ្នកចង់ភ្ជាប់ម៉ូឌុលស្នាមម្រាមដៃទៅក្រុមប្រឹក្សាអភិវឌ្ឍន៍ដូចជា Raspberry Pi ប្រសិនបើដំណើរការ
កម្រិតនៃក្តាររបស់អ្នកគឺ 3.3V អ្នកអាចភ្ជាប់វាដោយផ្ទាល់ទៅនឹង UART និង GPIO pins នៃក្តាររបស់អ្នក។ ប្រសិនបើវាជា 5V សូមបន្ថែមកម្រិតបម្លែងម៉ូឌុល/សៀគ្វី។
ភ្ជាប់ទៅកុំព្យូទ័រ
ការតភ្ជាប់ផ្នែករឹង
អ្នកត្រូវការ៖
- ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ UART (C)*1
- FT232 USB UART Board *1
- ខ្សែ USB ខ្នាតតូច *1
ភ្ជាប់ម៉ូឌុលស្នាមម្រាមដៃ និង FT232 USB UART Board ទៅកុំព្យូទ័រ
ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ UART (C) | បន្ទះ USB UART FT232 |
វីស៊ី | វីស៊ី |
GND | GND |
RX | TX |
TX | RX |
RST | NC |
វ៉ា | NC |
ការធ្វើតេស្ត
- ទាញយកកម្មវិធីសាកល្បងឧបករណ៍ចាប់ស្នាមម្រាមដៃ UART ពីវីគី
- បើកកម្មវិធី ហើយជ្រើសរើសច្រក COM ត្រឹមត្រូវ។(កម្មវិធីអាចគាំទ្របានតែ COM1~COM8 ប្រសិនបើច្រក COM នៅក្នុងកុំព្យូទ័ររបស់អ្នកនៅក្រៅជួរនេះ សូមកែប្រែវា)
- ការធ្វើតេស្ត
មានមុខងារជាច្រើនដែលផ្តល់ជូននៅក្នុងចំណុចប្រទាក់សាកល្បង
- ចំនួនសំណួរ
ជ្រើសរើស រាប់, បន្ទាប់មកចុច ផ្ញើ។ ចំនួនអ្នកប្រើប្រាស់ត្រូវបានបញ្ជូនមកវិញ និងបង្ហាញនៅក្នុងព័ត៌មាន ការឆ្លើយតប ចំណុចប្រទាក់ - បន្ថែមអ្នកប្រើប្រាស់
ជ្រើសរើស បន្ថែមអ្នកប្រើប្រាស់, ពិនិត្យទៅ ទទួលបានពីរដង និង លេខសម្គាល់ស្វ័យប្រវត្តិ +1, វាយលេខសម្គាល់ (P1 និង P2) និងការអនុញ្ញាត (P3) បន្ទាប់មកចុច ផ្ញើ។ ចុងក្រោយ ប៉ះឧបករណ៍ចាប់សញ្ញាដើម្បីទទួលបានស្នាមម្រាមដៃ។ - លុបអ្នកប្រើប្រាស់
ជ្រើសរើស លុបអ្នកប្រើប្រាស់, វាយលេខសម្គាល់ (P1 និង P2) និងការអនុញ្ញាត (P3) បន្ទាប់មកចុច ផ្ញើ។ - លុបអ្នកប្រើប្រាស់ទាំងអស់។
ជ្រើសរើស លុបអ្នកប្រើប្រាស់ទាំងអស់។បន្ទាប់មកចុច ផ្ញើ - ការប្រៀបធៀប 1: 1
ជ្រើសរើស ការប្រៀបធៀប 1: 1វាយលេខសម្គាល់ (P1 និង P2) និងការអនុញ្ញាត (P3) បន្ទាប់មកចុច ផ្ញើ។ - ការប្រៀបធៀប ១: អិន
ជ្រើសរើស 1: N ការប្រៀបធៀបបន្ទាប់មកចុច ផ្ញើ។
…
សម្រាប់មុខងារបន្ថែម សូមសាកល្បងវា។ (មុខងារមួយចំនួនមិនមានសម្រាប់ម៉ូឌុលនេះទេ)
ភ្ជាប់ទៅ XNUCLEO-F103RB
យើងផ្តល់លេខកូដសាកល្បងសម្រាប់ XNCULEO-F103RB ដែលអ្នកអាចទាញយកពីវិគី
ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ UART (C) | NUCLEO-F103RB |
វីស៊ី | 3.3V |
GND | GND |
RX | PA9 |
TX | PA10 |
RST | PB5 |
វ៉ា | PB3 |
ចំណាំ៖ អំពីម្ជុលសូមយោងទៅ ចំណុចប្រទាក់ ខាងលើ
- ភ្ជាប់ UART Fingerprint Sensor (C) ទៅ XNUCLEO_F103RB ហើយភ្ជាប់អ្នកសរសេរកម្មវិធី
- បើកគម្រោង (កូដសាកល្បង) ដោយកម្មវិធី keil5
- ពិនិត្យមើលថាតើអ្នកសរសេរកម្មវិធី និងឧបករណ៍ត្រូវបានទទួលស្គាល់ជាធម្មតាដែរឬទេ
- ចងក្រង និងទាញយក
- ភ្ជាប់ XNUCELO-F103RB ទៅកុំព្យូទ័រដោយខ្សែ USB បើកកម្មវិធីជំនួយសៀរៀល កំណត់ច្រក COM: 115200, 8N1
វាយពាក្យបញ្ជាដើម្បីសាកល្បងម៉ូឌុលយោងទៅតាមព័ត៌មានដែលបានត្រឡប់មកវិញ។
ភ្ជាប់ទៅ RASPBERRY PI
យើងផ្តល់ python example សម្រាប់ Raspberry Pi អ្នកអាចទាញយកវាពីវីគី
មុនពេលអ្នកប្រើអតីតampដូច្នេះ អ្នកគួរតែបើកច្រកសៀរៀលនៃ Raspberry Pi ជាមុនសិន៖
បញ្ចូលពាក្យបញ្ជានៅលើស្ថានីយ៖ Sudo raspi-config
ជ្រើសរើស៖ ជម្រើសចំណុចប្រទាក់ -> សៀរៀល -> ទេ -> បាទ
បន្ទាប់មកចាប់ផ្ដើមឡើងវិញ។
ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ UART (C) | Raspberry Pi |
វីស៊ី | 3.3V |
GND | GND |
RX | 14 (BCM) – PIN 8 (ក្តារ) |
TX | 15 (BCM) – PIN 10 (ក្តារ) |
RST | 24 (BCM) – PIN 18 (ក្តារ) |
វ៉ា | 23 (BCM) – PIN 16 (ក្តារ) |
- ភ្ជាប់ម៉ូឌុលស្នាមម្រាមដៃទៅ Raspberry Pi
- ទាញយកកូដសាកល្បងទៅ Raspberry Pi: wget https://www.waveshare.com/w/upload/9/9d/UART-Fignerprint-RaspberryPi.tar.gz
- ពន្លាវា។
tar zxvf UART-ស្នាមម្រាមដៃ-RaspberryPi.tar.gz - រត់អតីតample
ស៊ីឌី UART-Fingerprint-RaspberryPi/sudo python main.py - អនុវត្តតាមការណែនាំដើម្បីសាកល្បង
ឯកសារ/ធនធាន
![]() |
ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ WAVESHARE STM32F205 UART [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់ STM32F205, ឧបករណ៍ចាប់ស្នាមម្រាមដៃ UART, ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ STM32F205 UART, ឧបករណ៍ចាប់ស្នាមម្រាមដៃ |