Hallo mal wieder ;) Also, ich fand es eine lustige Idee, meinen FPGA einmal per FSMC in den Adressbereich des µC zu mappen. Sodann habe ich die Dokumentation des FSMC studiert und muss mich gerade dennoch fragen: Die SRAM/PSRAM/NOR-Bank unterstützt kein Daten/Adress-Multiplexing richtig? Ich habe hier etwas den Überblick verloren, welche Controller das überhaupt unterstützen und ob das entsprechende Protokoll auf dem FPGA mal so schnell implementiert werden kann. SRAM schien mir auf jeden Fall schön einfach zu sein, nur gibts da scheinbar kein Multiplexing und ehrlich gesagt konnte ich der Dokumentation auch nicht entnehmen, ob das 8Bit-Datenbusse unterstützt (hoffe ich jetzt einfach mal). Mit dem Timing wäre man ja zumindest ziemlich flexibel, sodass man auf der FPGA-Seite in Asynch-Modus die Flankenerkennung auch etwas stabilisieren kann usw.. Aber ich würde für den Anfang irgendwie gerne mit max(Adressbits, 8) Leitungen + Control-Signale auskommen... Gibts da einen Modus, der das kann, den ich in meinem Kirren Kopf gerade einfach nicht mehr sehe? Viele Grüße!
Doch, der kann Multiplexing. Im Referenzmanual (Version7) Kapitel 36.5 "NOR Flash/PSRAM controller"
Stimmt, ich hatte das Pseudo-SRAM aktiv überlesen, für das explizit Multiplexing angegeben wird. Überhaupt glaube ich aber, dass sich die Funktionalität nicht auf die Ram-Art in dem Block bezieht, kann das sein? Also ich könnte mit jedem eingestellten Ram-Typ (SRAM, PSRAM, NOR) multiplexen? Habe jetzt schon die 16 Datenleitungen für Adresse+Daten angelötet, da mir 256 Byte Adressraum zuwenig war... hoffentlich war das nicht für die Katz :D Was mich an der STM-Bibliothek etwas verwundert ist, warum die Initialisierungs-Routine für den SRAM-Controller die einzelnen Werte ALLE jeweils in uint32s in der Struktur hat. Dabei sollte doch laut Doku alles eigentlich doch nur in 2 32-Bit-Register, oder nicht? Habe das Gefühl, dass selber Ver-Odern und Shiften zu einer Konstante da angenehmer ist, als die Routine zu verwenden... Hätte wirklich gedacht, die nehmen da ein Bitset, das direkt auf den Register gemapped wird...
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.