Een USB product met AVR uitlezen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • conara
  • Registratie: Februari 2010
  • Laatst online: 20:44
Ik wil voor een projectje gebruik maken van de Contour Design ShuttleXpress, die gaat dienen als een soort afstandbediening. Normaal gebruik je het apparaat in combinatie met een (windows) computer, maar nu wil ik het apparaat gaan aansluiten op een ARV microcontroller. Er zijn diverse 32 bit microcontrollers die USB ondersteunen en die wil ik dan ook gaan gebruiken voor dit project.

Mijn vraag is nu of zo'n apparaat (eenvoudig) i.c.m. een AVR te gebruiken is. Verzend dat ding gewoon een USB pakketje zodra er bijvoorbeeld een knop wordt ingedrukt, of? Is daar al iets zinnigs over te zeggen? Want als dat het geval is dan is het een kwestie van de pakketjes te sniffen en te ontcijferen. Is dit realistisch om te doen? Iemand die ervaring heeft met dergelijke USB apparaten?

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 06-10 16:32

SA007

Moderator Tweaking
Ik verwacht dat een dergelijk ding gewoon een USB-HID device is.

Maar houdt er rekening mee dat je niks hebt aan een AVR met usb, je moet usb-host hebben, dat heeft alleen een paar redelijk speciale avr's, niet de mega's oid.

Je hebt usb host modules voor reguliere microcontrollers, maar heb daar geen ervaring mee verder.

Acties:
  • 0 Henk 'm!

  • DaWaN
  • Registratie: Oktober 2002
  • Laatst online: 23:10

DaWaN

'r you wicked ??

Je zult zoals SA007 aangeeft USB host functionaliteit nodig hebben, dit is niet gelijk aan USB slave functionaliteit in de meeste MCUs.
USB host is niet zo eenvoudig als -pak hem beet- een seriële poort.

Zonder kennis goede kennis van USB, C en MCUs in het algemeen ga je het niet werkend krijgen.
Mogelijk kun je met een goed code voorbeeld al een eind komen: ik zou als ik jou was kijken of je met iets als een PIC32, STM32, Stellaris, NXP LPC, Energy Micro, Atmel SAM aan de slag kunt. Ik vermoed dat er voor die MCUs code voorbeelden zijn te vinden voor USB hosts. Maar opnieuw: zonder kennis van USB, MCUs, C en een berg tijd gaat het niet lukken :)

If you do not change direction, you may end up where you are heading


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Er zijn ook wel een paar software USB sniffers voor je PC beschikbaar (met gratis trials), dus daar kan je al mee kijken wat die teruggeven. Maar over het algemeen is USB verkeer verre van triviaal.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Sommige AVR32 hebben host usb, denk dat hij die bedoeld. ;)

Je zal usb packetje moeten opvangen, zal dus usb moeten instellen met juisten endpoints en dan packetjes verwerken die je binnen krijgen. USB is goed te doen, zal wel heel wat lezen vereisen en uiteraard kennis van C en uC's, vraag is hoe is de documentatie van AVR32 en sluit dat aan bij je behoeft. Atmel zal vast en zeker AFS voorbeelden hebben en apps notes.

