Läsa data från USB-enhet?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Jo, det är säkert en bra grund! Problemet tror jag bir all initiering och setup som behövs för att få USB-kopplingen att komma till det läget att du kan börja lyssna på "riktig" data som överför kommandon.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

> Men om jag kopplar upp USB-synth --> Maxim-kretsen --> PIC --> MAX232 --> Dator,
> och loggar all data som Maxim-kretsen ger i ett terminalprogram på datorn.

Visst, det är bara att "koppla". :-)

*Problemet* (som även vfr pekar på) är att du ju inte har någon kod till
din PIC, och du vet inte hur den koden ska se ut !

Och Maxim-kretsen "ger" inget data innan den har konfigureras (görs från
PIC'en) med rätt data för att matcha det USB-device som den ska kommunicera med.

Det betyder att du inte kan logga något data (för att ta reda på hur
trafiken ser ut) innan du vet hur trafiken *ska* se ut. Moment-22, med andra ord.

Sen så var det väl så att du har flera prylar med USB, eller hur ?
Från flera olika tillverkare, var och en med sin egen lösning.

Den lösning som jag tror skulle fungera, är att köra en av dessa prylar
mot en PC med korrekta drivrutiner och koppla på en USB-sniffer.
Då får du kanske en trafik-logg som skulle kunna fungera för att
"emulera" det som drivrutinerna i PCn gör...
Användarvisningsbild
Andax
Inlägg: 4373
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

När jag sa kör på gjorde jag de med åtanke att Jimmy är en envis och nyfiken typ... Precis sådan som behövs för att få igenom detta...

En sak man måste veta om USB är att alla transfers startas från hosten. Dvs den skickar en request efter data som ska skickas från enheten till hosten. Om du kopplar USB-synth --> Maxim-kretsen --> PIC --> MAX232 --> Dator kommer det alltså inte per automatik något som du kan logga...
Du bör alltså logga vad drivrutinen skickar ner och vad svaret blir, t.ex. mha av USB Monitor som Jeppson nämnde...

Mitt tips för att lyckas med detta projekt är:
1) bygga/köp ett SPI-interface för datorn (PC).
2) bygga ett kort MAX3421E som ansluts till SPI interfacet.
3) logga USB trafiken under normal drift när det körs via vanliga usb porten och försök sedan klura ut vad vissa block innebär i stort.
4) kör ett program som via SPI skickar motsvarande block via ditt MAX3421E kort.
5) Sedan kan du börja blanda in PIC...

Detta är lite förenklat... ...En den att läsa på hur MAX3421E ska sättas upp/konfigureras... Samt läsa på hur USB request blocken hänger ihop... mm... mm...

Ibland är resan målet...
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

"Ibland är resan målet..."

Precis! :)

"Jimmy är en envis och nyfiken typ... "

Stämmer bra. :D Det görs väldigt få USB-projekt. En orsak kan vara just att det är lite knepigt, men varför skulle man bli hindrad av en utmaning?


Nu har jag fått lite mer koll på det hela. Stort tack till er!
Ska bara programmera klart lite grejjer till min TFT-UV-box (som jag döpt till "TuFvT") :) sedan ska jag börja labba med detta.

Förresten, sodjan: Displayerna (12x2 och 8x2) var riktigt bra!! :)
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

> Förresten, sodjan: Displayerna (12x2 och 8x2) var riktigt bra!!

Don't tell me, tell your friends... :-)

Vilket väl i och för sig var vad du gjorde... :-)
TERdON
EF Sponsor
Inlägg: 295
Blev medlem: 15 november 2006, 04:38:29
Ort: Solna/Laholm
Kontakt:

Inlägg av TERdON »

Innan du sätter igång projektet rekommenderas starkt att du tar en titt på specifikationen för USB så att du har lite aning om vad det är du ger dig in i. Som tur är så behöver du antagligen inte fundera överhuvudtaget på USB 2.0 utan bara 1.1, den äldre och inte fullt så komplicerade versionen (och förhoppningsvis är syntharna "low speed" och inte "full speed" vilket är ännu ett förenklingssteg). Specen för 1.1 ligger längst ner på nedanstående sida:

http://www.usb.org/developers/docs/

Det finns också en standardklass för USB-MIDI-tangentbord. Tyvärr är inte alla USB-tangentbord kompatibla med den (efter lite googling verkar det vara värre ju "häftigare" tangentbordet är). Om du har chansen att välja tangentbord kan du försöka ta ett som stöds av OS X utan särskild drivrutin (enligt denna länk) som ska ha störst chans att följa standarden.

Standarden ligger för övrigt under länken http://www.usb.org/developers/devclass_docs (USB MIDI devices).

Lycka till!
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Ja där fanns mycket värdefull info. Bra länkar! Tackar! :)
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Nästan _för_ mycket info enligt min mening =)
Ska bli mycket spännande att följa detta projekt. Jag (forumet?) hoppas verkligen att du dokumenterar minsta lilla steg i ditt baklängesingenjörsskap!
Så jag önskar lycka till! Och det vore ju konstigt om du inte lyckas med hela detta elektronikforum bakom dig!

(Hmm... kom på den svindlande tanken att samla alla våra kunskaper i ETT _stort_ projekt!)
Skriv svar