ATMEL/Arduino-USART und exotische Framelängen

Gast #3360528
Lesenswert?

> kann ich einen Arduino Due USART irgendwie dazu überreden, was längeres
> als 8 Bit zu übertragen? Ich denke da an so 20 Bits ohne Start/Stoppbit
> etc.
Es gibt Controller, bei denen man Start-/Stopbits weglassen kann, der 
AVR gehört soweit ich weiss nicht dazu. Unterstützte Framelängen eines 
UARTs sind 5-8 Datenbits, 20 Datenbits geht somit schon gar nicht.
Das liegt einfach daran, dass für die früheren Anwendungen der 
UART-Schnittstelle nicht mehr gebraucht wurden.

> Oder brauche ich für solche Hacks unbedingt einen SPI?
Entweder das, oder wenn die Übertragungsrate nicht übertrieben hoch ist, 
dann einen Timer-Interrupt und Bitbanging. Je nachdem geht's 
beispielsweise auch mit PCA, aber ohne genau zu wissen was du vorhast 
wird's schwierig eine Empfehlung zu geben.

Ralf
Gast #3360533
Lesenswert?

Ralf schrieb:
> Entweder das, oder wenn die Übertragungsrate nicht übertrieben hoch ist,
> dann einen Timer-Interrupt und Bitbanging. Je nachdem geht's
> beispielsweise auch mit PCA, aber ohne genau zu wissen was du vorhast
> wird's schwierig eine Empfehlung zu geben.

Hm, das wären 1 Bit je 500 nsec bzw. die 20 Bit im 100 kHz-Takt - also 
eher arg schnell...und zu schnell für den Arduino Due.

Danke für das Feedback!
Gast #3360551
Lesenswert?

2 MHz für die Bits plus 4 MHz Takt (ein Puls pro Bit) plus ein Sync am 
Frameanfang, das ganze mal drei (weil drei Ausgänge benötigt werden) 
plus der restliche Krimskrams an Datenverwaltung (USB-Stack, Daten 
Senden/Empfangen) - ich glaube schon, dass das knapp werden könnte...
Gast #3360560
Lesenswert?

Man kann mehrere Pins gleichzeitig schalten sofern sie in einem Port 
liegen, mit ein bisschen manuellem loop-unrolling und assembler-codieren 
kriegt man das vermutlich locker hin. Von einem USB-Stack war bisher 
nicht die Rede. Ralf's Post ist übrigens hinfällig da das kein AVR ist. 
Dir bleibt wohl nichts übrig als ins Datenblatt des Controllers zu 
schauen und nachzusehen was der UART kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren