Forum: Mikrocontroller und Digitale Elektronik SST26VF016 Schreib/Leseproblem


von Hanna (Gast)


Lesenswert?

Hallo liebe Forumgemeinde,

ich habe mal wieder ein kelines/GROSSES Problem.
Auf einer eigens entwickelten Schaltung hatte ich ein Layout für einen 
SST26VF016 vorgesehen. Der war damals nicht lieferbar und ich habe einen 
Vergleichstyp von ADESTO eingebaut. Ich benutze ihn im einfachen SPI 
Mode ohne QUAD etc.

Mit dem Adesto lief das auch alles völlig unproblematisch. Als nun die 
neuen Platinen kamen, waren hier die originalen SST26VF016 verbaut. 
Firmware aufgespielt, kein lesen/kein schreiben möglich.  :-(
Auf die neue Platine den alten ADESTO aufgelötet-> geht auf anhieb.

Nun bin ich schon seit 2 Tagen am ausprobieren was diesem Mistding nicht 
schmeckt. Ich bin momentan soweit, dass ich in der Main nur mal versuche 
das Statusregister auszulesen, was beim ADESTO einwandfrei funktioniert, 
beim SST26VF016 aber nur FF zurück liefert, da der MISO wohl dauerhaft 
auf High steht.

Hier mein Code dazu

1
void ReadSTATUS(void) {
2
    u8 dum;
3
  SSTEnaOn;
4
  SendByteSPI2(0x06);
5
  SSTEnaOff;
6
  for(k=0;k<500;++k);
7
  SSTEnaOn;
8
  SendByteSPI2(0x05);
9
  for (i=0;i<10;i++)
10
      SReg[i] = ReadByte();
11
  SSTEnaOff;
12
}

Sehe ich das richtig, nach Power up oder Reset steht der Chip lt. 
Datenblat im Normalmodus (kein Quad) und egal welche Block protections 
hier noch aktiviert sind oder nicht, ein lesen des Status sollte doch 
möglich sein oder?

Weiß langsam nicht mehr wo ich noch ansetzen soll, denn der ADESTO läuft 
mit gleicher Firmware und gleicher Hardware  :-(


Hat jemand noch eine Idee. Bin für jede Anregung äußerst dankbar, da 
langsam etwas in Zeitdruck.

Gruß

Hanna

von Bastler (Gast)


Lesenswert?

Das Problem habe ich auch.
Laut Datenblatt sind die Befehle gleich.
Das einzige was funktioniert ist die Chip-Kennung auszulesen.
Ein lesen/schreiben auf den Speicher geht nicht.

Ich habe ein Flash Gerät beim Chinesen gekauft, damit gehen beide 
Bausteine. Werde mal die Daten mitschneiden und selber ausprobieren.

von Hanna (Gast)


Lesenswert?

Hi Bastler,


bisher konnte ich noch Garnichts auslesen. Kannst du mir den HexWert für 
die Chip Kennung geben?

von Bastler (Gast)


Lesenswert?

Hallo,
das müsste 0x9F sein. Muss ich noch zuhause im Code nachschauen.
Da kommen drei Bytes als Antwort, also drei Dummy Bytes senden.

von Hanna (Gast)


Lesenswert?

ne...selbst da kommt nix. Kannst du mir sagen wie du die Pins beschaltet 
hast die du im "NICHT QUAD MODE" nicht brauchst?

von Bastler (Gast)


Lesenswert?

Ich hatte einen M25P80 (8 Mbit, low voltage, serial Flash memory
with 75 MHz SPI bus Interface), vielleicht bin ich gerade falsch bei 
deinem Problem.

Beim SST26VF016 sollte 0xBF2601 als ID gelesen werden.
Zum auslesen 0xAF senden und Dummy Bytes.

Bei mir gingen die SST Typen aber nicht ST soweit ich weiß.
Muss nachher mal nachschauen...

von FloMann (Gast)


Lesenswert?

Hanna schrieb:
> Sehe ich das richtig, nach Power up oder Reset steht der Chip lt.
> Datenblat im Normalmodus (kein Quad) und egal welche Block protections
> hier noch aktiviert sind oder nicht, ein lesen des Status sollte doch
> möglich sein oder?

Ich glaube das geht bei deinem Typ nicht, siehe Auszug aus Datenblatt
"To provide backward compatibility to traditional SPI
Serial Flash devices, the device’s initial state after a power-on reset 
is SPI bus protocol supporting only
Read, High Speed Read, and JEDEC-ID Read instructions"
Es sind auch nur diese 3 Befehle mit Diagrammen für eine normale SPI
kommunikation beschrieben, beim Rest sehe ich beim drüberfliegen nur
SQI.

Du müsstest den SST26VF016B Typ nehmen der geht vollumfänglich
im SPI mode, nutzte den Typ schon selbst das geht.
"To  provide  backward  compatibility  to
traditional SPI Serial Flash device
s, the device’s initial state
after  a  power-on  reset  is  SPI
mode  which  supports multi-I/O
(x1/x2/x4)  Read/Write  commands."

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.