Forum: Mikrocontroller und Digitale Elektronik STM32 Uart: 2 Byte nahtlos schicken?


von STM32 Newbie (Gast)


Lesenswert?

Hallo Leute,

kann mir jemand sagen ob man bei STM32s (spezieller STM32F103C8 der auf 
den BluePills sitzt) 2 Bytes nahtlos ohne Pausezeit hintereinander 
wegschicken und auch empfangen kann?

Ich muss Daten von einem ASIC entgegen nehmen, der dummer weise per LVDS 
16 zusammenhängende Bits @ 1MBit auf einem Kanal versendet und zur 
Parametrisierung auch wieder erwartet. :-/

Die Datenpakete kommen nicht sehr häufig vor (16 zusammenhängende Bits @ 
1Mbit alle 100ms) so das ich die Daten auch wegschaufeln sollte.

von S. R. (svenska)


Lesenswert?

Bei UART-Kommunikation kommen zwischen zwei Bytes (mit 5 bis 9 Bits pro 
Byte) immer mindestens ein Stop- und ein Startbit. Wenn dem nicht so 
ist, ist das keine UART-Kommunikation mehr.

von Harry L. (mysth)


Lesenswert?

ST UM1850
Seite 597 und Folgende...

von STM32 Newbie (Gast)


Lesenswert?

S. R. schrieb:
> Bei UART-Kommunikation kommen zwischen zwei Bytes (mit 5 bis 9 Bits pro
> Byte) immer mindestens ein Stop- und ein Startbit. Wenn dem nicht so
> ist, ist das keine UART-Kommunikation mehr.

Ich hatte die Hoffnung, das es vielleicht per DMA einfach raus zu dumpen 
wäre.

von Harry L. (mysth)


Lesenswert?

STM32 Newbie schrieb im Beitrag #5563975:
> S. R. schrieb:
>> Bei UART-Kommunikation kommen zwischen zwei Bytes (mit 5 bis 9 Bits pro
>> Byte) immer mindestens ein Stop- und ein Startbit. Wenn dem nicht so
>> ist, ist das keine UART-Kommunikation mehr.
>
> Ich hatte die Hoffnung, das es vielleicht per DMA einfach raus zu dumpen
> wäre.
USART ist aus Sicht heutiger µC schnarchlahm...

Das geht auch locker ohne DMA

von Nebel Stocherer (Gast)


Lesenswert?

STM32 Newbie schrieb im Beitrag #5563956:
> Ich muss Daten von einem ASIC entgegen nehmen, der dummer weise per LVDS
> 16 zusammenhängende Bits @ 1MBit auf einem Kanal versendet und zur
> Parametrisierung auch wieder erwartet.

.... aber doch sicherlich nicht als UART-Datenstrom? So doof
dürfte kein ASIC-Hersteller sein, oder doch ? .... neeee, nicht
wirklich ..... und dann noch auf einer "krummen" UART-Datenrate.

Das wird dann wohl eher SPI oder was anderes Serielles sein.

von A. S. (Gast)


Lesenswert?

Harry L. schrieb:
> USART ist aus Sicht heutiger µC schnarchlahm...
>
> Das geht auch locker ohne DMA

Was hat das Verfahren mit der Geschwindigkeit zu tun? 9k6 ist vielleicht 
langsam, 10M nicht unbedingt.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

16 Bit Schieberegister und dann Feuer frei.
Sowas kann man zum Senden und zum Empfangen verwenden.

von Wolfgang (Gast)


Lesenswert?

STM32 Newbie schrieb im Beitrag #5563956:
> kann mir jemand sagen ob man bei STM32s (spezieller STM32F103C8 der auf
> den BluePills sitzt) 2 Bytes nahtlos ohne Pausezeit hintereinander
> wegschicken und auch empfangen kann?

Guck mal, was das "A" in UART bedeutet. Mit der Schnittstelle bist du 
auf dem Holzweg. Selbst mit Tricksen kann die nur 1.125 Bytes.

von Bernd K. (prof7bit)


Lesenswert?

