Forum: Mikrocontroller und Digitale Elektronik MC14411 Baud Rate Generator Ersatz


von Johannes M. (jojo20)


Angehängte Dateien:

Lesenswert?

Hi,

ich möchte eine Interface Schaltung nachbauen, die original Schaltung 
verwendete neben einem Intel 8251 Uart zur Baud Raten Erzeugung einen 
Mc14411.

Den MC14411 gibt es nicht mehr, vom Uart habe ich noch die benötigte 
Anzahl hier liegen :)

Die Schaltung möchte ich insgesamt 5 mal nachbauen.

Jetzt meine Frage, kennt jemand ein Alternativ IC das 5V kompatibel ist 
und als Ersatz für den 14411 dienen könnte? Ich habe auf die schnelle 
nichts gefunden.

Erste Idee war ein AVR mit Timer so zu programmieren, dass die passenden 
Baud Raten erzeugt werden. Aber das geht bestimmt auch irgendwie 
einfacher oder?

Und nein VHDL usw. beherrsche ich nicht um es mit modernen Chips 
nachzubilden.

von Thomas Z. (usbman)


Lesenswert?

Der Chip arbeitet ja mit festem X16 Mode, bedeutet es wird ein Clock 
erzeugt der der 16 fachen Abtastrate entspricht. Der Rest ist dann 
einfach ein simpler Frequenzteiler. Mit einem 4060 sollte das machbar 
sein. Ev muss noch ein anderer Quarz rein weil am 4060 nicht alle Stages 
rausgeführt sind.

von Christian E. (cerker)


Lesenswert?

Hallo,

wenn du einen 8251A oder nimmst, kann der bis 3.125 MHz Takt. Das heißt 
du kannst einen 2.4576MHz Quarz an einem (74HCT)4060 nehmen, der dann an 
Q4 die 9600Hz*16 rausgibt.

Q5: 4800
Q6: 2400
Q7: 1200
Q8: 600
Q9: 300
Q10: 150

Q11 für 75bps fehlt halt, aber ist das ein schwerer Verlust? ;)

An Pin 9 hast du auch einen gepufferten Quarztakt.

Gruß,
Christian

von m.n. (Gast)


Lesenswert?

Thomas Z. schrieb:
> Mit einem 4060 sollte das machbar
> sein. Ev muss noch ein anderer Quarz rein weil am 4060 nicht alle Stages
> rausgeführt sind.

74HC4060 mit 2,457 MHz. Die 75 Baud fehlen aber leider :-(

Johannes M. schrieb:
> Erste Idee war ein AVR mit Timer so zu programmieren, dass die passenden
> Baud Raten erzeugt werden. Aber das geht bestimmt auch irgendwie
> einfacher oder?

Es ist die einfachste Lösung!

von PIClig (Gast)


Lesenswert?

> Es ist die einfachste Lösung!

Ein kleiner 16F1503 mit seinem NCO und seiner CLC ist noch
viel einfacher!

von Wolfgang (Gast)


Lesenswert?

Christian E. schrieb:
> Q11 für 75bps fehlt halt, aber ist das ein schwerer Verlust? ;)

