MICROCHIP Core16550 universaalne asünkroonne vastuvõtja-saatja

Sissejuhatus
Core16550 on standardne universaalne asünkroonne vastuvõtja-saatja (UART), mis tagab tarkvaralise ühilduvuse laialdaselt kasutatava 16550 seadmega. See tegeleb modemitelt või muudelt jadapordiseadmetelt tulevate sisendite jadapordist paralleelpordiks teisendamisega ning teostab protsessorilt nendele seadmetele saadetud andmete paralleelpordist jadapordiks teisendamist.
Edastuse ajal kirjutatakse andmed paralleelselt UART-i edastuspuhvrisse „FIFO“ (First-In, First-Out). Seejärel andmed serialiseeritakse väljundiks. Vastuvõtmisel teisendab UART sissetulevad jadaandmed paralleelseks, võimaldades protsessoril neile hõlpsat juurdepääsu.
16550 UART-i tüüpiline rakendus on illustreeritud järgmisel joonisel.
Joonis 1. Tüüpiline 16550 rakendus
Tabel 1. Core16550 kokkuvõte

Põhifunktsioonid
Järgnevalt on toodud Core16550 põhifunktsioonid:
- Nii saatja kui ka vastuvõtja puhverdatakse kuni 16-baidiste FIFO-dega, et vähendada protsessorile esitatavate katkestuste arvu.
- Lisab või eemaldab standardseid asünkroonseid sidebitte (Start, Stop ja Parity).
- Sõltumatult juhitavad saatmise, vastuvõtmise, liini oleku ja andmekogumi katkestused
- Programmeeritav baudigeneraator
- Modemi juhtimisfunktsioonid (CTSn, RTSn, DSRn, DTRn, RIn ja DCDn).
- Advanced Peripheral Bus (APB) registri liides
Lõpetatud funktsioonid
Väga kiirete integraallülituste (VHSIC) riistvarakirjelduskeele (VHDL) tugi lõpetatakse sellest versioonist alates.
Core16550 muudatuste logi teave
See jaotis annab põhjaliku ülevaateview uutest funktsioonidest, alustades kõige uuemast versioonist.
| Versioon | Mis on uut |
| Core16550 v3.4 | Core16550 kasutab registri nimena süsteemi verilogi märksõna „break”, mis põhjustas süntaksivea. Selle probleemi lahendamiseks asendatakse märksõna teise nimega.
Lisatud PolarFire® perekonna tugi |
| Core16550 v3.3 | Lisatud kiirgust taluva FPGA (RTG4™) perekonna tugi |
- Funktsionaalse ploki kirjeldus (Esita küsimus)
See jaotis annab lühikese kirjelduse iga sisemise plokkskeemi elemendi kohta, nagu on näidatud järgmisel joonisel.
Joonis 1-1. Core16550 plokkskeem

