www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dataflash and MEGA32 geht nicht


Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

also ich hab hier ein problem.

Ich hab nen Mega32 der auf 5V laeuft.
An den hab ich via spannungsteiler (1.8k und 3k) nen Dataflash 
geschnallt.

Ich benutze das "normale" SPI interface mit dem Unterschied das ich das 
Slave select mit Hand mache (PortB.2).

Ich versuche nun schon seit stunden dem Ding irgendetwas zu entlocken 
aber es weigert sich beharrlich. Irgendwer vorlschaege?

Chip: AT26DF081A
Supply Voltage: 3.3V
Mega Clock: 8 MHz
SPI - Clock: 1 MHz

Codeschnipsel fuer das SPI init

SPCR=0x51;
SPSR=0x00;

Codeschnipsel zum lesen der Device ID (erstes Byte)


PORTB.2=1; //von vorher - zieht CS auf High
delay_ms(1);
PORTB.2=0;  // CS low
spi(0x9F);    // sended read device id
x=spi(0xFF);   // dummy byte hinterher um daten rauszusaugen
PORTB.2=1;   // CS zurueck auf high
delay_ms(1);

PORTC=x;

und Port C bleibt dunkel (DDRC=0xFF)

irgendwer ideen?

Tobi

Autor: Marian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss man den Flash vielleicht irgendwie erst mit nem Befehl oder so 
initialisieren?

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich das Datenblatt lese muss man ihm nur sagen wenn man was in 
ihn reinschreiben will (den write enable command) senden. So wie ich das 
lese kann ich das Statusregister bzw die device ID immer auslesen.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>An den hab ich via spannungsteiler (1.8k und 3k) nen Dataflash
>geschnallt.

Funktioniert das denn auch für die Rückrichtung (lesender Zugriff)? Oder 
reichen dem AVR die kleinen Pegel von 3.3 V oder weniger?

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sie "sollten" reichen.. der mega erkennt alles was groesser 0.6*VCC ist 
als high

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Codeschnipsel ist wieder genau der Teil an dem
man NICHT sehen kann ob das so ok ist.

Viel, viel wichtiger: Die Konfiguration von DDRB, was steht
in spi(), ist JTAG ausgeschaltet ?

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok habs..
das problem war das ich die kruecke mit ISP progge und SPI ja das 
gleiche ist - dadurch hat mir der programmer der noch connected war die 
info die zurueckkam plattgemacht.
(eigentlich weiss ich das ja.. nur man denkt nie dran).

Tobi

Autor: Tobi A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

um die Frage dennoch zu beantworten

spi kommt mit codevision zusammen.
DDRB war richtig konfiguriert.
JTAG hab ich abgeschaltet gehabt.

Danke fuer die Hilfe.

 Tobi

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.