Hallo, Ich muss gleich sagen ich durchsuche zwar seit Stunden das Forum und das Netz finde aber nicht Ganz was ich suche bzw. da ich mich in dem Bereich nicht wirklich auskenne lese ich vielleicht auch einfach nur drüber. Also ich möchte im Prinzip einen USB-Stick bauen. Ich möchte das Gerät an den PC anschließen und dann als ganz normalen Stick verwenden können. Wenn das Gerät jedoch nicht an den PC angeschlossen ist, schreibt der µController Messdaten in den Speicher. Was ich bis jetzt herausgefunden habe ist, das ich so etwas wie den vinculum als host controler brauche. Dann brauche ich natürlich auch einen Flashspeicher denke ich? Könnte mir irgend jemand vielleicht ein paar Denkanstöße in die richtige Richtung geben, welche Bauteile ich eventuell brauchen werde etc? Ich bräuchte nur mal grob unter was ich die Ganzen Teile finden könnte, Schaltplan etc. ist dann eh kein Problem mehr. lg Martin
Nein, Du brauchst keinen Host-Controller, wenn du dein USB-Gerät an einen ebensolchen anschliessen willst. Einen Host brauchst du nur, wenn du aktiv Sticks beschreiben oder Drucker ansteuern willst. Du brauchst nur einen USB-Slave. Solche Controller gibt es viele. Ich persönlich kenne PICs oder auch Silabs-Controller (z.B. C8051F320). Auch von Freescale, Atmel, Cypress und anderen gibt es Controller mit eingebautem USB-Interface. Hostfähige Controller sind seltener. Der Vinculum ist einer aber z.B. auch von Cyan Technology gibt es recht leistungsfähige Exemplare. Gruss rayelec
Wenn du es kompliziert willst, brauchst du einen Host USB Stack. Sonst, nimm eine (micro)SD Speicherkarte (1Gb kostet <2€), einen low cost (micro)SD (2-3 Euro) Reader für den PC und den microcontroller, welcher zusätzlich noch mittels eines Pins die (5V des) USB-Steckers überwacht. Den Mikrocontroller verbindest du mit dem Card-Reader mittels Lötung, und so weiß der Mikrocontroller, ob ein USB angeschlossen ist, und kann den SD steuern. Ev. noch einen Override beim USB-ID, um ev SD-Transaktionen zu beenden, bevor ein Anmelden an den USB-Bus gestattet wird.
> Was ich bis jetzt herausgefunden habe ist, das ich so etwas wie den > vinculum als host controler brauche. Nein, den brauchst Du nur dann, wenn Du einen USB-Stick ansteuern möchtest. Dein Projekt aber ist lösbar bzw. bereits gelöst worden. Du schließt Flash-Speicher (der Einfachheit halber in Form einer SD-Karte) an einen µC mit USB-Device-Interface an und implementierst auf diesem ein "USB Mass Storage Device". So etwas ist als Beispielcode für verschiedene µCs mit USB-Device-Interface wie beispielsweise den kleinen Atmel-ARMen verfügbar. Dazu kommt noch die Ansteuerung des Flash-Speichers, wenn kein USB-Host verbunden ist. Dazu solltest Du Dir eine der ebenfalls verfügbaren FAT-Implementierungen ansehen, damit ist der Dateisystemzugriff (Lesen & Schreiben von Dateien) abzuhandeln. Naja, und dann kommt noch Deine eigentliche Anwendung dazu, das Erfassen Deiner Messdaten und deren Speicherung in einer Datei. Mit einem Controller wie --beispielsweise-- dem AT91S7SAM256 sollte das zu erledigen sein. Anstelle der SD-Karte kannst Du natürlich auch beliebigen anderen Flash-Speicher verwenden, allerdings bieten SD-Karten mehrere Vorteile: Ihre Ansteuerung ist bekannt und oft implementiert, zu Testzwecken kannst Du eine SD-Karte auch mal eben so mit einem PC auslesen und sie sind obendrein leicht zu bekommen und äußerst günstig.
Hallo, Danke erstmal für die Antworten, haben mich schonmal in die richtige Richtung geschubst. Nunja von der SD/MMC muss ich mich etwas distanzieren, da ich nicht den nötigen Platz auf der Platine für diese habe. MicroSD würde zwar gehen finde ich aber etwas "dirty" lieber wäre mir irgendein Speicherbaustein der direkt auf der Platine verlötet ist, hätte jemand ein Teil im Kopf? Mit MMC und µC habe ich ja schonmal gearbeitet, nur der Zugriff vom PC auf den Speicher war mir nicht ganz klar. lg Martin
Kenne zwar bausteine im so8 Format, bis 64Mbyte, aber ich wüsste nicht, wo die in kleinstmenge herbekommen. Da ist dir mit einer (u)SD Karte besser geholfen. Weiters, die Lösung welche ich beschrieben hatte gibt dir einen schnellen Datentransfer. Wenn du das mit AVR machst, und 16Mbyte daten übertragen musst, dauert das halt lange. Mfg Chris
Muss nicht unbedingt in Kleinmengen zu bekommen sein, wenn das was taugt werden sowieso größere Mengen gebraucht. Wie gesagt ich kann das Ding nicht Serienreife erreichen lassen mit einer MicroSD drauf. Gut, muss sagen hab da noch nicht die große Erfahrung ist halt ein Gefühl. Maximale Datenmenge die ich max. Übertragen möchte wird sicher nicht mehr als jemals 500kb betragen und das ist schon großzügig Bemessen. lg Martin
> Wie gesagt ich kann das Ding nicht Serienreife erreichen lassen > mit einer MicroSD drauf. Warum? Wenn die in einem anständigen Sockel steckt, dann spricht nichts dagegen. Vergleichbare Flash-Bausteine im TSOP-Gehäuse nehmen auf der Platine i.d.R. mehr Platz weg.
Naja passt, vielen dank für die Hilfestellung! Werde mir das Ganze jetzt mal mit der µSD anschauen. Jetzt such ich sowieso erstmal den richtigen µC. lg Martin
Wir bauen sowas auch in unsere Messgeräte. Und war mit einem Cypress AT2LP (68300C) und einem Hyperstone CF-Controller sowie einem 1GB großen Samsung NAND Flash. Wechselseitiger Zugriff vom DSP und PC möglich.
Dämliche Frage aber könnte ich so etwas auch benutzen? http://www.ineltek.com/de/products/AT_AT45.php lg Martin
=> PIC18F2550 USB 2.0 Es gibt von Microchip fertige USB-Stacks, Demo-Applikationen und einen USB-Bootloader
Mahlzeit, Wäre es einfacher gleich einen Controller mit USB-Funktion zu schnappen oder den "Umweg" über http://www.ftdichip.com/Products/FT232R.htm? lg Martin
Martin wrote: > Dämliche Frage aber könnte ich so etwas auch benutzen? > > http://www.ineltek.com/de/products/AT_AT45.php > > lg Martin Das ginge oder von SST http://www.sst.com/products.xhtml/serial_flash/25/3.0V/ von ST/Numonyx http://www.numonyx.com/en-US/MemoryProducts/NORserial/Pages/NORserial.aspx oder Spansion http://www.spansion.com/flash_memory_products/serial_interface.html > Mahlzeit, > Wäre es einfacher gleich einen Controller mit USB-Funktion zu schnappen > oder den "Umweg" über http://www.ftdichip.com/Products/FT232R.htm? Hängt davon ab wie gut der Hersteller seine Controller unterstützt, sprich gibt's einen freien USB-Stack der die gewünschten Funktionen kann (u.U. ist dann aber für das Endprodukt eine eigene USB-Vendor-ID nötig). Bei den FTDIs spart man sich zwar auf Controller-Seite einiges, muss das Gerät dann aber mit einer eigenen Software ansprechen.
> Wäre es einfacher gleich einen Controller mit USB-Funktion zu schnappen > oder den "Umweg" über http://www.ftdichip.com/Products/FT232R.htm? Der Umweg verbaut Dir den Weg ein "Mass Storage Device" zu implementieren, das bedeutet, daß Du am PC Dein Gerät nur noch mit einer dafür geschriebenen Software auslesen könntest und keinen Zugriff mehr auf die im Flash gespeicherten Dateien hättest. Das aber scheint mir nicht Dein Wunsch zu sein: Ich möchte das Gerät an den PC anschließen und dann als ganz normalen Stick verwenden können. > Dämliche Frage aber könnte ich so etwas auch benutzen? > > http://www.ineltek.com/de/products/AT_AT45.php Ja, wenn Dir die Kapazität von maximal 64 MBit (also 8 MByte) ausreicht.
Alles klar, das ist wirklich nicht das Ziel. Nur habe ich mich in den letzten Tagen so viel gelesen das ich manche Informationen vertausche. Somit werde ich mich um einen Controller mit diesen Funktionen umschauen. Dann habe ich hier folgendes gefunden uALFAT, damit ich das verstehe dieser Chip regelt mir nur die Zugriffe (übernimmt fat sachen etc.) auf die microSD o.ä.. Verbaut mir dann nicht die Zugriffe vom PC auf das Speichermedium oder doch? lg Martin
Also, für Max 500kbyte, benutze einen 4Mbit SPI Speicher von Atemel, gibt es auch als 8Mbit, alles so8. Sonst, größere Datenmengen, Windbond, z.B. 16Mbyte Spi S25FL128P, bekommst du von in kleineren mengen von Arrow, 8 contacts WSON Package, also noch kleiner, und eine isrealianische Firma packt die als MCP in ein dip/so8 package, um dann mehr Speicher zu haben, pinkompatibel mit den Atmel parts. USB-HID kostet dich 1000$, wenn du einen Block beantragst, sehr viel weniger wenn du nur ein paar ID´s kaufst. Wenn du ein Quarz einsparen willst, also Platz und Bauteilkosten, sind Cypress, Silabs, ... erste Addressen (bei geringeren Stückzahlen, nicht bei Großen). Sonst, Microchip, Atmel, ... . Microchip ist wegen Strohmsparfunktionen nicht schlecht. Achso, wenn du das USB-Logo aufbringen willst, dann kostet es mehr, und Kontroller wie Microchip fallen weg, weil nicht 100% USB-Konform gegenüber den Spezifikationen. Mfg Chris
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.