MICROCHIP - និមិត្តសញ្ញា

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

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter-ផលិតផល

សេចក្តីផ្តើម

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

រូបភាពទី 1. កម្មវិធីធម្មតា 16550

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (2)តារាង 1. សេចក្តីសង្ខេប Core16550

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (3)

លក្ខណៈសំខាន់ៗ
ខាងក្រោមនេះគឺជាមុខងារសំខាន់ៗរបស់ 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-1 ។ ដ្យាក្រាមប្លុកស្នូល 16550
    MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (4)

ធាតុនៃដ្យាក្រាមប្លុកខាងក្នុង (សួរសំណួរ)
ផ្នែកខាងក្រោមផ្តល់ព័ត៌មានអំពីធាតុនៃដ្យាក្រាមប្លុកខាងក្នុង។

  1. RWControl (សួរសំណួរ)
    ប្លុក RWControl ទទួលខុសត្រូវចំពោះការគ្រប់គ្រងទំនាក់ទំនងជាមួយផ្នែកខាងដំណើរការ (ប៉ារ៉ាឡែល) នៃប្រព័ន្ធ។ រាល់ការសរសេរ និងការអានការចុះឈ្មោះផ្ទៃក្នុងត្រូវបានសម្រេចតាមរយៈប្លុកនេះ។
  2. UART_Reg (សួរសំណួរ)
    ប្លុក UART_Reg ផ្ទុកការចុះឈ្មោះខាងក្នុងឧបករណ៍ទាំងអស់។
  3. RXBlock (សួរសំណួរ)
    នេះគឺជាប្លុកអ្នកទទួល។ RXBlock ទទួលពាក្យសៀរៀលចូល។ វា​គឺ​ជា​កម្មវិធី​ដើម្បី​ទទួល​ស្គាល់​ទទឹង​ទិន្នន័យ​ដូច​ជា 5, 6, 7 ឬ 8 ប៊ីត; ការកំណត់ភាពស្មើគ្នាផ្សេងៗ ដូចជាគូ សេស ឬគ្មានភាពស្មើគ្នា។ និងឈប់ប៊ីតផ្សេងៗគ្នា ដូចជា 1, 1½ និង 2 ប៊ីត។ RXBlock ពិនិត្យរកកំហុសនៅក្នុងស្ទ្រីមទិន្នន័យបញ្ចូល ដូចជា កំហុសលើសលុប កំហុសស៊ុម កំហុសស្មើគ្នា និងកំហុសបំបែក។ ប្រសិនបើពាក្យចូលមិនមានបញ្ហាទេ វាត្រូវបានដាក់ក្នុង FIFO អ្នកទទួល។
  4. ការគ្រប់គ្រងការរំខាន (សួរសំណួរ)
    ប្លុក Interrupt Control បញ្ជូនសញ្ញារំខានត្រឡប់ទៅខួរក្បាលវិញ អាស្រ័យលើស្ថានភាពរបស់ FIFO និងទិន្នន័យដែលបានទទួល និងបញ្ជូនរបស់វា។ ការចុះឈ្មោះកំណត់អត្តសញ្ញាណការរំខានផ្តល់នូវកម្រិតនៃការរំខាន។ ការរំខានត្រូវបានផ្ញើសម្រាប់ការបញ្ជូន/បង្កាន់ដៃទទេ (ឬ FIFOs) កំហុសក្នុងការទទួលតួអក្សរ ឬលក្ខខណ្ឌផ្សេងទៀតដែលទាមទារការយកចិត្តទុកដាក់របស់ខួរក្បាល។
  5. ម៉ាស៊ីនបង្កើតអត្រា Baud (សួរសំណួរ)
    ប្លុកនេះយក PCLK បញ្ចូលហើយបែងចែកវាដោយតម្លៃកម្មវិធី (ពី 1 ដល់ 216 - 1) ។ លទ្ធផលត្រូវបានបែងចែកដោយ 16 ដើម្បីបង្កើតនាឡិកាបញ្ជូន (BAUDOUT) ។
  6. 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 

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (5)
លំហូរក្លែងធ្វើ (សួរសំណួរ)
អ្នកប្រើប្រាស់សាកល្បងសម្រាប់ 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 ។

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (6)ចុះឈ្មោះអាន (សួរសំណួរ)
តួលេខខាងក្រោមបង្ហាញពីអាសយដ្ឋាន ជ្រើសរើស និងបើកសញ្ញាត្រូវបានបិទភ្ជាប់ ហើយត្រូវតែមានសុពលភាពមុនពេលការកើនឡើងនៃ PCLK ។ ការអានកើតឡើងនៅគែមកើនឡើងនៃសញ្ញា PCLK ។ MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (7)សម្រាប់ព័ត៌មានលម្អិតបន្ថែមលើការពិពណ៌នា និងទម្រង់រលកពេលវេលា សូមមើលការបញ្ជាក់របស់ AMBA ។