Kein schnelleres Fernschreiben :-(

von Johannes M. (jojo20)


Lesenswert?

Ok, an den 4060 käme dann zwischen Pin 10 und 11 der Quartz mit 22pf pro 
Bein gegen GND wie beim AVR?

Pin 9 wäre dann das Clock Signal für den 8251?

Ich muss mal schauen welchen 8251 Typ ich da habe. Weiß nicht genau ob 
es der A Typ ist.

von m.n. (Gast)


Lesenswert?

Johannes M. schrieb:
> Pin 9 wäre dann das Clock Signal für den 8251?

Nein. Q3 - Q9 gehen an D0 - D6 vom LS151.

von Johannes M. (jojo20)


Lesenswert?

Und was wäre das Clock Signal für den 8251?

von H. H. (Gast)


Angehängte Dateien:

Lesenswert?

Johannes M. schrieb:
> Und was wäre das Clock Signal für den 8251?

Siehe Anhang.

von m.n. (Gast)


Lesenswert?

LS151 -> Pin5

von Johannes M. (jojo20)


Lesenswert?

LS151 Pin 5 ist das Baud Raten Signal und das ist etwas anderes als das 
Clock Signal. Das Clock Signal hat im original ja die Frequenz des 
1,8432 Mhz Quarzes.

Also welcher Pin des 4060 geht an Pin 20 des 8251(A)?

von H. H. (Gast)


Lesenswert?

Johannes M. schrieb:
> Also welcher Pin des 4060 geht an Pin 20 des 8251(A)?

Natürlich Pin 9. Allerdings wird die Flankensteilheit nicht reichen, da 
müsste noch ein Schmitttrigger dazwischen.

von m.n. (Gast)


Lesenswert?

Johannes M. schrieb:
> LS151 Pin 5 ist das Baud Raten Signal und das ist etwas anderes als das
> Clock Signal. Das Clock Signal hat im original ja die Frequenz des
> 1,8432 Mhz Quarzes.

Verstanden!
Vielleicht ist Plan A doch die bessere Lösung: Ein ATtiny wird mit 
18,432 MHz betrieben. Ein Timer erzeugt daraus die 1,8432 MHz (Teiler 5) 
und ein anderer Timer mit Teiler 60 die Zeitpunkte mit der ein 
kompletter Port fortlaufend inkrementiert wird. Die Frequenz an PortX0 
ist dann 153,6 kHz. Dazu muß man nicht einmal einen Interrupt verwenden.

von c-hater (Gast)


Lesenswert?

m.n. schrieb:

> und ein anderer Timer mit Teiler 60 die Zeitpunkte mit der ein
> kompletter Port fortlaufend inkrementiert wird. Die Frequenz an PortX0
> ist dann 153,6 kHz. Dazu muß man nicht einmal einen Interrupt verwenden.

Eigentlich sogar nichtmal einen Timer. Aber egal, ist ja eh schon mit 
bezahlt, also kann man ihn auch verwenden.

Ich würde übrigens einen Tiny24/44/84 verwenden. Das würde es (dank 
CLKO) ermöglichen, den Original-Quarz zu verwenden. Damit entfällt der 
erste Timer. Der Rest deines Konzeptes könnte so bleiben, nur der Teiler 
für den zweiten (nunmehr einzigen) Timer müßte noch entsprechend 
reduziert werden.

von m.n. (Gast)


Lesenswert?

c-hater schrieb:
> Ich würde übrigens einen Tiny24/44/84 verwenden.

Das gefällt mir und passt mit dem vollzähligen PortA optimal!
Nach dem Init bleiben 6 Takte zum Inkrementieren:
1
LOOP:
2
INC R16
3
OUT PORTA, R16
4
NOP
5
NOP
6
RJMP LOOP

Korrekt?

von c-hater (Gast)


Lesenswert?

m.n. schrieb:

> Nach dem Init bleiben 6 Takte zum Inkrementieren:
>
>
1
> LOOP:
2
> INC R16
3
> OUT PORTA, R16
4
> NOP
5
> NOP
6
> RJMP LOOP
7
>
>
> Korrekt?

Bin nicht sicher. Welcher Takt muss an der 9600er-Strippe nun 
tatsächlich ausgegeben werden? 9,6kHz? Dann passt es nicht. Oder das 
16fache davon, 921,6kHz? Dann passt es.

Dann hat sich allerdings auch der letzte verbliebene Timer des Konzeptes 
noch erledigt. Mit bezahlt und doch nicht gebraucht...

von m.n. (Gast)


Lesenswert?

c-hater schrieb:
> 9,6kHz? Dann passt es nicht. Oder das
> 16fache davon, 921,6kHz? Dann passt es.

Ich würde sagen: fast ;-)

von H. H. (Gast)


Lesenswert?

c-hater schrieb:
> Welcher Takt muss an der 9600er-Strippe nun
> tatsächlich ausgegeben werden? 9,6kHz? Dann passt es nicht. Oder das
> 16fache davon, 921,6kHz? Dann passt es.

921,6/9,6 ist allerdings nicht 16, sondern 96.

Mit 153,6kHz passt es gleich viel besser.

von Johannes M. (jojo20)


Lesenswert?

> Bin nicht sicher. Welcher Takt muss an der 9600er-Strippe nun
> tatsächlich ausgegeben werden? 9,6kHz? Dann passt es nicht. Oder das
> 16fache davon, 921,6kHz? Dann passt es.
>
> Dann hat sich allerdings auch der letzte verbliebene Timer des Konzeptes
> noch erledigt. Mit bezahlt und doch nicht gebraucht...

Da bin ich mir auch nicht ganz sicher, ich vermute aber die 921,6kHz ?

Die timer würde ich trotzdem dann nutzen, weil ich ja dann mit einem 
etwas größeren ATMEGA die ganzen Gatter drumherum sparen kann. Die 
Baudrate wird ja nicht oft geändert. Daher wird die Geschwindigkeit der 
Gatter zur Baudrateneinstellung ja nicht gebraucht.

