Forum: Mikrocontroller und Digitale Elektronik Probleme beim Empfang auf UART1 der SC16IS752 Bridge


von Eduard S. (rfk)


Lesenswert?

Hallo allerseits. Ich habe hier einen LPC2214, an den ein SC16IS752 
(SPI-to-UART Bridge) angeschlossen ist. Dahinter hängen zwei MAX3243 zur 
Pegelwandlung. Nur leider habe ich ein Problem beim Empfang auf dem 
UART1 (Kanal B): ich muss im Terminal zwei Tasten gleichzeitig drücken, 
damit eine davon am Controller ankommt. Drücke ich nur eine Taste, 
passiert gar nichts. Es ist auch egal, ob ich die Schnittstelle im 
Interrupt oder Polling Modus betreibe - bei beiden Modi das gleiche 
Ergebnis.

Der UART0 (Kanal A) funktioniert in beiden Richtungen bestens und auch 
die ausgehende Übertragung auf UART1 funktioniert ohne Probleme. Die 
Initialisierung ist bei beiden Kanälen identisch. Ein einzelnes 
gesendetes Zeichen vom PC auf UART1 kommt hinter dem MAX korrekt an, 
aber irgendwie verarbeitet die Bridge es nicht. Die Baudrate hat auch 
keinen Einfluss darauf, es ist egal, ob ich die Schnittstelle mit 9600b 
oder 115200b betreibe.

Woran könnte das liegen? Danke vorab.

von Eduard S. (rfk)


Lesenswert?

Also, ich bin etwas weiter. Wenn ich bei UART1 (Kanal B) den Sleep Mode 
ausschalte, funktioniert es. Ist das ein Fehler in der Bridge? Bei UART0 
(Kanal A) kann ich den Sleep Mode ohne Einschränkungen verwenden!

von Markus (Gast)


Lesenswert?

Hallo Eduard,

der Sleep-Mode beim SC16IS762 gilt immer für beide Kanäle - die 
Beschreibung im Datenblatt ist so nicht vollständig.
Der Sleepmode wird erst aktiviert, wenn beide Kanäle entsprechend 
konfiguriert sind (auch wenn das nirgends steht). Der Grund liegt darin, 
daß nur ein Oszillator für beide Kanäle verwendet wird.

Es gibt eine Application-Note (AN10571_1, Sleep programming for NXP 
bridge ICs) in der dies minimal besser beschrieben ist.

Darin steht auch, daß der Oszillator komplett abgeschaltet wird
(In Sleep mode, the UART clock and baud rate clock are stopped and XTAL2 
is floating.) --> d.h. beim Wakeup muss der Oszillator erst wieder 
anschwingen. Je nach Quarz, Lastkapazität und Baudrate, dauert dies 
evtl. so lange, daß das erste Zeichen nicht mehr korrekt empfangen 
werden kann.

Gruß,

Markus

von Eduard S. (rfk)


Lesenswert?

Vielen Dank für deine Erklärung, dann wäre das auch geklärt!

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.