MICROCHIP Core16550 ឧបករណ៍បញ្ជូនអ្នកទទួលអសមកាលជាសកល

សេចក្តីផ្តើម
Core16550 គឺជាស្តង់ដារ Universal Asynchronous Receiver-Transmitter (UART) ដែលធានានូវភាពឆបគ្នានៃកម្មវិធីជាមួយឧបករណ៍ 16550 ដែលត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយ។ វាគ្រប់គ្រងការបំប្លែងទិន្នន័យពីសៀរៀលទៅប៉ារ៉ាឡែលសម្រាប់ការបញ្ចូលពីម៉ូឌឹម ឬឧបករណ៍សៀរៀលផ្សេងទៀត ហើយដំណើរការការបំប្លែងស្របទៅសៀរៀលសម្រាប់ទិន្នន័យដែលបានផ្ញើពីស៊ីភីយូទៅឧបករណ៍ទាំងនេះ។
កំឡុងពេលបញ្ជូនទិន្នន័យត្រូវបានសរសេរស្របគ្នាទៅក្នុងសតិបណ្ដោះអាសន្នរបស់ UART នៃការបញ្ជូន First-In, First-Out (FIFO) ។ បន្ទាប់មកទិន្នន័យត្រូវបានធ្វើជាស៊េរីសម្រាប់លទ្ធផល។ នៅពេលទទួល UART បំប្លែងទិន្នន័យសៀរៀលចូលទៅជាប៉ារ៉ាឡែល ហើយបើកដំណើរការងាយស្រួលសម្រាប់ដំណើរការ។
កម្មវិធីធម្មតានៃ 16550 UART ត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។
រូបភាពទី 1. កម្មវិធីធម្មតា 16550
តារាង 1. សេចក្តីសង្ខេប Core16550

លក្ខណៈសំខាន់ៗ
ខាងក្រោមនេះគឺជាមុខងារសំខាន់ៗរបស់ Core16550៖
- Transmitter និងអ្នកទទួលត្រូវបានផ្អាកជាមួយនឹង FIFOs រហូតដល់ 16-byte ដើម្បីកាត់បន្ថយចំនួននៃការរំខានដែលបង្ហាញដល់ CPU។
- បន្ថែមឬដកប៊ីតទំនាក់ទំនងអសមកាលស្តង់ដារ (ចាប់ផ្តើម បញ្ឈប់ និងភាពស្មើគ្នា)។
- ការបញ្ជូន ទទួល ស្ថានភាពបន្ទាត់ និងសំណុំទិន្នន័យដែលគ្រប់គ្រងដោយឯករាជ្យ
- ម៉ាស៊ីនភ្លើង baud ដែលអាចសរសេរកម្មវិធីបាន។
- មុខងារត្រួតពិនិត្យម៉ូដឹម (CTSn, RTSn, DSRn, DTRn, RIn និង DCDn) ។
- ចំណុចប្រទាក់ចុះឈ្មោះ Advanced Peripheral Bus (APB)
លក្ខណៈពិសេសដែលឈប់ប្រើ
ការគាំទ្រសៀគ្វីរួមបញ្ចូលគ្នាដែលមានល្បឿនលឿនខ្លាំង (VHSIC) ភាសាពិពណ៌នាផ្នែករឹង (VHDL) នឹងត្រូវបានបញ្ឈប់ពីកំណែនេះ។
Core16550 ផ្លាស់ប្តូរព័ត៌មានកំណត់ហេតុ
ផ្នែកនេះផ្តល់នូវភាពទូលំទូលាយview នៃលក្ខណៈពិសេសដែលបានបញ្ចូលថ្មី ចាប់ផ្តើមជាមួយនឹងការចេញផ្សាយចុងក្រោយបំផុត។
| កំណែ | តើមានអ្វីថ្មី។ |
| ស្នូល 16550 v3.4 | Core16550 ប្រើពាក្យគន្លឹះប្រព័ន្ធ verilog "បំបែក" ជាឈ្មោះចុះឈ្មោះដែលបណ្តាលឱ្យមានបញ្ហាកំហុសវាក្យសម្ព័ន្ធ។ ពាក្យគន្លឹះត្រូវបានជំនួសដោយឈ្មោះផ្សេងទៀតដើម្បីដោះស្រាយបញ្ហានេះ។
បានបន្ថែមការគាំទ្រគ្រួសារ PolarFire® |
| ស្នូល 16550 v3.3 | បានបន្ថែមការគាំទ្រគ្រួសារ FPGA (RTG4™) ដែលធន់នឹងវិទ្យុសកម្ម |
- ការពិពណ៌នាប្លុកមុខងារ (សួរសំណួរ)
ផ្នែកនេះផ្តល់នូវការពិពណ៌នាខ្លីសម្រាប់ធាតុនីមួយៗនៃដ្យាក្រាមប្លុកខាងក្នុងដូចដែលបានបង្ហាញក្នុងរូបខាងក្រោម។
រូបភាពទី 1-1 ។ ដ្យាក្រាមប្លុកស្នូល 16550

