www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7x und ADS1271 über SPI


Autor: Constantin C.v.f. (cvf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

hat hier jemand Erfahrungen und Tipps in Bezug auf die Kombination von 
AT91SAM7X256 und ADS1271?

Ziel ist zwei ADC's (synchron sollen zwei Messwerte im high-resolution 
mode (24bit) erfasst werden) über die SPI Schnittstellen des µC 
auszulesen.

Meine Problematik ist hier den SPI-Master (µC) an die ADC's anzupassen. 
Genauer gesagt ist mir das Timing der ADC's etwas suspekt :-))

Gruß
constantin

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo constantin,
und welches timing ist dir "suspekt"?

gruss
gerhard

Autor: Constantin C.v.f. (cvf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard,

nun "suspekt" sollte etwas übertrieben sein; mir gehts um die 
Nachbildung des SPI Formats der ADC's welches der ATMEL erzeugen muss.
Angenommen CLK (Masterclock des ADC) und SCLK(Serial-out-Clock des ADC) 
mit 24MHz takte (laut Datenblatt möglich) erreiche ich damit eine hohe 
Samplerate mit ca. 47kSPS. Was auch mein Ziel eine hohe Samplerate bei 
hoher Auflösung wäre. Probleme machen die vielen unterschiedlichen 
Zeiten (min/max EIN-Zeit bis best. Flanke, min/max Pulsbreite, min/max 
AUS-Zeit bis best. Flanke usw.) die einzuhalten sind.
Kurz gesagt kommt es mir schwierig vor darin den Überblick zu behalten 
und habe gehofft das ich eventuell hier im Forum Tipp erhalten könnte.

gruß
constantin

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehme an du beziehst dich auf das timing der spi schnittstelle.
da würde ich kein großes problem darin sehen. du muß tnur den richtigen 
spi mode (ich würde mal sagen das der adc mode 0 benötigt) einstellen.
um die volle geschwindigkeit des adc nutzen zu können wird es sinn 
machen die spi schnittstelle mittels pdc zu realisieren.

gruss
gerhard

Autor: Constantin C.v.f. (cvf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard,

hast recht, hab ich erst entdecken müsssen dass es eigentlich relativ 
einfach ist die SPI Schnittstelle zu nutzen; leider "reicht" die SPI 
Schnittstelle das ATMEL nicht aus; sie lässt nur max. 16bit zum Transfer 
zu. Das Datenwort vom ADC ist aber 24bit lang... wäre ärgerlich wenn man 
die letzten 8bit verlieren würde bzw. wenns überhaupt funktioniert).
Daher werd ich mich nun in PDC einlesen und meld mich dann sicherlich 
wieder :-)

gruß
constantin

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo constantin,
die pdc behandlung ist recht einfach.

die initialisierung könnte so aussehen:

// Port-Multiplexer für SPI-Schnittstelle konf.
AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, ......);
// Clock auf SPI-Modul schalten
AT91F_SPI_CfgPMC();
// Mode einstellen:
// ist abh. von deiner hardware
AT91F_SPI_CfgMode(AT91C_BASE_SPI, ....);
// CS-Register init. (am besten 16bit breite einstellen
AT91F_SPI_CfgCs(AT91C_BASE_SPI,...);
// PDC öffnen
AT91F_PDC_Open(AT91C_BASE_PDC_SPI);
// SPI-Modul aktivieren
AT91F_SPI_Enable(AT91C_BASE_SPI);


für den empfang benötigts du einen entsprechende großen buffer.
um den empfang zu starten mußt du einen dummy-sendung starten.

zum empfangen folgende funktions-aufrufe:
// Empfangs-Buffer an PDC übergeben
AT91F_SPI_ReceiveFrame(AT91C_BASE_SPI,...);
// Sende-Buffer an PDC übergeben
AT91F_SPI_SendFrame(AT91C_BASE_SPI,...);


gruss
gerhard

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.