Sisemise plokkskeemi elemendid (Esita küsimus)
Järgmises jaotises on esitatud teave sisemise plokkskeemi elementide kohta.
- RWControl (Esita küsimus)
RWControli plokk vastutab süsteemi protsessori (paralleelse) poolega suhtlemise eest. Kogu sisemiste registrite kirjutamine ja lugemine toimub selle ploki kaudu. - UART_Reg (Esita küsimus)
UART_Reg plokk sisaldab kõiki seadme sisemisi registreid. - RXBlock (Esita küsimus)
See on vastuvõtuplokk. RXBlock võtab vastu sissetuleva jadasõna. See on programmeeritav tuvastama andmelaiusi, näiteks 5, 6, 7 või 8 bitti; erinevaid pariteedi sätteid, näiteks paaris-, paaritu või pariteedi puudumine; ja erinevaid stoppbitte, näiteks 1, 1½ ja 2 bitti. RXBlock kontrollib sisendandmevoo vigu, näiteks ületäitumisvigu, kaadrivigu, pariteedivigu ja katkestusvigu. Kui sissetuleva sõnaga probleeme ei ole, paigutatakse see vastuvõtja FIFO-sse. - Katkestuste juhtimine (Esita küsimus)
Katkestuste juhtimise plokk saadab protsessorile katkestussignaali, mis sõltub FIFO olekust ning selle vastuvõetud ja edastatud andmetest. Katkestuste identifitseerimisregister annab katkestuse taseme. Katkestusi saadetakse tühjade edastus-/vastuvõtupuhvrite (või FIFO-de), märgi vastuvõtmisel tekkinud vea või muude protsessori tähelepanu nõudvate tingimuste korral. - Baudikiiruse generaator (Esita küsimus)
See plokk võtab sisendiks PCLK ja jagab selle programmeeritud väärtusega (1 kuni 216 – 1). Tulemus jagatakse 16-ga, et luua edastuskella (BAUDOUT). - TXBlock (Esita küsimus)
Edastusplokk tegeleb edastuse FIFO-le kirjutatud andmete edastamisega. See lisab edastatavatele andmetele vajalikud algus-, pariteedi- ja stoppbitid, et vastuvõttev seade saaks teostada õiget veatöötlust ja vastuvõtmist.
Tarkvaraliides (Esita küsimus)
Selles jaotises kirjeldatakse Core16550 registrite definitsioone ja aadresside kaardistusi. Järgmises tabelis on näidatud Core16550 registrite kokkuvõte.
| PADDR[4:0]
(aadress) |
Jagaja riivi juurdepääsu bitt1
(DLAB) |
Nimi | Sümbol | Vaikimisi (lähtestatud) väärtus | Bitide arv | Loe/kirjuta |
| 00 | 0 | Vastuvõtja puhverregister | RBR | XX | 8 | R |
| 00 | 0 | Saatja hoidmisregister | THR | XX | 8 | W |
| 00 | 1 | Jagaja riiv (LSB) | DLR | 01h | 8 | R/W |
| 04 | 1 | Jagaja riiv (MSB) | DMR | 00h | 8 | R/W |
| 04 | 0 | Katkesta Luba register | IER | 00h | 8 | R/W |
| 08 | X | Katkestuste identifitseerimisregister | IIR | C1h | 8 | R |
| 08 | X | FIFO kontrollregister | FCR | 01h | 8 | W |
| 0C | X | Liini juhtimisregister | LCR | 00h | 8 | R/W |
| 10 | X | Modemi juhtimisregister | MCR | 00h | 8 | R/W |
| 14 | X | Liini oleku register | LSR | 60h | 8 | R |
| 18 | X | Modemi oleku register | MSR | 00h | 8 | R |
| 1C | X | Kraapimiskast | SR | 00h | 8 | R/W |
Tähtis
DLAB on liinijuhtimisregistri (LCR bitt 7) MSB.
Vastuvõtja puhverregister (esitage küsimus)
Vastuvõtja puhvri register on defineeritud järgmises tabelis.
Tabel 1-2. Vastuvõtja puhverregister (kirjutuskaitstud) – aadress 0 DLAB 0
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 7...0 | RBR | XX | 0..FFh | Vastuvõetud andmebitid. Bitt 0 on vähim SB ja see on esimene vastuvõetud bitt. |
Saatja hoidmisregister (Esita küsimus)
Saatja hoidmisregister on määratletud järgmises tabelis.
Tabel 1-3. Saatja hoidmisregister – ainult kirjutamiseks
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 7...0 | THR | XX | 0..FFh | Andmebittide edastamiseks. Bitt 0 on LSB ja see edastatakse esimesena. |
FIFO kontrollregister (Esita küsimus)
FIFO juhtimisregister on defineeritud järgmises tabelis.
| Bitid (7:0) | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 0 | 1 | 0, 1 | Lubab nii saatja-vastuvõtja (Tx) kui ka vastuvõtja (Rx) FIFO-d. See bitt tuleb seada väärtusele 1, kui teistele FCR-bittidele kirjutatakse, vastasel juhul neid ei programmeerita.
0: keelatud 1: lubatud |
| 1 | 0 | 0, 1 | Tühjendab kõik Rx FIFO baidid ja lähtestab selle loenduri loogika. Shift-register ei tühjene.
0: keelatud 1: lubatud |
| 2 | 0 | 0, 1 | Tühjendab kõik saatja FIFO baidid ja lähtestab selle loenduri loogika. Shift-register ei tühjene.
0: keelatud 1: lubatud |
| 3 | 0 | 0, 1 | 0: Üksik ülekanne DMA: Ülekanne tehakse protsessori siinitsüklite vahel
1: Mitmekordne ülekanne DMA: Ülekandeid tehakse seni, kuni vastuvõtu FIFO on tühi või ülekandesüsteemi halduri (TSO) edastuse (XMIT) FIFO on täis. FCR[0] peab olema seatud väärtusele 1, et määrata FCR[3] väärtusele 1. |
| 4, 5 | 0 | 0, 1 | Reserveeritud edaspidiseks kasutamiseks. |
| 6, 7 | 0 | 0, 1 | Neid bitte kasutatakse Rx FIFO katkestuse käivitustaseme määramiseks. 7 6 Rx FIFO käivitustase (baitides)
0 0 01 0 1 04 1 0 08 1 1 14 |
Jagaja kontrollregistrid (Esita küsimus)
Boodikiiruse (BR) kell genereeritakse sisendreferentskella (PCLK) jagamisel 16-ga ja jagaja väärtusega.
Järgmises tabelis on loetletud näideampSoovitud BR-i jagajate väärtuste le, kui kasutatakse 18.432 MHz võrdluskella.
Tabel 1-5. Jagaja riiv (LS ja MS)
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 7...0 | DLR | 01h | 01..FFh | Jagaja väärtuse vähim SB |
| 7...0 | DMR | 00h | 00..FFh | Jagaja väärtuse MSB |
Tabel 1-6. 18.432 MHz võrdluskella edastuskiirused ja jagajate väärtused
| Baudi kiirus | Kümnendmurdja (jagaja väärtus) | Protsent viga |
| 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% |
| Baudi kiirus | Kümnendmurdja (jagaja väärtus) | Protsent viga |
| 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% |
Katkestuse lubamise registreerimine (Esita küsimus)
Katkestuste lubamise register on defineeritud järgmises tabelis.
Tabel 1-7. Katkestuste lubamise register
| Bitid | Nimi | Vaikimisi olek | Kehtiv olek | Funktsioon |
| 0 | ERBFI | 0 | 0, 1 | Lubab katkestuse „Vastuvõetud andmete kättesaadavus” 0: Keelatud
1: lubatud |
| 1 | ETBEI | 0 | 0, 1 | Lubab saatja hoidmisregistri tühja katkestuse 0: Keelatud
1: lubatud |
| 2 | ELSI | 0 | 0, 1 | Lubab vastuvõtja liini oleku katkestuse 0: Keelatud
1: lubatud |
| 3 | EDSSI | 0 | 0, 1 | Lubab modemi oleku katkestuse 0: Keelatud
1: lubatud |
| 7...4 | Reserveeritud | 0 | 0 | Alati 0 |
Katkestuste tuvastamise register (Esita küsimus)
Katkestuste identifitseerimisregister on loetletud järgmises tabelis. Tabel 1-8. Katkestuste identifitseerimisregister
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 3...0 | IIR | 1h | 0..Ch | Katkestuse identifitseerimisbitid. |
| 5...4 | Reserveeritud | 00 | 00 | Alati 00 |
| 7...6 | Režiim | 11 | 11 | 11: FIFO-režiim |
Katkestuse identifitseerimise registri väli on määratletud järgmises tabelis.
Tabel 1-9. Katkestuste identifitseerimisregistri väli (IIR)
| IIR-väärtus [3:0] | Prioriteeditase | Katkestuse tüüp | Katkestuse allikas | Katkestuse lähtestamise juhtimine |
| 0110 | Kõrgeim | Vastuvõtja liini olek | Ületäitumise viga, pariteediviga, raamimisviga või katkestus | Liini oleku registri lugemine |
| 0100 | Teiseks | Vastuvõetud andmed on saadaval | Vastuvõtja andmed on saadaval | Vastuvõtja puhverregistri või FIFO lugemine langeb alla käivitustaseme |
| Tabel 1-9. Katkestuste identifitseerimisregistri väli (IIR) (jätkub) | ||||
| IIR-väärtus [3:0] | Prioriteeditase | Katkestuse tüüp | Katkestuse allikas | Katkestuse lähtestamise juhtimine |
| 1100 | Teiseks | Tähemärgi ajalõpu indikaator | Viimase nelja tähemärgi lugemise aja jooksul ei loeta Rx FIFO-st ühtegi tähemärki ja selle aja jooksul oli seal vähemalt üks märk. | Vastuvõtja puhvri registri lugemine |
| 0010 | Kolmandaks | Saatja hoidmisregister on tühi | Saatja hoidmisregister on tühi | IIR-i lugemine või saatja hoidmisregistrisse kirjutamine |
| 0000 | Neljandaks | Modemi olek | Saatmiseks valmis, andmestik valmis, helinaindikaator või andmekandja tuvastamine | Kaasaegse staatuse registri lugemine |
Liinikontrolli register (Esita küsimus)
Liini juhtimise register on loetletud järgmises tabelis. Tabel 1-10. Liini juhtimise register
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 1...0 | WLS | 0 | 0..3h | Sõna pikkuse valik 00: 5 bitti
01: 6 bitti 10: 7 bitti 11: 8 bitti |
| 2 | STB | 0 | 0, 1 | Stoppbittide arv 0: 1 stoppbitt
1: 1½ Stoppbitti, kui WLS = 00 2: Stoppbitti muudel juhtudel |
| 3 | PEN | 0 | 0, 1 | Pariteedi lubamine 0: Keelatud
1: Lubatud. Pariteet lisatakse edastuse ajal ja kontrollitakse vastuvõtmise ajal. |
| 4 | EPS | 0 | 0, 1 | Paarispaarsus Valige 0: Paaritu paarsus
1: Paarisarvus |
| 5 | SP | 0 | 0, 1 | Pulga pariteet 0: Keelatud
1: lubatud Järgnevalt on toodud pariteedi üksikasjad, kui mälupulga pariteet on lubatud: bitid 4..3 11: 0 saadetakse pariteedibitina ja registreeritakse vastuvõtmisel. 01: 1 saadetakse pariteedibitina ja registreeritakse vastuvõtmisel. |
| 6 | SB | 0 | 0, 1 | Määrapaus 0: Keelatud
1: Katkestuse seadistamine. SOUT on sunnitud väärtusele 0. See ei mõjuta saatja loogikat. Katkestus keelatakse, kui bitt on seatud väärtusele 0. |
| 7 | DLAB | 0 | 0, 1 | Jagaja riivi juurdepääsu bitt
0: Keelatud. Kasutusel on tavaline adresseerimisrežiim. 1: Lubatud. Lubab juurdepääsu jagaja lukustusregistritele lugemis- või kirjutamisoperatsiooni ajal aadressidele 0 ja 1. |
Modemi juhtimisregister (Esita küsimus)
Modemi juhtimisregister on loetletud järgmises tabelis.
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 0 | DTR | 0 | 0, 1 | Juhib andmeterminali valmisoleku (DTRn) väljundit. 0: DTRn <= 1
1: DTRn <= 0 |
| 1 | RTS | 0 | 0, 1 | Juhib saatmistaotluse (RTSn) väljundit. 0: RTSn <= 1
1: RTSn <= 0 |
| 2 | Välja1 | 0 | 0, 1 | Juhib signaali Output1 (OUT1n). 0: OUT1n <= 1
1: VÄLJUN1n <= 0 |
| 3 | Välja2 | 0 | 0, 1 | Juhib signaali Output2 (OUT2n). 0: OUT2n <= 1
1: VÄLJUN2n <= 0 |
| 4 | Loop | 0 | 0, 1 | Tsükli lubamise bitt 0: Keelatud
1: Lubatud. Silmusrežiimis toimub järgmine: SOUT on seatud väärtusele 1. SIN, DSRn, CTSn, RIn ja DCDn sisendid on lahti ühendatud. Saatja nihkeregistri väljund suunatakse tagasi vastuvõtja nihkeregistrisse. Modemi juhtväljundid (DTRn, RTSn, OUT1n ja OUT2n) on sisemiselt ühendatud modemi juhtsisenditega ja modemi juhtväljundite tihvtid on seatud väärtusele 1. Loopback-režiimis võetakse edastatud andmed kohe vastu, mis võimaldab protsessoril kontrollida UART-i tööd. Katkestused töötavad silmusrežiimis. |
| 7...4 | Reserveeritud | 0h | 0 | Reserveeritud |
Liini oleku register (Esita küsimus)
Liini oleku register on defineeritud järgmises tabelis.
Tabel 1-12. Liini oleku register – ainult lugemiseks
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 0 | DR | 0 | 0, 1 | Andmete valmisoleku indikaator
1, kui andmebait on vastu võetud ja vastuvõtupuhvrisse või FIFO-sse salvestatud. DR nullitakse väärtusele 0, kui protsessor loeb andmeid vastuvõtupuhvrist või FIFO-st. |
| 1 | OE | 0 | 0, 1 | Ülekoormuse vea indikaator
Näitab, et uus bait võeti vastu enne, kui protsessor selle vastuvõtupuhvrist luges, ja et varasem andmebait on hävitatud. OE tühjendatakse, kui protsessor loeb liini oleku registrit. Kui andmed täidavad FIFO-d üle käivitustaseme, tekib ületäitumise viga, kui FIFO on täis ja järgmine märk on täielikult loetud. Shift-registrisse vastu võetud märk. Shift-registris olev märk kirjutatakse üle, kuid seda ei kanta FIFO-sse. |
| 2 | PE | 0 | 0, 1 | Pariteedi vea indikaator
Näitab, et vastuvõetud baidil oli pariteediviga. PE tühjendatakse, kui protsessor loeb liini oleku registrit. See viga ilmub protsessorile, kui sellega seotud märk on FIFO ülaosas. |
| 3 | FE | 0 | 0, 1 | Kadreerimisvea indikaator
Näitab, et vastuvõetud baidil puudus kehtiv stopp-bitt. FE tühjendatakse, kui protsessor loeb liini oleku registrit. UART proovib pärast kaadriviga uuesti sünkroniseerida. Selleks eeldab see, et kaadriviga oli tingitud järgmisest start-bitist, seega...ampLaadib selle start-biti kaks korda ja hakkab seejärel andmeid vastu võtma. See viga ilmub protsessorile, kui sellega seotud märk on FIFO ülaosas. |
| Tabel 1-12. Liini oleku register – kirjutuskaitstud (jätkub) | ||||
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 4 | BI | 0 | 0, 1 | Katkestuse indikaator
Näitab, et vastuvõetud andmed on 0-s, mis on pikem kui täissõna edastusaeg (algusbitt + andmebitid + paarsus + stopp-bitid). BI tühjendatakse, kui protsessor loeb liini oleku registrit. See viga ilmub protsessorile, kui sellega seotud märk on FIFO ülaosas. Katkestuse korral laaditakse FIFO-sse ainult üks nullmärk. |
| 5 | KOLM | 1 | 0, 1 | Saatja hoidmisregistri tühjuse (THRE) indikaator
Näitab, et UART on valmis uue andmebaidi edastamiseks. THRE põhjustab protsessorile katkestuse, kui katkestuste lubamise registri 1. bitt (ETBEI) on 1. See bitt määratakse, kui TX FIFO on tühi. See tühjendatakse, kui TX FIFO-le on kirjutatud vähemalt üks bait. |
| 6 | TEMT | 1 | 0, 1 | Saatja tühjenemise indikaator
See bitt seatakse väärtusele 1, kui nii saatja FIFO- kui ka Shift-registrid on tühjad. |
| 7 | KÕRGE | 0 | 1 | See bitt määratakse, kui FIFO-s on vähemalt üks pariteediviga, raamimisviga või katkestuse indikaator. FIER tühjendatakse, kui protsessor loeb LSR-i, kui FIFO-s pole järgnevaid vigu. |
Modemi oleku register (Esita küsimus)
Modemi oleku register on loetletud järgmises tabelis.
Tabel 1-13. Modemi oleku register – kirjutuskaitstud
| Bitid | Nimi | Vaikimisi olek | Kehtivad olekud | Funktsioon |
| 0 | DCTS | 0 | 0, 1 | Delta saatmiseks valmis indikaator.
Näitab, et CTSn sisendi olek on pärast viimast CPU-poolset lugemist muutunud. |
| 1 | DDSR | 0 | 0, 1 | Delta andmekogumi valmisoleku indikaator
Näitab, et DSRn-sisendi olek on pärast viimast CPU-poolset lugemist muutunud. |
| 2 | TERI | 0 | 0, 1 | Rõnga tagaserva indikaatori detektor. Näitab, et RI sisend on muutunud 0-lt 1-le. |
| 3 | DDCD | 0 | 0, 1 | Delta andmekandja tuvastamise indikaator Näitab, et DCD-sisendi olek on muutunud.
Märkus: Kui bitt 0, 1, 2 või 3 on seatud väärtusele 1, genereeritakse modemi oleku katkestus. |
| 4 | CTS | 0 | 0, 1 | Kustuta saatmiseks
CTSn sisendi täiend. Kui modemi juhtregistri (MCR) 4. bitt on seatud väärtusele 1 (silmus), on see bitt samaväärne MCR-i DTR-iga. |
| 5 | DSR | 0 | 0, 1 | Andmekomplekt on valmis
DSR-sisendi komplement. Kui MCR-i biti 4 väärtuseks on seatud 1 (silmus), on see bitt samaväärne MCR-i RTSn-iga. |
| 6 | RI | 0 | 0, 1 | Rõnga indikaator
RIN sisendi täiend. Kui MCR-i bitt 4 on seatud väärtusele 1 (silmus), on see bitt samaväärne MCR-i OUT1-ga. |
| 7 | DCD | 0 | 0, 1 | Andmekandja tuvastamine
DCDn sisendi täiendväärtus. Kui MCR-i bitt 4 on seatud väärtusele 1 (silmus), on see bitt samaväärne MCR-i OUT2-ga. |
Kraapimiskass (Esita küsimus)
Scratch-register on defineeritud järgmises tabelis.
| Bitid | Nimi | Vaikimisi olek | Funktsioon |
| 7...0 | SCR | 00h | Protsessori lugemis-/kirjutusregister. UART-i toimimist ei mõjuta. |
Tööriistade vood (esitage küsimus)
See jaotis annab üksikasjalikku teavet tööriistavoogude kohta.
SmartDesign (küsige küsimust)
Core16550 on allalaadimiseks saadaval SmartDesign IP juurutamise disainikeskkonnas. Tuuma konfigureeritakse SmartDesigni konfiguratsiooni graafilise kasutajaliidese abil, vt järgmist joonist.
Lisateavet selle kohta, kuidas SmartDesigni abil tuumade eksemplare luua, konfigureerida, ühendada ja genereerida, leiate SmartDesigni kasutusjuhendist.
Joonis 2-1. Core16550 konfiguratsioon

