EPROM an Mikrocontroller STM32F103 (3.3V)

Gast #4533163
Lesenswert?

Hallo Zusammen,

ich möchte ein Eprom an meinen STM23f103 Mikrocontroller anschließen und 
anschließend Lesen und Programmieren.

Hat jemand von euch erfahrung mit EPROM-s oder ein Bausatz dafür?

Problem sind die Spannungen, da mein Mikrocontroller ein Spannungspegel 
von 3.3 V benötigt. Hingegen braucht der Eprom 5 Volt betriebsspannung 
und 25 V Programmierspannung.
Persönliche Seite #4533181
Lesenswert?

TImo schrieb:
> ich möchte ein Eprom an meinen STM23f103 Mikrocontroller anschließen und
> anschließend Lesen und Programmieren.

Willst Du Dir einen Eprom-Programmierer selbstbauen?

Wozu soll das gut sein? EPROMs sind Technik des letzten Jahrtausends, 
heute nimmt man Flash-ROMs, die brauchen keine abstrus hohen 
Programmierspannungen und können vor allem ohne ausgebaut zu werden auch 
wieder gelöscht werden.

Mit gigantischer Kapazität gibt es Flash-ROMs spottbillig in Form von 
SD-Karten.
#4533213
Lesenswert?

Für STM32 F100 gibt auch ein "EEPROM" SW um in das Flash zu schreiben. 
Schreib cyclen sind dan begrenzt auf ca 10 k, aber mit wear leveling kan 
das verbesseren. Nachteil : um das flash zu wischen, muss minimal ein 
page gewischt werden, damit braucht man immer das dobbel von "eeprom" 
memory.
Persönliche Seite #4533253
Lesenswert?

TImo schrieb:
> Ich brauche eine Art OTP Speicher.

Hmm. Und mit welcher Kapazität? EPROMs sind halt nicht besonders groß.

Wobei, wenn Du Dir eins mit 25V Programmierspannung ausgesucht hast, 
dann kommts Dir nicht auf Größe an, das ist nämlich uralt. "Neuere" 
EPROMs kommen mit 12.5V aus ...

Allerdings:

Die Daten in EPROMs sind nicht vor dem Überschreiben gelöscht; Du kannst 
jedes EPROM mit Nullen überschreiben. Nur Einsen bekommst Du nicht ohne 
externes Löschgerät wieder hinein.

Als Sicherheitsmechanismus taugt das also nicht sehr viel.
Gast #4533268
Lesenswert?

Klar das mit dem Überschreiben hast vollkommen recht!. Aber gibt es 
nicht ein Speicher der NUR geschrieben und nicht gelöscht werden kann??

Also die 25V hab als referenz genommen.

Bastian W. schrieb:
> Und wenn du das EEPROM
> http://www.atmel.com/Images/Atmel-5228-SEEPROM-AT2...
>
> "Extern" programierst und dann CS und WP zusammen legst. Ggf unter dem
> IC dann kann man ohne Zugriff nicht schreiben
>
> Gruß JackFrost

Es muss zeit zur Zeit Datten geschrieben werden. Das heißt es muss eine 
Möglichkeit gefunden werden das alles vom Mikrocontroller gesteuert 
wird.


Das habe ich im Moment gefunden:

http://www.mouser.com/ds/2/36/Doc0601-16957.pdf

Hier muss aber für die Programmierung VCC=6.5V und VPP=13V 
bereitgestellt werden.
#4533277
Lesenswert?

TImo schrieb:
> Aber gibt es
> nicht ein Speicher der NUR geschrieben und nicht gelöscht werden kann??

TImo schrieb:
> Es muss zeit zur Zeit Datten geschrieben werden. Das heißt es muss eine
> Möglichkeit gefunden werden das alles vom Mikrocontroller gesteuert
> wird.

Schließt sich das nicht gegenseitig aus ? Oder willst du nur Anhängen ?

Willst du das fertigen lassen ? Wenn ja , kannst es ja bei beidem mit 
BGA probieren und die /WP Leitung als Zwischenlage einer 
Multilayerplatine. Ist die Frage wie weit das stört wenn die auf dem GND 
Layer liegt.

Gruß JackFrost
Gast #4533335
Lesenswert?

