Gast
#5066658
Hallo, ich habe hier mal eine kleines Übungs-Projekt gebastelt und wollte das evtl Interresierten nicht vorenthalten. Vielleicht kann der ein oder andere ja Teile davon gebrauchen, vorne weg es ist schlecht bis gar nicht in noch schlechterem englisch dokumentiert, ich habs auf Basis des DE0-nano boards gebastelt, es gibt mit Sicherheit tausend Wege es besser zu machen, aber für mich als Neuling was hardware design angeht bin ich erst mal damit zufrieden das es bis jetzt stabil läuft. Vielleicht hat ja jemand mal die Muße es sich an nem schlecht Wetter Tag an zu schauen und ggf. Verbesserungsvorschläge zu machen und Tipps zu geben :). Ich habe als Anhang nur die relevanten soure files angehängt. Also das Ganze ist ein remote, nur lese- , Zugriff auf eine SD Karte. Die remote Verbindung läuft über seriell (115200 baud) PC <-> FPGA. Die Initialisierung der SD Karte übernimmt der FPGA (card clock: 400KHz während init danach 25MHz, 4 bit SD mode, nur SingleReadBlock(512 bytes). Die c-sharp test Anwendung kann also per serieller Schnittstelle die Sektor-Daten der SD Karte lesen. Der MBR wird gelesen, die Paritions Tabelle wird gelesen, die erste FAT32 Partition wird ausgewählt, die FAT Partitionsdaten werden gelesen und es geht in einen einfachen Terminal Modus in dem man durch die Verzeichnisse "browsen" kann, und sich Dateien im Terminal ausgeben und auch downloaden kann. Das ist soweit auch schon alles. Wie gesagt nix dolles, aber evtl. kann es ja jemand irgendwie gebrauchen. Es ist zu erwähnen im source der c-sharp Anwendung(Program.cs) gibt es: "static string COM = "COM3";" - das ist der zu verwendende COM Port "const bool COMDISABLED = false;" - die Konstante auf true setzen wenn man NICHT "live" mit dem FPGA arbeiten möchte. Die Sektor-Daten werden dann aus Dateien ausgelesen zu Simulationszwecken. des weiteren gibt es: "const string STORAGE_PATH = @".\bin\";" das ist der Pfad an dem sich die Sektor-Daten Dateien befinden und auch abgelegt werden. wer nicht möchte das Sektor-Daten Dateien angelegt werden wenn man "live" mit dem FPGA arbeitet der sollte an denn Stellen im code wo die "ReadSector" Methode aufgerufen wird, den letzten Parameter ", true" entfernen oder in ", false" ändern - ja könnte man auch schöner gestalten. Zum Schluss, ich plane weitere Experimente mit dem sdcard controller (MultiSektorRead und evtl. auch schreiben auf die Karte) aber zu erst fände ich eine Art von cache gut um Zugriffe auf die Karte zu minimieren nur hatte ich da noch keine gute Idee, evtl. reicht es nur eine Teil zu cachen z.B. den der FAT... mal schauen, vielleicht hat jemand von euch eine Idee? ...