PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Könnte man ein I2C EEPROM zur laufzeit wechseln?



mrg
08.05.2007, 19:25
Hallo ihr Tüftler kollegen!


Wie sich aus meiner frage unschwer erkennen läßt, würd ich gern wissen,ob ich aus einem laufenden system ein I2C EEPROM entfernen und durch ein anderes (selber Typ) ersetzen kann.

Das ganze soll eine "speicherkarte" für meinen robo werden.
Ins EEPROM werden die Informationen abgelegt welche das verhalten des robos in bestimmten situationen beeinflußt.

Wohlgemerkt:
Nicht teile des Programms sollen aufs EEPROM,das is ja wohl klar.
Von den abgelegten werten soll bloß abhängen,wie daß Programm abläuft.

Klar ginge das mit einem Jumper oder einem Mehrbereichs schalter,aber mir gefällt das so besser,und ich habe die möglichkeit auch diverse Werte,für Fahrtgeschwindigkeit o.ä. zu ändern.

Natürlich müßte ich die datenübertragung stoppen,vor dem Wechsel.
Der Zeitpunkt des Wechsels ist im Programm bekannt,bevor gewechselt wird.

Ich weiß halt nur nicht so ganz,ob I2C dafür vorgesehen ist.

MfGfA,
--> Mr.G.

Rofo88
08.05.2007, 19:30
Wenn er gerade nicht Kommuniziert sehe ich nichts was dagegen spricht ihn in hot Plug and Play zu wechseln. Aber Du kannst es erst mal auf nem Experimentierboard versuchen bevor Du das System aufbaust.

MfG

mrg
08.05.2007, 20:24
Hi und danke für deine antwort.

Leider müßte ich das auf lochraster aufbauen und versuchen.
Und dazu hab ich momentan keine zeit,da ich ja dann auch die hardware löten müßte um das EEPROM vom PC aus zu beschreiben.
Und wenns ein paar mal gutgeht,heißt es ja noch lange nicht daß das auch öfter funktioniert. Diese Erfahrung mußte ich schonmal machen.

Aber ich würde es gern schon planen,damit ichs im urlaub zusammenstricken kann.

Möglicherweise hatte ja schon jemand dieselbe idee.
Oder aber es is so absurd,daß noch nie jemand drüber nachgedacht hat,das zu tun.

Eventuell gibts ja auch nen anderen BUS für sowas (USB schließen wir mal aus. --> nix wofür ich noch nen extra controller brauch).
Würde aber schon gern I2C verwenden,wenns denn möglich is,weil relativ einfach.

MfGfA,
--> Mr.G.

Bernhard667
08.05.2007, 20:56
Hallo,

sauber ist das nicht. Es sollte zwar meistens klappen, aber nicht immer.
Möchtest Du wirklich den IC im laufenden Zustand aus dem Sockel ziehen mit dem Schraubendreher?
Wenn es unbedingt sein muss, Vorschlag:
Vcc des EEPROM nicht an Vcc anschliesen sondern an einen Controllerpin in Deiner Schaltung. Wenn Du also den IC entnehmen willst, in Schaltung Taste drücken. Daraufhin schaltet der Controller VCC auf 0 und zieht auch die 2 I2C Leitungen auf 0V. Nun ist der IC Spannungslos und Du kannst ihn entnehmen. Auch beim Einstecken muss der Sockel abgeschaltet sein.
Wenn der EEPROM in der Schaltung aktiviert werden soll, Vcc auf 1 schalten, die I2C Leitungen auf high und dann geht es.

Bernhard

Razer
08.05.2007, 21:17
Direkt an dem µC würde ich nicht die Stromversorgung anhängen. Da kann schon mal was schief gehen und der Port am µC ist hinübert.

Besser wäre es vom µC einen Transistor zu schalten und damit den EEprom mit Spannung zu versorgen.

mrg
08.05.2007, 21:18
Hi Bernhard.

Nein,natürlich nicht den ic selbst ausm sockel.
Ich dachte da an stiftleisten oder so.

Aber so wie du es beschreibst,hab ich mirs in etwa vorgestellt.
aber ohne taster. das programm stoppt bei vorgesehenem wechsel den datenaustausch,und schaltet über ne transe den saft fürs eeprom ab.
Das beenden dieses vorgangs wird angezeigt,indem eine LED von Rot auf grün wechselt.
Vorgesehen hatte ich dann 2 zusätzliche pins an der stiftleiste,welche auf der EEprom seite einfach nur verbunden sind.
Damit wird beim einstecken eines solchen Moduls ein Pin des AVR auf GND gezogen.
Idealerweise wird dadurch ein Interrupt ausgelöst,um zwischenzeitig anderes zu tun.
Eventuell ein Selftest oder andere spielerein,wie referenzpunkte anzufahren,etc.