ការធ្វើសមកាលកម្មអ្នកទទួល (សួរសំណួរ)
នៅពេលអ្នកទទួលរកឃើញស្ថានភាពទាបនៅក្នុងស្ទ្រីមទិន្នន័យចូល វាធ្វើសមកាលកម្មទៅវា។ បន្ទាប់ពីគែមចាប់ផ្តើម UART រង់ចាំ 1.5 × (ប្រវែងប៊ីតធម្មតា) ។ នេះបណ្តាលឱ្យប៊ីតជាបន្តបន្ទាប់នីមួយៗត្រូវបានអាននៅពាក់កណ្តាលទទឹងរបស់វា។ រូបខាងក្រោមបង្ហាញពីដំណើរការធ្វើសមកាលកម្មនេះ។

រូបភាព 5-3 ។ ការធ្វើសមកាលកម្មអ្នកទទួល

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (8)ប្រតិបត្តិការ Testbench (សួរសំណួរ)
មានតែ testbench មួយប៉ុណ្ណោះដែលត្រូវបានផ្តល់ជូនជាមួយ Core16550: Verilog user testbench ។ នេះគឺជា testbench សាមញ្ញសម្រាប់ប្រើដែលសរសេរនៅក្នុង Verilog ។ កៅអីសាកល្បងនេះត្រូវបានបម្រុងទុកសម្រាប់ការកែប្រែអតិថិជន។

User Testbench (សួរសំណួរ)
រូបខាងក្រោមបង្ហាញពីដ្យាក្រាមប្លុករបស់អតីតample ការរចនាអ្នកប្រើប្រាស់ និងសាកល្បង។
រូបភាព 6-1 ។ Core16550 User Testbench

MICROCHIP -Core16550 -Universal-Asynchronous-Receiver-Transmitter (1)អ្នកប្រើប្រាស់ testbench រួមបញ្ចូលអតីតសាមញ្ញample ការរចនាដែលបម្រើជាឯកសារយោងសម្រាប់អ្នកប្រើប្រាស់ដែលចង់អនុវត្តការរចនាផ្ទាល់ខ្លួនរបស់ពួកគេ។
កៅអីសាកល្បងសម្រាប់អតីតampដូច្នេះ ការរចនាអ្នកប្រើប្រាស់អនុវត្តសំណុំរងនៃមុខងារដែលបានសាកល្បងនៅក្នុង testbench ផ្ទៀងផ្ទាត់ សម្រាប់ព័ត៌មានលម្អិត សូមមើល User Testbench ។ តាមគំនិត ដូចដែលបានបង្ហាញក្នុងរូបភាពទី 6-1 ភាពរំជើបរំជួលនៃ Core16550 ត្រូវបានក្លែងធ្វើដោយប្រើ microcontroller អាកប្បកិរិយា និងការតភ្ជាប់រង្វិលជុំដែលបានក្លែងធ្វើ។ សម្រាប់អតីតample, user testbench បង្ហាញពីការបញ្ជូន និងទទួលដោយឯកតា Core16550 ដូចគ្នា ដូច្នេះអ្នកអាចទទួលបានការយល់ដឹងជាមូលដ្ឋានអំពីរបៀបប្រើស្នូលនេះ។
អ្នកប្រើប្រាស់តេស្តសាកល្បងបង្ហាញពីការដំឡើងមូលដ្ឋាន បញ្ជូន និងទទួលប្រតិបត្តិការរបស់ Core16550។ អ្នកប្រើប្រាស់ testbench អនុវត្តជំហានដូចខាងក្រោមៈ

  1. សរសេរទៅបញ្ជីត្រួតពិនិត្យ។
  2. ពិនិត្យទិន្នន័យដែលទទួលបាន។
  3. បើកការបញ្ជូននិងទទួល។
  4. អានបញ្ជីត្រួតពិនិត្យ។
  5. បញ្ជូននិងទទួលមួយបៃ។

ការប្រើប្រាស់ឧបករណ៍ និងការអនុវត្ត (សួរសំណួរ)

តារាងខាងក្រោមរាយបញ្ជីការប្រើប្រាស់ 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 -Core16550 -Universal-Asynchronous-Receiver-Transmitter (2)

ការគាំទ្រ 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

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *