www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einfaches und schnelles USB I/O?


Autor: Ralph Tödter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte über den USB port einen spezial flash speicher programmieren
und lesen, dazu brauche ich mindestens 24 frei programmierbare IO
leitungen die ich aber gerne vom Host PC aus programmieren will.
Weil ich mich mit Mikrocontrollern noch nicht so gut aus kenne und ein
mikrocontroller mit USB a) ziemlich teuer ist und b) schwer zu
programmieren ist (da muss man sich bestimmt erstmal in das USB
protokol einarbeiten was für einen Anfänger wohl eher schwer ist).

Ich habe die FTDI chips gefunden, da ist mir vor allem dieser hier
aufgefallen:
http://www.ftdichip.com/Products/FT2232C.htm

Läuft dieser chip auf full speed USB? Low speed USB wäre glaube ich zum
programmieren eines flash speichers zu langsam, aber 12 mb/s sollte
schon genug sein...

Als, eigentlich perfekte Lösung für einen Anfänger wie mich, ist mir
noch der IO-Warrior40 von www.codemercs.com aufgefallen, aber der chip
läuft ja leider nur auf USB low speed und das ist ja noch nicht mal 1.5
mb/s :(

Es wäre echt toll wenn ihr gute Lösungsvorschläge hättet, aber es
sollte möglichst eine einfache Lösung sein die nicht so viel
Programmierung erfordert.

Vielen Dank,
Ralph

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Flash ohne µC zu programmieren dürfte schwer bis unmöglich sein.

Es gibt da nämlich auch maximale Zeiten einzuhalten, die nicht
überschritten werden dürfen und sowas kannst Du mit den großen
Latenzzeiten von USB nicht machen.

Erheblich langsamer bist Du ohne µC auf jeden Fall.


Peter

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du denn schon mal einen Anhaltspunkt, welchen Durchsatz Du
überhaupt benötigst?

Autor: Ralph Tödter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm, ich hab mir das nicht so schwer vorgestellt :)

Also der flash speicher ist nur 512kb groß...

Was wäre denn ein guter Mikrocontroller um den flash zu beschreiben?
Ich hab gesehen das man USB mit jeden Atmel chip realisieren kann (auch
die ohne USB unterstützung) aber da hab ich mir sagen lassen das s das
ziemlich lahm, ausserhalb der spezifikationen und wohl auch nicht so
einfach zu programmieren ist.

Ich hab mir die PICs mit USB angeschaut, die sind echt komisch zu
programmieren und auch nur low speed, damit müsste ich mich erstmal
eine weile beschäftigen...

Die Atmel chips mit USB sind alle in VQFP bauform oder so (schaut halt
sehr fummelig aus und den bekomme ich auf meine loch-platine bestimmt
nicht rauf ;)).

Btw, das lesen/beschreiben des flashs geht per lpt indem man einfach
einen 82C55 IO chip benutzt, ich wollte für mein Projekt aber gerne,
aus verschiedenen Gründen, USB verwenden.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Beschreiben eines Page Mode Flash Speichers geht nur unter echtem
DOS am LPT, denn zwischen zwei Bytes dürfen nicht mehr als 100us
liegen. USB benötigt 1ms für ein Datenpacket, soviel zu diesem Thema.

High Speed USB macht wenig Sinn, denn ein Byte Mode Flash Speicher
benötigt ca. 10us um ein Byte zu schreiben. Das macht 100kByte/s bzw.
1MBit.
Das schaffen die meisten USB-RS232 Konverter problemlos. Die Daten dann
per UART in einen mega8515, der diese dann in den Flash schreibt.

Autor: Ralph Tödter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich den FTDI chip dafür benutzen oder gibt es da einen besseren der
vielleicht noch einfacher ist? Brauche ich dann noch das extra eeprom
dafür?

Ausserdem scheint es den FTDI chip nur als LQFP bauweise zu geben was
irgendwie zum experimentieren ziemlich schlecht ist...

Sorry das ich soviel frage, aber ich weiss halt nix ;(

Danke erstmal für die Antworten, ich wollte eigentlich eine
kostengünstige und einfach herzustellende (so das jemand ohne
Lötkenntnisse auch damit zurecht kommt) lösung haben aber ich nehme mal
an USB ist einfach nicht so billig zu haben ;)

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei chip45 gibt es ein Modul
http://www.chip45.com/crumb/crumb128/index.html
das hat einen ATMega128 und einen USB2.0 Converter drauf. Die
Peripherie Signale können alle an Pfostensteckern mit 2,54 mm
Rastermass abgegriffen werden. Im Controller müsste ein Programm laufen
das die Daten blockweise puffert und dann dein Flash programmiert. Der
Crumb128 kann wg. eingebautem Bootloader direkt über die serielle
Schnittstelle programmiert werden, ist ein schickes Teil und nicht zu
teuer (ca. 50€).

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reichelt: USB-RS232 Konverter für 10€, fertig aufgebaut. Ist billiger
als der FTDI Chip und macht mindestens 115200Baud, vermutlich noch
etwas mehr.

Autor: Ralph Tödter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mich jetzt hierfür entschieden (war doch irgendwie
naheliegend):

http://shop.mikrocontroller.net/csc_article_detail...

Danke für eure Ideen und Ratschläge, dieses Crumb128 sieht echt gut aus
aber der USB controller darauf ist glaube ich in deutschland nur schwer
zu bekommen ausserdem ist der SMD bauweise (das ist ganz übel...) und
einen Atmega128 brauche ich glaube ich auch nicht... wahrscheinlich tut
es schon ein Atmega8 wie es Benedikt vorgeschlagen hat. Den USB-RS232
konverter habe ich nicht gefunden...

Der FTDI kann zwar, soweit ich das verstanden habe, nur low-speed USB
aber das müsste reichen weil ich ja nur 512kb speicher schreiben will
und da ich einen AVR zum schreiben der Daten verwenden will habe ich ja
auch keine extra-daten die ich noch schreiben muss wie zB bei einer
direkten IO lösung wie sie momentan mit dem LPT port gehandled wird.

Ich hoffe ich habe jetzt die richtige entscheidung getroffen :)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal zur Richtigstellung:

- die FTDI-Chips sind Full-Speed Devices
- PICs gibt es ebenfalls mit Full-Speed-Brige

Ich habe mir mal einen MP3-Player mit einem FT245BM (Yampp 3U)
aufgebaut. Die erreichbare Datenübertragungrate liegt bei rund
0,5MB/Sekunde (sonst nur Maus und Kleinkram an USB). Sollte also für
dein Vorhaben mehr als ausreichen.

MfG

Autor: Torsten Büttner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau doch mal unter www.ic-board.de. Das Modul ICmega8-8-USB oder
ICmega8-16-USB müßte genau Deinen Anfordeungen gerecht werden. Und
teuer ist das auch nicht. Microcontroller programmieren und fertig.

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.