Übles Busklingeln

Die Pegel des orginal Oszibild sprechen für einen 5V Bus.

Ich denk eher nicht dass da etwas Busbedingt schwingt. Eher eine Rückwirkung von Ausgang auf einen Eingang. Eventuell durch Störungen auf der Masse oder Eingangspegel die etwas knapp sind. Mit Eingangspegel mein ich auf Steuerseite des Treibers Daten und Steuersignale.

--
MFG Gernot
Reply to
Gernot Fink
Loading thread data ...

Hallo Roland,

Roland Ertelt schrieb:

Ok, dann hat Roco ein anderes XPressNet implementiert als Lenz. Da kenne ich mich dann nicht aus. ;-)

Aber Du hast insofern recht, daß Lenz in der Zentrale einen Abschlußwiderstand verbaut. Das hatte ich verdrängt.

Gruß Martin

--
Bitte nicht an der E-Mail-Adresse fummeln, die paßt so.
Reply to
Martin Schoenbeck

Und so sprach horst-d.winzler:

Ich denke inzwischen, mein Transceiver ist für den 2-Draht-Einsatz nicht geeignet. Die Treiber (da nicht deaktivierbar) schließen den Bus kurz...

Da muss ich wohl doch morgen mal in die blaue Apotheke...

Roland

Reply to
Roland Ertelt

Und so sprach Roland Ertelt:

Sooo... Ich hatte tatsächlich noch einen sn75hvd08 in der Bastelkiste.

formatting link

Fast unverschämt gut. Sogar ohne Biasing und lokalem Terminator gemessen. Der Terminator kommt wieder rein...

Wenn ich den Transmitter "aus versehen" auf senden schalte, siehts fast noch sauberer aus. Die Zentrale hat offenbar mehr Bums auf dem Sender :-D

formatting link

Danke an alle fürs Augen öffnen.

Roland

Reply to
Roland Ertelt

Am 06.02.2012 01:56, schrieb Roland Ertelt:

Sieht doch gut aus. Gratuliere. Übrigens den 120_Ohm Widerstand kannst du bei der Basisstation auch von außen messen. Ohm-Meter genügt ;-)

--
mfg hdw
Reply to
Horst-D.Winzler

Und so sprach Horst-D.Winzler:

Die Lokmaus2 hat schonmal keinen...

Aber etwas sehr interessantes habe ich jetzt bei meinem MSP430F249 herausgefunden: Ich habe eine 9-Bit Kommunikation auf der UART_A1. Im Register UCA1STAT soll das Bit UCADDR gesetzt werden, wenn das

9.Bit=1 ist.

Jetzt habe ich gemerkt, dass dieses Bit erst korrekt steht, wenn ich UCA1RXBUF abgeholt habe?

Also:

uiZiel= UCA1RXBUF; if (UCA1STAT&UCADDR) { ..blah } liefert ein plausibles Ergebnis.

if (UCA1STAT&UCADDR) { uiZiel= UCA1RXBUF; ..blah } ist immer true.

Kann das jemand verifizieren?

Roland

Reply to
Roland Ertelt

Am 06.02.2012 22:12, schrieb Roland Ertelt:

Hm, im Manual liest sich das eher umgekehrt:

formatting link
Seite 443: "The receive-data buffer is user accessible and contains the last received character from the receive shift register. Reading UCAxRXBUF resets the receive-error bits, the UCADDR or UCIDLE bit, and UCAxRXIFG."

Hat das noch was mit dem UCDORM - Bit zu tun (Seite 425)?

Grüße, Stefan

Reply to
Stefan Wiest

Roland Ertelt :

// Hier fehlt noch ein UCA1STAT &= ~UCADDR;

Nur durch das Lesen wird das UCADDR ja nicht gelöscht.

Auf was Du auch achten musst: Du musst auf jeden Fall in der Interruptroutine das RXBUF lesen, damit das Interruptflag gelöscht wird. Sonst läuft der immer wieder in die Interruptroutine rein (ohne auch nur einen einzigen Befehl des Hauptprogramms abzuarbeiten). D.h. es müsste mindestens so aussehen:

if (UCA1STAT&UCADDR) { uiZiel= UCA1RXBUF; } else { uiData= UCA1RXBUF; } UCA1STAT &= ~UCADDR;

M.

Reply to
Matthias Weingart

Vorneweg: Ich habe meinen Denkfehler gefunden. Dass der Controller immer eine 9-Bit-Übertragung erkennt, wenn ich sie erlaube, muss wohl im Multiprozessorbetrieb so sein...

Und so sprach Matthias Weingart:

Offenbar doch, denn wenn ich das Bit abfrage, bevor ich den Empänger auslese, ist es immer gesetzt. Danach ist es (oft) weg. Die Kommunikation auf der RS485 ist aber langsam genug, so dass ich ausschließen kann, dass bereits ein neues Zeichen beginnt, bevor ich das Bit abfrage.

Oder wenn es nix zu lesen gibt (wg. Errorframe), das IFG selber löschen ;-).

ROland

Reply to
Roland Ertelt

Roland Ertelt :

Geht das denn beim Uart? Beim ADC12 geht das nämlich nicht. Da muss explizit das Register gelesen werden.

M.

Reply to
Matthias Weingart

Und so sprach Matthias Weingart:

Ich habe beim Uart keine Einschränkung dazu gefunden. Es funktioniert halt. Ist ein privates Projekt, da kann man schon mal blauäugig arbeiten ;-)

Ausserdem wäre es beim Uart Quatsch: Wenn ich den IRQ auf für Errorframes an habe (weil ich den Errortyp wissen will), was will ich dann mit dem Inhalt von RX?

Roland

Reply to
Roland Ertelt

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.