Eeprom zur Datenspeicherung

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
sunnyheaven
Beiträge: 31
Registriert: 04 Jan 2021, 05:32

Eeprom zur Datenspeicherung

Beitrag von sunnyheaven » 04 Jan 2021, 15:00

Hallo,

ich suche eine Möglichkeit, Messdaten auf dem TXT abzuspeichern. Speichern auf der SD Karte ist ja nicht möglich und so wie ich das sehe, wird FT das wohl auch nie zur Verfügung stellen.

Gibt es eine Möglichkeit, Daten auf das interne EEPROM oder über I2C sogar auf ein externes EEPROM zu schreiben? Der I2C Treiber für ein EEPROM ist in Robo Pro ja offensichtlich vorhanden.

Kennt sich jemand damit aus?

Gruß
Jan

Benutzeravatar
fishfriend
Beiträge: 2219
Registriert: 26 Nov 2010, 11:45

Re: Eeprom zur Datenspeicherung

Beitrag von fishfriend » 04 Jan 2021, 19:32

Hallo...
Evtl. FRAM von z.B. Adafruit.
Geht über I2C. Ich hatte mal vor, den Datenverkehr PC Interface damit mitzuschneiden.
Da gab es aber ein Zeitproblem in meiner Programmierung.
Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1845
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Eeprom zur Datenspeicherung

Beitrag von Dirk Fox » 04 Jan 2021, 21:06

Hallo Jan,

der I²C-Adressbereich (0x50 bis 0x57), über den in der Regel EEPROMS (auch das FRAM) angesprochen werden, ist im TX(T) bereits mit EEPROM hinterlegt. Man kann da auch hineinschreiben - nur nicht in die Adressen 0x50 und 0x54, die von der Firmware benutzt werden.
Es gibt in ROBO Pro auch einen I²C-Treiber, der diesen EEPROM-Bereich nutzt. In dem Bereich stehen allerdings nur 768 Byte Speicher zur Verfügung.

Beste Grüße,
Dirk

sunnyheaven
Beiträge: 31
Registriert: 04 Jan 2021, 05:32

Re: Eeprom zur Datenspeicherung

Beitrag von sunnyheaven » 04 Jan 2021, 21:27

Hallo Dirk,

danke für die schnelle Antwort.

D.h. mit dem FRAM kann ich dann 0x55 bis 0x57 ansprechen, korrekt?
Hat das schon Mal jemand probiert?

Wenn ich auf 0x50 bis 0x54 schreibe zerschieße ich hoffentlich nichts.

Gruß
Jan

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1845
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Eeprom zur Datenspeicherung

Beitrag von Dirk Fox » 04 Jan 2021, 21:53

Hallo Jan,
sunnyheaven hat geschrieben:
04 Jan 2021, 21:27
D.h. mit dem FRAM kann ich dann 0x55 bis 0x57 ansprechen, korrekt?
Wenn ich auf 0x50 bis 0x54 schreibe zerschieße ich hoffentlich nichts.
Du kannst auf 0x51-0x53 sowie auf 0x55-0x57 direkt in das EEPROM des TX(T) schreiben (habe ich auch schon gemacht). Bei 0x50 und 0x54 sollte auch nichts passieren, die sind gesperrt - das habe ich allerdings noch nicht ausprobiert. Das ft-EEPROM ist auf ca. 1 Mio. Schreibzyklen ausgelegt - Du solltest den Speicher also eher nicht wie RAM benutzen :-).

Wenn Du ein FRAM angeschlossen hast, schreibt der TX(T) unter den Adressen gleichzeitig ins FRAM *und* das eigene EEPROM. Beim späteren Lesen kann es dann Probleme geben, denn die Daten werden auf dem Bus mit den Werten des EEPROM überlagert. Per default steht im TX(T)-EEPROM daher 0xFF, sodass das Lesen aus einem via I2C angeschlossenen FRAM kein Problem darstellt - die Werte aus dem EEPROM werden quasi "ignoriert".

Beste Grüße,
Dirk

P.S.: Wenn Du viele Daten schreiben willst, solltest Du lieber einen I2C-SD-Kartenleser anschließen. Allerdings gibt es dafür m.W. bisher keinen Treiber... ich hatte damit mal begonnen, ist aber sehr aufwändig.

sunnyheaven
Beiträge: 31
Registriert: 04 Jan 2021, 05:32

Re: Eeprom zur Datenspeicherung

Beitrag von sunnyheaven » 05 Jan 2021, 00:38

Hi Dirk,

zum Thema SD Karte beschreiben, kennst Du sicherlich das Projekt von Rei Vilo:
https://reivilofischertechnik.weebly.co ... files.html

Ich hab's mir noch nicht genau angeschaut, sieht auf den ersten Blick aber gut aus.

Kennt jemand das o.g. Projekt mit SD Karte beschreiben?

Gruß
Jan

Benutzeravatar
MasterOfGizmo
Beiträge: 2727
Registriert: 30 Nov 2014, 07:44

Re: Eeprom zur Datenspeicherung

Beitrag von MasterOfGizmo » 05 Jan 2021, 15:33

Dirk Fox hat geschrieben:
04 Jan 2021, 21:06
der I²C-Adressbereich (0x50 bis 0x57), über den in der Regel EEPROMS (auch das FRAM) angesprochen werden, ist im TX(T) bereits mit EEPROM hinterlegt.
Der TXT hat zwei I²C-Busse. An einem hängen die internen Bausteine wie das EEPROM und der Power-Mamnangement-Controller und der andere ist auf dem EXT-Stecker nach außen geführt. Sind von RoboPro aus wirklich beide Busse erreichbar? Aber selbst wenn, dann wird man ja ein extern angeschlossenes EEPOM/FRAM an EXT/Bus1 ansprechen während das interne EEPROM am internen Bus-0 hängt. Wie sollen da Konflikte entstehen?
Arduino für fischertechnik: ftDuino http://ftduino.de

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1845
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Eeprom zur Datenspeicherung

Beitrag von Dirk Fox » 05 Jan 2021, 16:10

Hallo Till,

wenn der TXT zwei getrennte Busse hat, sollte das tatsächlich kein Thema sein... das muss ich unbedingt testen.
Es kann sein, dass ich das FRAM nur mit dem TX getestet habe - allein schon wegen der beim TXT umständlichen Stromversorgung.
Die Hinweise zur Nutzung der Adressen 0x50-0x57 in den Application Notes habe ich immer als für TX *und* TXT geltend verstanden.

Also, Jan: Wenn Till recht hat (und das hat er meist :-)), dann gilt die geschilderte Einschränkung nur für den TX, und Du solltest das FRAM am TXT problemlos betreiben und ansprechen können.

Beste Grüße,
Dirk

Antworten