MICROCHIP Core16550 univerzális aszinkron vevő-adó

Bevezetés
A Core16550 egy szabványos univerzális aszinkron vevő-adó (UART), amely szoftverkompatibilitást biztosít a széles körben használt 16550-es eszközzel. Kezeli a modemekből vagy más soros eszközökből érkező bemenetek soros-párhuzamos adatátalakítását, és párhuzamos-soros átalakítást végez a CPU-ról ezekre az eszközökre küldött adatok esetében.
Átvitel során az adatok párhuzamosan íródnak az UART adó FIFO (First-In, First-Out) pufferébe. Az adatokat ezután sorosítják a kimenethez. Fogadáskor az UART a bejövő soros adatokat párhuzamossá alakítja, és lehetővé teszi a processzor számára a könnyű hozzáférést.
A 16550 UART egy tipikus alkalmazását a következő ábra szemlélteti.
1. ábra. Tipikus 16550-es alkalmazás
1. táblázat. Core16550 összefoglaló

Főbb jellemzők
A Core16550 főbb jellemzői a következők:
- Az adó és a vevő egyaránt akár 16 bájtos FIFO-kkal van pufferelve, hogy csökkentse a CPU-nak küldött megszakítások számát.
- Hozzáadja vagy eltávolítja a szabványos aszinkron kommunikációs biteket (Start, Stop és Paritás).
- Függetlenül vezérelt átviteli, vételi, vonalállapot- és adatkészlet-megszakítások
- Programozható baud generátor
- Modemvezérlő funkciók (CTSn, RTSn, DSRn, DTRn, RIn és DCDn).
- Advanced Peripheral Bus (APB) regiszter interfész
Megszűnt funkciók
A nagyon nagy sebességű integrált áramkör (VHSIC) hardverleíró nyelv (VHDL) támogatása ettől a verziótól kezdve megszűnik.
Core16550 változásnapló-információk
Ez a rész átfogó áttekintést nyújtview az újonnan beépített funkciókról, a legújabb kiadástól kezdve.
| Változat | Újdonságok |
| Core16550 v3.4 | A Core16550 a rendszer verilog kulcsszavát, a „break”-et használja regiszternévként, ami szintaktikai hibát okozott. A kulcsszót egy másik névvel helyettesítettük a probléma megoldása érdekében.
Hozzáadott PolarFire® családtámogatás |
| Core16550 v3.3 | Sugárzástűrő FPGA (RTG4™) családtámogatás hozzáadva |
- Funkcionális blokk leírása (Kérdés feltevése)
Ez a szakasz a belső blokkdiagram minden egyes elemének rövid leírását tartalmazza, ahogyan az a következő ábrán látható.
1-1. ábra: Core16550 blokkdiagram

