mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR SPI 24Bit


Autor: Luky S. (luky)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie kann ich also 24Bit "nahtlos" hintereinander verschicken?

cli
spi write
spi write
spi write
sei

Autor: Luky S. (luky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das funktioniert eben bei mir so nicht ohne längere Pause dazwischen

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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,

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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?

Autor: Christoph B. (christoph_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe das selbe Problem.
Würde gerne 24bit über SPI zwischen 2 Atmegas verschicken.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>habe das selbe Problem.
>Würde gerne 24bit über SPI zwischen 2 Atmegas verschicken.

Dann schick drei Bytes und gut. Wo ist das Problem?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die UART als Master-SPI funktioniert wunderbar, auch bei den XMegas, die 
noch einen Tick schneller durch höheren Takt und DMA sind.

Autor: oha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls das SPI interface es nicht kann, kann man die pins auch per code 
bewegen.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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...

:-)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.