USB

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

USB

Inlägg av strombom »

Hej!

Jag ska koppla ihop en enchipsdator med USB. Antingen en separat krets eller enchipsdator med inbyggd USB.

Tidigare har jag använt FT232BM men jag skulle vilja testa något alternativ. Man måste bland annat ha ett externt EEPROM...

De alternativ jag har hittat är:

* TUSB3410från Texas Instruments, vet någon var man hittar källkod/drivrutiner för windows ?
- Den inbyggda enchipsdatorn har bara några få I/O pinnar.
+ Jag har tre stycken hemma :)

* AT43USB355 från Atmel, jag hittar inte drivrutiner för den heller...
+ Det är en AVR i grund och botten så jag behöver inte fler kretsar till projektet...

* ATTiny2313 Mjukvarulösning, väldigt lockande men verkar vara mycket jobb att få det att fungera.
+ Billig

* Prolific PL2313 (eller PL2303) den här kretsen skall enligt uppgift både vara enklast och billigast, frågan är bara, var köper man den ?
- Ganska oflexibel lösning

* PIC18F2455
+ Inbyggd kraftfull enchipsdator
- Ingen gratis c-kompilator, därför tänker jag inte använda den...

* CP2101R Verkar ganska trevlig, med allting inbyggt, men var hittar jag datablad ?

Kretsen måste alltså kunna prata med ett hemsnickrat windowsprogram. USB 1.1 duger, men helst inte i low-speed.

Har jag missat någon krets ? Vet ni hur man fixar drivrutiner för Windows ?

Jag vill helst slippa FT232BM men det verkar ju som om jag inte lyckas hitta någon bättre...


/Johan
Senast redigerad av strombom 25 januari 2005, 17:37:50, redigerad totalt 1 gång.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Jag har inte sysslat själv med USB, men har på gång något projekt där det ska användas. Medge gärna vad det blir för lösning tillslut!
Vad jag förstått är HID ett enkelt protokoll för "hemmabruk".
Hur det fungerar i Windows vet jag faktiskt inte, men för Linux verkar det inte vara några problem att skriva drivrutiner.
Hoppas du hittar någon lösning!

Mvh
speakman
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Har inte TUSB3210 32 io-pinnar?

Fast typ alla var open drain om jag fattade databladet rätt. Efter jag läst det så blev de liksom liggande...
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Du är min hjälte :)

De jag har hemma är TUSB3410 och har bara några i/o pinnar, TUSB3210 har ju däremot 32 stycken. I databladet står det att de har pullup så det är nog inga problem.

Jag ska kolla upp TUSB3210, $4 för MCU + USB i ett chip är riktigt bra, tar inte upp så mycket kretskortsyta heller.

Edit: Samples beställda :)

/Johan
Användarvisningsbild
ante
Inlägg: 107
Blev medlem: 21 juni 2003, 17:48:56

Inlägg av ante »

cyr skrev:Har inte TUSB3210 32 io-pinnar?

Fast typ alla var open drain om jag fattade databladet rätt. Efter jag läst det så blev de liksom liggande...
vad gör det om dom är open drain, och vad är det?
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Open drain betyder att antingen är utgången låg, eller så är den bortkopplad (högimpedans). Gick det att begripa?

/Johan
Användarvisningsbild
ante
Inlägg: 107
Blev medlem: 21 juni 2003, 17:48:56

Inlägg av ante »

nästan, fast vad brukar det normal vara på portar?
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Det vanliga är väl att en etta är +5V (eller 3.3V eller vad man nu har) och att en nolla är 0V. Har man open drain är nolla 0V och etta betyder att den är bortkopplad.

/Johan
Användarvisningsbild
ante
Inlägg: 107
Blev medlem: 21 juni 2003, 17:48:56

Inlägg av ante »

aha, fast vad brukar man kalla den kopplingen?

det verkar lite krångligt med open drain, fast det stod att man kunde ha många enheter på en sån port, hur funkar det egentligen?
Användarvisningsbild
grapetonix
Inlägg: 293
Blev medlem: 14 juli 2004, 17:20:50
Skype: grapetonix
Ort: Hägersten, Stockholm

Inlägg av grapetonix »

Själv har jag varit med i ett utvecklingsprojekt där PIC16C745 användes.

Den är grymt utdaterad och har bara low-speed USB, men fungerar. Jobbigt med UV-radering också...
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

ante skrev:aha, fast vad brukar man kalla den kopplingen?

det verkar lite krångligt med open drain, fast det stod att man kunde ha många enheter på en sån port, hur funkar det egentligen?
Jag brukar kalla det "en vanlig utgång" :)

Push-pull säger man nog egentligen, eftersom utgången liksom kan dra åt båda hållen.

Anledningen att man kan ha flera utgångar när de är open drain (eller open collector) är att man låter alla utom en stå på "hög", vilket är det samma som "av". Sen har man bara ett pullup-motstånd, och resultatet blir hög om ingen utgång är låg, och låg om minst en utgång är låg.
Användarvisningsbild
Icecap
Inlägg: 26646
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

En "vanlig" utgång som kan dra båda till VCC och GND kallas totem-pole men i långt de fleste MCU:n är dom at typen tri-state totem-pole vilket betyder att de kan stänga alla drivtransistorer (input) eller driva till VCC eller GND efter val (output).

Vissa är open-drain vilket betyder att en MOSFET kan dra (utgången) till GND eller släppa så ett motstånd kan dra den till VCC.

Tri-state betyder alltså att all drivning stängs av.

Totem-pole betyder att det sitter transistorer till att dra mot VCC (+) samt till att dra mot GND (-).

Open drain (eller open collector) är när det sitter en transistor som kan dra till GND eller släppa. Vad man sen gör med den beror på behov.

Med open drain kan man koppla ihop fler utgånger och om en (eller fler) dra utgången till GND då är den '0', det kallas "wired-or". Det kan vara användbart vid vissa tillfällen, man behöver då bara 1 pull-up motstånd per "samling" av utgånger.
Skriv svar