Hallo zusammen, Ich möchte erkennen, ob ein USB-Gerät an einen AVR angeschlossen wurde, keine Daten oder sowas. Zum Hintergrund: Es geht um eine Schaltung mit einem Cortex-M3 welche über einen "USB-Detect" ( erkennen ob 5V über USB an nem Portpin ankommen ) erkennt und daraufhin aus der MainApp in eine "ServiceApp" springt wo sie sich als USB-Drive meldet. Die gesuchte Lösung soll eigentlich nur die 5V für den USB-Detect bereit stellen und erkennen wann der STM32 im "USB-Modus" ist um ne LED anzuschalten. Gebraucht wird das nur, um festzustellen ob der STM sich resetet hat, da der Sprung in die ServiceApp übern Bootloader erfolgt . Ich denk mal ne vollständige USB-Host_Implementierung wär wohl n bissl zu viel. Mir schwebt n AVR mit 3,6v vor darüber 2 PortPins n Bitmuster ausgibt, auf das de STM antwortet, wenn er im USB-Modus ist. Vielleicht geht's auch ander, bin für Vorschläge offen. MfG Hans
>>Vielleicht geht's auch ander, bin für Vorschläge offen. > >AVR? ROFL. Häng nen alten USB Stick dran. Ach shit, der Cortex soll der Slave sein;) Häng ihn an einen USB Host (PC), wie soll das sonst vernünftig gehen? Alles andere kannst du vergessen.
Naja, mit genug Flash kann man schon ne init "rausbangen" (xmegas gehen bis 32mhz takt, sollten also (bei 24mhz) 2 lines mit 12mhz schalten können). ob das aber einfacher ist als einfach nen at90usb1287 zu nehmen und dessen host-interface zu verbraten ist fraglich.....
Tolle Antwort Holger... Der STM meldet sich als USB-Stick wenn er aus der MainApp in die SeviceApp gesprungen ist. Und nur das soll erkannt werden. Wenn er an ein PC angeschlossen wird melde er sich dann als informativerer Datnträger.
Nachtrag: Kuk mal ob es reicht einfach die Datenleitungen hochohmig zu pull-downen (100k bereich) und dann auf den pullup den der stm anschaltet zu reagieren (so macht das der host-controller im pc)...
Hans M. schrieb: > Und nur das soll erkannt werden. Dann musst du aber das ganze entsprechende Protokoll abwickeln, das als Bitmuster zu entwickeln ist zumindest unsinnig, vermutlich aber garnicht möglich, da gehen ja einige Datenpakete hin und her. "Ich bin ein Stick" wird nicht einfach mit Pullup-Widerständen gemeldet wie beim Speed. Gruss Reinhard
>Tolle Antwort Holger... Toller Vortrag Hans... >Der STM meldet sich als USB-Stick wenn er aus der MainApp in die >SeviceApp gesprungen ist. Und nur das soll erkannt werden. Wenn er an >ein PC angeschlossen wird melde er sich dann als informativerer >Datnträger. Bitte noch mal genauer erklären: Wenn der STM an einen AVR USB Host angeschlossen wird, wird er zum USB Drive. Wenn er an einen PC USB Host angeschlossen wird, wird er zum informativeren Datenträger. Hab ich jetzt nen Knoten im Hirn oder laberst du nur Schwachsinn?
holger schrieb: > Hab ich jetzt nen Knoten im Hirn oder laberst du nur Schwachsinn? Das wird wohl schon so stimmen, bloss steckt da etwa tausendmal so viel Software dahinter wie sich klein Hänschen das so vorstellt. Gruss Reinhard
Ich dachte der stm hat den USB-Port "aus" wenn er normal an ist und schaltet sind in den bootloader-modus (der einen Stick emuliert) wenn er port 5V sieht....
>Es geht um eine Schaltung mit einem Cortex-M3 welche über einen >"USB-Detect" ( erkennen ob 5V über USB an nem Portpin ankommen ) erkennt >und daraufhin aus der MainApp in eine "ServiceApp" springt wo sie sich >als USB-Drive meldet. Nur weil sich der Thread-Ersteller unverständlich ausdrückt, ... >Ich dachte der stm hat den USB-Port "aus" wenn er normal an ist und >schaltet sind in den bootloader-modus (der einen Stick emuliert) wenn er >port 5V sieht.... ... muß das jetzt nicht jeder nachmachen. Bitte etwas mehr auf den Satzbau und die Rechtschreibung achten - dann klappts auch mit den Antworten.
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.