Simulatsioonivood (Esita küsimus)
Core16550 kasutaja testimiskeskkond on kaasas kõikidesse väljaannetesse.
Simulatsioonide käivitamiseks valige SmartDesignis suvand „User Testbench Flow“ ja klõpsake SmartDesigni menüüs nuppu „Generate Design“. Kasutaja testbench valitakse Core Testbenchi konfiguratsiooni graafilise kasutajaliidese kaudu.
Kui SmartDesign genereerib Libero SoC projekti, installib see kasutaja testpingi. files.
Kasutaja testpingi käivitamiseks määra Libero SoC disainihierarhia paanil disaini juureks Core16550 eksemplar ja klõpsa SoC disainivoo aknas simulatsiooniikoonil. See käivitab ModelSim®-i ja käivitab simulatsiooni automaatselt.
Süntees Libero SoC-s (Esita küsimus)
Klõpsa Libero SoC-s ikooni Synthesis. Ilmub aken Synthesis. Synplify® projekt. Kui Verilogi kasutatakse, seadista Synplify kasutama Verilog 2001 standardit. Synthesis'i käivitamiseks klõpsa ikoonil Run (Käivita).
Koht ja marsruut Libero SoC-s (Esita küsimus)
Kujundusmarsruudi sobivaks määramiseks ja Synthesise käivitamiseks klõpsake Libero SoC-s Layout ikooni ja avage Designer. Core16550 ei vaja mingeid spetsiaalseid asukoha ja marsruudi seadeid.
Core16550 (Esita küsimus)
See jaotis annab teavet selles südamikus kasutatavate parameetrite kohta.
Parameetrid (Esita küsimus)
Core16550 ei toeta ühtegi tipptasemel parameetrit.
Põhiliidesed (Esita küsimus)
See jaotis annab sisendi ja väljundi kokkuvõtte.
I/O signaali kirjeldus (Esita küsimus)
Järgnevalt on loetletud Core16550 I/O definitsioonid.
| Nimi | Tüüp | Polaarsus | Kirjeldus |
| PRESETN | Sisend | Madal | Põhi lähtestamine |
| PCLK | Sisend | — | Meisterkell
PCLK jagatakse jagaja registrite väärtusega. Seejärel jagatakse tulemus 16-ga, et saada baudikiirus. Saadud signaal on BAUDOUT-signaal. Selle viigu tõusvat serva kasutatakse kõigi sisend- ja väljundsignaalide stroboskoopimiseks. |
| KIRJUTA | Sisend | Kõrge | APB kirjutamise/lugemise lubamine, aktiivne-kõrge.
Kui väärtus on KÕRGE, kirjutatakse andmed määratud aadressile. Kui väärtus on MADAL, loetakse andmeid määratud aadressilt. |
| PADDR[4:0] | Sisend | — | APB aadress
See siin annab protsessorile ühenduse Core16550 registri aadressile, kust andmeid lugeda või kuhu kirjutada. |
| PSEL | Sisend | Kõrge | APB valik
Kui see on koos PENABLE-ga kõrge, on Core16550-le lugemine ja kirjutamine lubatud. |
| PWDATA[7:0] | Sisend | — | Andmesisestussiin
Sellel siinil olevad andmed kirjutatakse adresseeritud registrisse kirjutamistsükli ajal. |
| VÕIMALIK | Sisend | Kõrge | APB lubamine
Kui see on koos PSEL-iga kõrge, on Core16550-le lugemine ja kirjutamine lubatud. |
| PRDATA[7:0] | Väljund | — | Andmeväljundsiin
See siin hoiab lugemistsükli ajal adresseeritud registri väärtust. |
| CTSn | Sisend | Madal | Kustuta saatmiseks
See aktiivne-madal signaal on sisend, mis näitab, millal ühendatud seade (modem) on andmete vastuvõtmiseks valmis. Core16550 edastab selle teabe protsessorile modemi oleku registri kaudu. See register näitab ka seda, et kui CTSn-signaal on viimasest korrast alates muutunud, siis registrit loeti. |
| DSRn | Sisend | Madal | Andmekomplekt on valmis
See aktiivne-madal signaal on sisend, mis näitab, millal ühendatud seade (modem) on valmis Core16550-ga ühenduse loomiseks. Core16550 edastab selle teabe protsessorile modemi oleku registri kaudu. See register näitab ka seda, kas DSRn-signaal on pärast registri viimast lugemist muutunud. |
| DCDn | Sisend | Madal | Andmekandja tuvastamine
See aktiivne-madal signaal on sisend, mis näitab, millal ühendatud seade (modem) on kandesageduse tuvastanud. Core16550 edastab selle teabe protsessorile modemi oleku registri kaudu. See register näitab ka seda, kas DCDn-signaal on pärast registri viimast lugemist muutunud. |
| SIN | Sisend | — | Jada sisendandmed
Need andmed edastatakse Core16550-sse. Need on sünkroniseeritud PCLK sisendtihvtiga. |
| RIN | Sisend | Madal | Rõnga indikaator
See aktiivne-madal signaal on sisend, mis näitab, millal ühendatud seade (modem) on telefoniliinil helinasignaali tuvastanud. Core16550 edastab selle teabe protsessorile modemi oleku registri kaudu. See register näitab ka seda, millal RIn tagumine serv tuvastati. |
| SOUT | Väljund | — | Jadaväljundi andmed
Need andmed edastatakse Core16550-st. Need on sünkroniseeritud BAUDOUT väljundtihvtiga. |
| RTSn | Väljund | Madal | Taotlus saata
Seda aktiivse madala taseme väljundsignaali kasutatakse ühendatud seadme (modemi) teavitamiseks, et Core16550 on andmete saatmiseks valmis. Selle programmeerib protsessor modemi juhtregistri kaudu. |
| Tabel 4-1. I/O signaali kokkuvõte (jätkub) | |||
| Nimi | Tüüp | Polaarsus | Kirjeldus |
| DTRn | Väljund | Madal | Andmeterminali valmidus
See aktiivne madal väljundsignaal teavitab ühendatud seadet (modemit), et Core16550 on valmis sideühenduse loomiseks. Selle programmeerib protsessor modemi juhtregistri kaudu. |
| VÄLJAS1n | Väljund | Madal | Väljund 1
See aktiivne madal väljundsignaal on kasutaja määratletud signaal. Protsessor programmeerib selle signaali modemi juhtregistri kaudu ja see seatakse vastupidisele väärtusele. |
| VÄLJAS2n | Väljund | Madal | Väljund 2
See aktiivne madal väljundsignaal on kasutaja määratletud signaal. Selle programmeerib protsessor modemi juhtregistri kaudu ja see seatakse vastupidisele väärtusele. programmeeritud. |
| INTR | Väljund | Kõrge | Katkestus ootel
See aktiivse kõrge väljundsignaal on Core16550 katkestuse väljundsignaal. See on programmeeritud teatud sündmuste korral aktiivseks muutuma, teavitades protsessorit sellise sündmuse toimumisest (lisateavet leiate katkestuste tuvastamise registrist). Seejärel võtab protsessor vajalikud toimingud. |
| BAUDOUTn | Väljund | Madal | Baud välja
See on väljundkella signaal, mis tuletatakse sisendkella signaalist SOUT-i andmevoo sünkroniseerimiseks. |
| RXRDYN | Väljund | Madal | Vastuvõtja on edastuste vastuvõtmiseks valmis.
See aktiivne madal väljundsignaal näitab protsessorit, et Core16550 vastuvõtja osa on andmete lugemiseks saadaval. |
| TXRDYN | Väljund | Madal | Saatja on andmete edastamiseks valmis.
See aktiivne madal signaal näitab protsessorile, et Core16550 saatjaosal on ruumi andmete kirjutamiseks edastamiseks. |
| rxfifo_tühi | Väljund | Kõrge | Saage FIFO tühjana.
See signaal läheb kõrgeks, kui vastuvõtu-FIFO on tühi. |
| rxfifo_full | Väljund | Kõrge | Saage FIFO täielikult.
See signaal läheb kõrgeks, kui vastuvõtu-FIFO on täis. |
Ajastusskeemid (küsige küsimust)
Selles jaotises on esitatud selle südamiku ajastusskeemid.
Andmete kirjutamise tsükkel ja andmete lugemise tsükkel (esitage küsimus)
Joonis 5-1 ja joonis 5-2 kujutavad kirjutamis- ja lugemistsükli ajastuse seoseid APB süsteemikella, PCLK, suhtes.
Registreeru Kirjuta (Esita küsimus)
Järgmisel joonisel on näidatud, et Address, Select ja Enable signaalid on lukustatud ning peavad kehtima enne PCLK tõusvat serva. Kirjutamine toimub PCLK signaali tõusval serval.
Registreeru Loe (Esita küsimus)
Järgmisel joonisel on näidatud, et aadressi-, valiku- ja lubamissignaalid on lukustatud ning peavad kehtima enne PCLK tõusvat serva. Lugemine toimub PCLK signaali tõusval serval.
Kirjelduste ja ajastuslainekujude kohta leiate lisateavet AMBA spetsifikatsioonist.
Vastuvõtja sünkroniseerimine (Esita küsimus)
Kui vastuvõtja tuvastab sissetulevas andmevoos madala oleku, sünkroniseerub see sellega. Pärast algusserva ootab UART 1.5 × (tavaline biti pikkus). See põhjustab iga järgneva biti lugemise selle laiuse keskelt. Järgmine joonis kujutab seda sünkroniseerimisprotsessi.
Joonis 5-3. Vastuvõtja sünkroniseerimine
Testpingi toimimine (Esita küsimus)
Core16550-ga on kaasas ainult üks testimiskeskkond: Verilogi kasutaja testimiskeskkond. See on hõlpsasti kasutatav testimiskeskkond, mis on kirjutatud Verilogis. See testimiskeskkond on mõeldud kliendipoolseks muutmiseks.
Kasutajate testimiskeskkond (Esita küsimus)
Järgmisel joonisel on kujutatud ex plokkskeemampkasutajadisain ja testpink.
Joonis 6-1. Core16550 kasutaja testpink
Kasutaja testpink sisaldab lihtsat näidetampkujundus, mis on viide kasutajatele, kes soovivad oma kujundusi rakendada.
Testimispink näiteksampNäiteks kasutaja disain rakendab verifitseerimistestil testitud funktsionaalsuse alamhulka, lisateabe saamiseks vaadake jaotist Kasutajatest. Kontseptuaalselt, nagu on näidatud joonisel 6-1, simuleeritakse Core16550 eksemplari loomist käitumusliku mikrokontrolleri ja simuleeritud tagasihelistamise ühenduse abil. NäiteksampNäiteks demonstreerib kasutaja testpink sama Core16550 seadme saatmist ja vastuvõtmist, nii et saate põhiteadmised selle südamiku kasutamisest.
Kasutaja testpink demonstreerib Core16550 põhiseadistamist, saatmis- ja vastuvõtutoiminguid. Kasutaja testpink teeb järgmised sammud:
- Kirjutage juhtregistritesse.
- Kontrollige vastuvõetud andmeid.
- Lülitage saatmine ja vastuvõtt sisse.
- Loe juhtregistreid.
- Edasta ja võta vastu üks bait.
Seadme kasutamine ja jõudlus (küsige küsimust)
Järgmises tabelis on loetletud Core16550 kasutus- ja jõudlusandmed. Tabel 7-1. Core16550 kasutus- ja jõudlusandmed PolarFire'is ja PolarFire SoC-is
| Seadme üksikasjad | Vahendid | RAM | |||
| Perekond | Seade | 4LUT | DFF | Loogika elemendid | μSRAM |
| PolarFire® | MPF100T-FCSG325I | 752 | 284 | 753 | 2 |
| PolarFire® kiibistik | 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- standardvarustus | 1163 | 243 | 1406 | 2 |
| IGLOO®/IGLU | AGL600- STD/AGLE600 V2 | 1010 | 237 | 1247 | 2 |
| Fusioon | 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 |
| Kiirendaja® | AX125-STD | 608 | 229 | 837 | 2 |
Lahendatud probleemid (Esita küsimus)
Järgmises tabelis on loetletud kõik lahendatud probleemid erinevate Core16550 versioonide puhul.
Tabel 8-1. Lahendatud probleemid
| Versioon | Muudatused |
| v3.4 | Core16550 kasutab registri nimena süsteemi Verilogi märksõna „break“, mis põhjustas süntaksivea. See on parandatud märksõna teise nimega asendamisega. Lisatud PolarFire® perekonna tugi |
Läbivaatamise ajalugu (küsige küsimust)
Redaktsiooniajalugu kirjeldab dokumendis rakendatud muudatusi. Muudatused on loetletud redaktsioonide kaupa, alustades kõige värskemast väljaandest.