Nun kann das Programm den bus neu initialisieren und die neuen daten runtersaugen.

Wenn du meinst das würde funktionieren,dann werd ich das mal einplanen.
Wenns doch nicht klappt,dann weiß ichs wenigstens und kann wieder beruhigt schlafen.

Danke,

MfGfA,
--> Mr.G.

mrg
08.05.2007, 21:19
Hi RAZER!

Du sagst es! :-)

MfGfA,
-->Mr.G.

Keksdose
08.05.2007, 21:26
Normalerweise sollte das gehen wenn nicht grade geschrieben/gelesen wird das eeprom zu wechseln: Gibt auch chipkarten mit I2C-eeproms drauf und da sind genau die gleichen chips drin. Hab hier eine rumliegen die ich bei reichelt mal mitbestellt habe. bin aber noch nicht dazu gekommen damit was zu machen. Jedenfalls sind chipkarten nicht dazu da nicht gewechselt zu werden ;)

mrg
08.05.2007, 21:37
Guten abend keksdose.

Dabei fällt mir ein, ich bekomm hunger. :-)

Ich dachte auch mal was gelesen zu haben über speicherkarten,war mir aber wirklich nicht sicher,weil ja überall so aufwändige beschreibungen davon herumschwirren.

Bei I2C wärs ja dann eher weniger aufwand.

Ich brauch ja auch kein FAT System drauf.
Ein eigenes Format und das hat sich.
Und soooo große datenmengen hab ich ja nicht zu verwalten.
Wie groß genau,das muß ich erst noch rechnen.
Ich schätze mal vorsichtig und großzügig, 8KB sollten reichen und noch reserve bieten.

Ein AVRTiny kommuniziert über die serielle mit dem PC und legt mir das ganze auf meinen Datenträger ab.
Ich weiß nur noch nicht so ganz wie ich das mit der seriellen schnittstelle hinbekomm,wenn ich eigene software auf dem XP Rechner dafür schreiben möchte.
Ich hab mir sagen lassen,es wäre nicht so einfach.
Is da was dran?
Das weicht schon ein wenig von der eigentlich frage ab.
Darüber muß ich mich aber eh erst noch informieren.

MfGfA,
--> Mr.G.

Keksdose
08.05.2007, 21:43
Guter plan was du da vorhast. Ich hatte auch nicht SD-Karten oder CF-Karten gemeint sondern chipkarten wie telefonkarten oder krankenkassenkarten. Da gibts auch welche mit I2C-eeprom. Brauchste nur noch eine steckvorrichtung für:
http://www.reichelt.de/?ACTION=3;LA=4;GROUP=EB33;GROUPID=760;ARTICLE=3702 4;START=0;SORT=artnr;OFFSET=16

mrg
08.05.2007, 21:51
Die hab ich mir auch schon mal angesehen.
Wäre eine feine lösung.
Ich hätte aber bei meiner Lösung die möglichkeint das Aufnahmevermögen der "speicherkarte" jederzeit ändern zu können.
Das übrige EEPROM kann ich überall wieder einsetzen.
Ich steh auf Flexibilität.
:-)

MfGfA,
--> Mr.G.

Keksdose
08.05.2007, 22:00
stimmt die normalen ICs kannste überall wiederbenutzen. Wollte dich auch nur drauf hinweisen das es sowas gibt und chipkarten werden ja auch im laufenden betrieb gewechselt deswegen denk ich nicht das das probleme gibt die eeproms einfach abzuklemmen solange grad keine daten ausgetauscht werden. Sind ja die gleichen chips ;)

Apropos chips & hunger: Meine tüte ist gleich alle :( Ich ess viel zu viel von dem zeug ;)

EDIT: wie ne laufende riesen keksdose seh ich aber zum glück trotzdem nicht aus *g*

mrg
08.05.2007, 22:30
Ich auch ned, und ich liebe kekse.

Deine L.E.D. Lampe find ich übrigens cool.
Ich bin ganz verrückt nach leuchtenden und funkelnden dekos.
Hab mal versucht einen Globus aus rotierenden led zeilen zu bauen.
Hab das projekt aber eingestellt,da ich probleme mit der unwucht und der gesamten masse die es zu drehen gilt habe.
Noch keine lösungsansätze vorhanden.

Dafür mach ich beim aktuellen projekt fortschritte.

MfGfA,
--> Mr.G.