Hallo, Bisher hatte ich meinen Vinculum über RS232 angesteuert, was gut klappt. Jetzt möchte ich es mal mit SPI versuchen. Im Prinzip geht es schon, aber einige Problemchen stören mich sehr: 1. Ich komme nicht über 90kHz Clock-Frequenz. Gehe ich höher, hängt sich der Chip weg (Kann an meinem Versuchsaufbau liegen, habe 20cm Leitungen) 2. Aus unerfindlichen Gründen versteht er hin und wieder Kommandos nicht. Es geht etwa 100 mal gut, dann gibt er mir ein "Bad Command" und danach geht es wieder für 'ne gewisse Zeit (Vielleicht auch mein Versuchsaufbau?). Aber jetzt: 3. Die Dokumentation scheint nicht zu stimmen. Das Statusbit und die Daten sind beim "Slave Data Read" bei mir um eine Stelle nach links geschoben. 4. Das Statusbit beim "Slave Data Write Cycle", das anzeigt, ob das Byte erfolgreich gesendet wurde, bekomme ich garnicht (ist bei mir immer 1, was heissen soll, dass nichts geklappt hat, aber trotzdem geht es). Ich habe auch schon hier und im Internet gesehen, daß viele Probleme mit dem Vinculum SPI haben, dafür geht's bei mir noch recht ordentlich. Der Master ist ein LPC2366, Der VNC1L hängt am SSP0 Ich sende 13 Clocks per Frame. Auch schon mit 14 versucht, aber ohne Erfolg. Wer hat ähnliche Probleme bzw. kann weiterhelfen? Danke... -> Peter <-
Hallo Namensvetter, ich steuere meinen VDRIVE2 nicht mit festem Takt an, sondern so schnell es in AVR-Assembler mit Software-SPI und 7,37MHz eben geht, nämlich etwa 1MHz. Zu Anfang hatte ich das Timing-Diagramm etwas misinterpretiert und öfter Aussetzer kassiert. Inzwischen läuft es stabil. Also: CS und SDI high setzen, Takt kurz mal high, das war zum aufwachen der erste von 13 Takten. Dann folgen R/W, Adresse und 8 Datenbits, macht weitere 10 Takte. Nach diesen Takten steht bereits der Status in SDO, weil er mit der fallenden Flanke Daten in den SDO stellt. Dann ein weiterer Takt mit CS = high und der letzte mit CS = low. Das wars. Allerdings dauern manche Dateisystemfunktionen unverständlich lange (bis über 60 Sekunden), da muss das Timeout ensprechend geduldig ausgelegt werden. Grüße, Peter
Hallo Peter, > Software-SPI und 7,37MHz Ich hatte gehofft aus Software-SPI verzichten zu können... :-( Aber ~7Mhz sind schon mal was. Immerhin ein Hinweis, dass mit meinen lächerlichen 90kHz irgendwas nicht stimmen kann. > Allerdings dauern manche Dateisystemfunktionen unverständlich lange (bis > über 60 Sekunden), da muss das Timeout ensprechend geduldig ausgelegt > werden. Das hört sich übel an. Kommen die 60s vielleicht daher, weil du eine gewisse Zeit den VNC1L nicht oder nur sehl langsam pollst? Er puffert wohl seine Ausgaben und friert scheinbar ein, wenn man ihn auf SPI konfiguriert hat und nicht pollt.
http://www.mikrocontroller.net/articles/USB-Stick_am_Mikrocontroller Verwendet auch SPI, vielleicht von Interesse.
> http://www.mikrocontroller.net/articles/USB-Stick_...
Danke, aber der verwendet auch Pin-getoggle.
Ich habe übrigens das Hauptproblem gefunden: Nach dem Raustakten des
letzten Bits, muss CS noch eine ganze Weile "high" sein (anders als im
dem Timing-Diagramm des Datanblatts). Ich muss nur noch rausfinden *wie
lange*
Jetzt kann ich ihn jedenfalls mit 12Mhz clocken!
Peter schrieb: > Das hört sich übel an. Kommen die 60s vielleicht daher, weil du eine > gewisse Zeit den VNC1L nicht oder nur sehl langsam pollst? Ich polle auf Teufel komm raus, bis entweder Timeout oder Daten kommen. Im Detail hatte ich folgendes Problem: ich habe nach dem Öffnen einer neuen Datei nicht lange genug auf einen Prompt gewartet, sondern gleich Daten versendet. Dann blockert das ganze komplett. Es stellte sich heraus, dass es regelmäßig fast 20 Sekunden dauerte, bis die erste neue Datei offen und bereit zum Schreiben war. Bei den weiteren Dateien nur 1 Sekunde. Später habe ich das Timeout bis auf 60 Sekunden verlängert. Grüße, Peter
@Peter Roth: Gut zu wissen. Ich benutze meinen Vinculum momentan nur, um ein USB<-->RS232 Interface in einem fertigen Gerät anzusprechen. --> Beitrag "USB: Vinculum Host mit CP2102 verbinden" Später will ich auch mal Speichersticks benutzen, aber dafür verwende ich dann mein eigenes Filesystem und der Vinculum wird nur Sektoren lesen/schreiben müssen.
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.