Wir sollten erstmal klären was mit "nahtlos" gemeint ist.

  * Kommen da einfach 2 normale Frames a 8 Bit direkt nacheinander?
  * Gibt es noch eine Taktleitung und das ist in Wirklichkeit SPI?
  * Kommt tatsächlich ein einziger UART-Frame mit Überlänge?
    Das wäre sehr ungewöhnlich, um nicht zu sagen exzentrisch,
    da hätte derjenige der das ASIC entworfen hat dem Ding wirklich
    seine ganz persönliche Note aufgedrückt, womöglich um Nachbauern
    und unlizenzierten Zubehörlieferanten proaktiv ans Bein zu pinkeln.

Wenn das geklärt ist kann man über Lösungsmöglichkeiten nachdenken. 
Poste bitte mal ein Oszillogramm von dem Signal.

von Jim M. (turboj)


Lesenswert?

STM32 Newbie schrieb im Beitrag #5563956:
> Ich muss Daten von einem ASIC entgegen nehmen, der dummer weise per LVDS
> 16 zusammenhängende Bits @ 1MBit auf einem Kanal versendet und zur
> Parametrisierung auch wieder erwartet. :-/

Poste mal ein Timing-Diagramm, das ist hier arg missverständlich. Falls 
es ein Taktsignal gibt, wäre eher SPI Hardware zu verwenden.

von Nebel Stocherer (Gast)


Lesenswert?

Jim M. schrieb:
> das ist hier arg missverständlich.

Wenn ich den Zitierten beim Wort nehmen darf

STM32 Newbie schrieb im Beitrag #5563956:
> 16 zusammenhängende Bits

dann kann ich das eigentlich nicht miss-verstehen.
16 zusammenhängende Bits sind 16 zusammenhängende Bits.

Und daraus kann kein UART-Datenstrom gemeint sein.

von Bernd K. (prof7bit)


Lesenswert?

Nebel Stocherer schrieb:
> dann kann ich das eigentlich nicht miss-verstehen.
> 16 zusammenhängende Bits sind 16 zusammenhängende Bits.

16 logisch zusammenhängende Bits, also zu Beispiel im Sinne von 16-Bit 
Integer?

von S. R. (svenska)


Lesenswert?

Der TO hat doch die Antwort schon gegeben:
"Schade, ich dachte, das ginge. Naja, dann eben nicht."

Solange es keine weiteren Informationen gibt, ist das Thema damit durch.

von georg (Gast)


Lesenswert?

STM32 Newbie schrieb im Beitrag #5563956:
> der dummer weise per LVDS
> 16 zusammenhängende Bits @ 1MBit auf einem Kanal versendet

Das ist keine asynchrone Verbindung, eher eine synchrone - da kommt die 
spezifizierte Anzahl von Bytes ohne Pause nacheinander, aber da werden 
Framing Bits usw. verwendet. Es gibt aber eh so gut wie keine USARTs 
mehr und die synchronen seriellen Schnittstellen sterben aus.

Also Hardware (Schieberegister) oder Software per Time Interrupt, bei 1 
MBit schon anspruchsvoll, aber machbar.

Georg

von Dirk B. (Gast)


Lesenswert?

STM32 Newbie schrieb im Beitrag #5563956:

> Ich muss Daten von einem ASIC entgegen nehmen, der dummer weise per LVDS
> 16 zusammenhängende Bits @ 1MBit auf einem Kanal versendet und zur
> Parametrisierung auch wieder erwartet. :-/
Bei LVDS ist nur definiert, dass es eine asynchrone Verbindung ist, aber 
nicht welche Codierung verwendet wird. 'Klassisch' mit (zeit/wert)festen 
Framing Start/Stopbits dürfte zwar selten sein, aber für die 'Anwendung' 
(gelegentlich 16bit) zumindest praktisch ... je nach ASIC-Hersteller. 
8b/10b o.ä. dürfte aber wahrscheinlicher sein.

NB.: Gerüchte von Fake-Book o.ä. synchrone serielle Schnittstellen 
würden aussterben nachdem erst in den letzten Jahrzehnten das Internet 
praktisch (bis auf Tn-Anschlüsse) auf synchrone Datenübertragung 
umgestellt wurde bei Bedarf vorher prüfen.

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.