A belső blokkdiagram elemei (Tegyen fel egy kérdést)
A következő szakasz a belső blokkdiagram elemeiről nyújt információkat.
- RWControl (Kérdés feltevése)
Az RWControl blokk felelős a rendszer processzor (párhuzamos) oldalával folytatott kommunikáció kezeléséért. A belső regiszterek minden írása és olvasása ezen a blokkon keresztül történik. - UART_Reg (Kérdés feltevése)
Az UART_Reg blokk tartalmazza az eszköz összes belső regiszterét. - RXBlock (Kérdés feltevése)
Ez a vevőblokk. Az RXBlock fogadja a bejövő soros szót. Programozható úgy, hogy felismerje az adatszélességeket, például 5, 6, 7 vagy 8 bitet; a különböző paritásbeállításokat, például páros, páratlan vagy nincs paritás; és a különböző stopbiteket, például 1, 1½ és 2 bitet. Az RXBlock ellenőrzi a bemeneti adatfolyam hibáit, például túlcsordulási hibákat, kerethibákat, paritáshibákat és törési hibákat. Ha a bejövő szóval nincsenek problémák, akkor a vevő FIFO-jába kerül. - Megszakításvezérlés (Kérdés feltevése)
A megszakításvezérlő blokk megszakításjelet küld vissza a processzornak, a FIFO állapotától, valamint a fogadott és továbbított adatoktól függően. A megszakításazonosító regiszter biztosítja a megszakítás szintjét. Megszakításokat küld a rendszer üres átviteli/fogadási pufferek (vagy FIFO-k), karakterfogadási hiba vagy egyéb, a processzor figyelmét igénylő körülmények esetén. - Baud sebességgenerátor (Tegyen fel kérdést)
Ez a blokk a PCLK bemenetet egy programozott értékkel osztja (1-től 216-ig – 1). Az eredményt 16-tal osztja, így jön létre az átviteli órajel (BAUDOUT). - TXBlock (Kérdés feltevése)
Az átviteli blokk kezeli az átviteli FIFO-ra írt adatok átvitelét. Hozzáadja a szükséges Start, Paritás és Stop biteket az átvitt adatokhoz, hogy a fogadó eszköz elvégezhesse a megfelelő hibakezelést és fogadást.
Szoftverfelület (Kérdés feltevése)
A Core16550 regiszterdefinícióit és címleképezéseit ez a szakasz ismerteti. Az alábbi táblázat a Core16550 regisztereinek összefoglalását mutatja.
| PADDR[4:0]
(Cím) |
Osztó retesz hozzáférési bit1
(DLAB) |
Név | Szimbólum | Alapértelmezett (visszaállítás) érték | Bitek száma | Olvasni/Írni |
| 00 | 0 | Vevő pufferregiszter | RBR | XX | 8 | R |
| 00 | 0 | Adó nyilvántartás | THR | XX | 8 | W |
| 00 | 1 | Osztó retesz (LSB) | DLR | 01 óra | 8 | R/W |
| 04 | 1 | Osztó retesz (MSB) | DMR | 00 óra | 8 | R/W |
| 04 | 0 | Megszakítás engedélyezése Regisztráció | IER | 00 óra | 8 | R/W |
| 08 | X | Megszakításazonosító regiszter | IIR | C1h | 8 | R |
| 08 | X | FIFO ellenőrzési nyilvántartás | FCR | 01 óra | 8 | W |
| 0C | X | Vonalvezérlő regiszter | LCR | 00 óra | 8 | R/W |
| 10 | X | Modemvezérlő regiszter | MCR | 00 óra | 8 | R/W |
| 14 | X | Vonalállapot-regiszter | LSR | 60 óra | 8 | R |
| 18 | X | Modem állapotregiszter | MSR | 00 óra | 8 | R |
| 1C | X | Kaparós pénztárgép | SR | 00 óra | 8 | R/W |
Fontos
A DLAB a vonalvezérlő regiszter (LCR 7. bit) MSB-je.
Vevő puffer regiszter (Kérdés feltevése)
A Receiver Buffer regisztert a következő táblázat definiálja.
1-2. táblázat: Vevő pufferregiszter (csak olvasható) – Cím: 0, DLAB: 0
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 7..0 | RBR | XX | 0..FFh | Fogadott adatbitek. A 0. bit az LSB, és ez az első fogadott bit. |
Adó holding regiszter (Kérdés feltevése)
Az adó tárolóregiszterét a következő táblázat definiálja.
1-3. táblázat: Adó holding regiszter – csak írásra
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 7..0 | THR | XX | 0..FFh | Adatbitek továbbításához. A 0. bit az LSB, és először kerül átvitelre. |
FIFO vezérlőregiszter (Kérdés feltevése)
A FIFO vezérlőregiszter definíciója a következő táblázatban található.
| Bitek (7:0) | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 0 | 1 | 0, 1 | Engedélyezi mind az adó-vevő (Tx), mind a vevő (Rx) FIFO-it. Ezt a bitet 1-re kell állítani, ha más FCR biteket írunk rá, különben azok nem lesznek programozva.
0: Letiltva 1: Engedélyezve |
| 1 | 0 | 0, 1 | Törli az összes bájtot az Rx FIFO-ban és visszaállítja a számláló logikáját. A Shift regiszter nem törlődik.
0: Letiltva 1: Engedélyezve |
| 2 | 0 | 0, 1 | Törli az összes bájtot a Tx FIFO-ban és visszaállítja a számláló logikáját. A Shift regiszter nem törlődik.
0: Letiltva 1: Engedélyezve |
| 3 | 0 | 0, 1 | 0: Egyszeri átvitel DMA: CPU buszciklusok között végrehajtott átvitel
1: Többszörös átutalásos DMA: Az átutalások addig történnek, amíg az Rx FIFO ki nem ürül, vagy az átviteli rendszerirányító (TSO) küldési (XMIT) FIFO be nem telik. Az FCR[0] értékét 1-re kell állítani ahhoz, hogy az FCR[3] értéke 1 legyen. |
| 4, 5 | 0 | 0, 1 | Fenntartva későbbi használatra. |
| 6, 7 | 0 | 0, 1 | Ezekkel a bitekkel állíthatjuk be az Rx FIFO megszakítás triggerszintjét. 7 6 Rx FIFO triggerszint (bájt)
0 0 01 0 1 04 1 0 08 1 1 14 |
Az osztó vezérlőregiszterek (Tegyen fel egy kérdést)
A baud sebesség (BR) órajelét a bemeneti referencia órajel (PCLK) 16-tal való osztásával, majd az osztó értékének megadásával generáljuk.
A következő táblázat egy példát mutat beampAz osztóértékek száma a kívánt BR-hez 18.432 MHz-es referencia órajel használata esetén.
1-5. táblázat: Osztó retesz (LS és MS)
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 7..0 | DLR | 01 óra | 01..FFh | Az osztóérték legkisebb SB-je |
| 7..0 | DMR | 00 óra | 00..FFh | Az osztóérték MSB-je |
1-6. táblázat. Átviteli sebességek és osztóértékek 18.432 MHz-es referencia órajelhez
| Baud Rate | Tizedes osztó (osztóérték) | Százalékos hiba |
| 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 Rate | Tizedes osztó (osztóérték) | Százalékos hiba |
| 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% |
Megszakítás engedélyezése regisztráció (Kérdés feltevése)
A megszakításengedélyező regisztert a következő táblázat definiálja.
1-7. táblázat Megszakításengedélyező regiszter
| Bitok | Név | Alapértelmezett állapot | Érvényes állapot | Funkció |
| 0 | ERBFI | 0 | 0, 1 | Engedélyezi a „Fogadott adatok elérhetősége megszakítás” funkciót 0: Letiltva
1: Engedélyezve |
| 1 | ETBEI | 0 | 0, 1 | Engedélyezi az „Adó tartóregiszter üres megszakítását” 0: Letiltva
1: Engedélyezve |
| 2 | ELSI | 0 | 0, 1 | Engedélyezi a „Vevővonal állapotának megszakítását” 0: Letiltva
1: Engedélyezve |
| 3 | EDSSI | 0 | 0, 1 | Engedélyezi a „Modem állapotmegszakítását” 0: Letiltva
1: Engedélyezve |
| 7..4 | Fenntartott | 0 | 0 | Mindig 0 |
Megszakítási azonosító nyilvántartás (Kérdés feltevése)
A megszakításazonosító regiszter a következő táblázatban látható. 1-8. táblázat: Megszakításazonosító regiszter
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 3..0 | IIR | 1h | 0..Cs | Megszakításazonosító bitek. |
| 5..4 | Fenntartott | 00 | 00 | Mindig 00 |
| 7..6 | Mód | 11 | 11 | 11: FIFO mód |
A Megszakításazonosító regiszter mezőjét a következő táblázat definiálja.
1-9. táblázat: Megszakításazonosító regiszter mező (IIR)
| IIR érték [3:0] | Prioritási szint | Megszakítás típusa | Megszakítási forrás | Megszakítás-visszaállítás vezérlése |
| 0110 | Legmagasabb | Vevővonal állapota | Túlcsordulási hiba, paritáshiba, keretezési hiba vagy megszakítás megszakítása | A vonalállapot-regiszter olvasása |
| 0100 | Második | Fogadott adatok elérhetők | Vevő adatai elérhetők | A vevő pufferregiszterének vagy a FIFO-nak az olvasása a triggerszint alá esik. |
| Táblázat 1-9. Megszakításazonosító regiszter mező (IIR) (folytatás) | ||||
| IIR érték [3:0] | Prioritási szint | Megszakítás típusa | Megszakítási forrás | Megszakítás-visszaállítás vezérlése |
| 1100 | Második | Karakter időtúllépés jelzése | Az elmúlt négy karakteres beolvasás során nem történt karakter beolvasás az Rx FIFO-ból, pedig ez idő alatt legalább egy karakter volt benne. | A vevő puffer regiszterének olvasása |
| 0010 | Harmadik | Az adó holder regisztere üres | Az adó holder regisztere üres | IIR olvasása vagy írás az adó tartásregiszterébe |
| 0000 | Negyedik | Modem állapota | Küldésre kész, Adatkészlet kész, Csengésjelző vagy Adathordozó észlelése | A modern státusznyilvántartás olvasása |
Vonalvezérlő regiszter (Kérdés feltevése)
A vonalvezérlő regiszter a következő táblázatban látható. 1-10. táblázat: Vonalvezérlő regiszter
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 1..0 | WLS | 0 | 0..3 óra | Szóhossz kiválasztása 00: 5 bit
01:6 bit 10:7 bit 11:8 bit |
| 2 | STB | 0 | 0, 1 | Stopbitek száma 0: 1 Stopbit
1: 1½ Stopbit, ha WLS = 00 2: Stopbit egyéb esetekben |
| 3 | TOLL | 0 | 0, 1 | Paritás engedélyezése 0: Letiltva
1: Engedélyezett. A paritás átvitelkor hozzáadódik, vételkor pedig ellenőriződik. |
| 4 | EPS | 0 | 0, 1 | Páros paritás Válassza a 0-t: Páratlan paritás
1: Páros paritás |
| 5 | SP | 0 | 0, 1 | Stick paritás 0: Letiltva
1: Engedélyezve A paritás részletei a következők, ha a stick paritás engedélyezve van: 4..3. bitek 11: A 0 paritásbitként kerül elküldésre, és vételkor ellenőrzésre. 01: A 1 paritásbitként kerül elküldésre, és vételkor ellenőrzésre. |
| 6 | SB | 0 | 0, 1 | 0. szett megszakítás: Letiltva
1: Szünet beállítása. A SOUT értéke 0. Ennek nincs hatása az adó logikájára. A szünet letiltható a bit 0-ra állításával. |
| 7 | DLAB | 0 | 0, 1 | Osztó retesz hozzáférési bit
0: Letiltva. Normál címzési mód van használatban. 1: Engedélyezett. Lehetővé teszi az Divisor Latch regiszterekhez való hozzáférést olvasás vagy írás közben a 0 és 1 címekre. |
Modemvezérlő regiszter (Kérdés feltevése)
A Modem Control regiszter a következő táblázatban látható.
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 0 | DTR | 0 | 0, 1 | Az Adatterminál Kész (DTRn) kimenetet vezérli. 0: DTRn <= 1
1: DTRn <= 0 |
| 1 | RTS | 0 | 0, 1 | A küldési kérelem (RTSn) kimenetét vezérli. 0: RTSn <= 1
1: RTSn <= 0 |
| 2 | Out1 | 0 | 0, 1 | Az Output1 (OUT1n) jelet vezérli. 0: OUT1n <= 1
1: KI1n <= 0 |
| 3 | Out2 | 0 | 0, 1 | Az Output2 (OUT2n) jelet vezérli. 0: OUT2n <= 1
1: KI2n <= 0 |
| 4 | Hurok | 0 | 0, 1 | Hurokengedélyező bit 0: Letiltva
1: Engedélyezve. Hurok módban a következő történik: Az SOUT értéke 1. A SIN, DSRn, CTSn, RIn és DCDn bemenetek le vannak választva. Az adó-eltolódási regiszter kimenete visszakerül a vevő-eltolódási regiszterbe. A modem vezérlőkimenetei (DTRn, RTSn, OUT1n és OUT2n) belsőleg a modem vezérlőbemeneteihez vannak csatlakoztatva, és a modem vezérlőkimenetei 1-re vannak állítva. Loopback módban az átvitt adatokat azonnal fogadja, lehetővé téve a CPU számára az UART működésének ellenőrzését. A megszakítások Loop módban működnek. |
| 7..4 | Fenntartott | 0h | 0 | Fenntartott |
Vonalállapot-nyilvántartás (Kérdés feltevése)
A Vonalállapot regiszter definíciója a következő táblázatban található.
1-12. táblázat: Vonalállapot-regiszter – Csak olvasható
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 0 | DR | 0 | 0, 1 | Adatkész jelző
1, ha egy adatbájt fogadásra és tárolásra került a vételi pufferben vagy a FIFO-ban. A DR 0-ra törlődik, amikor a CPU beolvassa az adatokat a vételi pufferből vagy a FIFO-ból. |
| 1 | OE | 0 | 0, 1 | Túllépési hibajelző
Azt jelzi, hogy az új bájtot a CPU még a fogadó pufferből való beolvasás előtt fogadta, és hogy a korábbi adatbájt megsemmisült. Az OE törlődik, amikor a CPU beolvassa a vonal állapot regiszterét. Ha az adatok a trigger szint felett is feltöltik a FIFO-t, túlcsordulási hiba történik, miután a FIFO megtelt, és a következő karakter teljesen beírásra került. fogadott a Shift regiszterben. A Shift regiszterben lévő karakter felülíródik, de nem kerül át a FIFO regiszterbe. |
| 2 | PE | 0 | 0, 1 | Paritáshiba-jelző
Azt jelzi, hogy a fogadott bájt paritáshibát tartalmazott. A PE törlődik, amikor a CPU beolvassa a vonal állapot regiszterét. Ez a hiba akkor jelenik meg a CPU számára, amikor a hozzá tartozó karakter a FIFO tetején van. |
| 3 | FE | 0 | 0, 1 | Képkocka-hibajelző
Azt jelzi, hogy a vett bájt nem tartalmazott érvényes Stop bitet. Az FE törlődik, amikor a CPU beolvassa a Line Status regisztert. Az UART megpróbál újraszinkronizálódni egy keretezési hiba után. Ehhez feltételezi, hogy a keretezési hiba a következő Start bit miatt volt, ezért...ampkétszer lefuttatja ezt a start bitet, majd megkezdi az adatok fogadását. Ez a hiba akkor jelenik meg a CPU számára, amikor a hozzá tartozó karakter a FIFO tetején van. |
| 1-12. táblázat. Vonalállapot-regiszter – Csak olvasható (folytatás) | ||||
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 4 | BI | 0 | 0, 1 | Megszakításjelző
Azt jelzi, hogy a fogadott adat 0-nál van, ami hosszabb, mint egy teljes szó átviteli ideje (Start bit + Adatbitek + Paritás + Stop bitek). A BI törlődik, amikor a CPU beolvassa a Vonal Állapot regisztert. Ez a hiba akkor jelenik meg a CPU számára, amikor a hozzá tartozó karakter a FIFO tetején van. Szakítás esetén csak egy nulla karakter töltődik be a FIFO-ba. |
| 5 | THRE | 1 | 0, 1 | Adó tartóregiszter üres (THRE) jelzőfény
Azt jelzi, hogy az UART készen áll egy új adatbájt továbbítására. A THRE megszakítást okoz a CPU-nak, amikor az Interrupt Enable regiszter 1. bitjének (ETBEI) értéke 1. Ez a bit akkor állítódik be, amikor a TX FIFO üres. Törlődik, amikor legalább egy bájtot írnak a TX FIFO-ra. |
| 6 | TEMT | 1 | 0, 1 | Adó üres jelző
Ez a bit 1-re van állítva, ha mind az adó FIFO, mind a Shift regisztere üres. |
| 7 | TŰZ | 0 | 1 | Ez a bit akkor állítódik be, ha legalább egy paritáshiba, keretezési hiba vagy törésjelzés van a FIFO-ban. A FIER törlődik, amikor a CPU beolvassa az LSR-t, ha nincsenek további hibák a FIFO-ban. |
Modem állapotregisztráció (Kérdés feltevése)
A Modem állapotregisztere a következő táblázatban látható.
1-13. táblázat: Modem állapotregiszter – csak olvasható
| Bitok | Név | Alapértelmezett állapot | Érvényes állapotok | Funkció |
| 0 | DCTS | 0 | 0, 1 | Delta Küldés engedélyezett jelző.
Azt jelzi, hogy a CTSn bemenet állapota megváltozott a CPU általi utolsó olvasás óta. |
| 1 | DDSR | 0 | 0, 1 | Delta adatkészlet kész jelző
Azt jelzi, hogy a DSRn bemenet állapota megváltozott a CPU általi utolsó olvasás óta. |
| 2 | TERI | 0 | 0, 1 | Gyűrű lejtőélének jelződetektora. Azt jelzi, hogy az RI bemenet 0-ról 1-re változott. |
| 3 | DDCD | 0 | 0, 1 | Delta adatvivő-észlelés jelzője Azt jelzi, hogy a DCD bemenet állapota megváltozott.
Megjegyzés: Amikor a 0., 1., 2. vagy 3. bit értéke 1, modem állapotmegszakítás generálódik. |
| 4 | CTS | 0 | 0, 1 | Tiszta küldés
A CTSn bemenet komplementere. Amikor a Modem Control Register (MCR) 4. bitje 1-re van állítva (hurok), ez a bit egyenértékű az MCR DTR-jével. |
| 5 | DSR | 0 | 0, 1 | Az adatkészlet készen áll
A DSR bemenet komplementere. Amikor az MCR 4. bitje 1-re van állítva (hurok), ez a bit egyenértékű az MCR RTSn-jével. |
| 6 | RI | 0 | 0, 1 | Gyűrű jelző
Az RIn bemenet komplementere. Amikor az MCR 4. bitje 1-re van állítva (hurok), ez a bit egyenértékű az MCR OUT1-gyel. |
| 7 | DCD | 0 | 0, 1 | Adathordozó észlelése
A DCDn bemenet komplementere. Amikor az MCR 4. bitje 1-re van állítva (hurok), ez a bit egyenértékű az MCR OUT2-jével. |
Kaparós pénztárgép (Tegyen fel egy kérdést)
A Scratch regiszter definícióját a következő táblázat tartalmazza.
| Bitok | Név | Alapértelmezett állapot | Funkció |
| 7..0 | SCR | 00 óra | CPU olvasási/írási regiszter. Nincs hatással az UART működésére. |
Eszközfolyamatok (Kérdés feltevése)
Ez a szakasz részletesen ismerteti az eszközfolyamatokat.
SmartDesign (Tegyen fel egy kérdést)
A Core16550 letölthető a SmartDesign IP telepítési tervezési környezetből. A mag a SmartDesign konfigurációs grafikus felhasználói felületén keresztül konfigurálható, lásd a következő ábrát.
A SmartDesign használatával történő példányosítással, konfigurálással, csatlakoztatással és magok generálásával kapcsolatos információkért lásd a SmartDesign felhasználói útmutatót.
2-1. ábra: Core16550 konfiguráció