von Wolfgang (Gast)


Lesenswert?

Johannes M. schrieb:
> Da bin ich mir auch nicht ganz sicher, ich vermute aber die 921,6kHz ?

Wie kommst du auf den Faktor 6?

von m.n. (Gast)


Lesenswert?

Johannes M. schrieb:
> Die timer würde ich trotzdem dann nutzen, weil ich ja dann mit einem
> etwas größeren ATMEGA die ganzen Gatter drumherum sparen kann.

Da es freitags keine Wurst gibt, werden die Salamischeiben heute 
geliefert?
Mit einem ATmega kannst Du Dir auch den 8251 sparen.

Zeig doch mal die gesamte Schaltung. Ich bin mir sicher, daß ein 
STM32F4xx das viel besser kann.
Aber bevor Du weiter planst, sieh erst mal zu, ob Du den Rest der ICs 
auch beschaffen kannst ;-)

von Johannes M. (jojo20)


Lesenswert?

m.n. schrieb:
> Johannes M. schrieb:
>> Die timer würde ich trotzdem dann nutzen, weil ich ja dann mit einem
>> etwas größeren ATMEGA die ganzen Gatter drumherum sparen kann.
>
> Da es freitags keine Wurst gibt, werden die Salamischeiben heute
> geliefert?
> Mit einem ATmega kannst Du Dir auch den 8251 sparen.
>
> Zeig doch mal die gesamte Schaltung. Ich bin mir sicher, daß ein
> STM32F4xx das viel besser kann.
> Aber bevor Du weiter planst, sieh erst mal zu, ob Du den Rest der ICs
> auch beschaffen kannst ;-)

Für einen STMxxx müsste ich aber erstmal lernen wie man die programmiert 
usw. Das ganze ist ein Hobbyprojekt und mit Avrs kenne ich mich sehr gut 
aus.

Klar könnte ich in der Theorie auch den 8251 gegen ein AVR ersetzen. Die 
Frage ist nur ob der schnell genug ist.

Das ist mehr oder weniger die komplette Schaltung, vom Gerät kommen nur 
die Daten und Steuerleitungen. Die Adresse wird über einen LS138 
bestimmt.

Einzig was fehlt ist ein TTL zu RS232 Wandler, da würde ich einen MAX232 
nehmen.

von Johannes M. (jojo20)


Lesenswert?

Achso und das original System arbeitet mit einem 2Mhz Takt und einem 
68B09E 68K CPU.

von Claus P. (Gast)


Lesenswert?

Kessler-Electronic hat noch MC14411 (teuer), Aliexpress hat auch noch 
welche, futurlec.com hat welche ...

von Thorsten S. (thosch)


Lesenswert?

Wenn schon ein μC zum Einsatz kommt, würde ich aber Teiler und Mux 
gleichermaßen damit ersetzen. Der μC liefert dann mit einem Timerausgang 
den per 3-Bit Mux-Signal ausgewählten Bitratentakt und mit einem 
Taktausgang (oder zweitem Timer) das CLK Signal für den UART.

von m.n. (Gast)


Lesenswert?

Johannes M. schrieb:
> Für einen STMxxx müsste ich aber erstmal lernen wie man die programmiert
> usw. Das ganze ist ein Hobbyprojekt und mit Avrs kenne ich mich sehr gut
> aus.

Die Erwähnung des STM32 war eher scherzhaft gemeint; ich wollte es nur 
machen, bevor irgendjemand absolut auf STM32 bestehen sollte, wie das 
hier wiederholt der Fall ist.

Wenn es ein fertiges Hobbyprojekt ist und funktioniert, würde ich nur 
wie oben beschrieben den MC14411 durch einen Tiny24 ersetzen und den 
Rest der Schaltung so belassen. Voraussetzung dabei ist natürlich die 
Beschaffbarkeit der Bauteile. Die Software kann unverändert bleiben.

Der 68B09 war der Nachfolger vom 6800 und der Vorgänger vom 68K. Alles 
feine CPUs. Als UART hätte eigentlich der 6850 verwendet werden 
"müssen". Wenn ich suche, finde ich bei mir wohl noch eine Stange ;-)

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Wieso der Takt nochmal extra mit 74LS00 erzeugt wird, weiß ich jetzt 
nicht mehr.
Aber irgendeine Macke sagte man diesem Baudratengenerator nach. 
Vielleicht hatte das etwas damit zu tun.
Fazit:
Besser Baudrate mit AVR erzeugen. Evtl. noch puffern zwecks 
Flankensteilheitverbesserung.

ciao
gustav

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.