Hallo zusammen, ich habe mir einen kleinen spartanischen webserver gebaut mit einem atmega644p, dem enc28j60, einer microsd-Karte (per levelconverter mit an spi angeschlossen) und den Anschlüssen für JTAG und ADC. Mich interessiert nur die funktionierende Anzeige der programmierten Webseiten im atmega und auf der sd-Karte und der Zugriff auf die sd-Karte per ftp. Deshalb möchte ich wissen, welchen von den vielen abgewandelten/erweiterten stacks ihr mir vor allem für den ftp-Zugriff auf die Karte aktuell empfehlen könnt. Ich teste gerade die Implementierung von Roland Riegel (Ver 1.1.06), aber dabei habe ich noch Schwierigkeiten mit der sd-Karte. Gibt es Software, die dort schon weiter ist? Die ihr mir aktuell empfehlen könnt? Danke.
schau doch erstmal ob deine hw vernünftig tut, stichwort level shifter 3,3<->5V zur sd karte z.B. ?
Der level translator (ADG3304) sollte korrekt arbeiten. Nach kleinen Änderungen habe ich den auf richtige Funktionweise mit Multimeter und Oszi überprüft. Ich habe mir bloß einige Schnittstellen gespart und kann deswegen ohne rumbasteln keine Ausgaben über usart/telnet auswerten. Im stack von Roland Riegel seh ich noch nicht so richtig durch, wie der gemeinsam genutzte SPI-Bus getimed wird. Außerdem ist (un)select_card verwirrend, weil er bei select z.B. die cs-Leitung auf low zieht:
1 | #define select_card() PORTB &= ~(1 << PB1) //cs auf low
|
2 | #define unselect_card() PORTB |= (1 << PB1) //cs auf high
|
Beim Zugriff auf die Karte fehlt mir das Aus/Einschalten des enc. ... oder seh ich das was falsch und der stack läuft ohne Probleme mit den kleinen Änderungen der cs Leitungen?
der spi bus funktioniert nunmal so, das chip select low active ist. deswegen oft auch !sel oder nsel.. normalerweise sollte man am spi so programmieren, das man nsel immer auf 1 stellt, nachdem man mit einem zugriff auf ein gerät fertig ist. also select, zugriff, deselect. wenn das alle zugreifenden codes am spi so machen, wirst keine probleme bekommen.. meistens sieht man außerdem auch noch nen pullup an nsel vor, dann braucht man auch beim initialisieren nicht drauf achten, erstmal alle geräte zu deselecten.. mfg
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.