Szimulációs folyamatok (Tegyen fel kérdést)
A Core16550 felhasználói tesztpadja minden kiadásban megtalálható.
Szimulációk futtatásához válassza a Felhasználói tesztpad folyamata lehetőséget a SmartDesignon belül, majd kattintson a Terv generálása lehetőségre a SmartDesign menüben. A felhasználói tesztpad a Core Testbench konfigurációs grafikus felhasználói felületén választható ki.
Amikor a SmartDesign létrehozza a Libero SoC projektet, telepíti a felhasználói tesztpadot. files.
A felhasználói tesztkörnyezet futtatásához állítsd be a tervezési gyökeret a Core16550 példányosításra a Libero SoC tervezési hierarchia panelen, majd kattints a Szimuláció ikonra a SoC tervezési folyamat ablakban. Ez meghívja a ModelSim®-et, és automatikusan futtatja a szimulációt.
Szintézis Libero SoC-ban (Tegyen fel kérdést)
Kattintson a Synthesis ikonra a Libero SoC-ban. Megjelenik a Synthesis ablak. A Synplify® projekt. Állítsa be a Synplify-t a Verilog 2001 szabvány használatára, ha Verilogot használ. A Synthesis futtatásához kattintson a Futtatás ikonra.
Hely és útvonal Libero SoC-ban (Kérdés feltevése)
A tervezési útvonal megfelelő beállításához és a Synthesis futtatásához kattintson a Libero SoC Layout ikonjára, és indítsa el a Designer programot. A Core16550 nem igényel semmilyen speciális hely- és útvonalbeállítást.
Core16550 (Kérdés feltevése)
Ez a szakasz információkat tartalmaz az ebben a magban használt paraméterekről.
Paraméterek (Kérdés feltevése)
A Core16550 nem támogat semmilyen legfelső szintű paramétert.
Alapvető interfészek (Kérdés feltevése)
Ez a szakasz a bemeneti és kimeneti összegzést tartalmazza.
I/O jel leírása (Kérdés feltevése)
A következő felsorolás a Core16550 I/O definícióit tartalmazza.
| Név | Írja be | Polaritás | Leírás |
| PRESETN | Bemenet | Alacsony | Alaphelyzetbe állítás |
| PCLK | Bemenet | — | Mester óra
A PCLK értéket elosztjuk az Divisor regiszterek értékével. Az eredményt ezután elosztjuk 16-tal, így kapjuk meg az átviteli sebességet. Az így kapott jel a BAUDOUT jel. Ennek a lábnak a felfutó élét használjuk az összes bemeneti és kimeneti jel stroboszkópos jelzésére. |
| ÍRÁSRA | Bemenet | Magas | APB írás/olvasás engedélyezése, aktív-magas jelszint.
MAGAS érték esetén az adatok a megadott címre íródnak. ALACSONY érték esetén az adatok a megadott címről olvasódnak be. |
| PADDR[4:0] | Bemenet | — | APB-cím
Ez a busz biztosítja a kapcsolatot a CPU és a Core16550 regiszterének címe között, ahonnan olvasni vagy oda írni lehet. |
| PSEL | Bemenet | Magas | APB kiválasztás
Amikor ez HIGH (Magas) és PENABLE (PENABLE) a beállított értékkel együtt, akkor a Core16550-re való olvasás és írás engedélyezett. |
| PWDATA[7:0] | Bemenet | — | Adatbeviteli busz
Az ezen a buszon lévő adatok egy írási ciklus során a címzett regiszterbe kerülnek. |
| MEGBÍZHATÓ | Bemenet | Magas | APB engedélyezése
Amikor ez HIGH (Magas) a PSEL értékkel együtt, akkor a Core16550-re való olvasás és írás engedélyezett. |
| PRDATA[7:0] | Kimenet | — | Adatkimeneti busz
Ez a busz tárolja a címzett regiszter értékét egy olvasási ciklus alatt. |
| CTSn | Bemenet | Alacsony | Tiszta küldés
Ez az aktív-alacsony jel egy bemenet, amely azt mutatja, hogy a csatlakoztatott eszköz (modem) mikor áll készen az adatok fogadására. A Core16550 ezt az információt a Modem Status regiszteren keresztül továbbítja a CPU-nak. Ez a regiszter azt is jelzi, hogy ha a CTSn jel megváltozott az utolsó alkalom óta, akkor a regiszter beolvasásra került. |
| DSRn | Bemenet | Alacsony | Az adatkészlet készen áll
Ez az aktív-alacsony jel egy bemenet, amely azt jelzi, hogy a csatlakoztatott eszköz (modem) készen áll-e a kapcsolat létrehozására a Core16550-nel. A Core16550 ezt az információt a Modem Status regiszteren keresztül továbbítja a CPU-nak. Ez a regiszter azt is jelzi, hogy a DSRn jel megváltozott-e a regiszter utolsó olvasása óta. |
| DCDn | Bemenet | Alacsony | Adathordozó észlelése
Ez az aktív-alacsony jel egy bemenet, amely azt jelzi, hogy a csatlakoztatott eszköz (modem) vivőt érzékelt. A Core16550 ezt az információt a Modem Status regiszteren keresztül továbbítja a CPU-nak. Ez a regiszter azt is jelzi, hogy a DCDn jel megváltozott-e a regiszter utolsó olvasása óta. |
| BŰN | Bemenet | — | Soros bemeneti adatok
Ez az adat a Core16550-be kerül továbbításra. Szinkronban van a PCLK bemeneti lábával. |
| RIN | Bemenet | Alacsony | Gyűrű jelző
Ez az aktív-alacsony jel egy bemenet, amely azt mutatja, hogy a csatlakoztatott eszköz (modem) csengetési jelet érzékelt a telefonvonalon. A Core16550 ezt az információt a Modem Status regiszteren keresztül továbbítja a CPU-nak. Ez a regiszter azt is jelzi, hogy mikor érzékelte az RIn lefutó élét. |
| SOUT | Kimenet | — | Soros kimeneti adatok
Ez az adat a Core16550-ről kerül átvitelre. Szinkronban van a BAUDOUT kimeneti lábbal. |
| RTSn | Kimenet | Alacsony | Küldési kérés
Ez az aktív-alacsony kimeneti jel arra szolgál, hogy tájékoztassa a csatlakoztatott eszközt (modem), hogy a Core16550 készen áll az adatok küldésére. A jelet a CPU programozza a Modem Control regiszteren keresztül. |
| 4-1. táblázat. I/O jelösszefoglaló (folytatás) | |||
| Név | Írja be | Polaritás | Leírás |
| DTRn | Kimenet | Alacsony | Adatterminál készen áll
Ez az aktív-alacsony kimeneti jel tájékoztatja a csatlakoztatott eszközt (modem), hogy a Core16550 készen áll a kommunikációs kapcsolat létesítésére. A jelet a CPU programozza a Modem Control regiszteren keresztül. |
| OUT1n | Kimenet | Alacsony | 1 kimenet
Ez az aktív-alacsony kimenet egy felhasználó által definiált jel. A CPU ezt a jelet a Modem Control regiszteren keresztül programozza, és az ellenkező értékre állítja be. |
| OUT2n | Kimenet | Alacsony | 2 kimenet
Ez az aktív-alacsony kimeneti jel egy felhasználó által definiált jel. A CPU programozza a Modem Control regiszteren keresztül, és az ellenkező értékre van beállítva. programozva. |
| INTR | Kimenet | Magas | Megszakítás függőben
Ez az aktív, magas kimeneti jel a Core16550 megszakítás kimeneti jele. Úgy van programozva, hogy bizonyos események esetén aktívvá váljon, tájékoztatva a CPU-t arról, hogy ilyen esemény történt (további részletekért lásd a Megszakítás-azonosító regisztert). A CPU ezután megteszi a megfelelő lépéseket. |
| BAUDOUTn | Kimenet | Alacsony | Baud kimenet
Ez egy kimeneti órajel, amely a bemeneti órajelből származik, és a SOUT-ból érkező adatfolyam szinkronizálására szolgál. |
| RXRDYN | Kimenet | Alacsony | A vevőegység készen áll az adások vételére.
A CPU-t ez az aktív-alacsony kimeneti jel jelzi, hogy a Core16550 vevőegysége elérhető az adatok olvasására. |
| TXRDYN | Kimenet | Alacsony | Az adóegység adatátvitelre kész.
Ez az aktív alacsony jel azt jelzi a CPU-nak, hogy a Core16550 adó részében van hely az adatok írására az átvitelhez. |
| rxfifo_üres | Kimenet | Magas | Üres FIFO-val átvenni.
Ez a jel MAGAS szintre kapcsol, amikor a vételi FIFO üres. |
| rxfifo_full | Kimenet | Magas | Teljes FIFO-t kap.
Ez a jel magas szintre kapcsol, amikor a vételi FIFO megtelt. |
Időzítési diagramok (Tegyen fel kérdést)
Ez a szakasz a mag idődiagramjait mutatja be.
Adatírási ciklus és adatolvasási ciklus (Tegyen fel egy kérdést)
Az 5-1. és 5-2. ábra az írási ciklus és az olvasási ciklus időzítési viszonyait mutatja az APB rendszerórához, a PCLK-hoz viszonyítva.
Regisztráció Írj (Tegyél fel egy kérdést)
A következő ábra azt mutatja, hogy az Address, Select és Enable jelek reteszelve vannak, és a PCLK felfutó éle előtt érvényesnek kell lenniük. Az írás a PCLK jel felfutó élénél történik.
Regisztráció Olvasás (Kérdés feltevése)
A következő ábra azt mutatja, hogy az Address, Select és Enable jelek reteszelve vannak, és érvényesnek kell lenniük a PCLK felfutó éle előtt. Az olvasás a PCLK jel felfutó élénél történik.
A leírásokkal és az időzítési hullámformákkal kapcsolatos további részletekért lásd az AMBA specifikációt.
Vevő szinkronizálása (Kérdés feltevése)
Amikor a vevő alacsony (Low) állapotot érzékel a bejövő adatfolyamban, ehhez szinkronizál. A kezdőél után az UART 1.5-szeresét (a normál bithossz) vár. Ez azt eredményezi, hogy minden további bitet a szélessége közepén olvas be a rendszer. A következő ábra ezt a szinkronizálási folyamatot szemlélteti.
5-3. ábra: Vevő szinkronizálása
Tesztpad működése (Kérdés feltevése)
A Core16550 csak egyetlen tesztpadot tartalmaz: a Verilog felhasználói tesztpadot. Ez egy egyszerűen használható, Verilog nyelven írt tesztpad. Ez a tesztpad a felhasználó általi módosításra szolgál.
Felhasználói tesztpad (Kérdés feltevése)
A következő ábra az ex blokkvázlatát mutatjaample felhasználói tervezés és tesztpad.
6-1. ábra: Core16550 felhasználói tesztkörnyezet
A felhasználói tesztpad tartalmaz egy egyszerű példátample design, amely referenciaként szolgál azoknak a felhasználóknak, akik saját terveket szeretnének megvalósítani.
A tesztpad példáulampA felhasználói tervezés a tesztpadon tesztelt funkciók egy részhalmazát valósítja meg, további részletekért lásd a Felhasználói tesztpadon című részt. Elméletileg, ahogy a 6-1. ábra mutatja, a Core16550 példányosítását egy viselkedésalapú mikrovezérlő és egy szimulált loopback kapcsolat segítségével szimulálják. PéldáulampA felhasználói tesztpad bemutatja ugyanazon Core16550 egység átvitelét és vételét, így alapvető ismereteket szerezhet a mag használatáról.
A felhasználói tesztpad bemutatja a Core16550 alapvető beállítását, átviteli és vételi műveleteit. A felhasználói tesztpad a következő lépéseket hajtja végre:
- Írj a vezérlőregiszterekbe.
- Ellenőrizze a fogadott adatokat.
- Kapcsolja be az adást és a vételt.
- Olvasd ki a vezérlőregisztereket.
- Egy bájt továbbítása és fogadása.
Eszköz kihasználtsága és teljesítménye (Tegyen fel egy kérdést)
A következő táblázat a Core16550 kihasználtsági és teljesítményadatait sorolja fel. 7-1. táblázat: Core16550 kihasználtság és teljesítmény PolarFire és PolarFire SoC
| Eszköz részletei | Erőforrás | RAM | |||
| Család | Eszköz | 4LUT | DFF | Logikai elemek | μ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®/IGLU | AGL600- STD/AGLE600 V2 | 1010 | 237 | 1247 | 2 |
| Fúzió | 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 |
| Accelerator® | AX125-STD | 608 | 229 | 837 | 2 |
Megoldott problémák (Tegyen fel kérdést)
Az alábbi táblázat felsorolja a különböző Core16550 kiadásokhoz kapcsolódó összes megoldott problémát.
8-1. táblázat. Megoldott problémák
| Változat | Változások |
| v3.4 | A Core16550 a System Verilog „break” kulcsszavát használja regiszternévként, ami szintaktikai hibát okozott. Ezt a kulcsszó másik névvel való cseréjével javítottuk. Hozzáadott PolarFire® családtámogatás |
Felülvizsgálati előzmények (Tegyen fel egy kérdést)
A felülvizsgálati előzmények leírják a dokumentumban végrehajtott változtatásokat. A változtatások átdolgozásonként vannak felsorolva, a legfrissebb kiadványtól kezdve.

