www.mikrocontroller.net

Forum: Compiler & IDEs SPI testen


Autor: Benno Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich habe an meinem ATmega8 'nen Atmel Dataflash (AT45DB161B) mit 16MBit 
Speicher angeschlossen:

ATmega8    - AT45DB161B
-----------------------
PB5 (SCK)  - SCK
PB4 (MISO) - SO
PB3 (MOSI) - SI
PB2 (/SS)  - /CS

/WP, /RESET und RDY/(/BUSY) sind nicht connected.
Der Dataflash hängt ansonsten natürlich noch an VCC 3,3V und an GND.

1. Frage ist nun: Ist das so ok oder muss ich die nicht verbundenen Pins 
noch verbinden?
2. Hat irgendwer ein Testprogramm womit ich testen kann das der 
Dataflash funktioniert (man also darauf lesen und schreiben kann)?

Autor: Benno Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sollte vielleicht erwähnen das der Dataflash seriell (per 
SPI-Protokoll) geschrieben wird.

Autor: Bernhard T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benno,
/Reset und /WD musst du auf high legen . Ob der SPI-BUS richtig 
angeschlossen ist ??. Bsp. gibt's bei ATMEL (AN 335 glaub ich), die 
benutzen alle Leitungen und den kleinen 2K Bruder aus der Familie.
Gruss Bernhard

Autor: Benno Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Reset habe ich mittlerweile mit dem Reset des Controllers verbunden 
(Der ist ja auch im Normalfalle ja auch auf High).
/WP und RDYBSY habe ich auf den Port PB1 und PB0 gelegt.

Meine Initialisierung sieht so aus:

DDRB = 0x2E;   // SPI Port initialisation
    // SCK   MISO  MOSI  CS    WP    RDYBSY
    // PB5   PB4   PB3   PB2   PB1   PB0
    //  O     I     O     O     O     I
    //  1     0     1     1     1     0

PORTB = 0xFF;   // all outputs high, inputs have pullups (LED is off)

Macht das hier eigentlich was aus das auf PB6 XTAL1 und auf PB7 XTAL2 
liegt?

Autor: Bernhard T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke das macht nichts aus. Du könntest PB6 und PB7 aber nutzen wenn 
du den internen Oszillator statt den Quarz benutzt. Dafür musst du die 
entsprechenden Fuse-bit programmieren. Dann kannst du die gleiche 
Pinnbelegung nehmen wie in der AN.
Sorry wegen der falschen Behauptung zur AN 335 die ja doch mit deinem 
Teil arbeitet. Ich hab da was durcheinander gebracht.
Gruß Bernhard

Autor: Bernhard T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peinlich, peinlich peinlich - mein letztes posting war auch wieder nur 
Müll. Das Atmel behauptet, der Port B beim Mega8 ist ein echter 8 Bit 
i/o, ist eine glatte Lüge. Ein paar Seiten weiter steht die Wahrheit PB6 
und PB7 können anstelle des Quarzes nur für nen Teimer genutzt werden .. 
Sorry
Bernhard

Autor: Benno Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Macht nichts, aber trotzdem Danke. Werde PB6 und 7 erstmal außer acht 
lassen.

Autor: Hans-Jürgen Heidenreich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe nach der SPI-Schnittstelle gesucht und diese Seite gefunden.
Ich möchte den LTC1286 (AD-Wandler) auslesen, der eine
SPI-Schnittstelle hat. Diesen habe ich zunächst an die RS232
angeschlossen. Später soll es der Atmel übernehmen. Leider kommt nur
Datenmüll an. Beim TLC549 funktioniert es. Den kann man fast statisch
auslesen. Vielleicht ist die RS232 für diesen Fall zu langsam???
Wer kan helfen?
Gruß aus Magdeburg
H.-J. Heidenreich

Autor: RoBSki! (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Peinlich, peinlich peinlich - mein letztes posting war auch wieder nur
Müll. Das Atmel behauptet, der Port B beim Mega8 ist ein echter 8 Bit
i/o, ist eine glatte Lüge. Ein paar Seiten weiter steht die Wahrheit
PB6
und PB7 können anstelle des Quarzes nur für nen Teimer genutzt werden
..
Sorry
Bernhard

Nein, kein Lüge

Port B Mega8 PB6 und PB7 sind echte i/o ?

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Port B Mega8 PB6 und PB7 sind echte IO, wenn external Quartz/Clock oder
Timer-Input nicht verwendet wird.
Hast Du das neueste Datasheet ?

In meinen steht unter Revisions:
12. Corrected PB6 and PB7 in “Alternate Functions of Port B” on page
56.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Mega8 hat je nach Fusebits bis zu 23 I/Os, 2*8Bit (Port B,D) und
1*7Bit (Port C).


Peter

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.