MICROCHIP Core16550 Pemancar Penerima Asynchronous Universal
pengenalan
Core16550 ialah Universal Asynchronous Receiver-Transmitter (UART) standard yang memastikan keserasian perisian dengan peranti 16550 yang digunakan secara meluas. Ia mengendalikan penukaran data bersiri ke selari untuk input daripada modem atau peranti bersiri lain dan melakukan penukaran selari kepada siri untuk data yang dihantar daripada CPU ke peranti ini.
Semasa penghantaran, data ditulis secara selari ke dalam penimbal Masuk Pertama, Keluar Dahulu (FIFO) penghantaran UART. Data kemudiannya bersiri untuk output. Apabila menerima, UART menukar data bersiri masuk menjadi selari dan membolehkan akses mudah untuk pemproses.
Aplikasi biasa 16550 UART digambarkan dalam rajah berikut.
Rajah 1. Aplikasi 16550 Biasa
Jadual 1. Core16550 Ringkasan
Ciri-ciri Utama
Berikut ialah ciri utama Core16550:
- Pemancar dan penerima masing-masing ditimbal dengan FIFO sehingga 16 bait untuk mengurangkan bilangan gangguan yang dibentangkan kepada CPU.
- Menambah atau mencabut bit komunikasi tak segerak standard (Mula, Berhenti dan Pariti).
- Hantar, terima, status talian dan gangguan set data yang dikawal secara bebas
- Penjana baud boleh atur cara
- Fungsi kawalan modem (CTSn, RTSn, DSRn, DTRn, RIn dan DCDn).
- Antara muka daftar Bas Periferal Lanjutan (APB).
Ciri Dihentikan
Sokongan Bahasa Perihalan Perkakasan (VHDL) Litar Bersepadu Kelajuan Tinggi (VHSIC) akan dihentikan daripada versi ini.
Maklumat Log Perubahan Core16550
Bahagian ini menyediakan lebih komprehensifview ciri yang baru diperbadankan, bermula dengan keluaran terbaru.
Versi | Apa yang Baru |
Teras16550 v3.4 | Core16550 menggunakan kata kunci verilog sistem "break" sebagai nama daftar yang menyebabkan isu ralat sintaks. Kata kunci digantikan dengan nama lain untuk menyelesaikan isu ini.
Menambah sokongan keluarga PolarFire® |
Teras16550 v3.3 | Menambahkan sokongan keluarga FPGA (RTG4™) tahan Radiasi |
- Penerangan Blok Fungsian (Tanya Soalan)
Bahagian ini menyediakan penerangan ringkas untuk setiap elemen rajah blok dalaman seperti yang dipaparkan dalam rajah berikut.
Rajah 1-1. Rajah Blok Teras16550
Unsur-unsur Rajah Blok Dalaman (Tanya Soalan)
Bahagian berikut memberikan maklumat tentang unsur-unsur rajah blok dalaman.
- RWControl (Tanya Soalan)
Blok RWControl bertanggungjawab untuk mengendalikan komunikasi dengan bahagian pemproses (selari) sistem. Semua penulisan dan pembacaan daftar Dalaman dicapai melalui blok ini. - UART_Reg (Tanya Soalan)
Blok UART_Reg menyimpan semua daftar Dalaman peranti. - RXBlock (Tanya Soalan)
Ini adalah blok penerima. RXBlock menerima perkataan bersiri yang masuk. Ia boleh diprogramkan untuk mengenali lebar data, seperti 5, 6, 7 atau 8 bit; pelbagai tetapan pariti, seperti genap, ganjil atau tiada pariti; dan bit henti yang berbeza, seperti 1, 1½ dan 2 bit. RXBlock menyemak ralat dalam aliran data input, seperti ralat overrun, ralat bingkai, ralat pariti dan ralat pecah. Jika perkataan masuk tidak mempunyai masalah, ia diletakkan dalam FIFO penerima. - Kawalan Gangguan (Tanya Soalan)
Blok Kawalan Gangguan menghantar isyarat gangguan kembali kepada pemproses, bergantung pada keadaan FIFO dan data yang diterima dan dihantar. Daftar Pengenalan Interrupt menyediakan tahap gangguan. Gangguan dihantar untuk penimbal penghantaran/resit kosong (atau FIFO), ralat dalam menerima aksara, atau keadaan lain yang memerlukan perhatian pemproses. - Penjana Kadar Baud (Tanya Soalan)
Blok ini mengambil PCLK input dan membahagikannya dengan nilai yang diprogramkan (dari 1 hingga 216 – 1). Hasilnya dibahagikan dengan 16 untuk mencipta jam penghantaran (BAUDOUT). - TXBlock (Tanya Soalan)
Blok Transmit mengendalikan penghantaran data yang ditulis kepada Transmit FIFO. Ia menambahkan bit Mula, Pariti dan Henti yang diperlukan pada data yang dihantar supaya peranti penerima boleh melakukan pengendalian dan penerimaan ralat yang betul.
Antara Muka Perisian (Tanya Soalan)
Takrif daftar Core16550 dan pemetaan alamat diterangkan dalam bahagian ini. Jadual berikut menunjukkan ringkasan daftar Core16550.
PADDR[4:0]
(Alamat) |
Bit Akses Selak Pembahagi1
(DLAB) |
Nama | Simbol | Nilai lalai (set semula). | Bilangan Bit | Baca/Tulis |
00 | 0 | Daftar Penampan Penerima | RBR | XX | 8 | R |
00 | 0 | Daftar Pegangan Pemancar | THR | XX | 8 | W |
00 | 1 | Selak Pembahagi (LSB) | DLR | 01j | 8 | R/W |
04 | 1 | Selak Pembahagi (MSB) | DMR | 00j | 8 | R/W |
04 | 0 | Interrupt Enable Register | IER | 00j | 8 | R/W |
08 | X | Daftar Pengenalan Gangguan | IIR | C1j | 8 | R |
08 | X | Daftar Kawalan FIFO | FCR | 01j | 8 | W |
0C | X | Daftar Kawalan Talian | LCR | 00j | 8 | R/W |
10 | X | Daftar Kawalan Modem | MCR | 00j | 8 | R/W |
14 | X | Daftar Status Talian | LSR | 60j | 8 | R |
18 | X | Daftar Status Modem | MSR | 00j | 8 | R |
1C | X | Daftar Gores | SR | 00j | 8 | R/W |
penting
DLAB ialah MSB bagi Daftar Kawalan Talian (LCR bit 7).
Daftar Penampan Penerima (Tanya Soalan)
Daftar Penampan Penerima ditakrifkan dalam jadual berikut.
Jadual 1-2. Daftar Penampan Penerima (Baca Sahaja)—Alamat 0 DLAB 0
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
7..0 | RBR | XX | 0..FFh | Menerima bit data. Bit 0 ialah LSB, dan merupakan bit pertama yang diterima. |
Daftar Pemegang Pemancar (Tanya Soalan)
Daftar Pegangan Pemancar ditakrifkan dalam jadual berikut.
Jadual 1-3. Daftar Pegangan Pemancar—Tulis Sahaja
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
7..0 | THR | XX | 0..FFh | Untuk menghantar bit data. Bit 0 ialah LSB, dan dihantar terlebih dahulu. |
Daftar Kawalan FIFO (Tanya Soalan)
Daftar Kawalan FIFO ditakrifkan dalam jadual berikut.
Bit (7:0) | Keadaan Lalai | Negeri yang sah | Fungsi |
0 | 1 | 0, 1 | Mendayakan FIFO Pemindah (Tx) dan Penerima (Rx). Bit ini mesti ditetapkan kepada 1 apabila bit FCR lain ditulis atau ia tidak akan diprogramkan.
0: Dilumpuhkan 1: Didayakan |
1 | 0 | 0, 1 | Membersihkan semua bait dalam Rx FIFO dan menetapkan semula logik balasnya. Daftar Shift tidak dibersihkan.
0: Dilumpuhkan 1: Didayakan |
2 | 0 | 0, 1 | Membersihkan semua bait dalam Tx FIFO dan menetapkan semula logik balasnya. Daftar Shift tidak dibersihkan.
0: Dilumpuhkan 1: Didayakan |
3 | 0 | 0, 1 | 0: Pemindahan tunggal DMA: Pemindahan dibuat antara kitaran bas CPU
1: Multi-pindah DMA: Pemindahan dibuat sehingga Rx FIFO kosong atau Transmission System Operator (TSO) Transmit (XMIT) FIFO diisi. FCR[0] mesti ditetapkan kepada 1 untuk menetapkan FCR[3] kepada 1. |
4, 5 | 0 | 0, 1 | Dikhaskan untuk kegunaan masa hadapan. |
6, 7 | 0 | 0, 1 | Bit ini digunakan untuk menetapkan tahap pencetus untuk gangguan Rx FIFO. 7 6 Rx FIFO Tahap Pencetus (bait)
0 0 01 0 1 04 1 0 08 1 1 14 |
Kawalan Pembahagi Mendaftar (Tanya Soalan)
Jam Kadar Baud (BR) dijana dengan membahagikan jam rujukan input (PCLK) dengan 16 dan nilai pembahagi.
Jadual berikut menyenaraikan bekasample nilai pembahagi untuk BR yang dikehendaki apabila menggunakan jam rujukan 18.432 MHz.
Jadual 1-5. Selak Pembahagi (LS dan MS)
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
7..0 | DLR | 01j | 01..FFh | LSB nilai pembahagi |
7..0 | DMR | 00j | 00..FFh | MSB nilai pembahagi |
Jadual 1-6. Kadar Baud dan Nilai Pembahagi untuk Jam Rujukan 18.432 MHz
Kadar Baud | Pembahagi Perpuluhan (Nilai Pembahagi) | Ralat Peratus |
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% |
Kadar Baud | Pembahagi Perpuluhan (Nilai Pembahagi) | Ralat Peratus |
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 Register (Tanya Soalan)
Daftar Interrupt Enable ditakrifkan dalam jadual berikut.
Jadual 1-7. Interrupt Enable Register
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
0 | ERBFI | 0 | 0, 1 | Membolehkan "Gangguan Tersedia Data Diterima" 0: Dilumpuhkan
1: Didayakan |
1 | ETBEI | 0 | 0, 1 | Mendayakan “Daftar Pegangan Pemancar Gangguan Kosong” 0: Dilumpuhkan
1: Didayakan |
2 | ELSI | 0 | 0, 1 | Membolehkan "Sampukan Status Talian Penerima" 0: Dilumpuhkan
1: Didayakan |
3 | EDSSI | 0 | 0, 1 | Membolehkan "Sampukan Status Modem" 0: Dilumpuhkan
1: Didayakan |
7..4 | Terpelihara | 0 | 0 | Sentiasa 0 |
Daftar Pengenalan Gangguan (Tanya Soalan)
Daftar Pengenalan Gangguan disenaraikan dalam jadual berikut. Jadual 1-8. Daftar Pengenalan Gangguan
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
3..0 | IIR | 1h | 0..Ch | Mengganggu bit pengenalan. |
5..4 | Terpelihara | 00 | 00 | Sentiasa 00 |
7..6 | Mod | 11 | 11 | 11: Mod FIFO |
Medan daftar Pengenalan Interrupt ditakrifkan dalam jadual berikut.
Jadual 1-9. Medan Daftar Pengenalan Gangguan (IIR)
Nilai IIR[3:0)] | Tahap Keutamaan | Jenis Gangguan | Sumber Gangguan | Kawalan Set Semula Gangguan |
0110 | Tertinggi | Status talian penerima | Ralat overrun, ralat pariti, ralat pembingkaian atau gangguan putus | Membaca daftar Status Talian |
0100 | Kedua | Data yang diterima tersedia | Data penerima tersedia | Membaca daftar Penampan Penerima atau FIFO jatuh di bawah paras pencetus |
Jadual 1-9. Medan Daftar Pengenalan Gangguan (IIR) (bersambung) | ||||
Nilai IIR[3:0)] | Tahap Keutamaan | Jenis Gangguan | Sumber Gangguan | Kawalan Set Semula Gangguan |
1100 | Kedua | Petunjuk tamat masa aksara | Tiada aksara dibaca daripada Rx FIFO sepanjang empat kali aksara terakhir dan terdapat sekurang-kurangnya satu aksara di dalamnya pada masa ini. | Membaca daftar Penampan Penerima |
0010 | Ketiga | Daftar Pemancar Holding kosong | Daftar Pemancar Holding kosong | Membaca IIR atau menulis ke dalam daftar Pegangan Pemancar |
0000 | Keempat | Status modem | Kosongkan untuk Dihantar, Set Data Sedia, Penunjuk Dering atau Pengesan Pembawa Data | Membaca daftar Status Moden |
Daftar Kawalan Talian (Tanya Soalan)
Daftar Kawalan Talian disenaraikan dalam jadual berikut. Jadual 1-10. Daftar Kawalan Talian
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
1..0 | WLS | 0 | 0..3j | Panjang Perkataan Pilih 00: 5 bit
01: 6 bit 10: 7 bit 11: 8 bit |
2 | STB | 0 | 0, 1 | Bilangan Bit Berhenti 0: 1 Bit Berhenti
1: 1½ Stop bit apabila WLS = 00 2: Stop bit dalam kes lain |
3 | PEN | 0 | 0, 1 | Daya Pariti 0: Dilumpuhkan
1: Didayakan. Pariti ditambah dalam penghantaran dan didaftar masuk menerima. |
4 | EPS | 0 | 0, 1 | Pariti Genap Pilih 0: Pariti ganjil
1 : Pariti sekata |
5 | SP | 0 | 0, 1 | Stick Parity 0: Dilumpuhkan
1: Didayakan Berikut ialah butiran pariti, apabila pariti kayu didayakan: Bit 4..3 11: 0 akan dihantar sebagai bit Pariti, dan mendaftar masuk menerima. 01: 1 akan dihantar sebagai bit Pariti, dan mendaftar masuk menerima. |
6 | SB | 0 | 0, 1 | Set Break 0: Dilumpuhkan
1: Tetapkan rehat. SOUT dipaksa kepada 0. Ini tidak mempunyai sebarang kesan ke atas logik pemancar. Pemecahan dinyahdayakan dengan menetapkan bit kepada 0. |
7 | DLAB | 0 | 0, 1 | Bit Akses Selak Pembahagi
0: Dilumpuhkan. Mod Pengalamatan biasa digunakan. 1: Didayakan. Membolehkan akses kepada daftar Selak Pembahagi semasa operasi baca atau tulis untuk menangani 0 dan 1. |
Daftar Kawalan Modem (Tanya Soalan)
Daftar Kawalan Modem disenaraikan dalam jadual berikut.
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
0 | DTR | 0 | 0, 1 | Mengawal keluaran Data Terminal Ready (DTRn). 0: DTRn <= 1
1: DTRn <= 0 |
1 | RTS | 0 | 0, 1 | Mengawal keluaran Permintaan untuk Hantar (RTSn). 0: RTSn <= 1
1: RTSn <= 0 |
2 | Keluar1 | 0 | 0, 1 | Mengawal isyarat Output1 (OUT1n). 0: OUT1n <= 1
1: OUT1n <= 0 |
3 | Keluar2 | 0 | 0, 1 | Mengawal isyarat Output2 (OUT2n). 0: OUT2n <= 1
1: OUT2n <= 0 |
4 | gelung | 0 | 0, 1 | Gelung dayakan bit 0: Dilumpuhkan
1: Didayakan. Perkara berikut berlaku dalam mod Gelung: SOUT ditetapkan kepada 1. Input SIN, DSRn, CTSn, RIn dan DCDn diputuskan sambungan. Output daftar Anjakan Pemancar digelung kembali ke dalam daftar Anjakan Penerima. Output kawalan modem (DTRn, RTSn, OUT1n dan OUT2n) ialah disambungkan secara dalaman kepada input kawalan modem, dan pin output kawalan modem ditetapkan pada 1. Dalam mod Loopback, data yang dihantar diterima serta-merta, membenarkan CPU menyemak operasi UART. Gangguan beroperasi dalam mod Gelung. |
7..4 | Terpelihara | 0h | 0 | Terpelihara |
Daftar Status Talian (Tanya Soalan)
Daftar Status Talian ditakrifkan dalam jadual berikut.
Jadual 1-12. Daftar Status Talian—Baca Sahaja
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
0 | DR | 0 | 0, 1 | Penunjuk Sedia Data
1 apabila bait data telah diterima dan disimpan dalam penimbal terima atau FIFO. DR dikosongkan kepada 0 apabila CPU membaca data daripada penimbal terima atau FIFO. |
1 | OE | 0 | 0, 1 | Penunjuk Ralat Overrun
Menunjukkan bahawa bait baharu telah diterima sebelum CPU membaca bait daripada penimbal terima, dan bait data terdahulu dimusnahkan. OE dikosongkan apabila CPU membaca daftar Status Talian. Jika data terus mengisi FIFO melebihi tahap pencetus, ralat overrun berlaku sebaik sahaja FIFO penuh dan aksara seterusnya telah diisi sepenuhnya diterima dalam daftar Shift. Aksara dalam daftar Shift ditimpa, tetapi ia tidak dipindahkan ke FIFO. |
2 | PE | 0 | 0, 1 | Penunjuk Ralat Pariti
Menunjukkan bahawa bait yang diterima mempunyai ralat pariti. PE dikosongkan apabila CPU membaca daftar Status Talian. Ralat ini didedahkan kepada CPU apabila watak berkaitannya berada di bahagian atas FIFO. |
3 | FE | 0 | 0, 1 | Penunjuk Ralat Pembingkaian
Menunjukkan bahawa bait yang diterima tidak mempunyai bit Henti yang sah. FE dikosongkan apabila CPU membaca daftar Status Talian. UART akan cuba menyegerakkan semula selepas ralat pembingkaian. Untuk melakukan ini, ia menganggap bahawa ralat pembingkaian adalah disebabkan oleh bit Mula seterusnya, jadi ia samples ini Mulakan sedikit dua kali, dan kemudian mula menerima data. Ralat ini didedahkan kepada CPU apabila watak berkaitannya berada di bahagian atas FIFO. |
Jadual 1-12. Daftar Status Baris—Baca Sahaja (bersambung) | ||||
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
4 | BI | 0 | 0, 1 | Penunjuk Gangguan Pecah
Menunjukkan bahawa data yang diterima adalah pada 0, lebih lama daripada masa penghantaran perkataan penuh (Start bit + Bit data + Pariti + Bit henti). BI dikosongkan apabila CPU membaca daftar Status Talian. Ralat ini didedahkan kepada CPU apabila watak berkaitannya berada di bahagian atas FIFO. Apabila rehat berlaku, hanya satu aksara sifar dimuatkan ke dalam FIFO. |
5 | TIGA | 1 | 0, 1 | Penunjuk Daftar Pegangan Pemancar Kosong (THRE).
Menunjukkan bahawa UART bersedia untuk menghantar bait data baharu. TIGA menyebabkan gangguan kepada CPU apabila bit 1 (ETBEI) dalam daftar Interrupt Enable ialah 1. Bit ini ditetapkan apabila TX FIFO kosong. Ia dikosongkan apabila sekurang-kurangnya satu bait ditulis kepada TX FIFO. |
6 | TEMT | 1 | 0, 1 | Penunjuk Kosong Pemancar
Bit ini ditetapkan kepada 1 apabila kedua-dua daftar FIFO dan Shift pemancar kosong. |
7 | FIER | 0 | 1 | Bit ini ditetapkan apabila terdapat sekurang-kurangnya satu ralat pariti, ralat pembingkaian atau petunjuk pecah dalam FIFO. FIER dikosongkan apabila CPU membaca LSR jika tiada ralat berikutnya dalam FIFO. |
Daftar Status Modem (Tanya Soalan)
Daftar Status Modem disenaraikan dalam jadual berikut.
Jadual 1-13. Daftar Status Modem—Baca Sahaja
bit | Nama | Keadaan Lalai | Negeri yang sah | Fungsi |
0 | DCTS | 0 | 0, 1 | Penunjuk Delta Clear to Send.
Menunjukkan bahawa input CTSn telah berubah keadaan sejak kali terakhir ia dibaca oleh CPU. |
1 | DDSR | 0 | 0, 1 | Penunjuk Sedia Set Data Delta
Menunjukkan bahawa input DSRn telah berubah keadaan sejak kali terakhir ia dibaca oleh CPU. |
2 | TERI | 0 | 0, 1 | Pengesan Penunjuk Cincin Tepi Mengekor. Menunjukkan bahawa input RI telah berubah daripada 0 kepada 1. |
3 | DDCD | 0 | 0, 1 | Penunjuk Pengesan Pembawa Data Delta Menunjukkan bahawa input DCD telah berubah keadaan.
Nota: Apabila bit 0, 1, 2 atau 3 ditetapkan kepada 1, gangguan Status Modem dijana. |
4 | CTS | 0 | 0, 1 | Kosongkan untuk Hantar
Pelengkap input CTSn. Apabila bit 4 daripada Daftar Kawalan Modem (MCR) ditetapkan kepada 1 (gelung), bit ini bersamaan dengan DTR dalam MCR. |
5 | DSR | 0 | 0, 1 | Set Data Sedia
Pelengkap input DSR. Apabila bit 4 MCR ditetapkan kepada 1 (gelung), bit ini bersamaan dengan RTSn dalam MCR. |
6 | RI | 0 | 0, 1 | Penunjuk Dering
Pelengkap input RIN. Apabila bit 4 MCR ditetapkan kepada 1 (gelung), bit ini bersamaan dengan OUT1 dalam MCR. |
7 | DCD | 0 | 0, 1 | Pengesan Pembawa Data
Pelengkap input DCDn. Apabila bit 4 MCR ditetapkan kepada 1 (gelung), bit ini bersamaan dengan OUT2 dalam MCR. |
Daftar Gores (Tanya Soalan)
Daftar Scratch ditakrifkan dalam jadual berikut.
bit | Nama | Keadaan Lalai | Fungsi |
7..0 | SCR | 00j | Daftar Baca/Tulis untuk CPU. Tiada kesan pada operasi UART. |
Aliran Alat (Tanya Soalan)
Bahagian ini memberikan butiran tentang aliran alat.
SmartDesign (Tanya Soalan)
Core16550 tersedia untuk dimuat turun dalam persekitaran reka bentuk penggunaan IP SmartDesign. Teras dikonfigurasikan menggunakan GUI konfigurasi dalam SmartDesign, lihat rajah berikut.
Untuk maklumat tentang cara menggunakan SmartDesign untuk membuat instantiate, mengkonfigurasi, menyambung dan menjana teras, lihat Panduan Pengguna SmartDesign.
Rajah 2-1. Konfigurasi Teras16550
Aliran Simulasi (Tanya Soalan)
Meja ujian pengguna untuk Core16550 disertakan dalam semua keluaran.
Untuk menjalankan simulasi, pilih pilihan Aliran Testbench Pengguna dalam SmartDesign dan klik Jana Reka Bentuk di bawah menu SmartDesign. Testbench pengguna dipilih melalui GUI Konfigurasi Teras Testbench.
Apabila SmartDesign menjana projek Libero SoC, ia memasang meja ujian pengguna files.
Untuk menjalankan meja ujian pengguna, tetapkan akar reka bentuk kepada instantiasi Core16550 dalam anak tetingkap Hierarki Reka Bentuk SoC Libero dan klik ikon Simulasi dalam tetingkap Aliran Reka Bentuk SoC. Ini menggunakan ModelSim® dan menjalankan simulasi secara automatik.
Sintesis dalam Libero SoC (Tanya Soalan)
Klik ikon Sintesis dalam Libero SoC. Tetingkap Synthesis muncul. Projek Synplify®. Tetapkan Synplify untuk menggunakan standard Verilog 2001 jika Verilog sedang digunakan. Untuk menjalankan Sintesis, klik ikon Jalankan.
Place-and-Route dalam Libero SoC (Tanya Soalan)
Untuk menetapkan laluan reka bentuk dengan sewajarnya dan menjalankan Sintesis, klik ikon Reka Letak dalam Libero SoC dan gunakan Designer. Core16550 tidak memerlukan sebarang tetapan tempat dan laluan khas.
Core16550 (Tanya Soalan)
Bahagian ini menyediakan maklumat tentang parameter yang digunakan dalam teras ini.
Parameter (Tanya Soalan)
Core16550 tidak menyokong mana-mana parameter peringkat atasan.
Antara Muka Teras (Tanya Soalan)
Bahagian ini menyediakan ringkasan input dan output.
Penerangan Isyarat I/O (Tanya Soalan)
Berikut menyenaraikan definisi I/O Core16550.
Nama | taip | Polariti | Penerangan |
PRESET | Input | rendah | Tetapan semula induk |
PCLK | Input | — | Jam induk
PCLK dibahagikan dengan nilai daftar Pembahagi. Hasilnya kemudian dibahagikan dengan 16 untuk menghasilkan kadar baud. Isyarat yang terhasil ialah isyarat BAUDOUT. Bahagian tepi pin ini digunakan untuk menyalakan semua isyarat input dan output. |
PWRITE | Input | tinggi | APB boleh tulis/baca, aktif-tinggi.
Apabila HIGH, data ditulis ke lokasi alamat yang ditentukan. Apabila LOW, data dibaca dari lokasi alamat yang ditentukan. |
PADDR[4:0] | Input | — | Alamat APB
Bas ini menyediakan pautan untuk CPU ke alamat daftar Core16550 untuk dibaca atau ditulis. |
PSEL | Input | tinggi | APB pilih
Apabila ini TINGGI bersama-sama dengan PENABLE, membaca dan menulis ke Core16550 didayakan. |
PWDATA[7:0] | Input | — | Bas input data
Data pada bas ini akan ditulis ke dalam daftar beralamat semasa kitaran tulis. |
BOLEH DIBENARKAN | Input | tinggi | APB membolehkan
Apabila ini TINGGI bersama-sama dengan PSEL, membaca dan menulis ke Core16550 didayakan. |
PRDATA[7:0] | Keluaran | — | Bas keluaran data
Bas ini memegang nilai daftar beralamat semasa kitaran baca. |
CTSn | Input | rendah | Kosongkan untuk Hantar
Isyarat aktif-rendah ini ialah input yang ditunjukkan apabila peranti yang dilampirkan (modem) bersedia untuk menerima data. Core16550 menghantar maklumat ini kepada CPU melalui daftar Status Modem. Daftar ini juga menunjukkan bahawa jika isyarat CTSn telah berubah sejak kali terakhir, daftar telah dibaca. |
DSRn | Input | rendah | Set Data Sedia
Isyarat aktif-rendah ini ialah input yang menunjukkan apabila peranti yang dilampirkan (modem) sedia untuk menyediakan pautan dengan Core16550. Core16550 menghantar maklumat ini kepada CPU melalui daftar Status Modem. Daftar ini juga menunjukkan jika isyarat DSRn telah berubah sejak kali terakhir daftar dibaca. |
DCDn | Input | rendah | Pengesan Pembawa Data
Isyarat aktif-rendah ini ialah input yang menunjukkan apabila peranti (modem) yang dipasang telah mengesan pembawa. Core16550 menghantar maklumat ini kepada CPU melalui daftar Status Modem. Daftar ini juga menunjukkan jika isyarat DCDn telah berubah sejak kali terakhir daftar dibaca. |
DOSA | Input | — | Data Input Bersiri
Data ini dihantar ke Core16550. Ia disegerakkan dengan pin input PCLK. |
RIN | Input | rendah | Penunjuk Dering
Isyarat aktif-rendah ini ialah input yang ditunjukkan apabila peranti yang dipasang (modem) telah merasakan isyarat deringan pada talian telefon. Core16550 menghantar maklumat ini kepada CPU melalui daftar Status Modem. Daftar ini juga menunjukkan apabila tepi mengekor RI dirasai. |
JADI | Keluaran | — | Data keluaran bersiri
Data ini dihantar daripada Core16550. Ia disegerakkan dengan pin keluaran BAUDOUT. |
RTSn | Keluaran | rendah | Permintaan untuk Hantar
Isyarat keluaran aktif-rendah ini digunakan untuk memberitahu peranti yang dilampirkan (modem) bahawa Core16550 bersedia untuk menghantar data. Ia diprogramkan oleh CPU melalui daftar Kawalan Modem. |
Jadual 4-1. Ringkasan Isyarat I/O (bersambung) | |||
Nama | taip | Polariti | Penerangan |
DTRn | Keluaran | rendah | Terminal Data Sedia
Isyarat keluaran aktif-rendah ini memberitahu peranti yang dilampirkan (modem) bahawa Core16550 bersedia untuk mewujudkan pautan komunikasi. Ia diprogramkan oleh CPU melalui daftar Kawalan Modem. |
OUT1n | Keluaran | rendah | Keluaran 1
Output aktif-rendah ini ialah isyarat yang ditentukan pengguna. CPU memprogram isyarat ini melalui daftar Kawalan Modem dan ditetapkan kepada nilai yang bertentangan. |
OUT2n | Keluaran | rendah | Keluaran 2
Isyarat keluaran aktif-rendah ini ialah isyarat yang ditentukan pengguna. Ia diprogramkan oleh CPU melalui daftar Kawalan Modem dan ditetapkan kepada nilai yang bertentangan. diprogramkan. |
INTR | Keluaran | tinggi | Sampuk Menunggu
Isyarat keluaran aktif-tinggi ini ialah isyarat keluaran gangguan daripada Core16550. Ia diprogramkan untuk menjadi aktif pada acara tertentu, memaklumkan CPU bahawa peristiwa sedemikian telah berlaku, (untuk butiran lanjut, lihat Daftar Pengenalan Interrupt). CPU kemudiannya mengambil tindakan yang sewajarnya. |
BAUDOUTn | Keluaran | rendah | Baud keluar
Ini ialah isyarat jam keluaran yang diperoleh daripada jam input untuk menyegerakkan aliran keluaran data daripada SOUT. |
RXRDYN | Keluaran | rendah | Penerima bersedia untuk menerima penghantaran.
CPU ditunjukkan oleh isyarat keluaran aktif-rendah ini bahawa bahagian penerima Core16550 tersedia untuk data dibaca. |
THRDYN | Keluaran | rendah | Pemancar bersedia untuk menghantar data.
Isyarat aktif-rendah ini menunjukkan kepada CPU bahawa bahagian pemancar Core16550 mempunyai ruang untuk menulis data untuk penghantaran. |
rxfifo_kosong | Keluaran | tinggi | Terima FIFO kosong.
Isyarat ini menjadi TINGGI apabila FIFO terima kosong. |
rxfifo_full | Keluaran | tinggi | Terima FIFO penuh.
Isyarat ini menjadi Tinggi apabila FIFO terima penuh. |
Rajah Masa (Tanya Soalan)
Bahagian ini menyediakan gambar rajah pemasaan teras ini.
Kitaran Tulis Data dan Kitaran Baca Data (Tanya Soalan)
Rajah 5-1 dan Rajah 5-2 menggambarkan kitaran tulis dan perhubungan pemasaan kitaran baca berbanding jam sistem APB, PCLK.
Daftar Tulis (Tanya Soalan)
Rajah berikut menunjukkan isyarat Alamat, Pilih dan Dayakan diselak dan mesti sah sebelum kelebihan PCLK yang semakin meningkat. Penulisan berlaku di tepi meningkat isyarat PCLK.
Daftar Baca (Tanya Soalan)
Rajah berikut menunjukkan isyarat Alamat, Pilih dan Dayakan diselak dan mesti sah sebelum kelebihan PCLK yang semakin meningkat. Pembacaan berlaku di tepi meningkat isyarat PCLK. Untuk butiran lanjut tentang penerangan dan bentuk gelombang pemasaan, lihat spesifikasi AMBA.
Penyegerakan Penerima (Tanya Soalan)
Apabila penerima mengesan keadaan Rendah dalam aliran data masuk, ia menyegerakkannya. Selepas tepi permulaan, UART menunggu 1.5 × (panjang bit biasa). Ini menyebabkan setiap bit berikutnya dibaca di tengah lebarnya. Rajah berikut menggambarkan proses penyegerakan ini.
Rajah 5-3. Penyegerakan Penerima
Operasi Testbench (Tanya Soalan)
Hanya satu testbench disediakan dengan Core16550: Verilog user testbench. Ini ialah meja ujian yang mudah digunakan yang ditulis dalam Verilog. Testbench ini bertujuan untuk pengubahsuaian pelanggan.
Testbench Pengguna (Tanya Soalan)
Rajah berikut menunjukkan gambarajah blok exampreka bentuk pengguna dan meja ujian.
Rajah 6-1. Meja Ujian Pengguna Core16550
Testbench pengguna termasuk bekas mudahampreka bentuk yang berfungsi sebagai rujukan kepada pengguna yang ingin melaksanakan reka bentuk mereka sendiri.
Meja ujian untuk exampOleh itu, reka bentuk pengguna melaksanakan subset kefungsian yang diuji dalam bangku ujian pengesahan, untuk butiran lanjut, lihat Bangku Ujian Pengguna. Dari segi konsep, seperti yang ditunjukkan dalam Rajah 6-1, instantiasi Core16550 disimulasikan menggunakan mikropengawal tingkah laku dan sambungan gelung balik simulasi. Untuk exampOleh itu, testbench pengguna menunjukkan penghantaran dan penerimaan oleh unit Core16550 yang sama, supaya anda boleh memperoleh pemahaman asas tentang cara menggunakan teras ini.
Meja ujian pengguna menunjukkan persediaan asas, menghantar dan menerima operasi Core16550. Testbench pengguna melakukan langkah berikut:
- Tulis kepada daftar kawalan.
- Semak data yang diterima.
- Hidupkan hantar dan terima.
- Baca daftar kawalan.
- Hantar dan terima satu bait.
Penggunaan dan Prestasi Peranti (Tanya Soalan)
Jadual berikut menyenaraikan data penggunaan dan prestasi Core16550. Jadual 7-1. Penggunaan dan Prestasi Core16550 PolarFire dan SoC PolarFire
Butiran Peranti | Sumber | RAM | |||
Keluarga | Peranti | 4LUT | DFF | Elemen Logik | μSRAM |
PolarFire® | MPF100T- FCSG325I | 752 | 284 | 753 | 2 |
PolarFire®SoC | MPFS250TS- FCSG536I | 716 | 284 | 720 | 2 |
RTG4™ | RT4G150- 1CG1657M | 871 | 351 | 874 | 2 |
IGLOO® 2 | M2GL050TFB GA896STD | 754 | 271 | 1021 | 2 |
SmartFusion® 2 | M2S050TFBG A896STD | 754 | 271 | 1021 | 2 |
SmartFusion® | A2F500M3G- STD | 1163 | 243 | 1406 | 2 |
IGLOO®/IGLOOE | AGL600- STD/AGLE600 V2 | 1010 | 237 | 1247 | 2 |
Gabungan | 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 |
Isu Selesai (Tanya Soalan)
Jadual berikut menyenaraikan semua isu yang diselesaikan untuk pelbagai keluaran Core16550.
Jadual 8-1. Isu Selesai
Versi | Perubahan |
v3.4 | Core16550 menggunakan Kata Kunci Sistem Verilog "break" sebagai nama daftar yang menyebabkan isu ralat sintaks. Ini telah dibetulkan dengan menggantikan kata kunci dengan nama lain. Menambah sokongan keluarga PolarFire® |
Sejarah Semakan (Tanya Soalan)
Sejarah semakan menerangkan perubahan yang telah dilaksanakan dalam dokumen. Perubahan disenaraikan mengikut semakan, bermula dengan penerbitan terkini.
Sokongan FPGA mikrocip
Kumpulan produk Microchip FPGA menyokong produknya dengan pelbagai perkhidmatan sokongan, termasuk Khidmat Pelanggan, Pusat Sokongan Teknikal Pelanggan, a webtapak, dan pejabat jualan di seluruh dunia. Pelanggan dicadangkan untuk melawati sumber dalam talian Microchip sebelum menghubungi sokongan kerana kemungkinan besar pertanyaan mereka telah dijawab.
Hubungi Pusat Sokongan Teknikal melalui webtapak di www.microchip.com/support Sebutkan nombor Bahagian Peranti FPGA, pilih kategori kes yang sesuai dan muat naik reka bentuk files semasa mencipta kes sokongan teknikal.
Hubungi Khidmat Pelanggan untuk mendapatkan sokongan produk bukan teknikal, seperti harga produk, peningkatan produk, maklumat kemas kini, status pesanan dan kebenaran.
- Dari Amerika Utara, hubungi 800.262.1060
- Dari seluruh dunia, hubungi 650.318.4460
- Faks, dari mana-mana sahaja di dunia, 650.318.8044
Maklumat Mikrocip
Tanda dagangan
Nama dan logo “Microchip”, logo “M” dan nama, logo dan jenama lain adalah tanda dagangan berdaftar dan tidak berdaftar bagi Microchip Technology Incorporated atau sekutunya dan/atau anak syarikatnya di Amerika Syarikat dan/atau negara lain (“Microchip Tanda dagangan”). Maklumat mengenai Cap Dagangan Microchip boleh didapati di https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN:
Notis Undang-undang
- Penerbitan ini dan maklumat di sini hanya boleh digunakan dengan produk Microchip, termasuk untuk mereka bentuk, menguji dan menyepadukan produk Microchip dengan aplikasi anda. Penggunaan maklumat ini
dalam apa-apa cara lain melanggar syarat ini. Maklumat mengenai aplikasi peranti disediakan hanya untuk kemudahan anda dan mungkin digantikan dengan kemas kini. Adalah menjadi tanggungjawab anda untuk memastikan permohonan anda memenuhi spesifikasi anda. Hubungi pejabat jualan Microchip tempatan anda untuk mendapatkan sokongan tambahan atau, dapatkan sokongan tambahan di www.microchip.com/en-us/support/design-help/client-support-services - MAKLUMAT INI DISEDIAKAN OLEH MICROCHIP "SEBAGAIMANA ADANYA". MICROCHIP TIDAK MEMBUAT SEBARANG JENIS PERWAKILAN ATAU WARANTI SAMA ADA TERNYATA MAUPUN TERSIRAT, BERTULIS ATAU LISAN, BERKANUN ATAU SEBALIKNYA, BERKAITAN DENGAN MAKLUMAT TERMASUK TETAPI TIDAK TERHAD KEPADA MANA-MANA WARANTI TERSIRAT, BUKAN PENYERTAAN DAN PEMESANAN TUJUAN ATAU WARANTI BERKAITAN DENGAN KEADAAN, KUALITI ATAU PRESTASINYA.
- MICROCHIP TIDAK AKAN BERTANGGUNGJAWAB KE ATAS SEBARANG KEHILANGAN, KEROSAKAN, KOS, ATAU PERBELANJAAN TIDAK LANGSUNG, KHAS, PUNITIF, SAMPINGAN, ATAU AKIBAT SEBARANG JENIS APA PUN YANG BERKAITAN DENGAN MAKLUMAT ATAU PENGGUNAANNYA, WALAUPUN ADALAH BERPUNCA, WALAUPUN DILAKUKAN. ATAU KEROSAKAN ADALAH BOLEH DIRAMALKAN. SEJAUH YANG DIBENARKAN OLEH UNDANG-UNDANG, JUMLAH LIABILITI MICROCHIP ATAS SEMUA TUNTUTAN DALAM APA-APA CARA BERKAITAN DENGAN MAKLUMAT ATAU PENGGUNAANNYA TIDAK AKAN MELEBIHI JUMLAH YURAN, JIKA ADA, YANG ANDA TELAH BAYAR TERUS KEPADA MICROCHIP UNTUK MAKLUMAT.
- Penggunaan peranti Microchip dalam sokongan hayat dan/atau aplikasi keselamatan adalah sepenuhnya atas risiko pembeli, dan pembeli bersetuju untuk mempertahankan, menanggung rugi dan menahan Microchip yang tidak berbahaya daripada sebarang dan semua kerosakan, tuntutan, saman atau perbelanjaan akibat daripada penggunaan tersebut. Tiada lesen disampaikan, secara tersirat atau sebaliknya, di bawah mana-mana hak harta intelek Microchip melainkan dinyatakan sebaliknya.
Ciri Perlindungan Kod Peranti Mikrocip
Perhatikan butiran berikut tentang ciri perlindungan kod pada produk Microchip:
- Produk Microchip memenuhi spesifikasi yang terkandung dalam Helaian Data Microchip tertentu mereka.
- Microchip percaya bahawa keluarga produknya selamat apabila digunakan mengikut cara yang dimaksudkan, dalam spesifikasi operasi dan dalam keadaan biasa.
- Nilai mikrocip dan melindungi hak harta inteleknya secara agresif. Percubaan untuk melanggar ciri perlindungan kod produk Microchip adalah dilarang sama sekali dan mungkin melanggar Akta Hak Cipta Milenium Digital.
- Microchip mahupun pengeluar semikonduktor lain tidak boleh menjamin keselamatan kodnya. Perlindungan kod tidak bermakna kami menjamin produk itu "tidak boleh pecah". Perlindungan kod sentiasa berkembang. Microchip komited untuk terus menambah baik ciri perlindungan kod produk kami.
Panduan Pengguna
© 2025 Microchip Technology Inc. dan anak syarikatnya
Dokumen / Sumber
![]() |
MICROCHIP Core16550 Pemancar Penerima Asynchronous Universal [pdf] Panduan Pengguna v3.4, v3.3, Pemancar Penerima Asynchronous Universal Core16550, Core16550, Pemancar Penerima Asynchronous Universal, Pemancar Penerima Asynchronous, Pemancar Penerima, Pemancar |