USB-porten som programmerad strömbrytare

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

USB-porten som programmerad strömbrytare

Inlägg av DragonsDen »

Jag skulle vilja använda PC:ns USB-port som strömkälla till något anslutet tillbehör, och kunna slå av/på programmatiskt.

USB ska ju ge 100 mA utan vidare, så nån handskakning och kommunikation ska väl inte behövas för det. Däremot krävs det ju för att få ut upp till 500 mA, även om man i praktiken lär kunna 'fuska' och dra ut det med utan vidare.

Eftersom 100 mA alltid finns tillgängligt på strömpinnen (VCC), medan jag vill kunna slå det på och av med min kod, så undrar jag hur man kan bör gå till väga. Några alternativa ideer:

1) Slå på/av hela USB-porten, och därmed VCC (om detta överhuvudtaget är möjligt).

2) Skicka signal på datapinnen som via transistor stryper och släpper på VCC. Men frågan är hur utdataströmmen ser ut elektroniskt och om man överhuvudtaget kan låta den vara stabil hög respektive låg på kommando.

3) Använda nån färdig IC som är gjord för att omvandla USB-kommunikation för att switcha på/av strömmen på sin VCC ut.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Ett sätt borde vara att använda FT232R. Istället för att använda PWREN# borde du kunna använda "CBUS bit bang mode option". "Allows up to 4 of the CBUS pins to be used as general purpose I/O."


Databladet sid 11 och sid 21
http://www.ftdichip.com/Documents/DataS ... FT232R.pdf

Men det kanske finns nåt enklare sätt...
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

"Som vanligt" svarar jag UBW. Lite overkill kanske, men den kan enkelt styra ett gäng mosfetar som kan slå av/på ström till andra förbrukare.
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

Inlägg av DragonsDen »

Ursäkta att det har dröjt för mig att återkomma. Tackar för rekommendationerna, de verkar mycket intressanta. Jag tror att UBW är overkill för mina behov. FT232R, och liknande kretsar, är utmärkt.
thepirateboy skrev:Ett sätt borde vara att använda FT232R. Istället för att använda PWREN# borde du kunna använda "CBUS bit bang mode option". "Allows up to 4 of the CBUS pins to be used as general purpose I/O."
Din länkade dokumentation är förträfflig!

Benet #PWREN på FT232R fungerar som strömbrytare beroende på tillståndet är suspend eller remote i USB-porten. Så då är det bara frågan om att kontrollera USB-portens suspend/remote.

Efter att ha skummat "USB in a nutshell" och annat jag googlat mig till, så verkar USB-porten själv gå ned i USB suspend om det inte sänds någon data. Å andra sidan verkar det finnas en "keep alive" som förhindrar just detta. Å tredje sidan så kanske allt det där handlade om specifikationer av hur ett USB-device måste fungera för att följa USB-standarden...

Jag är alltså inte helt på det klara över hur man programmatiskt kan förändra USB-portens tillstånd mellan suspend och resume. Är det någon som känner till något om det?

Det är alltså inte någon millisekundprecision jag är i behov av, utan vill bara ha en programmatiskt styrd strömbrytare för användning i "mänsklig tidsupplösning". Därför är väl bit banging inte intressant, utan konfigurationen som den beskrivs på sidan 21 i FT232R-dokumentationen borde vara fullt tillräcklig.
Skriv svar