Bastian W. schrieb:
> TImo schrieb:
>> Aber gibt es
>> nicht ein Speicher der NUR geschrieben und nicht gelöscht werden kann??
>
> TImo schrieb:
>> Es muss zeit zur Zeit Datten geschrieben werden. Das heißt es muss eine
>> Möglichkeit gefunden werden das alles vom Mikrocontroller gesteuert
>> wird.
>
> Schließt sich das nicht gegenseitig aus ? Oder willst du nur Anhängen ?
>
> Willst du das fertigen lassen ? Wenn ja , kannst es ja bei beidem mit
> BGA probieren und die /WP Leitung als Zwischenlage einer
> Multilayerplatine. Ist die Frage wie weit das stört wenn die auf dem GND
> Layer liegt.
>
> Gruß JackFrost

Also die Daten dürfen NUR einmal geschrieben werden. Löschen/Ändern ist 
eigentlich nicht erlaubt!

Klar die Sicherheit ist aufgefordert im Rahmen der Möglichkeiten. Ich 
brauche ja kein neuen Speicher entwickeln.

Mir geht darum einfach eine Möglichkeit zu finden wie ich den STM32f103
mit dem Eprom verbinde und Daten schreiben und zurück lesen können mehr 
nicht.

Fertigen ja aber im Moment mach mir gedanken wie es überhaupt 
funktioniert.

Aus dem Grund wollte mal hier im Forum nach Beispielen fragen.

Für jede Hilfe bin ich sehr dankbar.
Gast #4533585
Lesenswert?

TImo schrieb:
> Mir geht darum einfach eine Möglichkeit zu finden wie ich den STM32f103
> mit dem Eprom verbinde und Daten schreiben und zurück lesen können mehr
> nicht.

Also wenn Du Dich an dem klassischen EPROM vergnügen willst:
Such Dir den Programmieralgorithmus raus. Schau Dir an wo was angelegt 
werden muss und welche Spannung Du dafür benötigst. Wenn ich das recht 
im Kopf habe sind das aber an irgendeinem Pin dann 7V. Schau dass Du 
Adressen und Daten zusammen auf einem Bus erzeugen kannst (Multiplexing) 
dann sparst Du PINs.
Ansosnten such Dir einen andere Lösung (wie vorgeschlagen) mit EEPROM 
oder vielleicht "Add Only Memory":
http://www.mouser.de/ProductDetail/Maxim-Integrated/DS2505P+TR/?qs=sGAEpiMZZMs6Aik9Fp479ks2Zu5YRpJxGeBv8AfdNvI%3d

rgds
Persönliche Seite #4534274
Lesenswert?

TImo schrieb:
> Aber gibt es nicht ein Speicher der NUR geschrieben und nicht gelöscht
> werden kann??

Nicht als Halbleiterspeicher. Als optischer Massenspeicher, da heißt das 
dann WORM ("write once read many"), oder als Bandlaufwerk (bei LTO gibt 
es für diese Aufgabe spezielle Bandtypen).

Aber das ist nichts, um es mit einem µC zu verbinden.

Spezifiziere Deine Aufgabenstellung genauer. Wenn es um 
Manipulationssicherheit geht, sollte eine stinknormale SD-Karte genügen, 
auf der Du Dateien ablegst, die wie z.B. bei PGP mit einem Schlüssel 
gekennzeichnet sind. Dann können die Dateien zwar gelöscht, aber nicht 
verändert werden.
Gast #4534296
Lesenswert?

Rufus Τ. F. schrieb:
> sollte eine stinknormale SD-Karte genügen
Alle SD-Karten haben einen Passwortschutz. Damit kann man die Karte 
komplett Sperren und gegen Lesen/Beschreiben schützen. Das ist zwar nur 
so sicher wie die internen Algorithmen der Karte, aber immer noch 
wesentlich sicherer als ein EPROM. Außerdem können die meisten 
SD-Karten-Leser und Smartphones den Passwortschutz onehin nicht 
verwenden und melden eine geschützte Karte einfach als defekt. Vom 
Mikrocontroller aus ist das Setzen/Senden des Passworts aber überhaupt 
kein Problem. Ist so wesentlich einfacher als eine echte 
Verschlüsselung/Signatur.
Gast #4534350
Lesenswert?

>Ich brauche eine Art OTP Speicher.
frage, wie sicher es sein muss.
evtl bei Mem- oder RAM-baustein einfach die betr Pins abschalten,
oder kleinen uC nehmen (mit EEPROM u eingebauter Seriennr), dann mit 
Verschlüsselung.
(Firma: www.harerod.de) Persönliche Seite #4534355
Lesenswert?

