2. ser. Schnitte am uC

Hi,

ist es problematisch, nicht nur von der HW her, mit Hilfe eines seriellen IC’s einem 8051er eine 2. serielle Schnitte zu verpassen? Eine ist ja schon eingebaut aber eine 2. ist unbedingt Pflicht. Ich dachte dabei an einen 8251/8252 wenn ich mich jetzt nicht total vertue. Dahinter dann noch die Ladungspumpe und die HW sollte stehen, meine ich. Aber wie wirds dann mit der SW?

Grutzies

Li

  1. z.B. 80C517 / 80C537 hat schon zwei serielle Schnitstellen.

  2. Ansonsten würde ich es mit einem Schieberegister und einer UART versuchen, ist aber umständlicher. (diverse Steuersignale, wie z.B. das Erkennen eines vollständig empfangenen Bytes, für bidirektionale Übertragung entweder ein Schieberegister das sowohl ser als auch parallel in beide Richtungen funktioniert und dann entsprechend angesprochen werden muß, oder zwei Schieberegister, …)

8251 sagt mir im Moment nichts.

Gruß,
Grushnak

  1. z.B. 80C517 / 80C537 hat schon zwei serielle Schnitstellen.

Oder ein C509L, aber leider ist die HW vorgegeben. Ein 80C32 hat eine Schnitte und die ganzen Portpins drumrum, ausser das, was fuer ext. Speicher benoetigt wird, wird sonst nicht gebraucht. Auch kein PWM, A/D, CAN… nur 2 ser. Schnitten.

  1. Ansonsten würde ich es mit einem Schieberegister und einer
    UART versuchen, ist aber umständlicher. (diverse
    Steuersignale, wie z.B. das Erkennen eines vollständig
    empfangenen Bytes, für bidirektionale Übertragung entweder ein
    Schieberegister das sowohl ser als auch parallel in beide
    Richtungen funktioniert und dann entsprechend angesprochen
    werden muß, oder zwei Schieberegister, …)

8251 sagt mir im Moment nichts.

Das ist so’n Ding. Eine UART, hat nur fast soviele Pins wie der 80C32 selber (28 oder 32 meinich) und daher habe ich meine Bedenken.

Gruß,

Li

Hi,

Hallo,

ist es problematisch, nicht nur von der HW her, mit Hilfe
eines seriellen IC’s einem 8051er eine 2. serielle Schnitte zu
verpassen?

nein, überhaupt nicht!
Meine letzte Entwicklung hatte 9 serielle Schnittstellen.
Realisiert mit 80C51 und 82C51 und einiges darum herum.
Falls Du Probleme hast, melde Dich per mail.
Software muss natürlich für das Empfangen und das Senden der Schnittstelle geschrieben werden.

Gruss

Gerd

Eine ist ja schon eingebaut aber eine 2. ist

unbedingt Pflicht. Ich dachte dabei an einen 8251/8252 wenn
ich mich jetzt nicht total vertue. Dahinter dann noch die
Ladungspumpe und die HW sollte stehen, meine ich. Aber wie
wirds dann mit der SW?

Grutzies

Li

Auch Hi,

schaust Du hier, http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2955/l…
Das ist ein 8031 Nachfolger, mit 2. integrierter Schnittstelle, kompatibel und noch 3* so schnell, genannt DS80C320. Neben Dallas ( heute wohl Maxim ) hat auch Atmel sowas gemacht, hat den Vorteil, das dort auch noch (Flash) Programmspeicher drin ist, Du also nicht unbedingt das Latch und EPROM brauchst, wenn Du mit internem RAM auskommst. So, oder so ähnlich,

Gruß,

Uwe P.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

in einem Punk kann ich Dir evt. Arbeit abnehmen
Hallo Li,

als SIO kann ich dir z.B. auch den 16550 empfehlen, wenn Du einen Datenbus für externen Speicher hast.

Aber abnehmen kann ich Dir die arbeit mit der Hardware:

Entgegen allgemeinem Verständnis verlangt die RS232 am Eingang nur garantierte ±3V (und nicht 5 oder 12 oder so)und da fast alle PCs, Notebooks etc. am entsprechenden Treiber den negativen Pegel raufgesetzt haben, schalten sie um (zwischen high und low) bei:

1 bis 2 V!

Wenn Du also nur mit PCs zu tun hast (keine Exoten wie SPS-Rechner von Siemans oder so), dann kannst Du es wagen, das Signal aus dem UART (oder Prozessor) einfach nur zu invertieren (das muß sein!), am besten mit einem 74HC14 oder NAND oder was gerade da ist!

Das funktioniert bei uns auch im Industrieeinsatz, mit 5V sowieso, mit 3.3V auch. Noch ein Längswiderstand von z.B. 100 Ohm und fertig.

Der PC liefert aber ±12V! Auch nicht schlimm, bei einem Logik-IC (wie 74HC14) sorgen sogenannte Klimbdioden dafür, dass die Spannungen nichts ausmachen. Einfach nur einen Serienwiderstand fürs Eingangssignal (1kOhm ist immer gut), damit auf den Inverter (HC14) und dann zur seriellen Schnittstelle.

Gruß Achim

Vergiss den ganzen Kram mit Ladungspumpe hier und Kondensator da.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]