ធាតុនៃដ្យាក្រាមប្លុកខាងក្នុង (សួរសំណួរ)
ផ្នែកខាងក្រោមផ្តល់ព័ត៌មានអំពីធាតុនៃដ្យាក្រាមប្លុកខាងក្នុង។
- RWControl (សួរសំណួរ)
ប្លុក RWControl ទទួលខុសត្រូវចំពោះការគ្រប់គ្រងទំនាក់ទំនងជាមួយផ្នែកខាងដំណើរការ (ប៉ារ៉ាឡែល) នៃប្រព័ន្ធ។ រាល់ការសរសេរ និងការអានការចុះឈ្មោះផ្ទៃក្នុងត្រូវបានសម្រេចតាមរយៈប្លុកនេះ។ - UART_Reg (សួរសំណួរ)
ប្លុក UART_Reg ផ្ទុកការចុះឈ្មោះខាងក្នុងឧបករណ៍ទាំងអស់។ - RXBlock (សួរសំណួរ)
នេះគឺជាប្លុកអ្នកទទួល។ RXBlock ទទួលពាក្យសៀរៀលចូល។ វាគឺជាកម្មវិធីដើម្បីទទួលស្គាល់ទទឹងទិន្នន័យដូចជា 5, 6, 7 ឬ 8 ប៊ីត; ការកំណត់ភាពស្មើគ្នាផ្សេងៗ ដូចជាគូ សេស ឬគ្មានភាពស្មើគ្នា។ និងឈប់ប៊ីតផ្សេងៗគ្នា ដូចជា 1, 1½ និង 2 ប៊ីត។ RXBlock ពិនិត្យរកកំហុសនៅក្នុងស្ទ្រីមទិន្នន័យបញ្ចូល ដូចជា កំហុសលើសលុប កំហុសស៊ុម កំហុសស្មើគ្នា និងកំហុសបំបែក។ ប្រសិនបើពាក្យចូលមិនមានបញ្ហាទេ វាត្រូវបានដាក់ក្នុង FIFO អ្នកទទួល។ - ការគ្រប់គ្រងការរំខាន (សួរសំណួរ)
ប្លុក Interrupt Control បញ្ជូនសញ្ញារំខានត្រឡប់ទៅខួរក្បាលវិញ អាស្រ័យលើស្ថានភាពរបស់ FIFO និងទិន្នន័យដែលបានទទួល និងបញ្ជូនរបស់វា។ ការចុះឈ្មោះកំណត់អត្តសញ្ញាណការរំខានផ្តល់នូវកម្រិតនៃការរំខាន។ ការរំខានត្រូវបានផ្ញើសម្រាប់ការបញ្ជូន/បង្កាន់ដៃទទេ (ឬ FIFOs) កំហុសក្នុងការទទួលតួអក្សរ ឬលក្ខខណ្ឌផ្សេងទៀតដែលទាមទារការយកចិត្តទុកដាក់របស់ខួរក្បាល។ - ម៉ាស៊ីនបង្កើតអត្រា Baud (សួរសំណួរ)
ប្លុកនេះយក PCLK បញ្ចូលហើយបែងចែកវាដោយតម្លៃកម្មវិធី (ពី 1 ដល់ 216 - 1) ។ លទ្ធផលត្រូវបានបែងចែកដោយ 16 ដើម្បីបង្កើតនាឡិកាបញ្ជូន (BAUDOUT) ។ - TXBlock (សួរសំណួរ)
ប្លុកបញ្ជូនគ្រប់គ្រងការបញ្ជូនទិន្នន័យដែលសរសេរទៅ Transmit FIFO ។ វាបន្ថែមប៊ីត Start, Parity និង Stop ដែលត្រូវការទៅក្នុងទិន្នន័យដែលកំពុងបញ្ជូន ដូច្នេះឧបករណ៍ទទួលអាចធ្វើការគ្រប់គ្រង និងទទួលកំហុសបានត្រឹមត្រូវ។
ចំណុចប្រទាក់កម្មវិធី (សួរសំណួរ)
និយមន័យនៃការចុះឈ្មោះ Core16550 និងការគូសផែនទីអាសយដ្ឋានត្រូវបានពិពណ៌នានៅក្នុងផ្នែកនេះ។ តារាងខាងក្រោមបង្ហាញពីការសង្ខេបការចុះឈ្មោះ Core16550 ។
| PADDR[4:0]
(អាសយដ្ឋាន) |
Divisor Latch Access Bit1
(DLAB) |
ឈ្មោះ | និមិត្តសញ្ញា | តម្លៃលំនាំដើម (កំណត់ឡើងវិញ) | លេខនៃប៊ីត | អាន/សរសេរ |
| 00 | 0 | ចុះឈ្មោះសតិបណ្ដោះអាសន្នអ្នកទទួល | RBR | XX | 8 | R |
| 00 | 0 | ការចុះបញ្ជីការកាន់កាប់ឧបករណ៍បញ្ជូន | THR | XX | 8 | W |
| 00 | 1 | បន្ទះបែងចែក (LSB) | DLR | ១៧០០០ ម៉ោង។ | 8 | R/W |
| 04 | 1 | បន្ទះបែងចែក (MSB) | DMR | ១៧០០០ ម៉ោង។ | 8 | R/W |
| 04 | 0 | រំខាន បើកការចុះឈ្មោះ | IER | ១៧០០០ ម៉ោង។ | 8 | R/W |
| 08 | X | ការចុះឈ្មោះអត្តសញ្ញាណរំខាន | IIR | C1 ម៉ោង។ | 8 | R |
| 08 | X | ការចុះឈ្មោះត្រួតពិនិត្យ FIFO | FCR | ១៧០០០ ម៉ោង។ | 8 | W |
| 0C | X | ការចុះឈ្មោះត្រួតពិនិត្យបន្ទាត់ | LCR | ១៧០០០ ម៉ោង។ | 8 | R/W |
| 10 | X | ការចុះឈ្មោះត្រួតពិនិត្យម៉ូដឹម | MCR | ១៧០០០ ម៉ោង។ | 8 | R/W |
| 14 | X | ការចុះឈ្មោះស្ថានភាពបន្ទាត់ | LSR | ១៧០០០ ម៉ោង។ | 8 | R |
| 18 | X | ការចុះឈ្មោះស្ថានភាពម៉ូដឹម | MSR | ១៧០០០ ម៉ោង។ | 8 | R |
| 1C | X | ការចុះឈ្មោះកោស | SR | ១៧០០០ ម៉ោង។ | 8 | R/W |
សំខាន់
DLAB គឺជា MSB នៃ Line Control Register (LCR bit 7) ។
ចុះឈ្មោះអ្នកទទួល Buffer (សួរសំណួរ)
ការចុះឈ្មោះអ្នកទទួល Buffer ត្រូវបានកំណត់ក្នុងតារាងខាងក្រោម។
តារាង 1-2 ។ ចុះឈ្មោះ Buffer អ្នកទទួល (អានតែប៉ុណ្ណោះ)—អាសយដ្ឋាន 0 DLAB 0
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| ០០..៣០ | RBR | XX | 0..FFh | ប៊ីតទិន្នន័យដែលទទួលបាន។ ប៊ីត 0 គឺជា LSB ហើយជាប៊ីតដែលទទួលបានដំបូង។ |
ការចុះឈ្មោះអ្នកបញ្ជូនបន្ត (សួរសំណួរ)
ការចុះឈ្មោះ Transmitter Holding ត្រូវបានកំណត់ក្នុងតារាងខាងក្រោម។
តារាង 1-3 ។ ការចុះឈ្មោះអ្នកបញ្ជូនបន្ត - សរសេរតែប៉ុណ្ណោះ
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| ០០..៣០ | THR | XX | 0..FFh | ដើម្បីបញ្ជូនទិន្នន័យប៊ីត។ ប៊ីត 0 គឺជា LSB ហើយត្រូវបានបញ្ជូនមុន។ |
ការចុះឈ្មោះត្រួតពិនិត្យ FIFO (សួរសំណួរ)
ការចុះឈ្មោះ FIFO Control ត្រូវបានកំណត់ក្នុងតារាងខាងក្រោម។
| ប៊ីត (7:0) | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| 0 | 1 | 0, 1 | បើកដំណើរការទាំង Transceiver (Tx) និង Receiver (Rx) FIFOs។ ប៊ីតនេះត្រូវតែកំណត់ទៅ 1 នៅពេលដែលប៊ីត FCR ផ្សេងទៀតត្រូវបានសរសេរទៅ ឬពួកវានឹងមិនត្រូវបានសរសេរកម្មវិធីទេ។
0: បិទ 1: បានបើក |
| 1 | 0 | 0, 1 | សម្អាតបៃទាំងអស់នៅក្នុង Rx FIFO ហើយកំណត់តក្កវិជ្ជារាប់ឡើងវិញរបស់វា។ ការចុះឈ្មោះ Shift មិនត្រូវបានសម្អាតទេ។
0: បិទ 1: បានបើក |
| 2 | 0 | 0, 1 | សម្អាតបៃទាំងអស់នៅក្នុង Tx FIFO និងកំណត់តក្កវិជ្ជារាប់ឡើងវិញរបស់វា។ ការចុះឈ្មោះ Shift មិនត្រូវបានសម្អាតទេ។
0: បិទ 1: បានបើក |
| 3 | 0 | 0, 1 | 0: ការផ្ទេរ DMA តែមួយ៖ ការផ្ទេរធ្វើឡើងរវាងវដ្តនៃ CPU Bus
1: ការផ្ទេរ DMA ច្រើន៖ ការផ្ទេរបានធ្វើឡើងរហូតដល់ Rx FIFO ទទេ ឬ Transmission System Operator (TSO) Transmit (XMIT) FIFO ត្រូវបានបំពេញ។ FCR[0] ត្រូវតែកំណត់ទៅ 1 ដើម្បីកំណត់ FCR[3] ទៅ 1 ។ |
| 4, 5 | 0 | 0, 1 | បម្រុងទុកសម្រាប់ការប្រើប្រាស់នាពេលអនាគត។ |
| 6, 7 | 0 | 0, 1 | ប៊ីតទាំងនេះត្រូវបានប្រើដើម្បីកំណត់កម្រិតគន្លឹះសម្រាប់ការរំខាន Rx FIFO ។ 7 6 Rx FIFO កម្រិតកេះ (បៃ)
១២៣ ៤ ១២៣ ៤ ១២៣ ៤ ១២៣ ៤ |
ការគ្រប់គ្រងផ្នែកចុះឈ្មោះ (សួរសំណួរ)
នាឡិកា Baud Rate (BR) ត្រូវបានបង្កើតដោយការបែងចែកនាឡិកាយោងបញ្ចូល (PCLK) ដោយ 16 និងតម្លៃចែក។
តារាងខាងក្រោមរាយបញ្ជីអតីតample នៃតម្លៃចែកសម្រាប់ BR ដែលចង់បាននៅពេលប្រើនាឡិកាយោង 18.432 MHz ។
តារាង 1-5 ។ បន្ទះចែក (LS និង MS)
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| ០០..៣០ | DLR | ១៧០០០ ម៉ោង។ | 01..FFh | LSB នៃតម្លៃចែក |
| ០០..៣០ | DMR | ១៧០០០ ម៉ោង។ | 00..FFh | MSB នៃតម្លៃចែក |
តារាង 1-6 ។ អត្រា Baud និងតម្លៃចែកសម្រាប់ 18.432 MHz នាឡិកាយោង
| អត្រា Baud | លេខចែកទសភាគ (តម្លៃបំបែក) | កំហុសភាគរយ |
| 50 | 23040 | 0.0000% |
| 75 | 15360 | 0.0000% |
| 110 | 10473 | -0.2865% |
| 134.5 | 8565 | 0.0876% |
| 150 | 7680 | 0.0000% |
| 300 | 3840 | 0.0000% |
| 600 | 1920 | 0.0000% |
| 1,200 | 920 | 4.3478% |
| 1,800 | 640 | 0.0000% |
| អត្រា Baud | លេខចែកទសភាគ (តម្លៃបំបែក) | កំហុសភាគរយ |
| 2,000 | 576 | 0.0000% |
| 2,400 | 480 | 0.0000% |
| 3,600 | 320 | 0.0000% |
| 4,800 | 240 | 0.0000% |
| 7,200 | 160 | 0.0000% |
| 9,600 | 120 | 0.0000% |
| 19,200 | 60 | 0.0000% |
| 38,400 | 30 | 0.0000% |
| 56,000 | 21 | -2.0408% |
រំខាន បើកការចុះឈ្មោះ (សួរសំណួរ)
ការចុះឈ្មោះ Interrupt Enable ត្រូវបានកំណត់ក្នុងតារាងខាងក្រោម។
តារាង 1-7 ។ រំខាន បើកការចុះឈ្មោះ
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| 0 | ERBFI | 0 | 0, 1 | បើកដំណើរការ "ទទួលទិន្នន័យដែលមានការរំខាន" 0: បានបិទ
1: បានបើក |
| 1 | ETBEI | 0 | 0, 1 | បើកដំណើរការ "ការចុះបញ្ជីការកាន់កាប់ឧបករណ៍បញ្ជូនទិន្នន័យទទេ" 0: បានបិទ
1: បានបើក |
| 2 | ELSI | 0 | 0, 1 | បើកដំណើរការ "ការរំខានស្ថានភាពខ្សែអ្នកទទួល" 0: បានបិទ
1: បានបើក |
| 3 | EDSSI | 0 | 0, 1 | បើកដំណើរការ "រំខានស្ថានភាពម៉ូដឹម" 0: បានបិទ
1: បានបើក |
| ០០..៣០ | កក់ទុក | 0 | 0 | 0 ជានិច្ច |
ការចុះឈ្មោះអត្តសញ្ញាណរំខាន (សួរសំណួរ)
ការចុះឈ្មោះអត្តសញ្ញាណរំខានត្រូវបានរាយក្នុងតារាងខាងក្រោម។ តារាង 1-8 ។ ការចុះឈ្មោះអត្តសញ្ញាណរំខាន
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| ០០..៣០ | IIR | 1h | 0..Ch | រំខានប៊ីតកំណត់អត្តសញ្ញាណ។ |
| ០០..៣០ | កក់ទុក | 00 | 00 | 00 ជានិច្ច |
| ០០..៣០ | របៀប | 11 | 11 | ១១៖ របៀប FIFO |
វាលចុះឈ្មោះអត្តសញ្ញាណរំខានត្រូវបានកំណត់នៅក្នុងតារាងខាងក្រោម។
តារាង 1-9 ។ វាលចុះឈ្មោះអត្តសញ្ញាណរំខាន (IIR)
| តម្លៃ IIR[3:0)] | កម្រិតអាទិភាព | ប្រភេទរំខាន | ប្រភពរំខាន | រំខានការគ្រប់គ្រងការកំណត់ឡើងវិញ |
| 0110 | ខ្ពស់បំផុត | ស្ថានភាពបន្ទាត់អ្នកទទួល | កំហុសលើសលុប កំហុសស្មើគ្នា កំហុសក្នុងស៊ុម ឬបំបែកការរំខាន | ការអានការចុះឈ្មោះស្ថានភាពបន្ទាត់ |
| 0100 | ទីពីរ | ទិន្នន័យដែលទទួលបាន | មានទិន្នន័យអ្នកទទួល | ការអានការចុះឈ្មោះអ្នកទទួល Buffer ឬ FIFO ធ្លាក់ចុះក្រោមកម្រិតកេះ |
| តុ ១-៤. វាលចុះឈ្មោះអត្តសញ្ញាណរំខាន (IIR) (បន្ត) | ||||
| តម្លៃ IIR[3:0)] | កម្រិតអាទិភាព | ប្រភេទរំខាន | ប្រភពរំខាន | រំខានការគ្រប់គ្រងការកំណត់ឡើងវិញ |
| 1100 | ទីពីរ | ការបង្ហាញពេលវេលាតួអក្សរ | គ្មានតួអក្សរណាមួយត្រូវបានអានពី Rx FIFO ក្នុងអំឡុងពេលតួអក្សរ 4 ដងចុងក្រោយទេ ហើយយ៉ាងហោចណាស់មានតួអក្សរមួយនៅក្នុងវាក្នុងអំឡុងពេលនេះ។ | ការអានការចុះឈ្មោះអ្នកទទួល Buffer |
| 0010 | ទីបី | Transmitter Holding ចុះឈ្មោះទទេ | Transmitter Holding ចុះឈ្មោះទទេ | ការអាន IIR ឬសរសេរទៅក្នុងបញ្ជីឈ្មោះ Transmitter Holding |
| 0000 | ទីបួន | ស្ថានភាពម៉ូដឹម | ជម្រះដើម្បីផ្ញើ, សំណុំទិន្នន័យរួចរាល់, សូចនាកររោទិ៍ ឬការរកឃើញក្រុមហ៊ុនបញ្ជូនទិន្នន័យ | ការអានការចុះឈ្មោះស្ថានភាពទំនើប |
ការចុះឈ្មោះត្រួតពិនិត្យបន្ទាត់ (សួរសំណួរ)
បញ្ជីត្រួតពិនិត្យបន្ទាត់ត្រូវបានរាយក្នុងតារាងខាងក្រោម។ តារាង 1-10 ។ ការចុះឈ្មោះត្រួតពិនិត្យបន្ទាត់
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| ០០..៣០ | WLS | 0 | 0..3 ម៉ោង។ | ប្រវែងពាក្យជ្រើសរើស 00: 5 ប៊ីត
01: 6 ប៊ីត 10: 7 ប៊ីត 11: 8 ប៊ីត |
| 2 | អេសធីប៊ី | 0 | 0, 1 | ចំនួននៃ Stop Bits 0: 1 Stop bits
1: 1½ បញ្ឈប់ប៊ីតនៅពេល WLS = 00 2: បញ្ឈប់ប៊ីតនៅក្នុងករណីផ្សេងទៀត។ |
| 3 | ប៉ែន | 0 | 0, 1 | Parity Enable 0: Disabled
1: បានបើក។ ភាពស្មើគ្នាត្រូវបានបន្ថែមនៅក្នុងការបញ្ជូន និងពិនិត្យនៅក្នុងការទទួល។ |
| 4 | EPS | 0 | 0, 1 | សូម្បីតែ Parity ជ្រើសរើស 0: parity សេស
១៖ ស្មើភាពគ្នា។ |
| 5 | SP | 0 | 0, 1 | Stick Parity 0៖ បិទ
1: បានបើក ខាងក្រោមនេះគឺជាព័ត៌មានលម្អិតអំពីភាពស្មើគ្នា នៅពេលដែលភាពស្មើគ្នារបស់ដំបងត្រូវបានបើក៖ ប៊ីត 4..3 11: 0 នឹងត្រូវបានផ្ញើជា Parity bit, និងបានពិនិត្យនៅក្នុងការទទួល. 01: 1 នឹងត្រូវបានផ្ញើជា Parity bit, និងបានពិនិត្យនៅក្នុងការទទួល. |
| 6 | SB | 0 | 0, 1 | កំណត់ការបំបែក 0: បិទ
1: កំណត់ការសម្រាក។ SOUT ត្រូវបានបង្ខំឱ្យទៅ 0។ វាមិនមានឥទ្ធិពលលើតក្កវិជ្ជាបញ្ជូនតទេ។ ការបំបែកត្រូវបានបិទដោយកំណត់ប៊ីតទៅ 0 ។ |
| 7 | DLAB | 0 | 0, 1 | Divisor Latch Access Bit
0: បិទ។ របៀបអាសយដ្ឋានធម្មតាកំពុងប្រើ។ 1: បានបើក។ បើកដំណើរការការចុះឈ្មោះ Divisor Latch កំឡុងពេលប្រតិបត្តិការអាន ឬសរសេរទៅកាន់អាសយដ្ឋាន 0 និង 1។ |
ចុះឈ្មោះគ្រប់គ្រងម៉ូដឹម (សួរសំណួរ)
ការចុះឈ្មោះត្រួតពិនិត្យម៉ូឌឹមត្រូវបានរាយក្នុងតារាងខាងក្រោម។
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| 0 | DTR | 0 | 0, 1 | គ្រប់គ្រងលទ្ធផលស្ថានីយទិន្នន័យរួចរាល់ (DTRn) ។ 0: DTRn <= 1
1: DTRn <= 0 |
| 1 | RTS | 0 | 0, 1 | គ្រប់គ្រងលទ្ធផលសំណើដើម្បីផ្ញើ (RTSn) ។ 0: RTSn <= 1
1: RTSn <= 0 |
| 2 | ចេញ1 | 0 | 0, 1 | គ្រប់គ្រងសញ្ញា Output1 (OUT1n) ។ 0: OUT1n <= 1
1: OUT1n <= 0 |
| 3 | ចេញ2 | 0 | 0, 1 | គ្រប់គ្រងសញ្ញា Output2 (OUT2n) ។ 0: OUT2n <= 1
1: OUT2n <= 0 |
| 4 | រង្វិលជុំ | 0 | 0, 1 | រង្វិលជុំបើកប៊ីត 0៖ បានបិទ
1: បានបើក។ ខាងក្រោមកើតឡើងនៅក្នុងរបៀបរង្វិលជុំ៖ SOUT ត្រូវបានកំណត់ទៅ 1. ការបញ្ចូល SIN, DSRn, CTSn, RIn និង DCDn ត្រូវបានផ្តាច់។ លទ្ធផលនៃការចុះឈ្មោះ Transmitter Shift ត្រូវបានបញ្ជូលទៅក្នុងការចុះឈ្មោះអ្នកទទួល Shift វិញ។ លទ្ធផលត្រួតពិនិត្យម៉ូដឹម (DTRn, RTSn, OUT1n និង OUT2n) គឺ បានភ្ជាប់ខាងក្នុងទៅនឹងធាតុបញ្ចូលវត្ថុបញ្ជាម៉ូឌឹម ហើយម្ជុលលទ្ធផលត្រួតពិនិត្យម៉ូឌឹមត្រូវបានកំណត់នៅ 1. នៅក្នុងរបៀប Loopback ទិន្នន័យដែលបានបញ្ជូនត្រូវបានទទួលភ្លាមៗ ដែលអនុញ្ញាតឱ្យស៊ីភីយូពិនិត្យមើលប្រតិបត្តិការរបស់ UART ។ ការរំខានកំពុងដំណើរការនៅក្នុងរបៀបរង្វិលជុំ។ |
| ០០..៣០ | កក់ទុក | 0h | 0 | កក់ទុក |
ការចុះឈ្មោះស្ថានភាពបន្ទាត់ (សួរសំណួរ)
ការចុះឈ្មោះស្ថានភាពបន្ទាត់ត្រូវបានកំណត់ក្នុងតារាងខាងក្រោម។
តារាង 1-12 ។ ការចុះឈ្មោះស្ថានភាពបន្ទាត់ - អានតែប៉ុណ្ណោះ
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| 0 | DR | 0 | 0, 1 | សូចនាករទិន្នន័យរួចរាល់
1 នៅពេលដែលបៃទិន្នន័យត្រូវបានទទួល និងរក្សាទុកក្នុងសតិបណ្ដោះអាសន្នទទួល ឬ FIFO ។ DR ត្រូវបានជម្រះទៅ 0 នៅពេលដែលស៊ីភីយូអានទិន្នន័យពីសតិបណ្ដោះអាសន្នទទួល ឬ FIFO ។ |
| 1 | OE | 0 | 0, 1 | សូចនាករកំហុសហួសហេតុ
បង្ហាញថាបៃថ្មីត្រូវបានទទួលមុនពេល CPU អានបៃពីសតិបណ្ដោះអាសន្នទទួល ហើយថាបៃទិន្នន័យមុនត្រូវបានបំផ្លាញ។ OE ត្រូវបានជម្រះនៅពេលដែលស៊ីភីយូអានការចុះឈ្មោះស្ថានភាពបន្ទាត់។ ប្រសិនបើទិន្នន័យនៅតែបន្តបំពេញ FIFO លើសពីកម្រិតកេះ នោះកំហុសដែលលើសនឹងកើតឡើងនៅពេលដែល FIFO ពេញ ហើយតួអក្សរបន្ទាប់ត្រូវបានបញ្ចប់ទាំងស្រុង។ បានទទួលនៅក្នុង Shift register ។ តួអក្សរនៅក្នុងការចុះឈ្មោះ Shift ត្រូវបានសរសេរជាន់លើ ប៉ុន្តែវាមិនត្រូវបានគេផ្ទេរទៅ FIFO ទេ។ |
| 2 | PE | 0 | 0, 1 | សូចនាករកំហុសនៃភាពស្មើគ្នា
បង្ហាញថាបៃដែលទទួលបានមានកំហុសស្មើគ្នា។ PE ត្រូវបានជម្រះនៅពេលដែលស៊ីភីយូអានការចុះឈ្មោះស្ថានភាពបន្ទាត់។ កំហុសនេះត្រូវបានបង្ហាញដល់ CPU នៅពេលដែលតួអក្សរដែលពាក់ព័ន្ធរបស់វាស្ថិតនៅផ្នែកខាងលើនៃ FIFO ។ |
| 3 | FE | 0 | 0, 1 | សូចនាករកំហុសស៊ុម
បង្ហាញថាបៃដែលទទួលបានមិនមាន Stop bit ត្រឹមត្រូវ។ FE ត្រូវបានជម្រះនៅពេលដែលស៊ីភីយូអានការចុះឈ្មោះស្ថានភាពបន្ទាត់។ UART នឹងព្យាយាមធ្វើសមកាលកម្មឡើងវិញបន្ទាប់ពីមានកំហុសក្នុងស៊ុម។ ដើម្បីធ្វើវា វាសន្មត់ថាកំហុសនៃការបង្កើតស៊ុមគឺដោយសារការចាប់ផ្តើមប៊ីតបន្ទាប់ ដូច្នេះវាជាamples នេះ Start bit ពីរដង ហើយបន្ទាប់មកចាប់ផ្តើមទទួលទិន្នន័យ។ កំហុសនេះត្រូវបានបង្ហាញដល់ CPU នៅពេលដែលតួអក្សរដែលពាក់ព័ន្ធរបស់វាស្ថិតនៅផ្នែកខាងលើនៃ FIFO ។ |
| តារាង 1-12 ។ ការចុះឈ្មោះស្ថានភាពបន្ទាត់ - អានតែប៉ុណ្ណោះ (បន្ត) | ||||
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| 4 | BI | 0 | 0, 1 | សូចនាករបំបែកការរំខាន
បង្ហាញថាទិន្នន័យដែលទទួលបានគឺនៅ 0 យូរជាងពេលបញ្ជូនពាក្យពេញ (ចាប់ផ្តើមប៊ីត + ប៊ីតទិន្នន័យ + Parity + Stop bits) ។ BI ត្រូវបានជម្រះនៅពេលដែលស៊ីភីយូអានការចុះឈ្មោះស្ថានភាពបន្ទាត់។ កំហុសនេះត្រូវបានបង្ហាញដល់ CPU នៅពេលដែលតួអក្សរដែលពាក់ព័ន្ធរបស់វាស្ថិតនៅផ្នែកខាងលើនៃ FIFO ។ នៅពេលដែលការបំបែកកើតឡើង មានតែតួអក្សរសូន្យមួយប៉ុណ្ណោះដែលត្រូវបានផ្ទុកទៅក្នុង FIFO ។ |
| 5 | បី | 1 | 0, 1 | Transmitter Holding Register Empty (THRE) សូចនាករ
បង្ហាញថា UART រួចរាល់ហើយក្នុងការបញ្ជូនទិន្នន័យថ្មីមួយបៃ។ THRE បណ្តាលឱ្យមានការរំខានដល់ CPU នៅពេលដែល bit 1 (ETBEI) នៅក្នុងការចុះឈ្មោះ Interrupt Enable គឺ 1។ ប៊ីតនេះត្រូវបានកំណត់នៅពេលដែល TX FIFO ទទេ។ វាត្រូវបានសម្អាតនៅពេលដែលយ៉ាងហោចណាស់មួយបៃត្រូវបានសរសេរទៅ TX FIFO ។ |
| 6 | TEMT | 1 | 0, 1 | ឧបករណ៍បញ្ជូនសញ្ញាទទេ
ប៊ីតនេះត្រូវបានកំណត់ទៅ 1 នៅពេលដែលទាំងការចុះឈ្មោះ FIFO និង Shift របស់ឧបករណ៍បញ្ជូនគឺទទេ។ |
| 7 | FIER | 0 | 1 | ប៊ីតនេះត្រូវបានកំណត់នៅពេលដែលមានយ៉ាងហោចណាស់មួយ parity error, frame error ឬ break in FIFO។ FIER ត្រូវបានជម្រះនៅពេលដែល CPU អាន LSR ប្រសិនបើមិនមានកំហុសជាបន្តបន្ទាប់នៅក្នុង FIFO ។ |
ការចុះឈ្មោះស្ថានភាពម៉ូដឹម (សួរសំណួរ)
ការចុះឈ្មោះស្ថានភាពម៉ូដឹមត្រូវបានរាយក្នុងតារាងខាងក្រោម។
តារាង 1-13 ។ ការចុះឈ្មោះស្ថានភាពម៉ូដឹម - អានតែប៉ុណ្ណោះ
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | រដ្ឋដែលមានសុពលភាព | មុខងារ |
| 0 | DCTS | 0 | 0, 1 | Delta Clear to Send សូចនាករ។
បង្ហាញថាការបញ្ចូល CTSn បានផ្លាស់ប្តូរស្ថានភាពចាប់តាំងពីពេលចុងក្រោយដែលវាត្រូវបានអានដោយ CPU ។ |
| 1 | DDSR | 0 | 0, 1 | សូចនាកររួចរាល់សម្រាប់សំណុំទិន្នន័យ Delta
បង្ហាញថាការបញ្ចូល DSRn បានផ្លាស់ប្តូរស្ថានភាពចាប់តាំងពីពេលចុងក្រោយដែលវាត្រូវបានអានដោយ CPU ។ |
| 2 | TERI | 0 | 0, 1 | ឧបករណ៍ចាប់សញ្ញាសញ្ញាក្រវ៉ាត់ បង្ហាញថាការបញ្ចូល RI បានផ្លាស់ប្តូរពី 0 ទៅ 1។ |
| 3 | DDCD | 0 | 0, 1 | សូចនាករស្វែងរកក្រុមហ៊ុនដឹកជញ្ជូនទិន្នន័យ Delta បង្ហាញថាការបញ្ចូល DCD បានផ្លាស់ប្តូរស្ថានភាព។
ចំណាំ៖ នៅពេលណាដែលប៊ីត 0, 1, 2 ឬ 3 ត្រូវបានកំណត់ទៅ 1 ការរំខានស្ថានភាពម៉ូដឹមត្រូវបានបង្កើត។ |
| 4 | ស៊ីធីអេស | 0 | 0, 1 | ជម្រះដើម្បីផ្ញើ
ការបំពេញបន្ថែមនៃការបញ្ចូល CTSn ។ នៅពេលដែលប៊ីតទី 4 នៃការចុះឈ្មោះគ្រប់គ្រងម៉ូឌឹម (MCR) ត្រូវបានកំណត់ទៅ 1 (រង្វិលជុំ) ប៊ីតនេះគឺស្មើនឹង DTR នៅក្នុង MCR ។ |
| 5 | DSR | 0 | 0, 1 | រៀបចំទិន្នន័យរួចរាល់
ការបំពេញបន្ថែមនៃការបញ្ចូល DSR ។ នៅពេលដែលប៊ីត 4 នៃ MCR ត្រូវបានកំណត់ទៅ 1 (រង្វិលជុំ) ប៊ីតនេះគឺស្មើនឹង RTSn នៅក្នុង MCR ។ |
| 6 | RI | 0 | 0, 1 | សូចនាកររោទិ៍
ការបំពេញបន្ថែមនៃការបញ្ចូល RIn ។ នៅពេលដែលប៊ីត 4 នៃ MCR ត្រូវបានកំណត់ទៅ 1 (រង្វិលជុំ) ប៊ីតនេះគឺស្មើនឹង OUT1 នៅក្នុង MCR ។ |
| 7 | ឌីឌីស៊ី | 0 | 0, 1 | ការរកឃើញក្រុមហ៊ុនបញ្ជូនទិន្នន័យ
ការបំពេញបន្ថែមនៃការបញ្ចូល DCDn ។ នៅពេលដែលប៊ីត 4 នៃ MCR ត្រូវបានកំណត់ទៅ 1 (រង្វិលជុំ) ប៊ីតនេះគឺស្មើនឹង OUT2 នៅក្នុង MCR ។ |
ការចុះឈ្មោះកោស (សួរសំណួរ)
ការចុះឈ្មោះ Scratch ត្រូវបានកំណត់នៅក្នុងតារាងខាងក្រោម។
| ប៊ីត | ឈ្មោះ | រដ្ឋលំនាំដើម | មុខងារ |
| ០០..៣០ | SCR | ១៧០០០ ម៉ោង។ | អាន/សរសេរចុះឈ្មោះសម្រាប់ស៊ីភីយូ។ មិនមានផលប៉ះពាល់លើប្រតិបត្តិការ UART ទេ។ |
លំហូរឧបករណ៍ (សួរសំណួរ)
ផ្នែកនេះផ្តល់នូវព័ត៌មានលម្អិតអំពីលំហូរឧបករណ៍។
SmartDesign (សួរសំណួរ)
Core16550 អាចទាញយកបាននៅក្នុងបរិយាកាសរចនា IP របស់ SmartDesign ។ ស្នូលត្រូវបានកំណត់រចនាសម្ព័ន្ធដោយប្រើ GUI កំណត់រចនាសម្ព័ន្ធនៅក្នុង SmartDesign សូមមើលរូបខាងក្រោម។
សម្រាប់ព័ត៌មានអំពីរបៀបប្រើ SmartDesign ដើម្បីធ្វើភ្លាមៗ កំណត់រចនាសម្ព័ន្ធ ភ្ជាប់ និងបង្កើតស្នូល សូមមើល មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ SmartDesign ។
រូបភាព 2-1 ។ ការកំណត់រចនាសម្ព័ន្ធ Core16550