Die Spec klingt, als ob jemand den TÜV im Hause hatte, ohne selbst einen 
kompetenten Elektroniker zugezogen zu haben. Macht nix, sowas führt 
manchmal zu interessanten Aufträgen. ;)

Scherz beiseite, wie wäre es, das EPROM mit einem zweiten 
Mikrocontroller zu emulieren? Eine MCU die Ihren eigenen Flash-Speicher 
schreiben kann, sowie entsprechend aktivierten Firmwareschutzmaßnahmen, 
löst die Aufgabe.
An einen F1 würde ich einen F0 hängen - selbe Entwicklungsumgebung, 
Hardwarekosten 0,50€.

Meine bevorzugte Lösung wäre die interne EEPROM Emulation gewesen.

Weiteres Aufwand rechtfertigt die bisher bekannte Aufgabenstellung 
nicht.
Gast #4562011
Lesenswert?

Dr. Sommer schrieb:
> TImo schrieb:
>> Kennt jemand so eine Flash Memory Typ mit 3.3 V ??
>
> Dr. Sommer schrieb:
>> Alle SD-Karten haben einen Passwortschutz.
>
> SD-Karten laufen mit 3.3V, haben einen Passwortschutz, sind billig und
> leicht beschaffbar.

Danke für deine Antwort.

Ja das Problem ist das ich keine SD Karte benutzen darf. Es muss in die 
Leiterplatte intergierbar sein :-)
#4562070
Lesenswert?

Wenn Du irgendwas sinnvoll schützen willst, solltest Du erstmal mit 
einer Bedrohungsanalyse starten bevor Du Dir über Gedanken über die 
Umsetzung oder konkrete Technologien wie EPROM machst.

Mal ein paar Fragen dazu als Anregung:

Also was willst Du vor wem/was schützen?

Geht es um einen böswilligen, aktiven Angreifer oder um Schutz vor 
Fehlern, Störungen etc.?

Wenn Angreifer:

Wie ist der Angreifer ausgestattet?

Was hat er für Zugriffsmöglichkeiten und wie lange?

Reicht es, einen Angriff als solchen zu erkennen oder muss der irgendwie 
verhindert werden? Was soll dann passieren?

Was für ein Schaden tritt ein, wenn der Angreifer den Schutz überwindet?
Lohnt sich da ein aufwendiger Schutz überhaupt?

Oder tritt ein singifikanter Schaden erst auf, wenn eine fertige 
Angriffsanleitung irgendwo publiziert und dann massenhaft nachgemacht 
wird?

Was für ein Schaden tritt ein, wenn die Schutzfunktion fälschlicherweise 
einen Angriff erkennt (false-positive)?

Oder geht es eigentlich gar nicht darum einen wirklich sinnvollen Schutz 
zu entwickeln, sondern es muss nur irgendeine 
Vorschrift/Zertifikat/Norm... mit geringstmöglichem Aufwand eingehalten 
werden?
Gast #4562563
Lesenswert?

Marcus H. schrieb:

> Scherz beiseite, wie wäre es, das EPROM mit einem zweiten
> Mikrocontroller zu emulieren? Eine MCU die Ihren eigenen Flash-Speicher
> schreiben kann, sowie entsprechend aktivierten Firmwareschutzmaßnahmen,
> löst die Aufgabe.

Warum einen zweiten uC? Das kann der erste doch selbst?

Notfalls muss man einen etwas größeren nehmen. Richtig einfach wird es 
mit denen, die ein zweigeteiltes Flash (Dual Bank) haben. Das wird immer 
noch billiger als die Hochspannungserzeugung für ein EPROM und ist 
sicherer.

Ja, Flash kann gelöscht werden. Aber nur vom Programm auf dem Chip 
selbst. Alle Änderungen am Speicherinhalt passieren (nur) genau so, wie 
du es programmiert hast.

Als Kompromiss gibt es den RDP Level 1. Dann muss der Angreifer einen 
Debugger anschließen (an 0.5mm Pins anlöten) und kann dann das gesamte 
Flash löschen, also auch das Programm. Danach hat er einen teuren 
Türstopper.
Gast #4563187
Lesenswert?

Hallo zusammen,

ich bedanke mich sehr für eure Unterstützung.

Hier meine Lösung:

http://www.spansion.com/Support/Datasheets/S25FL127S_00.pdf
Dieser Flash-Memory erlaubt "– Advanced Sector Protection (ASP)
– Individual sector protection controlled by boot code or password".

Das heißt bei mir wird schreiben und lesen ist nur mit einem gültigen 
Password möglich sein.

