Sida 1 av 3

USB Pinout?

Postat: 27 april 2007, 23:30:03
av Korken
Hej alla galda!

Har läst om USB och det står överallt D+ och D- men vilken av dessa är Clock och vilken är Data?
Kan inte hitta det på google eller liknande.

//Emil

Edit: Kom att tänka på att denna kanske skulle vara i Allmänt. Om moderator tycker så, så flytta den.

Postat: 28 april 2007, 00:07:07
av TERdON
Bägge är data (differentiell signalering). Klocka saknas, därför måste allt som kommunicerar med USB använda en grymt exakt 12 MHz klocka för att kunna synka. (jag är osäker eftersom det var ett tag jag kikade på specarna men antagligen kompletteras klockan med en inledande synk-del av datapaketen)

Mer läsvärt finns på http://en.wikipedia.org/wiki/USB

Ännu mer läsvärt, fast lite mer svårsmält, finns i USB-specifikationen och på hemsidan för organisation bakom USB.

Postat: 28 april 2007, 02:49:12
av Korken
Okej, tackar!

Får köra med ett USB chip istället då, tänkte köra med en FT232RL.
När jag sitter och kollar på bilden när man kopplar den till en µC men på min ATmega168 så hittar jag bara hur man ska göra med RXD, TXD och XCK.
Hur ska man göra med resten av linorna?

//Emil

Postat: 28 april 2007, 03:12:03
av JimmyAndersson
Det fungerar fint med FT232R. Riktigt trevlig krets för övrigt. :)

Du behöver i princip bara koppla in AVR'ens RXD och TXD till FT232R-kretsen.
Läs mer om detta i databladet för FT232R.

Titta på bildernahär som exempel.

edit: Stavfel.

edit 2: Nu såg jag att du skrivit FT232R. Vet inte riktigt vad som skiljer den från FT232RL.

edit 3: Kastade om två bokstäver. Det ska naturligtvis vara FT istället för TF. :)

Postat: 28 april 2007, 10:45:51
av TERdON
Om du använder ett interface-chip är det naturligtvis det och inte mikrokontrollern som ska köras på 12 MHz klocka och inget annat.

Postat: 28 april 2007, 11:09:37
av Zyxel615
Jimmy> Nu rör du väl till det? TF232R? RL innebär bara att kretsen är blyfri.

Postat: 28 april 2007, 13:24:00
av Korken
RL betyder blyfri, ja.

Nu är det såhär att jag är HELT grön på USART mot USB chip men hur är det med clockan på µCn? Kan den vara på orginal 8Mhz och man får upp datat iallafall?

Och jag ska ha denna till att "lysna av" en USB överförning men hur ska jag koppla in den utan att störa orginalsändningen? Motstånd?

Tack för hjälpen!

//Emil

Postat: 28 april 2007, 13:37:19
av strombom
"en grymt exakt 12 MHz klocka för att kunna synka"

Jag är tämligen säker på att usb-kretsen har en inbyggd PLL som låser mot ubs-hostens klocka, som synkas då och då över databussen.

+-2% klockfrekvens är nog inga problem.

Här finns en USB-analysator, http://www.jungo.com/usbtracker_a.html

Tyvärr är de inte billiga.

Postat: 28 april 2007, 13:45:41
av Korken
Okej, för det finns en 12Mhz utgång på USB chipet som man ska kunna koppla in sig på men jag vet inte hur detta fungerar.
Någon som har erfarenhet av detta?

Sen vet jag inte hur snabbt detta ska fungera. För jag ska koppla in den på mitt tangentsbords USB och det ska tydligen gå på 8/12Mhz enligt olika sidor.
Så jag ska inte kolla på extremöverförning bara mitt tangentbord.

//Emil

Postat: 28 april 2007, 14:03:43
av thepirateboy
För att använda FT232-kretsens klocka så aktiverar du den med programmet MProg3.0. Du kan förstås köra med 8 Mhz om du vill (förstår iofs inte riktigt vad du tänker göra).

Postat: 28 april 2007, 14:24:09
av Korken
I enkla slängar så gör jag en keylogger som är hårdvarubaserad.
Den ska övervaka vad som händer på mitt tangentbord.

//Emil

Postat: 28 april 2007, 14:29:52
av Zyxel615
Du kan inte använda denna krets för att lyssna av USB. Syftet med FT232-kretsarna är att skapa en virtuell seriport, den kan mig veterligt inte användas för att "avlyssna" trafik på USB-bussen, utan bara trafik som skickas till just den enheten. Däremot kan du naturligtvis skriva ett program i datorn som skickar ut alla tecken som kommer in på tangentbordet till denna serieport.

Postat: 28 april 2007, 15:25:46
av bengt-re
Läs databladet för FT232, har för mig att 0.5% är rekomenderad noggranhet på klockan - de tipsar om någon murrata resonator i någon appnote. Har dock kört med dem med elfas vanliga resonatorer utan problem - däremot har jag haft strul när jag använde kristall, vette f-n varför, men kan ha berott på den tar längre tid att starta och kan då missa startkonditionen i samband med inkopplingen.

Postat: 28 april 2007, 15:33:20
av sodjan
Håller med Zyxel615, sannolikt kommer FT-kretsen bara att "reagera" på
trafik sänt från den riktiga "drivern" för denna krets. Inte på all USB
trafik...

Sen blir det sannolikt ett hästjob att skiva analyskoden för att få ut något
vettigt från en generell USB trafik, även om man skulle lyckas fånga in den...

Allt detta var *så* mycket enklare med en ren PS/2 kommunikation... :-)

Postat: 28 april 2007, 15:49:06
av TERdON
strombom skrev:"en grymt exakt 12 MHz klocka för att kunna synka"

Jag är tämligen säker på att usb-kretsen har en inbyggd PLL som låser mot ubs-hostens klocka, som synkas då och då över databussen.

+-2% klockfrekvens är nog inga problem.

Här finns en USB-analysator, http://www.jungo.com/usbtracker_a.html

Tyvärr är de inte billiga.
My bad. Det kan bero på att de främsta USB-device-lösningar jag tittat på varit byggda direkt på en mikrokontroller i mjukvara (IgorUSB) utan interfacechip, och därav de höga kraven.