Hallo, ich habe nach anfänglichen Schwierigkeiten mit dem blöden MPROG, es geschafft, das der CBUS im IO Modus steht. Was mich allerdings erschüttert hat, ist das die Zeit zwischen einem Bitwechsel bei 5ms liegt. Die Apllication Note schreibt zwar, das es langsamer sein soll als die Datenkommunikation, aber konkrete Zeiten haben die nicht angeben. ( Die Wissen wohl warum ) Muß ich vieleicht noch was beachten? Hat das Timing ev. was mit der Baudrate zu tun? Oder ist das wirklich das Ende der Fahnenstange ?
ich bin zwar kein USB-Experte aber ein paar Tips hätte ich schon. Mit FT232R habe ich noch nichts gemacht, aber mit FT232BM und FT245BM. Da gibt es ähnliche Probleme wenn man nicht aufpasst. Die USB-Experten werden mich gleich auszählen für den Kram den ich hier schreibe ;)
Erstmal zur Erinnerung:
Schnipp ...Since these functions allow only a single byte to be sent or received, this version of Bit Bang is much slower... The data transfer rate is limited by USB frames. Schnapp
Ja, du kannst beim CBUS nur ein Byte pro USB Frame übertragen. Bei USB1.1 alle 2ms und bei USB2.0 alle 1ms soweit ich weiss. Evtl. kannst du deine 5ms runterdrücken wenn du den LatencyTimer auf 1ms einstellst. Weniger geht nicht.
Beim FT232BM oder FT245BM kann man im BitBang Mode nur dann höhere Datenraten erreichen wenn man mehrere Bytes pro FT_Write()/Frame überträgt. Und das geht NICHT beim FT232R und CBUS (laut Appnote).
Ja, das geht. ich habs gemacht. Allerdings wird die eine ms nur manchmal eingehalten.
Am CBUS bin ich auf relativ zuverlässige 2 ms pro byte gekommen. Beim normalen Bitbangmodus mit lesen und schreiben gleichzeitig komm ich mit 256-byte blöcken auf 64000 änderungen/sekunde bei 2ms latenzzeit. Auch nicht berauschend, aber etwas besser.
Ja, das geht. ich habs gemacht. Allerdings wird die eine ms nur manchmal eingehalten.
Am CBUS bin ich auf relativ zuverlässige 2 ms pro byte gekommen. Beim normalen Bitbangmodus mit lesen und schreiben gleichzeitig komm ich mit 256-byte blöcken auf 64000 änderungen/sekunde bei 2ms latenzzeit. Auch nicht berauschend, aber etwas besser.
Apple's ADB (ein Vorlaufer des USB :-) Apple FireWire (war schon immer besser als USB bis auf die maximal-Zahl von anschliessbaren Geräten (63 statt 127 :-) CAN-Bus, ...
Es gibt/gab sicherlich noch mehr Bus-Systeme
Gruss, (auch :-) Holger
PS: Zum eigentlichen Thema (wenn auch ohne URL): Guido Socher (sp?) hat mit diesem (oder ähnlichem) Teil einen AVR - Programmer, der zuerst einmal (unter Linux) den mini-AVR per BitBang einen mini-Bootloader verpasst. Dieser kann dann seinerseits via serieller (Emulation :-) den aussen angeschlossenen AVR (mit MOSI uws) recht fix programmieren.
Der FT2232 hat eine MPSSE Machine, die Pulsezuege fuer SPI/JTAG/I2C ohne staendigen PC Eingriff erzeugen kann. Damit kommt man um viele USB Round-Trips herum. Ansonsten : Alternativen zu USB? Daten mit dem PC austauschen, ohne ihn aufzuschrauben und eine extra Karte reinzustecken?
- Der Parallelport, den es bei vielen neuen PCs nicht mehr gibt?
- Ethernet, das aber deutlich mehr Hardware- und Konfigurationsaufwand braucht?
"AVR-Doper is an STK500 compatible In-System Programmer (ISP) and High Voltage Serial Programmer (HVSP). It comes with a built-in USB to Serial adaptor to connect directly to USB."
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.