Also zum glück brauche ich kein EPROM.

Ich bedanke mich vielmals für eure Unterstützung.

Gruß und schoennes WE
#4563209
Lesenswert?

TImo schrieb:
> http://www.spansion.com/Support/Datasheets/S25FL127S_00.pdf
> Dieser Flash-Memory erlaubt "– Advanced Sector Protection (ASP)
> – Individual sector protection controlled by boot code or password".
>
> Das heißt bei mir wird schreiben und lesen ist nur mit einem gültigen
> Password möglich sein.

Nun, SPI ist keine Geheim-Schnittstelle. Jeder billige Logic-Analyzer 
für 10 EUR kann Deinen SPI-Datenverkehr aufzeichnen und damit das 
Passwort mitschneiden wenn Du es an den Flashbaustein überträgst.

Ich bin immer noch der Meinung daß Du erst mal ne gründliche 
Bedrohungsanalyse machen solltest.
(Firma: www.harerod.de) Persönliche Seite #4563973
Lesenswert?

Gerd E. schrieb:
> Nun, SPI ist keine Geheim-Schnittstelle. Jeder billige Logic-Analyzer
> für 10 EUR kann Deinen SPI-Datenverkehr aufzeichnen und damit das
> Passwort mitschneiden wenn Du es an den Flashbaustein überträgst.
Das Problem haben FPGAs ja schon immer. Die dazu passende Lösung ist, 
dass auf der SPI kein Klartext übertragen wird.
Naja, ist doch eine schöne Sammlung geworden, was man so an 
Parameterspeicher an MCUs hängen kann.
#4567631
Lesenswert?

Marcus H. schrieb:
> Das Problem haben FPGAs ja schon immer. Die dazu passende Lösung ist,
> dass auf der SPI kein Klartext übertragen wird.

Naja, die Kommunikation ist schon Klartext, nur die Daten nicht.
Und auch hier stellt sich die Frage, was erreicht werden soll.
Die Daten im EEProm lassen sich: Kopieren (!), Löschen und -wenn auch 
nicht sinnvoll- überschreiben.

Der einzige Angriff, der damit abgewehrt wird, ist reverse engeneering 
des Code. (Und auch da bin ich sicher, dass es da Möglichkeiten gibt, 
solange der 'Encoder' zur Verfügung steht.)


Gruß

Jobst
(Firma: www.harerod.de) Persönliche Seite #4567735
Lesenswert?

Jobst M. schrieb:
> Marcus H. schrieb:
>> Das Problem haben FPGAs ja schon immer. Die dazu passende Lösung ist,
>> dass auf der SPI kein Klartext übertragen wird.
>
> Naja, die Kommunikation ist schon Klartext, nur die Daten nicht.
mmh?

> Und auch hier stellt sich die Frage, was erreicht werden soll.
> Die Daten im EEProm lassen sich: Kopieren (!), Löschen und -wenn auch
> nicht sinnvoll- überschreiben.
Ganz so einfach ist das Kopieren nicht. Aktuelle Chips haben eine 
eindeutige ID. Ein ordentlicher Scrambler baut auf sowas auf.
(Firma: www.harerod.de) Persönliche Seite #4569259
Lesenswert?

Jobst M. schrieb:
> Und in der Massenproduktion werden dann in jedem Chip andere Daten
> abgelegt?
Wieder näher am Thema und warum ich die EEPROM-Emulation mit eigener 
Firmware bevorzuge ->
Max max hat hier auch auf die harte Tour rausgefunden, wie gut moderne 
Schutzmechanismen arbeiten:
Beitrag "Re: STM32 ST-LINK Utility Read Out Protection to level 2"

Es ist nicht unmöglich an der höchsten Schutzstufe einer aktuellen MCU 
vorbeizukommen, es braucht aber etwas mehr Equipment und Erfahrung.
#4569398
Lesenswert?

Marcus H. schrieb:
> Es ist nicht unmöglich an der höchsten Schutzstufe einer aktuellen MCU
> vorbeizukommen, es braucht aber etwas mehr Equipment und Erfahrung.

Wenn einem dieser Schutz nicht reicht, sollte man evtl. über eine 
ähnliche Lösung wie bei den IBM-Cryptokarten nachdenken: Wenn die feinen 
in der Vergussmasse liegenden Drähtchen berührt, durchtrennt oder 
verbunden werden, wird der batteriegepufferte Speicher gelöscht.


Gruß

Jobst

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren