Bit-Banging wandler

Moin

hat wer schon einen "Bit-Banging" USB-Wandler gebaut?

Problem: Es gibt viel Komsuner Elekronik mit "Schein-Serieller"-Schnittstelle (La Crosse, Oregon etc. Wetterstationen) Die Daten werden nicht über TX/RX sondern per DSR/RTS oder was auch immer in einen eigenen bit seriellen verfahren übetragen. Nur leider: Heute gibt es kaum noch Serielle an Noteboooks (und PCs) Die Seriel-zu-USB funktionieren in dem Bit-Banging nicht, "echte" Serielle Karten gibt es nur für viel Euro (ca. 50!) und belegen den kostbaren PCMCIA/PC Card Slot (Express Card habe ich noch nicht gesehen...250MBytes/s zum Anschluss von 2*115kbit/s, perversion pure).

"eigentlich" kann es doch keine völlig abwegige Idee sein, diese BitBanging mit einem AVR als Igor-USB-Plug zu machen.

Hat das wer schon versucht?

Rainer

Reply to
Rainer Zocholl
Loading thread data ...

Kommt ein wenig auf das Protokoll (wie zeitkritisch) und den Wandlerchip an. Der FT2232 kann z.B. recht vielfältig programmiert werden, um proprietäre synchrone Protokolle abzuwickeln.

Was gibts da gross zu versuchen? WENN das jeweilige Protokoll bekannt ist und wenn die programmier- technischen Fertigkeiten ausreichen, wird man so mit Sicherheit zum Ziel kommen. Im schlimmsten Fall könnte es nötig werden, einen "richtigen" USB-Controller zu verwenden, wenn das serielle Protokoll zu komplex ist, und nicht genug CPU-Leistung für die Igor-Lib übrig lässt.

Hergen

Reply to
Hergen Lehmann

Der FT232r macht das sehr gut. Ausser dem Chip sind nur 5 bauteile notwendig. Unter linux schaffe ich mit dem opensourcetreiber libftdi und libusb aus einem AVR ca 1 KB/sec per bitbang-SPI auszulesen. Dabei werden pro Datenbyte

64 zustände ausgegeben und auch wider eingelesen. Unter Windows hat das Compilieren mit gcc oder Bcc45 leider nicht geklappt.
--
MFG Gernot
Reply to
Gernot Fink

(Hergen Lehmann) 10.11.06 in /de/sci/electronics:

Also reicht es nicht einen fetigen SerialUSB2.0 Dongle mit einem FT zu nehmen?

"erfolgreich gemacht"

Es geht um die WS8610 von La Crosse open3600 liest da mit einer "echten" seriellen etwas aus, was nicht nach rauschen aussieht, aber leider immer dasselbe ist ist(zumindedt die ersten 256 nippels)

Klar. 3 "Wenn" zähle ich da...

Aber Du wirst zustimmen: Schneller zum Ziel kommt man, wenn man evtl. etwas 90% fertiges übernehmen könnte.

Darum die Frage. Rainer

Reply to
Rainer Zocholl

Vielleicht, vielleicht auch nicht. Das hängt ganz davon ab, wie eng die Timing-Anforderungen des jeweiligen Protokolls sind. Bei einem handelsüblichen Seriell-USB-Wandler wirst Du das ganze Bitbanging langsam per Software auf dem PC machen müssen, der FT2232 könnte immerhin Teile davon (einlesen/ausgeben von Bitfolgen mit Takterzeugung) in Hardware abnehmen.

Also, USB habe ich schon auf Microcontrollern implementiert, und irgendwelche proprietären Bitfummel-Schnittstellen auch. Beides zusammenzukopieren ist trivial...

Den kenne ich leider nicht. Google liefert aber eine Menge Forenbeiträge mit Mutmassungen...

Ja, aber dazu müsste man wissen, was Du genau anschliessen willst, und das hast Du leider erst jetzt verraten ^_-

Hergen

Reply to
Hergen Lehmann

Hallo,

AFAIR ist das an einer ostdeutschen Uni gemacht worden.

OK, den Link hab ich noch:

formatting link
um den PC/USB2LPT/

Die Nachbauanleitungen und Software liegen noch im Netz, ansonsten ist das Projekt mittlerweile kommerzialisiert unter air-elektronik (oder so ähnlich) zu kaufen. Da die mittlerweile das Teil versuchen für >50 Euronen zu versilbern, hab ich den Gedanken daran aufgegeben. Da kauf ich mir lieber eine PCMCIA-karte und hab dann ein Bitbanging mit passabler Geschwindigkeit und nicht mit lausigen 1k/s

Marte

Reply to
Marte Schwarz

Der Link geht leider nicht mehr. Abererseits kann man durch die 256 Byte Fifo des FTDI einiges mehr als 1K rausholen. Unter Linux sind 64000 Zustandsänderungen von 8 Pins inclusive des lesens der 64000 Zustände möglich. Pcmcia ist da natürlich weit überlegen, aber um ab und zu einen uC zu programmieren tuts der ftdi auch. Ausserdem bekommt man bei Segor eine Platine(USB2BOT) mit aufgelötetem FT232R für 10Euro. Das spart das lästige löten des chips im 0.5mm Raster. Leider ist das teil zum debuggen des ct-bot gedacht weshalb die IO-spannung fest auf 5V liegt und man die eingebauten 3.3V nicht nutzen kann.

--
MFG Gernot
Reply to
Gernot Fink

Hi Gernot,

ja ja, OjE hat den Link zerrupft, aber alles drin gelassen, was nötig ist, um den Link im Browser zu rekonstruieren. Jedenfalls hab ichs vor

2 Wochen aufgrund dieses Links gefunden ;-)

Zustände

Das bringt Dir gar nichts, wenn die SW nach jedem Bit meint, sie müsste das Antwortbit des JTAG bereits haben, um seinerseits die Antwort in ein Byte zu rekonstruieren. Und wenn Du jetzt schon am Treiberpatchen bist, dann kannst Du die Bitbangerei gleich rauswerfen.

Marte

Reply to
Marte Schwarz

(Hergen Lehmann) 11.11.06 in /de/sci/electronics:

Jupp.

Ich habe mal open3600 dumpen lassen. Wie gesagt: da kam was, aber danach hat der datenlogger nicht mehr geloggt. (Ich hab' auch nur 255 Nibbels ausgelesen, das Teil buffert aber 3000 Werte die IIRC immer alle ausgelesen werden müssen(Ringbuffer halt).)

Ein Notebook und evtl. ein Linux-Server- Ich habe mich schon moralisch damit abgefunden 50Euro f. eine PCMCIA Dual-Serial Karte auszugeben...nur darf die nicht weit rausschauen da darunter der knubbelige eSATA-Express-Card Adapter steckt.

Rainer

Reply to
Rainer Zocholl

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.