www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LTC1286 --> AVR --> Software SPI


Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche gerade einen LTC1286 an einen Mega8 per Software SPI zum laufen 
zu bringen. Leider "sagt" er kein Mux. Hat jemand vielleicht ein ASM 
Beispiel für Software SPI am Mega?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Schaue ich gleich mal durch.

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mir die Beispiele jetzt mal angeschaut.

Habe keinerlei Wartepausen zischen den Flanken entdecken können. Sind da 
keine nötigt?
Laut dem Datenblatt vom LTC1286 erkenne ich zumindestens beim Startup 
eine gewisse einzuhaltende Warrtezeit, denke ich.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Ulf (Gast)

>Habe keinerlei Wartepausen zischen den Flanken entdecken können. Sind da
>keine nötigt?

Kommt darauf an, wie schnell der SPI-Slave getaktet werden kann. Die 
74xx595 sind da sehr schnell.

>Laut dem Datenblatt vom LTC1286 erkenne ich zumindestens beim Startup
>eine gewisse einzuhaltende Warrtezeit, denke ich.

Dann bau sie doch einfach ein.

MfG
Falk

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie funktioniert das mit dem CLK Signal, gib es da auch eine Zeit wie 
lange HIGH und LOW sein muss? Kann das aus dem Datenblatt nicht so 
richtig raus lesen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Ulf (Gast)

>Wie funktioniert das mit dem CLK Signal, gib es da auch eine Zeit wie
>lange HIGH und LOW sein muss?

Die gibt es immer.

> Kann das aus dem Datenblatt nicht so richtig raus lesen.

Tomaten auf den Augen?

http://www.linear.com/pc/downloadDocument.do?navId...

Seite 2, fclk, max. 200kHz.

MFG
Falk

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also muss ich schauen wie mien AVR getaktet ist, das durch Fclk=200kHz 
teilen und weiss dann wie viele Takte ich warten muss? Ist das so 
richtig?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiere ich dann heute Nachmittag gleich mal aus. Vielen Dank schon mal 
für deine Hilfe FALK.

Autor: Ulf (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt alles in ein Programm gefasst. Leider bekomme ich immer noch 
keine Werte. Finde den Fehler einfach nicht.

Habe als Anhang mal die .asm Datei mit dran gehängt. Wäre schön wenn sie 
sich mal jemand angucken könnte.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ulf (Gast)

>Habe jetzt alles in ein Programm gefasst. Leider bekomme ich immer noch
>keine Werte. Finde den Fehler einfach nicht.

In eine Register passen kein 12 Bit, die oberen 4 landen im Nirvana.

>     ldi temp3, 12                 ; Bitz�hler


Und du hast einen kleinen Lapsus drin

>        ldi temp1, (1<<CS)        ; Port C CS=HIGH
>        out DDRC, temp1

Das soll sicher heissen

        out PORTC, temp1

Ausserdem ist es sehr schlecht, den gesamten Port zu schreiben. Damit 
beeinflusst du auch CLK. Nimm lieber sbi und cbi.

MfG
Falk

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den 12Bit ist klar. Da kümmer ich mich später drum. Will einfach 
erst mal ein Lebenszeichen vom ADC.

Die anderen beiden Sachen ändere ich gleich und schaue mal ob es geht.

Autor: Ulf (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
LÄUFT !!! Ich danke dir sehr FALK! Da kann ich heute Nacht wenigstens In 
Ruhe einschlafen :-).

Es war noch ein anderer Fehler drin.

      sbic PINB, Dout     ; wenn Null, nächsten Befehl überspringen

musste natürlich PINC sein. Hatte es von deinem LINK rauskopiert und 
vergessen zu ändern.

      sbic PINC, Dout     ; wenn Null, nächsten Befehl überspringen

Jetzt bin ich meinem großen Projekt wieder ein Stück näher.

Viele Grüße Ulf

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.