Ich habe einen 16Bit AD-Wandler (ADS8321) bislang per Software-SPI mit einem AVR angesteuert. Da der AVR nun aber auch noch was anderes nebenher machen soll, möchte ich die Hardware-SPI Schnittstelle verwenden, weis aber leider nicht, wie ich damit das im Anhang dargestellte Timing erzielen kann. Wie kann ich mit der Hardware SPI des AVR 24Bit übertragen und die Timings im Anhang einhalten? Die Taktfrequenz (SCL) sollte dabei zwischen 1-2MHz liegen. Mein Problem ist, das der ADC sehr empfindlich auf die Pausen reagiert wenn ich 3*8 Byte nacheinander schicken will. Wie kann ich also 24Bit "nahtlos" hintereinander verschicken?
>Wie kann ich also 24Bit "nahtlos" hintereinander verschicken?
cli
spi write
spi write
spi write
sei
Hallo Lukas, wenn du einen neueren MEGA verwendest kannst du den UART als SPI-Master nehmen. dann hast du Buffer für die Daten und ein Flag für Buffer empty. Damit kannst du deine Daten nahtlose lesen und schreiben. Die CLK ist max. Fosc/2 und wie die Baudrate einstellbar. Beim "normalen" SPI fehlt der Buffer, es gibt Lücken beim nachladen. gruß hans PS: z.B. MEGA 48/88.. , 324p,
>Das funktioniert eben bei mir so nicht ohne längere Pause dazwischen
Was ist für dich lang? Wie lang dürfen die Pausen max. sein?
Codeschnipsel verfügbar?
habe das selbe Problem. Würde gerne 24bit über SPI zwischen 2 Atmegas verschicken.
>habe das selbe Problem. >Würde gerne 24bit über SPI zwischen 2 Atmegas verschicken. Dann schick drei Bytes und gut. Wo ist das Problem?
Die UART als Master-SPI funktioniert wunderbar, auch bei den XMegas, die noch einen Tick schneller durch höheren Takt und DMA sind.
@oha: Luky S. schrieb: >...bislang per Software-SPI mit > einem AVR angesteuert. > Da der AVR nun aber auch noch was anderes nebenher machen soll, möchte > ich die Hardware-SPI Schnittstelle verwenden... :-)
oha schrieb: > Falls das SPI interface es nicht kann, kann man die pins auch per code > bewegen. Luky S. schrieb: > Die Taktfrequenz (SCL) sollte dabei > zwischen 1-2MHz liegen. Alles klar?!
H.joachim Seifert schrieb: > Luky S. schrieb: >>...bislang per Software-SPI mit >> einem AVR angesteuert. >> Da der AVR nun aber auch noch was anderes nebenher machen soll, möchte >> ich die Hardware-SPI Schnittstelle verwenden... Vor zwei Jahren... :-o Luky S. schrieb: > 09.01.2009 Blöd, dass Christoph B. den Thread gekapert hat: Christoph B. schrieb: > habe das selbe Problem. Und ich vermute, er hat NICHT das selbe Problem.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.