Forum: Mikrocontroller und Digitale Elektronik UART gesucht


von Ralf (Gast)


Lesenswert?

Hi,

ich suche einen UART mit parallelem CPU-Interface und einer
Interrupt-Leitung zur CPU. Der UART sollte von mehreren Herstellern
angeboten werden, um nicht von einem Hersteller abhängig zu sein.

Kennt da jemand was?

von ,,,, (Gast)


Lesenswert?

Schau dir mal Zilogs Z80C30 an. Glaube National und Philips stellt einen
kompatiblen Baustein her.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

8250, 16450, 16550. Alle im 40poligem DIP-Gehäuse verfügbar,
wurden/werden beispielsweise von National und TI hergestellt.
Die letztgenannte Variante verfügt über Sende- und Empfangs-FIFOs, mit
denen die Interruptrate reduziert werden kann.

Findet man in jedem PC (dort allerdings i.d.R. als Bestandteil des
Chipsatzes) und auf älteren Schnittstellenkarten, aus denen man so
etwas zum Experimentieren/Prototypenaufbau auch entnehmen kann.

Unter der Bezeichnung 16552 und 16554 gibt es auch Mehrfachausführungen
davon, die aber verwenden mehrere Interruptleitungen, welche sich aber
logisch verknüpfen ließen.
Diese Varianten sind im 64poligen PLCC-Gehäuse untergebracht und
wurden/werden ebenfalls von National und TI hergestellt. Aus der
Taiwanschiene gibt es ebenfalls etliche Hersteller, die die Bausteine
produzieren.

Mit größeren FIFOs gibt es sowas auch von Oxford Semiconductor
OX16C950B*  und OX16C954; auch dafür dürfte es Second-Source-Anbieter
geben.


*) www.oxsemi.com - Datenblatt
http://www.oxsemi.com/oxford/documents/download/standard/dsheets/ox16c950bds.pdf

von Ralf (Gast)


Lesenswert?

Ja, den 16C550 hatte ich auch im Auge, aber der scheidet aus zwei
Gründen aus:

1. Die verwendete CPU ist ein 8052er (hatte ich vergessen zu erwähnen),
deswegen sollte der Interrupt low-aktiv sein, könnte man aber
ivertieren.
2. Der 16C550 hat zusätzlich noch die /TXRDY und die /RXRDY Leitung,
werden die nur bei DMA-Zugriff verwendet? Dann brauch ich sie ja beim
8052 nicht, in diesem Fall könnte das klappen...

Ralf

von Michael (Gast)


Lesenswert?

@Ralf

Ich schreibe 'mal ohne Nachzuschauen: 2691 (o.ä.) ist ein UART im
DIL28. Hatte ich seinerzeit am 8051 verwendet.
Habe jetzt doch noch im Keller gesucht: SCC2691. Wenn Du nur wenige
brauchst, könnte ich Dir viere anbieten.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

1. Ja, die Interruptleitung sollte in der Tat invertiert werden. Mit
einem '04 sollte das Thema erledigt sein. Wenn Du mehrere
Interruptquellen an einen Interrupteingang anschließen willst, dann
solltest Du einen '05 (mit Open-Collector-Ausgang) verwenden und
zwischen dessen Ausgang und dem Interrupteingang Deines Controllers
einen geeigneten Pullup vorsehen. An diese Interruptleitung können dann
mehrere OC-Ausgänge anderer Interruptquellen angeschlossen werden (so,
wie Hardware-Interrupt-Sharing halt gemacht wird ... außer im
strunzdebilen PC-Design, das Active-High-Interrupts auf dem ISA-Bus
verwendet und das deshalb nicht kann).

2. hast Du richtig interpretiert. Diese Signale sind nur für den
DMA-Betrieb relevant und Du kannst sie geflissentlich ignorieren.

Der 16550 ist sicherlich nicht der beste denkbare UART-Baustein, aber
es gibt recht viele Hersteller und seine Funktion ist ziemlich gut
bekannt, da dieser Baustein seit Äonen in jedem PC verbaut wird.
Daher sollte die Programmierung keine allzugroßen Rätsel mit sich
bringen.

Philips verwendet übrigens den 16550 in den LP2xxx-ARM-Prozessoren.

Viel Erfolg!

von peter dannegger (Gast)


Lesenswert?

Einen parallelen Chip würde ich nicht nehmen. Dir gehen mindestens 10
Portpins verloren und Du brauchst noch ein Adreßlatch.

Nimm besser nen 8051 mit SPI (AT89S8252) und hänge den MAX3100 dran.


Peter

P.S.:
Klar kann der 8051 auch high level Interrupts:

http://home.tiscali.de/peterd/tutorial/extint/index.htm

von Ralf (Gast)


Lesenswert?

@Peter: Das mit dem High-aktiven Interrupt gefällt mir grins
SPI-UART fällt weg, bin an den S52 von der Firma her gebunden. Den
MAX3100 hatte ich nämlich auch schon im Auge. Aber für meinen
Bastelkeller wäre das eine Alternative...

@Michael:

Danke für das Angebot, ich überlegs mir...

@Rufus:

Danke für die Info, aber warum soll der 550 nicht gut sein? Paralleles
Interface wie gewünscht, und von mehreren Herstellern...

Ralf

von carlos (Gast)


Lesenswert?

Hallo, ich setze den scc2681 in Verbindung mit einem 8051er ein.
Den gibts allerdings nur von Philips, ist aber realtiv neu auf dem
Markt.

Gruß Carlos

von Michael (Gast)


Lesenswert?

>>ist aber realtiv neu auf dem Markt.

Ist ja immer wieder erfreulich, junge Menschen zu treffen, die sich für
Elektronik interessieren :-)
Ich habe den SCC2691 zuletzt vor über 15 Jahren eingesetzt.

von André (Gast)


Lesenswert?

geht nicht einfach ein 89c2051 als UART programmiert?

von carlos (Gast)


Lesenswert?

Kleine Korrektur von mir:
der scc2681 ist ein Doppel-UART (DUART) u.a. im 28 pol. DIL-Gehäuse und
den gibt es in dieser CMOS-Version wirklich erst seit ca. 1 Jahr.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Daß der 16550 per se "Nicht gut" wäre, meine ich nicht, nur gibt es
andere UARTs, die mehr Funktionalität haben:

Was mit 16550 beispielsweise nicht möglich ist, ist ein echter
9-Bit-Betrieb, was auch nicht so ohne weiteres unterstützt wird, ist
ein RS485-Betrieb mit automatischer Sende/Empfangsumschaltung.

Für letzteres bieten andere Bausteine eine spezielle Steuerleitung an,
die genau solange aktiv ist, wie über TxD Daten ausgegeben werden.

Das macht sogar der FT232.

von Michael (Gast)


Lesenswert?

@Carlos

Suche mal nach dem SCN2681, den finde ich im Valvo Datenbuch
'68000-System Datenkommunikation CRT-Controller' aus dem Jahre 1987
(letztes Jahrhundert :-)
SCN war vermutlich NMOS -> höhere Stromaufnahme.

von Christoph Kessler (Gast)


Angehängte Dateien:

Lesenswert?

Da gabs auch mal einen 20pin-UART, den COM81C17, ist aber leider
ausgestorben, der Hersteller empfiehlt als Nachfolger einen 100 pin
TQFP

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na gut, nur um mal ein paar andere UARTs zu nennen:

Motorola 6850. Braucht externen Baudratengenerator, dafür im 24poligen
DIP-Gehäuse.

Rockwell 6551. Mit integriertem Baudratengenerator (braucht Quarz mit
1.8432 MHz), 28poliges DIP-Gehäuse, Hardwarefehler beim
Hardwarehandshake.

Motorola/Exar/Philips 68681. Zwei serielle Schnittstellen im 40poligem
DIP-Gehäuse, integrierter Baudratengenerator. Ist wohl mit 2681
verwandt.

Zilog Z8440 (Z80 SIO). Zwei serielle Schnittstellen im 40poligen
DIP-Gehäuse, integrierter Baudratengenerator.


Dürften aber alles Kandidaten fürs Computermuseum sein.

von Christoph Kessler (Gast)


Lesenswert?

oder gleich den AY-...1015 den hatte ich schon in einem RS232-terminal
von 1973 und im Elektor- "Elekterminal" 1977, 40 Pin DIL

von Michael (Gast)


Lesenswert?

Computermuseum ja, aber auch nein.
Von den SCC26xx (übrigens allesamt auf RoHS umgestellt !) gibt es auch
noch die 2698 mit 8fach UART im PLCC84. Wer's braucht, hat damit eine
gute Lösung. Die Teile passen zudem direkt an die 8051er: pos. RESET,
/RD und /WR.

von Ralf (Gast)


Lesenswert?

Das wird immer besser, viele der hier genannten ICs konnte ich nur nach
etwas aufwendigerer Suche bei den diversen Herstellern finden...

Ralf

von Dirk (Gast)


Lesenswert?

Ich suche eine Lösung für >= 5 UARTS + Ethernet.

Folgende Varianten kamen mir in den Sinn:

Lösungen

   - MCU + ext. UARTs (parallel Interface)
   - MCU + ext. UARTs (SPI - Interface)
   - MCU + ext. MCU   (AVR(8051 - SPI - Interface)
  - 89c2051
   - MCU mit >= 5 UARTS
   - SJA2020 kein LAN
  - MB90V340 kein LAN
  - AT91RM3400
  - AT91RM9200 kein ADC, kein PWM
  - H8S/2377 (?)
  - MPC5200  (?)
   - FPGA mit MCU
        - Xilinx microblaze

Ein paar Fragen dazu :

- Welche SPI/I2C-UARTS verwendet Ihr noch ?
- Wie ist der Software-Overhead zwischen Parallel oder Serial-Interface
  zu bewerten ?


Ich bitte um Diskussion :), vielen Dank

Dirk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.