Hallo zusammen, Ich bin gerade an einem Projekt beschäftigt, bei dem ich gerne den MSP430F5529 verwenden möchte. Da ich hier allerdings Daten mitloggen möchte, ist mir der interne Speicher zu klein und benötige deshalb einen externen Speicher. Der MSP verfügt ja nun leider nicht über ein Speicherinterface, weshalb die Kommunikation mit dem externen Speicher(über serielle Schnittstelle) selbst gecodet werden muss. Mein Frage hierzu wäre: Gibt es iwo eine Art Sample-Code (.c), wie diese Kommunikation realisiert werden könnte? Oder gar ein bestehendes Projekt, bei dem ein Code verfügbar ist? Würde mich über Eure Hilfe freuen. Vielen Dank. Gruß Luis
Wenn du nicht weißt welcher Speicher (und somit welches Interface) du hast, wird dir Sample Code wohl nichts bringen. Oder was verstehst du unter "serielle Schnittstelle". SPI? I2C?
Meinst Du, Du waerst nicht schneller zu Erkenntnissen gekommen, wenn Du einfach eine Suchmaschine angeworfen haettest?
Hätte da an SPI gedacht. Der Speicher ist tatsächlich noch mysteriös, da ich mich noch nicht entschieden habe. Ich würde mich einfach gerne mal einlesen, was Code-seitig alles nötig ist, um diese Anbindung realisieren zu können.
Wenn es um das (dauerhafte) Aufzeichnen von Daten geht, ist die Verwendung von SD-Karten als externer Speicher nahezulegen, die Dinger sind spottbillig, problemlos am PC zu lesen und bieten ganz erhebliche Speicherkapazität. Was Du also benötigst, ist Code für die Ansteuerung von SD-Karten; der ist von den Low-Level-Routinen zur Ansteuerung der Hardwareschnittstelle (SPI oder "hand-made" per Bit-Banging) nicht vom verwendeten Controller abhängig, und leicht mit der Forensuche zu finden. Es empfiehlt sich allerdings, das für die SD-Karte vorgesehene Dateisystem (FAT16 bei SD, FAT32 bei SDHC) zu verwenden und nicht auf fest adressierte Datenblöcke zurückzugreifen, denn das erschwert das spätere Auslesen am PC erheblich. Der 'F5529 bietet mit 128 kiB Flash auch ausreichend Codespeicher für die Implementierung eines richtigen Dateisystemtreibers.
Ok, Danke schon mal hierfür. SD-Karte wollte ich jedoch keine verwenden, falls möglich. Allzu dauerhaft müssten die Daten gar nicht verfügbar sein. Ganz konkret ist es eher so, dass ich die Daten auf nem LCD-Display darstellen möchte. Dies könnten dann zum Beispiel die letzten 5-10 abgespeicherten Werte sein. Danach können diese aber gerne wieder überschrieben werden oder Ähnliches. Hätte da vll an ein FRAM oder MRAM mit SPI-Schnittstelle gedacht.
Luis schrieb: > Dies könnten dann zum Beispiel die letzten 5-10 > abgespeicherten Werte sein. Und das passt nicht ins Ram rein? Sollen die Daten denn nach dem ausschalten erhaltenbleiben? Nimm doch einfach ein simples i2c/spi EEPROM. Dafür wirds auch genügend Beispiele geben.
Luis schrieb: > Dies könnten dann zum Beispiel die letzten 5-10 > abgespeicherten Werte sein. Wieviel Speicher meinst Du denn zu benötigen?
Recht brauchbar sind auch zB die Atmel DataFlash, werden auch per SPI angesteuert und gibts bis etliche MegaBit im SO8 Gehäuse Die sind auch um einiges einfacher als eine SD Karte anzusteueren, halt ohne Dateisystem...
Ob es in den internen Speicher passt, is fraglich, vll müssens auch mal mehr Daten sein. Auf ein EEPROM bin ich auch schon gestoßen, mal sehen welches ich letztendlich verwende. Allerdings hab ich noch gar kein Beispielprojekt in Zusammenhang mit nem MSP gesehen? Hat hier jemand schon mal eines gesehen?
Luis schrieb: > Hätte da vll an ein FRAM oder MRAM mit SPI-Schnittstelle gedacht. wieviel Speicherkapazität brauchst Du? reichen 32 KiB? FRAM: z.B. von Ramtron den FM25V02 oder den FM25W256 ersterer läuft mit bis zu 40MHz SPI-Takt, letzterer nur bis 20MHz, dafür ist der noch 5V-kompatibel... MRAM: gibts z.B. von Everspin MR25H256 (32 KiB, SPI 40MHz, 3,3V) MR25H10 (128 KiB, SPI 40MHz, 3,3V) MR25H40 (512 KiB, SPI 40MHz, 3,3V) Die Teile (FRAM und MRAM) gibts z.B. bei Digikey, die 32 KiB Versionen kosten als Einzelstück da ca. 5,-€ Gruß, Thosch
Luis schrieb: > Allerdings hab ich noch gar kein Beispielprojekt in Zusammenhang mit nem > MSP gesehen? Das ist doch, sofern Du nicht ausgerechnet in Assembler programmieren willst, auch ziemlich zweitrangig, für welchen Controller so ein Projekt ist (sofern nicht ein externes Speicherinterface genutzt wird). Ob der ein EEPROM oder FRAM per SPI ansteuernde Controller ein AVR, ein ARM oder ein MSP430 ist, unterscheidet sich nur im "low-level"-Ansteuern der jeweiligen Peripherie, alles, was darauf aufbaut, kann praktisch 1:1 übernommen werden. Wie die Peripheriemodule des MSP430 zu nutzen sind, zeigt einem der Beispielcode, den es von TI für die unterschiedlichen Familienmitglieder gibt, und also kannst Du auch Code, der für einen AVR geschrieben ist, leicht auf den MSP430 portieren. Du hast aber wesentliche Fragen noch nicht geklärt: - Welche Speichermenge ist erforderlich? - Wie schnell muss der Speicher sein? - Wie oft soll der Speicher beschrieben werden? Prinzipiell kann auch das Flash des MSP430 selbst zur Speicherung von Daten genutzt werden; der von Dir gewählte Controller hat 128 kiB, die Du nur mit viel Aufwand mit einem Programm vollgestopft bekommen wirst.
Ja stimmt schon, ist ja letztendlich egal welcher µc, da nur Kommunikation über SPI stattfindet. Dazu hätte ich jetzt nur ne dumme Frage: Was darf ich unter dem "low-level-Ansteuern" verstehen? Hat zufällig jemand nen Link zu nem Beispiel-Projekt mit, sagen wir mal, SPI-EEPROM parat? Ja ich weiß, man könnte googlen oder sonstige Suchmaschinen bemühen, jedoch habt ihr ja vll selbst mit dem Thema schon Kontakt gehabt und seit damals auf was Nützliches gestoßen. Wie schnell, bzw wie groß der Speicher sein sollte, kann ich jetzt aus dem Stegreif leider nicht beantworten. Es sollte daran jedoch nicht scheitern, sollte dadurch der Preis ordentlich steigen, ist erst mal egal ;) Beschreiben sollte schon ziemlich oft möglich sein, am Besten solange es iwie geht..
Also SPI EEPROMs sind wirklich kinderleicht anzusteuern. Schau dir doch mal an, wie man das SPI Interface der MSP430 benutzt. Dazu hat TI sicher was auf lager, schau mal bei den Launchpad Codebeispielen. Dann hast du das "low level" Zeug schon hinter dich gebracht. Du kannst jetzt nämlich Bytes über SPI senden. Dann suchst du dir ein EEPROM raus und schaust ins Datenblatt. Da steht drin, was für Bytes du wie senden musst um etwas zu speichern oder zu laden. Das wars schon, alles keine Hexenwerk ;)
Ok, perfekt ;) Dann bin ich ja beruhigt und probiers mit Learning by doing. Vielen Dank für Eure Hilfe!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.