Mikrokiibi FPGA tugi
Microchip FPGA tootegrupp toetab oma tooteid erinevate tugiteenustega, sealhulgas klienditeenindus, klienditeenindus, klienditeenindus, a webveebisait ja ülemaailmsed müügiesindused. Klientidel soovitatakse enne toega ühenduse võtmist külastada Microchipi veebiressursse, kuna on väga tõenäoline, et nende küsimustele on juba vastatud.
Võtke ühendust tehnilise toe keskusega läbi websait aadressil www.microchip.com/support Mainige FPGA seadme osa number, valige sobiv korpuse kategooria ja laadige üles kujundus files tehnilise toe juhtumi loomisel.
Võtke ühendust klienditeenindusega mittetehnilise tootetoe saamiseks, nagu toote hind, tooteuuendused, värskendusteave, tellimuse olek ja autoriseerimine.
- Põhja-Ameerikast helistage numbril 800.262.1060 XNUMX XNUMX
- Ülejäänud maailmast helistage numbril 650.318.4460 XNUMX XNUMX
- Faks kõikjalt maailmast, 650.318.8044 XNUMX XNUMX
Mikrokiibi teave
Kaubamärgid
Mikrokiibi nimi ja logo, M-logo ja muud nimed, logod ja kaubamärgid on ettevõtte Microchip Technology Incorporated või selle sidus- ja/või tütarettevõtete registreeritud ja registreerimata kaubamärgid Ameerika Ühendriikides ja/või teistes riikides (“Microchip” Kaubamärgid”). Teavet mikrokiibi kaubamärkide kohta leiate aadressilt https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN:
Õiguslik teade
- Seda väljaannet ja siin olevat teavet võib kasutada ainult Microchipi toodetega, sealhulgas Microchipi toodete kavandamiseks, testimiseks ja integreerimiseks teie rakendusega. Selle teabe kasutamine
mis tahes muul viisil rikub neid tingimusi. Teave seadme rakenduste kohta on esitatud ainult teie mugavuse huvides ja selle võivad asendada värskendused. Teie vastutate selle eest, et teie rakendus vastaks teie spetsifikatsioonidele. Täiendava toe saamiseks võtke ühendust kohaliku Microchipi müügiesindusega või hankige täiendavat tuge aadressil www.microchip.com/en-us/support/design-help/client-support-services - SELLE TEABE ESITAB MIKROKIIP „NAGU ON”. MICROCHIP EI ANNA MINGI SELGITUSLIKU VÕI KAUDSE, KIRJALIKKU VÕI SUULI, KOHUSTUSLIKULT VÕI MUUL SELGITUSI EGA GARANTIID, MIS SEOTUD TEABEGA, KAASA, KUID MITTE PIIRATUD, KAUDSETE GARANTIIDEGA. SOBIVUS KONKREETSEKS EESMÄRGIKS VÕI SELLE SEISUKORDI, KVALITEEDI VÕI TOIMIVUSEGA SEOTUD GARANTIID.
- MICROCHIP EI VASTUTA MINGIL JUHUL KAUDSETE, ERILISTE, KARISTUSLIKE, JUHUSLIKE VÕI TEGEVUSEST TULENEVATE KAOTUSTE, KULUDE VÕI VÄLJAMINEKUTE EEST, MIS ON SEOTUD INFO VÕI SELLE KASUTAMISEGA, OLENEMATA NENDE PÕHJUSTAMISE KUJUL, ISEGI KUI MICROCHIPi ON SELLEST VÕIMALIKKUSEST TEAVITATUD VÕI KAHJUD ON ETTE NÄHTAVAD. SEADUSEGA LUBATUD MAKSIMAALSES ULATUSES EI ÜLETA MICROCHIPi KOGUVASTUTUS KÕIGI INFO VÕI SELLE KASUTAMISEGA SEOTUD NÕUETEGA ESITATUD TASUD SUMMA, MILLE OLETE MICROCHIPile INFO EEST OTSE MAKSNUD.
- Microchipi seadmete kasutamine elu toetavates ja/või ohutusrakendustes on täielikult ostja vastutusel ning ostja nõustub kaitsma, hüvitama ja kahjutuks hoidma Microchipi sellisest kasutamisest tulenevate kahjude, nõuete, hagide või kulude eest. Mikrokiibi intellektuaalomandi õiguste alusel ei edastata litsentse, ei kaudselt ega muul viisil, kui pole öeldud teisiti.
Mikrokiibi seadmete koodikaitse funktsioon
Pange tähele järgmisi Microchipi toodete koodikaitse funktsiooni üksikasju:
- Mikrokiibi tooted vastavad nende konkreetsel mikrokiibi andmelehel sisalduvatele spetsifikatsioonidele.
- Microchip usub, et selle tooteperekond on turvaline, kui seda kasutatakse ettenähtud viisil, tööspetsifikatsioonide piires ja tavatingimustes.
- Mikrokiip väärtustab ja kaitseb agressiivselt oma intellektuaalomandi õigusi. Katsed rikkuda Microchipi toodete koodikaitse funktsioone on rangelt keelatud ja võivad rikkuda Ameerika Ühendriikide autorikaitse seadust.
- Ei Microchip ega ükski teine pooljuhtide tootja ei saa garanteerida oma koodi turvalisust. Koodikaitse ei tähenda, et me garanteerime, et toode on purunematu. Koodikaitse areneb pidevalt. Microchip on pühendunud oma toodete koodikaitsefunktsioonide pidevale täiustamisele.
Kasutusjuhend
© 2025 Microchip Technology Inc. ja tema tütarettevõtted
Dokumendid / Ressursid
![]() |
MICROCHIP Core16550 universaalne asünkroonne vastuvõtja-saatja [pdfKasutusjuhend v3.4, v3.3, Core16550 universaalne asünkroonne vastuvõtja-saatja, Core16550, universaalne asünkroonne vastuvõtja-saatja, asünkroonne vastuvõtja-saatja, vastuvõtja-saatja, saatja |