លំហូរក្លែងធ្វើ (សួរសំណួរ)
អ្នកប្រើប្រាស់សាកល្បងសម្រាប់ Core16550 ត្រូវបានរួមបញ្ចូលនៅក្នុងការចេញផ្សាយទាំងអស់។
ដើម្បីដំណើរការការក្លែងធ្វើ សូមជ្រើសរើសជម្រើស User Testbench Flow នៅក្នុង SmartDesign ហើយចុចលើ Generate Design ក្រោមម៉ឺនុយ SmartDesign ។ អ្នកប្រើប្រាស់សាកល្បងត្រូវបានជ្រើសរើសតាមរយៈ Core Testbench Configuration GUI ។
នៅពេលដែល SmartDesign បង្កើតគម្រោង Libero SoC វាដំឡើង user testbench files.
ដើម្បីដំណើរការសាកល្បងអ្នកប្រើប្រាស់ សូមកំណត់ឫសនៃការរចនាទៅ Core16550 instantiation នៅក្នុងផ្ទាំង Libero SoC Design Hierarchy ហើយចុចលើរូបតំណាង Simulation នៅក្នុងបង្អួច SoC Design Flow ។ នេះហៅថា ModelSim® និងដំណើរការការក្លែងធ្វើដោយស្វ័យប្រវត្តិ។
ការសំយោគនៅក្នុង Libero SoC (សួរសំណួរ)
ចុចរូបតំណាងសំយោគនៅក្នុង Libero SoC ។ បង្អួចសំយោគលេចឡើង។ គម្រោងSynplify®។ កំណត់ Synplify ដើម្បីប្រើស្តង់ដារ Verilog 2001 ប្រសិនបើ Verilog កំពុងត្រូវបានប្រើប្រាស់។ ដើម្បីដំណើរការ Synthesis ចុចរូបតំណាង រត់។
ទីកន្លែង និងផ្លូវនៅក្នុង Libero SoC (សួរសំណួរ)
ដើម្បីកំណត់ផ្លូវរចនាឱ្យបានត្រឹមត្រូវ និងដំណើរការការសំយោគ សូមចុចរូបតំណាងប្លង់នៅក្នុង Libero SoC ហើយហៅអ្នករចនា។ Core16550 មិនតម្រូវឱ្យមានការកំណត់ទីកន្លែង និងផ្លូវពិសេសណាមួយឡើយ។
Core16550 (សួរសំណួរ)
ផ្នែកនេះផ្តល់ព័ត៌មានអំពីប៉ារ៉ាម៉ែត្រដែលបានប្រើនៅក្នុងស្នូលនេះ។
ប៉ារ៉ាម៉ែត្រ (សួរសំណួរ)
Core16550 មិនគាំទ្រប៉ារ៉ាម៉ែត្រកម្រិតកំពូលណាមួយទេ។
ចំណុចប្រទាក់ស្នូល (សួរសំណួរ)
ផ្នែកនេះផ្តល់នូវការសង្ខេបបញ្ចូល និងលទ្ធផល។
ការពិពណ៌នាអំពីសញ្ញា I/O (សួរសំណួរ)
ខាងក្រោមនេះបង្ហាញពីនិយមន័យ Core16550 I/O។
| ឈ្មោះ | ប្រភេទ | ប៉ូល។ | ការពិពណ៌នា |
| កំណត់ជាមុន | បញ្ចូល | ទាប | កំណត់មេឡើងវិញ |
| ភី។ អិល។ ក | បញ្ចូល | — | នាឡិកាមេ
PCLK ត្រូវបានបែងចែកដោយតម្លៃនៃការចុះបញ្ជី Divisor ។ បន្ទាប់មកលទ្ធផលត្រូវបានបែងចែកដោយ 16 ដើម្បីបង្កើតអត្រា baud ។ សញ្ញាលទ្ធផលគឺ BAUDOUT signal។ គែមកើនឡើងនៃម្ជុលនេះត្រូវបានប្រើដើម្បីវាយសញ្ញាបញ្ចូល និងទិន្នផលទាំងអស់។ |
| PWRITE | បញ្ចូល | ខ្ពស់។ | បើកការសរសេរ/អាន APB, សកម្ម-ខ្ពស់។
នៅពេល HIGH ទិន្នន័យត្រូវបានសរសេរទៅកាន់ទីតាំងអាសយដ្ឋានដែលបានបញ្ជាក់។ នៅពេលទាប ទិន្នន័យត្រូវបានអានពីទីតាំងអាសយដ្ឋានដែលបានបញ្ជាក់។ |
| PADDR[4:0] | បញ្ចូល | — | អាស័យដ្ឋាន APB
ឡានក្រុងនេះផ្តល់នូវតំណភ្ជាប់សម្រាប់ CPU ទៅកាន់អាសយដ្ឋាននៃការចុះឈ្មោះ Core16550 ដែលត្រូវអានពី ឬសរសេរទៅ។ |
| PSEL | បញ្ចូល | ខ្ពស់។ | APB ជ្រើសរើស
នៅពេលដែលវាខ្ពស់ជាមួយនឹង PENABLE ការអាន និងការសរសេរទៅកាន់ Core16550 ត្រូវបានបើក។ |
| PWDATA[7:0] | បញ្ចូល | — | ឡានក្រុងបញ្ចូលទិន្នន័យ
ទិន្នន័យនៅលើឡានក្រុងនេះនឹងត្រូវបានសរសេរទៅក្នុងអាសយដ្ឋានដែលបានចុះឈ្មោះក្នុងអំឡុងពេលវដ្តនៃការសរសេរ។ |
| អាចបើកបាន។ | បញ្ចូល | ខ្ពស់។ | បើក APB
នៅពេលដែលវាខ្ពស់រួមជាមួយ PSEL ការអាន និងការសរសេរទៅកាន់ Core16550 ត្រូវបានបើក។ |
| PRDATA[7:0] | ទិន្នផល | — | រថយន្តក្រុងទិន្នផលទិន្នន័យ
ឡានក្រុងនេះរក្សាតម្លៃនៃការចុះឈ្មោះដែលមានអាសយដ្ឋានក្នុងអំឡុងពេលវដ្តអាន។ |
| CTSn | បញ្ចូល | ទាប | ជម្រះដើម្បីផ្ញើ
សញ្ញាសកម្ម-ទាបនេះគឺជាការបញ្ចូលដែលបង្ហាញនៅពេលដែលឧបករណ៍ភ្ជាប់ (ម៉ូដឹម) រួចរាល់ក្នុងការទទួលយកទិន្នន័យ។ Core16550 បញ្ជូនព័ត៌មាននេះទៅ CPU តាមរយៈការចុះឈ្មោះស្ថានភាពម៉ូដឹម។ ការចុះឈ្មោះនេះក៏បង្ហាញផងដែរថាប្រសិនបើសញ្ញា CTSn បានផ្លាស់ប្តូរចាប់តាំងពីពេលចុងក្រោយ ការចុះឈ្មោះត្រូវបានអាន។ |
| DSRn | បញ្ចូល | ទាប | រៀបចំទិន្នន័យរួចរាល់
សញ្ញាសកម្ម-ទាបនេះគឺជាការបញ្ចូលដែលបង្ហាញពីពេលដែលឧបករណ៍ភ្ជាប់ (ម៉ូដឹម) រួចរាល់ក្នុងការដំឡើងតំណភ្ជាប់ជាមួយ Core16550។ Core16550 បញ្ជូនព័ត៌មាននេះទៅ CPU តាមរយៈការចុះឈ្មោះស្ថានភាពម៉ូដឹម។ ការចុះឈ្មោះនេះក៏បង្ហាញផងដែរប្រសិនបើសញ្ញា DSRn បានផ្លាស់ប្តូរចាប់តាំងពីពេលចុងក្រោយនៃការចុះឈ្មោះត្រូវបានអាន។ |
| ឌីស៊ីឌីន | បញ្ចូល | ទាប | ការរកឃើញក្រុមហ៊ុនបញ្ជូនទិន្នន័យ
សញ្ញាសកម្ម-ទាបនេះគឺជាការបញ្ចូលដែលបង្ហាញពីពេលដែលឧបករណ៍ភ្ជាប់ (ម៉ូដឹម) បានរកឃើញក្រុមហ៊ុនដឹកជញ្ជូន។ Core16550 បញ្ជូនព័ត៌មាននេះទៅ CPU ទោះបីជាការចុះឈ្មោះស្ថានភាពម៉ូដឹមក៏ដោយ។ ការចុះឈ្មោះនេះក៏បង្ហាញផងដែរប្រសិនបើសញ្ញា DCDn បានផ្លាស់ប្តូរចាប់តាំងពីពេលចុងក្រោយនៃការចុះឈ្មោះត្រូវបានអាន។ |
| ស៊ីន | បញ្ចូល | — | ទិន្នន័យបញ្ចូលសៀរៀល
ទិន្នន័យនេះត្រូវបានបញ្ជូនទៅ Core16550។ វាត្រូវបានធ្វើសមកាលកម្មជាមួយម្ជុលបញ្ចូល PCLK ។ |
| រិន | បញ្ចូល | ទាប | សូចនាកររោទិ៍
សញ្ញាសកម្ម-ទាបនេះគឺជាការបញ្ចូលដែលបង្ហាញនៅពេលដែលឧបករណ៍ភ្ជាប់ (ម៉ូដឹម) បានដឹងពីសញ្ញារោទ៍នៅលើខ្សែទូរស័ព្ទ។ Core16550 បញ្ជូនព័ត៌មាននេះទៅ CPU តាមរយៈការចុះឈ្មោះស្ថានភាពម៉ូដឹម។ ការចុះឈ្មោះនេះក៏បង្ហាញពីពេលដែល RIn trailing edge ត្រូវបានគេដឹង។ |
| ស៊ូ | ទិន្នផល | — | ទិន្នន័យលទ្ធផលស៊េរី
ទិន្នន័យនេះត្រូវបានបញ្ជូនពី Core16550។ វាត្រូវបានធ្វើសមកាលកម្មជាមួយម្ជុលលទ្ធផល BAUDOUT ។ |
| RTSn | ទិន្នផល | ទាប | ស្នើសុំផ្ញើ
សញ្ញាទិន្នផលទាបសកម្មនេះត្រូវបានប្រើដើម្បីជូនដំណឹងដល់ឧបករណ៍ដែលបានភ្ជាប់ (ម៉ូដឹម) ថា Core16550 រួចរាល់ក្នុងការផ្ញើទិន្នន័យ។ វាត្រូវបានសរសេរកម្មវិធីដោយ CPU តាមរយៈ Modem Control register ។ |
| តារាង 4-1 ។ សេចក្តីសង្ខេបនៃសញ្ញា I/O (បន្ត) | |||
| ឈ្មោះ | ប្រភេទ | ប៉ូល។ | ការពិពណ៌នា |
| DTRn | ទិន្នផល | ទាប | ស្ថានីយទិន្នន័យរួចរាល់
សញ្ញាទិន្នផលទាបសកម្មនេះជូនដំណឹងដល់ឧបករណ៍ដែលបានភ្ជាប់ (ម៉ូដឹម) ថា Core16550 រួចរាល់ដើម្បីបង្កើតតំណភ្ជាប់ទំនាក់ទំនង។ វាត្រូវបានសរសេរកម្មវិធីដោយ CPU តាមរយៈ Modem Control register ។ |
| OUT1n | ទិន្នផល | ទាប | លទ្ធផលទី ១
ទិន្នផលទាបសកម្មនេះគឺជាសញ្ញាកំណត់ដោយអ្នកប្រើប្រាស់។ ស៊ីភីយូកម្មវិធីសញ្ញានេះតាមរយៈការចុះឈ្មោះត្រួតពិនិត្យម៉ូឌឹម ហើយត្រូវបានកំណត់ទៅតម្លៃផ្ទុយ។ |
| OUT2n | ទិន្នផល | ទាប | លទ្ធផលទី ១
សញ្ញាទិន្នផលទាបសកម្មនេះគឺជាសញ្ញាកំណត់ដោយអ្នកប្រើប្រាស់។ វាត្រូវបានសរសេរកម្មវិធីដោយ CPU តាមរយៈការចុះឈ្មោះ Modem Control ហើយត្រូវបានកំណត់ទៅតម្លៃផ្ទុយ។ កម្មវិធី។ |
| INTR | ទិន្នផល | ខ្ពស់។ | ផ្អាកការផ្អាក
សញ្ញាទិន្នផលខ្ពស់សកម្មនេះគឺជាសញ្ញាទិន្នផលរំខានពី Core16550 ។ វាត្រូវបានកម្មវិធីដើម្បីក្លាយជាសកម្មនៅលើព្រឹត្តិការណ៍ជាក់លាក់ ដោយជូនដំណឹងដល់ស៊ីភីយូថាព្រឹត្តិការណ៍បែបនេះបានកើតឡើង (សម្រាប់ព័ត៌មានលម្អិត សូមមើលការចុះឈ្មោះកំណត់អត្តសញ្ញាណរំខាន)។ បន្ទាប់មក CPU ធ្វើសកម្មភាពសមស្រប។ |
| BAUDOUTn | ទិន្នផល | ទាប | Baud ចេញ
នេះគឺជាសញ្ញានាឡិកាលទ្ធផលដែលទទួលបានពីនាឡិកាបញ្ចូលសម្រាប់ធ្វើសមកាលកម្មស្ទ្រីមលទ្ធផលទិន្នន័យពី SOUT ។ |
| RXRDYN | ទិន្នផល | ទាប | អ្នកទទួលត្រៀមខ្លួនទទួលការបញ្ជូន។
ស៊ីភីយូត្រូវបានចង្អុលបង្ហាញដោយសញ្ញាទិន្នផលទាបសកម្មនេះដែលផ្នែកទទួលនៃ Core16550 មានសម្រាប់ទិន្នន័យដែលត្រូវអាន។ |
| TXRDYN | ទិន្នផល | ទាប | ឧបករណ៍បញ្ជូនរួចរាល់ដើម្បីបញ្ជូនទិន្នន័យ។
សញ្ញាសកម្ម-ទាបនេះបង្ហាញដល់ CPU ថាផ្នែកបញ្ជូននៃ Core16550 មានកន្លែងសម្រាប់សរសេរទិន្នន័យសម្រាប់ការបញ្ជូន។ |
| rxfifo_ទទេ | ទិន្នផល | ខ្ពស់។ | ទទួល FIFO ទទេ។
សញ្ញានេះឡើងខ្ពស់នៅពេលទទួល FIFO ទទេ។ |
| rxfifo_full | ទិន្នផល | ខ្ពស់។ | ទទួលបាន FIFO ពេញលេញ។
សញ្ញានេះឡើងខ្ពស់នៅពេលទទួល FIFO ពេញ។ |
ដ្យាក្រាមកំណត់ពេលវេលា (សួរសំណួរ)
ផ្នែកនេះផ្តល់នូវដ្យាក្រាមពេលវេលានៃស្នូលនេះ។
វដ្តសរសេរទិន្នន័យ និងវដ្តអានទិន្នន័យ (សួរសំណួរ)
រូបភាពទី 5-1 និងរូបភាពទី 5-2 ពិពណ៌នាអំពីវដ្តនៃការសរសេរ និងអានទំនាក់ទំនងពេលវេលាវដ្តទាក់ទងទៅនឹងនាឡិកាប្រព័ន្ធ APB PCLK ។
ចុះឈ្មោះសរសេរ (សួរសំណួរ)
តួលេខខាងក្រោមបង្ហាញពីអាសយដ្ឋាន ជ្រើសរើស និងបើកសញ្ញាត្រូវបានបិទភ្ជាប់ ហើយត្រូវតែមានសុពលភាពមុនពេលការកើនឡើងនៃ PCLK ។ ការសរសេរកើតឡើងនៅគែមកើនឡើងនៃសញ្ញា PCLK ។
ចុះឈ្មោះអាន (សួរសំណួរ)
តួលេខខាងក្រោមបង្ហាញពីអាសយដ្ឋាន ជ្រើសរើស និងបើកសញ្ញាត្រូវបានបិទភ្ជាប់ ហើយត្រូវតែមានសុពលភាពមុនពេលការកើនឡើងនៃ PCLK ។ ការអានកើតឡើងនៅគែមកើនឡើងនៃសញ្ញា PCLK ។
សម្រាប់ព័ត៌មានលម្អិតបន្ថែមលើការពិពណ៌នា និងទម្រង់រលកពេលវេលា សូមមើលការបញ្ជាក់របស់ AMBA ។
ការធ្វើសមកាលកម្មអ្នកទទួល (សួរសំណួរ)
នៅពេលអ្នកទទួលរកឃើញស្ថានភាពទាបនៅក្នុងស្ទ្រីមទិន្នន័យចូល វាធ្វើសមកាលកម្មទៅវា។ បន្ទាប់ពីគែមចាប់ផ្តើម UART រង់ចាំ 1.5 × (ប្រវែងប៊ីតធម្មតា) ។ នេះបណ្តាលឱ្យប៊ីតជាបន្តបន្ទាប់នីមួយៗត្រូវបានអាននៅពាក់កណ្តាលទទឹងរបស់វា។ រូបខាងក្រោមបង្ហាញពីដំណើរការធ្វើសមកាលកម្មនេះ។
រូបភាព 5-3 ។ ការធ្វើសមកាលកម្មអ្នកទទួល
ប្រតិបត្តិការ Testbench (សួរសំណួរ)
មានតែ testbench មួយប៉ុណ្ណោះដែលត្រូវបានផ្តល់ជូនជាមួយ Core16550: Verilog user testbench ។ នេះគឺជា testbench សាមញ្ញសម្រាប់ប្រើដែលសរសេរនៅក្នុង Verilog ។ កៅអីសាកល្បងនេះត្រូវបានបម្រុងទុកសម្រាប់ការកែប្រែអតិថិជន។
User Testbench (សួរសំណួរ)
រូបខាងក្រោមបង្ហាញពីដ្យាក្រាមប្លុករបស់អតីតample ការរចនាអ្នកប្រើប្រាស់ និងសាកល្បង។
រូបភាព 6-1 ។ Core16550 User Testbench
អ្នកប្រើប្រាស់ testbench រួមបញ្ចូលអតីតសាមញ្ញample ការរចនាដែលបម្រើជាឯកសារយោងសម្រាប់អ្នកប្រើប្រាស់ដែលចង់អនុវត្តការរចនាផ្ទាល់ខ្លួនរបស់ពួកគេ។
កៅអីសាកល្បងសម្រាប់អតីតampដូច្នេះ ការរចនាអ្នកប្រើប្រាស់អនុវត្តសំណុំរងនៃមុខងារដែលបានសាកល្បងនៅក្នុង testbench ផ្ទៀងផ្ទាត់ សម្រាប់ព័ត៌មានលម្អិត សូមមើល User Testbench ។ តាមគំនិត ដូចដែលបានបង្ហាញក្នុងរូបភាពទី 6-1 ភាពរំជើបរំជួលនៃ Core16550 ត្រូវបានក្លែងធ្វើដោយប្រើ microcontroller អាកប្បកិរិយា និងការតភ្ជាប់រង្វិលជុំដែលបានក្លែងធ្វើ។ សម្រាប់អតីតample, user testbench បង្ហាញពីការបញ្ជូន និងទទួលដោយឯកតា Core16550 ដូចគ្នា ដូច្នេះអ្នកអាចទទួលបានការយល់ដឹងជាមូលដ្ឋានអំពីរបៀបប្រើស្នូលនេះ។
អ្នកប្រើប្រាស់តេស្តសាកល្បងបង្ហាញពីការដំឡើងមូលដ្ឋាន បញ្ជូន និងទទួលប្រតិបត្តិការរបស់ Core16550។ អ្នកប្រើប្រាស់ testbench អនុវត្តជំហានដូចខាងក្រោមៈ
- សរសេរទៅបញ្ជីត្រួតពិនិត្យ។
- ពិនិត្យទិន្នន័យដែលទទួលបាន។
- បើកការបញ្ជូននិងទទួល។
- អានបញ្ជីត្រួតពិនិត្យ។
- បញ្ជូននិងទទួលមួយបៃ។
ការប្រើប្រាស់ឧបករណ៍ និងការអនុវត្ត (សួរសំណួរ)
តារាងខាងក្រោមរាយបញ្ជីការប្រើប្រាស់ Core16550 និងទិន្នន័យដំណើរការ។ តារាង 7-1 ។ ការប្រើប្រាស់ Core16550 និងការអនុវត្ត PolarFire និង PolarFire SoC
| ព័ត៌មានលម្អិតអំពីឧបករណ៍ | ធនធាន | RAM | |||
| គ្រួសារ | ឧបករណ៍ | 4LUT | DFF | ធាតុតក្កវិជ្ជា | μSRAM |
| PolarFire® | MPF100T- FCSG325I | 752 | 284 | 753 | 2 |
| PolarFire®SoC | MPFS250TS- FCSG536I | 716 | 284 | 720 | 2 |
| RTG4™ | RT4G150- 1CG1657M | 871 | 351 | 874 | 2 |
| IGLOO® ២ | M2GL050TFB GA896STD | 754 | 271 | 1021 | 2 |
| SmartFusion® ២ | M2S050TFBG A896STD | 754 | 271 | 1021 | 2 |
| SmartFusion® | A2F500M3G-STD | 1163 | 243 | 1406 | 2 |
| IGLOO®/IGLOOE | AGL600- STD/AGLE600 V2 | 1010 | 237 | 1247 | 2 |
| លាយ | AFS600-STD | 1010 | 237 | 1247 | 2 |
| ProASIC® 3/E | A3P600-STD | 1010 | 237 | 1247 | 2 |
| ProASIC Plus® | APA075-STD | 1209 | 233 | 1442 | 2 |
| RTAX-S | RTAX250S-STD | 608 | 229 | 837 | 2 |
| Axcelerator® | AX125-STD | 608 | 229 | 837 | 2 |
បញ្ហាដែលបានដោះស្រាយ (សួរសំណួរ)
តារាងខាងក្រោមរាយបញ្ជីបញ្ហាដែលបានដោះស្រាយទាំងអស់សម្រាប់ការចេញផ្សាយ Core16550 ផ្សេងៗ។
តារាង 8-1 ។ បញ្ហាដែលបានដោះស្រាយ
| កំណែ | ការផ្លាស់ប្តូរ |
| v3.4 | Core16550 ប្រើ System Verilog Keyword "break" ជាឈ្មោះចុះឈ្មោះដែលបង្កបញ្ហាកំហុសវាក្យសម្ព័ន្ធ។ នេះត្រូវបានជួសជុលដោយជំនួសពាក្យគន្លឹះដោយឈ្មោះផ្សេងទៀត។ បានបន្ថែមការគាំទ្រគ្រួសារ PolarFire® |
ប្រវត្តិនៃការកែប្រែ (សួរសំណួរ)
ប្រវត្តិកែប្រែពិពណ៌នាអំពីការផ្លាស់ប្តូរដែលត្រូវបានអនុវត្តនៅក្នុងឯកសារ។ ការផ្លាស់ប្តូរត្រូវបានរាយបញ្ជីដោយការកែប្រែ ដោយចាប់ផ្តើមជាមួយនឹងការបោះពុម្ពផ្សាយបច្ចុប្បន្នបំផុត។