Microchip FPGA támogatás
A Microchip FPGA termékcsoport termékeit különféle támogatási szolgáltatásokkal támogatja, beleértve az Ügyfélszolgálatot, az Ügyfél műszaki támogatási központját, stb webwebhely és világszerte található értékesítési irodák. Az ügyfeleknek azt javasoljuk, hogy a támogatás igénybevétele előtt látogassák meg a Microchip online erőforrásait, mivel kérdéseikre valószínűleg már választ kaptunk.
Lépjen kapcsolatba a Műszaki Támogatási Központtal a következőn keresztül webwebhely a címen www.microchip.com/support Említse meg az FPGA-eszköz cikkszámát, válassza ki a megfelelő házkategóriát, és töltse fel a tervet files miközben létrehoz egy műszaki támogatási ügyet.
Lépjen kapcsolatba az Ügyfélszolgálattal a nem műszaki terméktámogatásért, mint például a termékárak, a termékfrissítések, a frissítési információk, a rendelés állapota és az engedélyezés.
- Észak-Amerikából hívja a 800.262.1060 számot
- A világ többi részéről hívja a 650.318.4460 számot
- Fax, a világ bármely pontjáról, 650.318.8044 XNUMX XNUMX
Mikrochip információk
Védjegyek
A „Microchip” név és logó, az „M” logó és más nevek, logók és márkák a Microchip Technology Incorporated vagy leányvállalatai és/vagy leányvállalatai bejegyzett és nem bejegyzett védjegyei az Egyesült Államokban és/vagy más országokban („Microchip” Védjegyek”). A Microchip védjegyekkel kapcsolatos információk a következő címen találhatók: https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN:
Jogi közlemény
- Ez a kiadvány és az itt található információk csak Microchip termékekkel használhatók, ideértve a Microchip termékek tervezését, tesztelését és integrálását az alkalmazással. Ezen információk felhasználása
bármely más módon sérti ezeket a feltételeket. Az eszközalkalmazásokkal kapcsolatos információk csak az Ön kényelmét szolgálják, és frissítések válthatják fel azokat. Az Ön felelőssége annak biztosítása, hogy alkalmazása megfeleljen az előírásoknak. További támogatásért forduljon a helyi Microchip értékesítési irodához, vagy kérjen további támogatást a következő címen www.microchip.com/en-us/support/design-help/client-support-services - EZT AZ INFORMÁCIÓT A MICROCHIP „AHOGY VAN”. A MICROCHIP NEM NYILATKOZAT SEMMILYEN KIFEJEZETT VAGY VÉLEMEZTETETT, ÍRÁSBAN VAGY SZÓBELI, TÖRVÉNYI VAGY EGYÉBEN AZ INFORMÁCIÓKAL KAPCSOLATOS GARANCIÁT, BELEÉRTVE, DE NEM KIZÁRÓLAG BÁRMILYEN VÉLEMEZTETT GARANCIÁT. MEGHATÁROZOTT CÉLRA VALÓ ALKALMAZÁS, VAGY ÁLLAPOTÁHOZ, MINŐSÉGÉVEL VAGY TELJESÍTMÉNYÉVEL KAPCSOLATOS GARANCIA.
- A MICROCHIP SEMMILYEN ESETBEN SEM FELELŐS SEMMILYEN KÖZVETETT, KÜLÖNLEGES, BÜNTETŐJOGI, VÉLETLEN VAGY KÖVETKEZMÉNYES VESZTESÉGÉRT, KÁRÉRT, KÖLTSÉGÉRT VAGY KÖLTSÉGÉRT, AMELY AZ INFORMÁCIÓVAL VAGY ANNAK FELHASZNÁLÁSÁVAL KAPCSOLATOS, BÁRMILYEN OKOZÁSI OKOZÁS KÖZÖTT KAPCSOLÓDÓ, MÉG AKKOR IS, HA A MICROCHIPET TÁJÉKOZTATTA ERRE A LEHETŐSÉGRE, VAGY A KÁROK ELŐRE LÁTHATÓAK. A JOGSZABÁLYOK ÁLTAL MEGENGEDETT LEGTELJESEBB MÉRTÉKBEN A MICROCHIP TELJES FELELŐSSÉGE AZ INFORMÁCIÓVAL VAGY ANNAK FELHASZNÁLÁSÁVAL KAPCSOLATOS MINDEN KÖVETELÉSRE VONATKOZÓAN NEM HALADHATJA MEG AZT A DÍJ ÖSSZEGE, AMELYET ÖN KÖZVETLENÜL A MICROCHIPNEK AZ INFORMÁCIÓÉRT FIZETETT, AMENNYIT ILYEN.
- A Microchip eszközök életfenntartó és/vagy biztonsági alkalmazásokban történő használata teljes mértékben a vevő kockázatára történik, és a vevő vállalja, hogy megvédi, kártalanítja és ártalmatlanná teszi a Microchipet az ilyen használatból eredő károk, követelések, perek vagy költségek ellen. A Microchip szellemi tulajdonjogai alapján semmilyen licencet nem adnak át, sem hallgatólagosan, sem más módon, hacsak másként nem rendelkeznek.
Mikrochip eszközök kódvédelmi funkciója
Vegye figyelembe a Microchip termékek kódvédelmi funkciójának alábbi részleteit:
- A Microchip termékek megfelelnek az adott Microchip Adatlapon található előírásoknak.
- A Microchip úgy véli, hogy termékcsaládja biztonságos, ha rendeltetésszerűen, a működési előírásokon belül és normál körülmények között használják.
- A Microchip értékeli és agresszíven védi szellemi tulajdonjogait. A Microchip termékek kódvédelmi funkcióinak megsértésére irányuló kísérletek szigorúan tilosak, és sérthetik a Digital Millennium Copyright Act-et.
- Sem a Microchip, sem más félvezetőgyártó nem tudja garantálni kódja biztonságát. A kódvédelem nem jelenti azt, hogy garantáljuk a termék „törhetetlenségét”. A kódvédelem folyamatosan fejlődik. A Microchip elkötelezett amellett, hogy folyamatosan fejlessze termékei kódvédelmi funkcióit.
Felhasználói kézikönyv
© 2025 Microchip Technology Inc. és leányvállalatai
Dokumentumok / Források
![]() |
MICROCHIP Core16550 univerzális aszinkron vevő-adó [pdf] Felhasználói útmutató v3.4, v3.3, Core16550 univerzális aszinkron vevő-adó, Core16550, Univerzális aszinkron vevő-adó, Aszinkron vevő-adó, Vevő-adó, Adó |