[ Voor 9% gewijzigd door mad_max234 op 24-06-2014 00:03 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Nu online
Is dit realistisch om te doen?
Geen idee. Lees de appnote en oordeel zelf. http://www.atmel.com/Images/doc8486.pdf
Met een mbed is dit overigens zo gebeurd.

[ Voor 11% gewijzigd door jeroen3 op 24-06-2014 07:37 ]


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Dat is ASF, atmel software framework, is dus app note voor framework geen kale C, word dus heel veel bij gehaald.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • conara
  • Registratie: Februari 2010
  • Laatst online: 20:44
Hmmm... niet 1.2.3 realiseerbaar dus. Komt in ieder geval op de to-do list om het een en ander hierover uit te zoeken. Heb het momenteel nog wat druk, dus nu geen tijd om al uitgebreidt onderzoek te doen. Heb wel even wat termen opgezocht die jullie gezegd. Als iemand nog ervaring heeft of tips hoe ik best kan beginnen hoor ik dat graag. Helaas kan ik nog geen nuttige dingen hierover zeggen.

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Begin maar eerst met lezen van wat USB inhoud, zoals eerder al gezegd is niet even RX en TX lijntje, je zal endpoints moeten instellen voor gene wat je wilt doen met USB. USB is verzameling van heel veel verschillende protocollen, usb zelf is dom en moet je dus instellen wat je wilt.

Hier word het min of meer in jip en janneke taal uitgelegd.
http://www.beyondlogic.org/usbnutshell/usb1.shtml

De volledige USB 1.1 specs
http://mprolab.teipir.gr/vivlio80X86/usb11.pdf

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • 3xhaas
  • Registratie: Februari 2002
  • Laatst online: 26-09-2024
Ik weet niet precies hoe die Shuttleexpress herkent wordt en wat voor soort USB device het is. Ik ben in het verleden wel mensen op fora tegengekomen die USB toetsenborden op PIC microcontrollers met USB-OTG (on the go) werkend hadden. Schijnbaar was het niet eens heel ingewikkeld.
Als je op pagina 3 van Microchip's USB OTG and Embedded Host kijkt zou het dus zeker mogelijk moeten zijn met een microcontroller die USB-OTG ondersteunt.
Alles hangt en staat hoeveel je van de ShuttleExpress USB communicatie weet en hoe handig je bent met microcontrollers programmeren.

Acties:
  • 0 Henk 'm!

  • Stoney3K
  • Registratie: September 2001
  • Laatst online: 18:26

Stoney3K

Flatsehats!

SA007 schreef op maandag 23 juni 2014 @ 21:51:
Ik verwacht dat een dergelijk ding gewoon een USB-HID device is.

Maar houdt er rekening mee dat je niks hebt aan een AVR met usb, je moet usb-host hebben, dat heeft alleen een paar redelijk speciale avr's, niet de mega's oid.

Je hebt usb host modules voor reguliere microcontrollers, maar heb daar geen ervaring mee verder.
Volgens mij ondersteunen zowel libusb als V-USB ook gewoon USB host mode op een AVR.

Zet het daar maar neer! -- It's time to party like it's 1984 -- Soundcloud


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Heeft het drivers nodig? Zo ja is het geen HID, anders is de kans dat het HID is. Makkelijkste is gewoon even aansluiten op pc en kijken welke USB categorie die valt.

VUSB is alleen slave USB zover ik weet, en alleen voor 8bit avr bedoeld, het is softwarematig implantatie van USB. libusb is voor op pc(linux/windows) niet voor op uC, lifa is ook alleen slave. Zijn inedrdaad mensen bezig geweest met host usb, en dacht ook softwarematige, even google zou ik zeggen.

Onder andere FTDI heeft aantal host usb chips die je makkelijk met bijvoorbeeld pic of avr kan laten samenwerken en zo host ondersteuning toevoegt.

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • conara
  • Registratie: Februari 2010
  • Laatst online: 20:44
Ik heb het product nog niet aangeschaft, want wil het dan voor een specifiek project gebruiken. Dus eerst wat informatie inwinnen, voordat ik met een nutteloos product opgescheept zit. Er zijn iig drivers voor te downloaden vanaf de website. Maar bijvoorbeeld mijn logitech muis of toetsenbord heeft ook drivers, maar zonder drivers doet die het wel gewoon. Is dat met dit product ook? Of blijft dat gissen?

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Toetsenbord werkt eigenlijk altijd, die kan gewoon terugvallen op HID, voor extra functionaliteit buiten het standaard toetsen om heeft die de drivers nodig en dat zal niet werken zonder en dat deel valt ook niet onder HID. Dat blijft gissen, kan allebei de kanten op, weet je alleen als je er eentje aansluit of als het ergens word vermeld, kan het niet zien aan de buitenkant of zo.

Edit/
Enige waanwijzing is er wel dat het HID kan zijn, maar geeft je geen zekerheid.

"Mac OS 8.6 - 9.x / 10.1 - 10.6;\nWindows 98/98SE/Me/2000/XP/Vista/7"


Veel fabrikanten gaan geen drivers meer schrijven voor 98, vaak is dat HID. Maar is geen zekerheid dat ook echt HID is, maar is wel positief.

HID betekend overigens niet zoveel, je moet nog steeds drivers maken voor AVR32 en alles aansturen, veranderd in dat opzichten niks met andere categorieën, je ben immers host. Andersom was het wel makkelijk geweest, als je HID device maakt zal PC die direct herkennen, omdat die al de drivers aanboort heeft.

[ Voor 54% gewijzigd door mad_max234 op 26-06-2014 17:32 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • 3xhaas
  • Registratie: Februari 2002
  • Laatst online: 26-09-2024
Je zou eens hier kunnen kijken.

Ik gebruik op mijn werk normaliter CCS om uC mee te programmeren, maar kon niet direct een usb host example vinden. Maar als je apparaat als een HID keyboard class wordt herkent zouden de endpoints, byte>char conversie etc niet al te moeilijk terug te vinden moeten zijn. Anders kun je altijd nog een USB sniffer op je PC installeren alle codes van de knoppen noteren en die op de uC te gebruiken.

Je hebt trouwens kans dat wanneer je met een USB sniffer alle codes hebt achterhaald je al genoeg info hebt of het HID is of niet. Het zou kunnen zijn dat het apparaat zo "dom" is dat hij altijd gaat proberen te verzenden als er op een knop wordt gedrukt. Aangezien het waarschijnlijk het enige apparaat op de bus is zou deze dan vrij moeten zijn. Maar misschien is dat wel een iets te rooskleurig scenario.

Ik weet niet hoe veel tijd en ervaring je hebt, maar met wat doorzettingsvermogen lijkt het me een haalbaar project.
Pagina: 1