ការគាំទ្រ Microchip FPGA
ក្រុមផលិតផល Microchip FPGA គាំទ្រផលិតផលរបស់ខ្លួនជាមួយនឹងសេវាកម្មគាំទ្រផ្សេងៗ រួមទាំងសេវាអតិថិជន មជ្ឈមណ្ឌលជំនួយបច្ចេកទេសអតិថិជន ក webគេហទំព័រ និងការិយាល័យលក់ទូទាំងពិភពលោក។ អតិថិជនត្រូវបានស្នើឱ្យចូលមើលធនធានអនឡាញរបស់ Microchip មុនពេលទាក់ទងផ្នែកជំនួយព្រោះវាទំនងណាស់ដែលសំណួររបស់ពួកគេត្រូវបានឆ្លើយរួចហើយ។
ទាក់ទងមជ្ឈមណ្ឌលគាំទ្របច្ចេកទេសតាមរយៈ webគេហទំព័រនៅ www.microchip.com/support រៀបរាប់លេខផ្នែកឧបករណ៍ FPGA ជ្រើសរើសប្រភេទករណីដែលសមស្រប និងការរចនាបង្ហោះ files ខណៈពេលដែលបង្កើតករណីជំនួយបច្ចេកទេស។
ទាក់ទងផ្នែកបម្រើអតិថិជនសម្រាប់ការគាំទ្រផលិតផលដែលមិនមែនជាបច្ចេកទេស ដូចជាតម្លៃផលិតផល ការធ្វើឱ្យប្រសើរផលិតផល ព័ត៌មានបច្ចុប្បន្នភាព ស្ថានភាពការបញ្ជាទិញ និងការអនុញ្ញាត។
- ពីអាមេរិកខាងជើង ទូរស័ព្ទទៅលេខ 800.262.1060
- ពីជុំវិញពិភពលោក ទូរស័ព្ទទៅលេខ 650.318.4460
- ទូរសារ ពីគ្រប់ទិសទីក្នុងពិភពលោក 650.318.8044
ព័ត៌មានមីក្រូឈីប
ពាណិជ្ជសញ្ញា
ឈ្មោះ និងស្លាកសញ្ញា "Microchip" និមិត្តសញ្ញា "M" និងឈ្មោះផ្សេងទៀត និមិត្តសញ្ញា និងម៉ាកនានាត្រូវបានចុះបញ្ជី និងមិនបានចុះបញ្ជីពាណិជ្ជសញ្ញានៃក្រុមហ៊ុន Microchip Technology Incorporated ឬសាខា និង/ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួននៅសហរដ្ឋអាមេរិក និង/ឬប្រទេសផ្សេងទៀត ("Microchip ពាណិជ្ជសញ្ញា”)។ ព័ត៌មានទាក់ទងនឹងពាណិជ្ជសញ្ញា Microchip អាចរកបាននៅ https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN៖
សេចក្តីជូនដំណឹងផ្លូវច្បាប់
- ការបោះពុម្ពផ្សាយនេះ និងព័ត៌មាននៅទីនេះអាចប្រើតែជាមួយផលិតផល Microchip ប៉ុណ្ណោះ រួមទាំងការរចនា សាកល្បង និងរួមបញ្ចូលផលិតផល Microchip ជាមួយកម្មវិធីរបស់អ្នក។ ការប្រើប្រាស់ព័ត៌មាននេះ។
ក្នុងលក្ខណៈផ្សេងទៀតបំពានលក្ខខណ្ឌទាំងនេះ។ ព័ត៌មានទាក់ទងនឹងកម្មវិធីឧបករណ៍ត្រូវបានផ្តល់ជូនសម្រាប់ភាពងាយស្រួលរបស់អ្នកប៉ុណ្ណោះ ហើយអាចត្រូវបានជំនួសដោយការអាប់ដេត។ វាជាទំនួលខុសត្រូវរបស់អ្នកក្នុងការធានាថាកម្មវិធីរបស់អ្នកត្រូវនឹងលក្ខណៈជាក់លាក់របស់អ្នក។ ទាក់ទងការិយាល័យលក់ Microchip ក្នុងតំបន់របស់អ្នកសម្រាប់ការគាំទ្របន្ថែម ឬ ទទួលបានជំនួយបន្ថែមនៅ www.microchip.com/en-us/support/design-help/client-support-services - ព័ត៌មាននេះត្រូវបានផ្តល់ដោយមីក្រូឈីប “ដូចដែល”។ មីក្រូឈីបមិនតំណាងឱ្យ ឬការធានានៃប្រភេទណាមួយឡើយ ទោះជាបញ្ជាក់ ឬបង្កប់ន័យ សរសេរ ឬផ្ទាល់មាត់ លក្ខន្តិកៈ ឬបើមិនដូច្នេះទេ ពាក់ព័ន្ធនឹងព័ត៌មានដែលរួមបញ្ចូល ប៉ុន្តែមិនកំណត់ចំពោះពេលវេលា ការមិនបំពានលើការលក់ដូរ និងភាពសមស្របសម្រាប់គោលបំណងពិសេស ឬការធានាទាក់ទងនឹងលក្ខខណ្ឌ គុណភាព ឬប្រតិបត្តិការរបស់វា។
- នៅក្នុងករណីគ្មានមីក្រូឈីបនឹងទទួលខុសត្រូវចំពោះការខូចខាតដោយអចេតនា ពិសេស ការដាក់ទណ្ឌកម្ម ឧប្បត្តិហេតុ ឬជាផលវិបាកនៃការបាត់បង់ ការខូចខាត ថ្លៃដើម ឬការចំណាយនៃប្រភេទណាមួយដែលទាក់ទងនឹងការប្រើប្រាស់ ឬស្ថានភាពប្រែប្រួល មីក្រូឈីបត្រូវបានណែនាំពីលទ្ធភាព ឬការខូចខាតគឺអាចមើលបាន ក្នុងវិសាលភាពពេញលេញបំផុតដែលច្បាប់អនុញ្ញាត ការទទួលខុសត្រូវសរុបរបស់មីក្រូឈីប លើការទាមទារទាំងអស់ តាមរបៀបណាក៏ដោយ ដែលទាក់ទងនឹងព័ត៌មាន ឬការប្រើប្រាស់របស់វា នឹងមិនលើសពីចំនួននៃថ្លៃសេវានោះទេ ប្រសិនបើមាន ដែលអ្នកមាន ព័ត៌មាន។
- ការប្រើប្រាស់ឧបករណ៍ Microchip នៅក្នុងកម្មវិធីជំនួយអាយុជីវិត និង/ឬកម្មវិធីសុវត្ថិភាពគឺស្ថិតក្នុងហានិភ័យរបស់អ្នកទិញទាំងស្រុង ហើយអ្នកទិញយល់ព្រមការពារ ទូទាត់សំណង និងកាន់ Microchip ដែលគ្មានគ្រោះថ្នាក់ពីការខូចខាត ការទាមទារ ការប្តឹងផ្តល់ ឬការចំណាយដែលបណ្តាលមកពីការប្រើប្រាស់បែបនេះ។ គ្មានអាជ្ញាប័ណ្ណណាមួយត្រូវបានបញ្ជូនដោយប្រយោល ឬបើមិនដូច្នេះទេ នៅក្រោមកម្មសិទ្ធិបញ្ញារបស់ Microchip ណាមួយ លើកលែងតែមានចែងផ្សេងពីនេះ។
មុខងារការពារលេខកូដឧបករណ៍មីក្រូឈីប
ចំណាំព័ត៌មានលម្អិតខាងក្រោមនៃមុខងារការពារកូដនៅលើផលិតផល Microchip៖
- ផលិតផល Microchip បំពេញតាមលក្ខណៈជាក់លាក់ដែលមាននៅក្នុងសន្លឹកទិន្នន័យ Microchip ជាក់លាក់របស់ពួកគេ។
- Microchip ជឿជាក់ថាផលិតផលគ្រួសាររបស់វាមានសុវត្ថិភាពនៅពេលប្រើក្នុងលក្ខណៈដែលបានគ្រោងទុក ក្នុងលក្ខណៈប្រតិបត្តិការ និងក្រោមលក្ខខណ្ឌធម្មតា។
- Microchip ផ្តល់តម្លៃ និងការពារយ៉ាងចាស់ដៃនូវសិទ្ធិកម្មសិទ្ធិបញ្ញារបស់វា។ ការប៉ុនប៉ងរំលោភលើមុខងារការពារកូដនៃផលិតផល Microchip ត្រូវបានហាមឃាត់យ៉ាងតឹងរ៉ឹង ហើយអាចបំពានច្បាប់រក្សាសិទ្ធិសហស្សវត្សរ៍ឌីជីថល។
- ទាំង Microchip ឬក្រុមហ៊ុនផលិត semiconductor ផ្សេងទៀតមិនអាចធានាសុវត្ថិភាពនៃកូដរបស់វាបានទេ។ ការការពារលេខកូដមិនមានន័យថាយើងកំពុងធានាថាផលិតផល "មិនអាចបំបែកបាន" នោះទេ។ ការការពារលេខកូដកំពុងវិវត្តឥតឈប់ឈរ។ មីក្រូឈីបបានប្តេជ្ញាចិត្តក្នុងការធ្វើឱ្យប្រសើរឡើងជាបន្តបន្ទាប់នូវមុខងារការពារកូដនៃផលិតផលរបស់យើង។
ការណែនាំអ្នកប្រើប្រាស់
© 2025 Microchip Technology Inc. និងក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។
ឯកសារ/ធនធាន
![]() |
MICROCHIP Core16550 ឧបករណ៍បញ្ជូនអ្នកទទួលអសមកាលជាសកល [pdf] ការណែនាំអ្នកប្រើប្រាស់ v3.4, v3.3, Core16550 Universal Asynchronous Receiver Transmitter, Core16550, Universal Asynchronous Receiver Transmitter, Asynchronous Receiver Transmitter, Receiver Transmitter, Transmitter |
