mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Günstiger USB - I²C Controller


Autor: LCID Fire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Ich möchte ein System für Temperaturmessung mit mehreren LM75 Sensoren 
aufbauen. Nun suche ich einen USB-Controller, um die Werte zum PC zu 
übertragen. Die Cypress EZ FX2 Controller hab ich mir zwar schon 
angeschaut, nur übersteigen die mein Budget. Kann mir jemand sagen, was 
es sonst noch an USB Controllern mit I²C Schnittstellen gibt, ich find 
da nicht viel?

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ARM7 => LPC23xx ?!

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PIC

Autor: Nico Erfurth (masta79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AT90USB* die 162 und 82 Varianten sind klein und günstig und sollten für 
das was du vorhast ausreichen.

Je nachdem kannst du auch einen normalen AVR nehmen und dann 
http://www.obdev.at/products/avrusb/index.html der Tiny45 und Tiny26 
bieten sich hier an, da du dann nichtmal einen Quarz brauchst.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I²C-Tiny-USB:

http://www.harbaum.org/till/i2c_tiny_usb/index.shtml

Zitat: Attach any I2C client chip (thermo sensors, AD converter, 
displays, relais driver, ...) to your PC via USB ... quick, easy and 
cheap! Drivers for Linux, Windows and MacOS available.

Baut auf der oben erwähnten obdev.at USB-Library für AVRs auf.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, und nachdem oben jemand "PIC" geschriehen hat, hier:

http://www.elektor.de/jahrgang/2008/juni/thermo-sn...

Bis zu 128 Sensoren am USB, über einen PIC18F2550.

Allerdings über einen OneWire Bus, also kein I²C.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spricht was gegen den FT2232?
Dessen MPSSE kann mit entsprechenden DLLs auf der Clientseite 
unterschiedlichste serielle Protokolle implementieren, so auch I²C :

http://ftdichip.com/Projects/MPSSE/FTCI2C.htm

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn das Budget?

Autor: LCID Fire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten - muss ich mir erstmal zu gemüte führen :)

Autor: LCID Fire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was ist denn das Budget?
So um die 100 Euronen...

Autor: seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der AT90USB162 hat kein Hardware TWI/I2C. Das ist beim AT90USB82 
wahrscheinlich genauso.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Budget = 100 Euro?
Ich dachte, du suchst nur einen günstigen Prozessor.

Sollen mit den 100 Euro etwa Entwicklungsumgebung UND
das eigentliche Produkt abgedeckt werden?

Na, viel Spaß.
Dann bleibt ja wirklich fast nur ein AVR mit GCC und
irgendeiner Parallelport-Programmierer Frickellösung.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... oder

IRGENDEIN Prozessor, der einen UART hat + FT232R/CP2102.

Oder gibts es einen Grund, warum du einen Mikrocontroller
mit integriertem USB suchst? So kam deine Anfrage zumindest
bei allen rüber.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder willst du an jeden LM75 einen eigenen USB-Controller?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

FT2232D, Bausatz  Modul  Buch gibts hier http://www.b-redemann.de, 
auch
günstig.
Im Buch ist ein Beispiel mit dem LM75.

J.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die IO-Warrior hätten den IIC direkt im Chip.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von der Nutzung des FT2232 rate ich ab. Dafür gibt es zwei Gründe:

1. Es gibt keinerlei hilfreiche Dokumentation über die MPSSE. Der 
Hesteller verweist auf Anfrage auf seine Windows-DLL. Wer es also unter 
Linux versuchen will, muss erstmal Reverse-Engineering betreiben. Soweit 
ich weiß, hat bisher niemand die MPSSE wirklich zum laufen bekommen.

2. Implementationen gibt es unter Nutzung des Bit-Bang-Modes. Das ist 
auch das, was b-redemann in seienm Buch macht. Das Timing dabei ist 
ziemlich zufällig (aber es funktioniert). Das Problem ist, dass der 
FT... nach meinen Erfahrungen keine Open-Collector-Ausgänge besitzt, wie 
sie eigentlich für I2C notwendig sind. Dass es trotzdem funktioniert 
scheint daran zu liegen, dass die Ausgänge eine Strombegrenzung haben, 
die schaltungstechnisch genutzt wird, wenn ein anderes Gerät SDA (oder 
SCL) auf L-Pegel zieht. Das ist sicherlich keine elegante Lösung.
Auf Anfrage wollte sich der Hersteller dazu nicht äußern. Angaben über 
die Ausgangskonfigurationen gibt es im Datenblatt nicht. Ob es im 
MPSSE-Mode anders ist, ist auch nicht bekannt.

Sollte jemand weiterführende Infos haben, ich bin für jeden Tip dankbar.

Jens

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1. Es gibt keinerlei hilfreiche Dokumentation über die MPSSE.
> Der Hesteller verweist auf Anfrage auf seine Windows-DLL.
> Wer es also unter Linux versuchen will, muss erstmal Reverse-
> Engineering betreiben.
> Soweit ich weiß, hat bisher niemand die MPSSE wirklich zum
> laufen bekommen.

Das OpenOCD-Projekt nutzt, soweit ich weiß, die MPSSE um damit JTAG zu 
sprechen.
Das aber gibt es auch für Linux, vielleicht sind dort ja ein paar 
Erfahrungswerte dokumentiert worden.

Autor: Rocky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

als fertig Baustein findest du was bei www.roboter-teile.de

Grüße Rocky

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das Problem ist, dass der FT... nach meinen Erfahrungen keine Open-
>Collector-Ausgänge besitzt, wie sie eigentlich für I2C notwendig sind.
Dann halt noch 'nen Transistor dran gemacht und einen separaten RX/TX 
Pin für die SDA Leitung genutzt.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dann halt noch 'nen Transistor dran gemacht und einen separaten RX/TX
>Pin für die SDA Leitung genutzt.

Ich mache es auch so. Und benutze den Bit-Bang-Mode. Es läuft auch 
zufriedenstellend. Aber etwas mehr Support seitens des FTDI wäre sicher 
nicht schlecht und würde viel Mühe ersparen.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur so ein Tip am Rande: www.codemercs.com

Die IO-Warrior haben alle IIC im Chip drin und kommen mit ordentlicher 
Softwareunterstützung für Windows, MacOS und Linux.

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...wobei aber nur der ganz "dicke" IOW auch i²c mit 400kbit kann, die 
beiden anderen (24 und 40 polig) sind grotten lahm

Autor: Klaus Ra. (klara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe mit dem FT2232 arge Probleme gehabt. FTDI lässt im Demo-Projekt 
einen I2C-Speicher beschreiben. Redemann liest einen LM75 aus.
Ich habe einige Jahre Erfahrung mit I2C-Bussen und habe diverse 
Ansteuerungen verwendet, CC2 , PC mit einfacher Serieller Schnittstelle.
Zum Testen habe ich eine kleine Schaltung mit PCF8574. Den beschreibe 
ich, lass LED´s aufleuchten und lese den Port wieder aus. Durch den 
Vergleich Schreiben/Lesen stelle ich Übertragungsfehler fest. Ganz 
simpel, aber ausreichend. Der FT2232 war wirklich sehr schnell (>100KHz 
Takt) und das über 40m Telefon-Litze 8 adrig. Das Schreiben klappte ja 
toll. Nur mit dem Lesen, da hatte ich Probleme. Dies war mir nicht 
möglich. Und das bei einem PCF8574, der eigentlich einer der einfachsten 
Bausteine ist und gegenüber dem Bus-Timing nicht so empfindlich ist. Der 
Support von FTDI wollte mich nicht verstehen. Es lag sicher auch an 
meinem Englisch. Aber auch von Redemann erhielt ich nur eine Floskel, 
dass er zur Zeit sehr beschäftigt ist.
Vor ca. einem Jahr habe ich feststellen müssen, dass das Bus-Timing sehr 
wichtig ist. Der DS1631 ist da etwas anspruchsvoll. Aber auch der 
PCF8591, 8-Bit AD, machte mit mit der einfachen seriellen Schnittstelle 
Probleme. Schon vor ca. 4 Jahren bemerkte ich Aussreisser bei den 
Messwerten und führte dies auf Störungen im Analogteil der Schaltung und 
langen Leitungen zurück. Die traf aber nicht zu. Dies konnte ich mit dem 
MSP430F2013 beweisen. TI hat sich beim Bus-Timing wirklich Mühe gemacht. 
Das sieht man allein schon in der Doku. Damit waren die Fehler weg.
Gruss Klaus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.