Forum: Mikrocontroller und Digitale Elektronik Dataflash and MEGA32 geht nicht


von Tobi A. (Gast)


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

von Marian (Gast)


Lesenswert?

Muss man den Flash vielleicht irgendwie erst mit nem Befehl oder so 
initialisieren?

von Tobi A. (Gast)


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.

von Kai G. (runtimeterror)


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?

von Tobi A. (Gast)


Lesenswert?

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

von holger (Gast)


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 ?

von Tobi A. (Gast)


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

von Tobi A. (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.