USB <-> UART <->IR dongel - FUNKAR!!
USB <-> UART <->IR dongel - FUNKAR!!
När jag beställde grejor på Conrad för ett tag sedan så hittade jag denna märkliga manick för ynka 49 kr:
Under locket sitter en Silabs 2110 som är ett fint litet chip, med viss betoning på litet: Har testat lite och det funkar fint att kommunicera med exempelvis UART på en uC, behövs bara IR-LED och IR-transistor/diod. Jag kom bara upp i 9600 bit/s vilket delvis beror på att IR-överföring inte är supersnabb i sig men troligen mest på min dåliga setup. Galvaniskt skall chipet klara 1 Mbit/s enligt spec.
Chipet jobbar med USB HID som är enkelt att koda mot, dessutom tillhandahåller Silabs ett API för diverse olika plattformar vilket ju förenklar en hel del.
Kan inte hitta någon drivrutin för virtuell COM-port för chipet, annars kunde dongeln ju funkat som generell USB till seriell-omvandlare.
Dongeln är visserligen ändå väldigt användbar som optiskt isolerad länk mellan RS232-enheter och PC men vore ändå bra med ett program eller API som implementerar en "software only" virtuell COM-port, d.v.s något som kan användas för att sniffa eller omdirigera serieportar.
Någon som vet om/var det finns en dylik "software only" virtuell COM-port att tanka ner?
Visade sig att det är en dubbelriktad brygga mellan USB och IR. Manicken skall egentligen användas som optiskt gränssnitt mellan digital multimeter (Voltcraft VC880 mfl) och PC men kan ju användas till lite allt möjligt.Under locket sitter en Silabs 2110 som är ett fint litet chip, med viss betoning på litet: Har testat lite och det funkar fint att kommunicera med exempelvis UART på en uC, behövs bara IR-LED och IR-transistor/diod. Jag kom bara upp i 9600 bit/s vilket delvis beror på att IR-överföring inte är supersnabb i sig men troligen mest på min dåliga setup. Galvaniskt skall chipet klara 1 Mbit/s enligt spec.
Chipet jobbar med USB HID som är enkelt att koda mot, dessutom tillhandahåller Silabs ett API för diverse olika plattformar vilket ju förenklar en hel del.
Kan inte hitta någon drivrutin för virtuell COM-port för chipet, annars kunde dongeln ju funkat som generell USB till seriell-omvandlare.
Dongeln är visserligen ändå väldigt användbar som optiskt isolerad länk mellan RS232-enheter och PC men vore ändå bra med ett program eller API som implementerar en "software only" virtuell COM-port, d.v.s något som kan användas för att sniffa eller omdirigera serieportar.
Någon som vet om/var det finns en dylik "software only" virtuell COM-port att tanka ner?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av hanzibal 29 december 2012, 05:08:58, redigerad totalt 1 gång.
Re: USB <-> UART <->IR dongel
CP2110 är en HID uart chip. Vad jag vet så finns ingen soft UART drivare.
Det skulle vara möjligt att skriva en egen drivare som är en virtuell comport, men jag betvivlar att det är värt det.
CP2110 har annard dll:er för kommunicera direkt med, bara att skriva ett egen hyperternminal annars.
Edit: CP2110 är annars ett trevligt chip, man slipper installera drivrutiner(förutom de inbyggda HID drivarna i OS:et) bland annat.
Det skulle vara möjligt att skriva en egen drivare som är en virtuell comport, men jag betvivlar att det är värt det.
CP2110 har annard dll:er för kommunicera direkt med, bara att skriva ett egen hyperternminal annars.
Edit: CP2110 är annars ett trevligt chip, man slipper installera drivrutiner(förutom de inbyggda HID drivarna i OS:et) bland annat.
Re: USB <-> UART <->IR dongel
Allt du skriver har jag ju redan skrivit ovan
Det finns virtuella COM-portar i ren mjukvara men de jag sett måste man slanta för och det vill man ju slippa. Skriva egen går ju men håller med om att det är för mycket jobb - skulle i så fall vara om man kunde komma över källkod till en befintlig CDC-drivrutin.
Tänkte att någon kanske känner till en öppen mjukvara?

Det finns virtuella COM-portar i ren mjukvara men de jag sett måste man slanta för och det vill man ju slippa. Skriva egen går ju men håller med om att det är för mycket jobb - skulle i så fall vara om man kunde komma över källkod till en befintlig CDC-drivrutin.
Tänkte att någon kanske känner till en öppen mjukvara?
Re: USB <-> UART <->IR dongel
För att kunna konfigurera min vattentäta projekt som finns gömda ute i skog och natur, så har jag gjort mig en egen USB<>IrDA-adapter. Den består av ett FTDI-chip och en IrDA-transceiver del. Fördelen med FTDI-chippet är att den har OTG-stöd i Android, så att man inte behöver något annat än mobilen med sig ut i skogen. + fungerar med alla terminalprogram i PCn.
Man kan använda kortet som TTL-variant på enheten som skall styras:



Eller som USB-variant. Tyvärr inga bilder utan krympslang




/// Marcus
Man kan använda kortet som TTL-variant på enheten som skall styras:



Eller som USB-variant. Tyvärr inga bilder utan krympslang





/// Marcus
Re: USB <-> UART <->IR dongel
Fin sak men hjälper inte mig 
Av nyfikenhet - vilken överföringshastighet har du och vad är den 2:a IC:n till för?
EDIT: Förstod precis att TSSOP:n är IrDA-tranceivern.

Av nyfikenhet - vilken överföringshastighet har du och vad är den 2:a IC:n till för?
EDIT: Förstod precis att TSSOP:n är IrDA-tranceivern.
Re: USB <-> UART <->IR dongel
9,6kbaud eller mjukvarustyrt upp till 115,2kbaud (väljs men en lodbrygga).
IrDA-tranceivern är en MCP2120.
/// MArcus
IrDA-tranceivern är en MCP2120.
/// MArcus
Re: USB <-> UART <->IR dongel
@lond, Vad gör de sakerna i skogen som behöver datakommunikation? 

Re: USB <-> UART <->IR dongel
Avfyrningsramper för kärnvapenbestyckade missiler såklart, särskilt i tändögonblicket behöver man ha extra koll och då krävs 9600 
Admin: Hjälp, de kapar min tråd!

Admin: Hjälp, de kapar min tråd!
Re: USB <-> UART <->IR dongel
Hittade en open source-mjukvara "com0com" som funkar mycket bra. Skrev sedan en brygga mellan COM-port och HID m.h.a. Silabs API så nu finns alltså VCP även för cp2110
Detta innebär att man för 49kr får en komplett USB-ansluten IrDA-tranceiver IR-tranceiver som fungerar som vilken annan serieport som helst i Windows. Det tycker jag är förbaskat prisvärt! Rätt läckert också att t.ex. kunna vittja sina dataloggers optiskt så som lond gör ovan. Vet dock ej om Android stödjer Silabs chip, troligen inte. Anti-trust borde kanske läxa upp FTDI lite, även Windows har ju inbyggt stöd för deras chip.
Nu vet jag förresten också hur man gör loopback-test med IR....Man använder fruns sminkspegel
EDIT: Ändrat från IrDA till IR.

Detta innebär att man för 49kr får en komplett USB-ansluten IrDA-tranceiver IR-tranceiver som fungerar som vilken annan serieport som helst i Windows. Det tycker jag är förbaskat prisvärt! Rätt läckert också att t.ex. kunna vittja sina dataloggers optiskt så som lond gör ovan. Vet dock ej om Android stödjer Silabs chip, troligen inte. Anti-trust borde kanske läxa upp FTDI lite, även Windows har ju inbyggt stöd för deras chip.
Nu vet jag förresten också hur man gör loopback-test med IR....Man använder fruns sminkspegel

EDIT: Ändrat från IrDA till IR.
Senast redigerad av hanzibal 29 december 2012, 10:36:30, redigerad totalt 1 gång.
Re: USB <-> UART <->IR dongel - FUNKAR!!
Dyker den där USB saken upp som annat än ren serieport när den pluggas in? verkar rätt bakvänt..
Hur snabb är den förresten?
Hur snabb är den förresten?
Re: USB <-> UART <->IR dongel - FUNKAR!!
Japp, IrDA-tranceivern IR-tranceivern blir tillgänglig i Windows via en virtuell serieport (*).
Har inte hunnit med några hastighetstest ännu men skulle tro att det blir ungefär som för lond, d.v.s. uppåt 115,2 kbaud med Xon/Xoff. Har endast testat 9,6 kbaud utan flödeshantering.
Bakvänt vet jag inte men det beror ju förstås på vad man vill åstadkomma. Själv köpte jag ett gäng sådana här på ebay för ett tag sedan och tänkte montera en sådan i nästa uC-bygge:

Då kan jag knalla fram med Laptopen och läsa av status/loggar mm på datorn med "optoproben" utan att öppna enheten eftersom man ju slipper galvanisk/elektrisk koppling. Perfekt när man som lond har vattentäta enheter ute i fält.
*) Själva chipet kör USB HID men com0com tillsammans med min brygga fixar virtuell serieport.
EDIT: Ändrat från IrDA till IR.
Har inte hunnit med några hastighetstest ännu men skulle tro att det blir ungefär som för lond, d.v.s. uppåt 115,2 kbaud med Xon/Xoff. Har endast testat 9,6 kbaud utan flödeshantering.
Bakvänt vet jag inte men det beror ju förstås på vad man vill åstadkomma. Själv köpte jag ett gäng sådana här på ebay för ett tag sedan och tänkte montera en sådan i nästa uC-bygge:
Då kan jag knalla fram med Laptopen och läsa av status/loggar mm på datorn med "optoproben" utan att öppna enheten eftersom man ju slipper galvanisk/elektrisk koppling. Perfekt när man som lond har vattentäta enheter ute i fält.
*) Själva chipet kör USB HID men com0com tillsammans med min brygga fixar virtuell serieport.
EDIT: Ändrat från IrDA till IR.
Senast redigerad av hanzibal 29 december 2012, 10:35:54, redigerad totalt 1 gång.
Re: USB <-> UART <->IR dongel - FUNKAR!!
En fråga: Skickar du riktig IrDA? Använder man tex MCP2120 så kan man inte använda en spegel som loop-back. Kunde inte se i databladet för CP2110 att den kan skapa IrDA. Tror att har man använder vanlig serie-struktur på dataöverföringen och då behövs det bra separering för att det inte skall bli rundgång. Men adaptern kan mycket väl fungera som trådlös dataöverföring med rätt skriven kod som skyddar mot rundgång.
/// Marcus
/// Marcus
Re: USB <-> UART <->IR dongel - FUNKAR!!
Nej förlåt, någon riktig IrDA är det då inte. Jag lider av "begreppsdyslexi" och det stämmer att cp2110 inte fixar IrDA. Har korrat detta i mina tidigare texter.
Istället handlar det om helt vanlig RS232 över IR utan flödeskontroll. Signalerna är identliska med motsvarande elektriska, t.ex. lyser dioden konstant när enheten inte sänder.
Skall testa och se vilka hastigheter man kan komma upp i. Jag har inga höga förväntningar, exempelvis finns inget IR-filter så enheten blir ju ganska känslig för störningar mm.
Du har fortfarande inte berättat vad slags apparater du har ute i skogen - vad loggar de?
Istället handlar det om helt vanlig RS232 över IR utan flödeskontroll. Signalerna är identliska med motsvarande elektriska, t.ex. lyser dioden konstant när enheten inte sänder.
Skall testa och se vilka hastigheter man kan komma upp i. Jag har inga höga förväntningar, exempelvis finns inget IR-filter så enheten blir ju ganska känslig för störningar mm.
Du har fortfarande inte berättat vad slags apparater du har ute i skogen - vad loggar de?
Re: USB <-> UART <->IR dongel - FUNKAR!!
Adaptern fungerar perfekt i 9600 baud och detta ändå i väl upplyst rum utan avskärmning varken mellan rx/tx eller omgivningen.lond skrev:Men adaptern kan mycket väl fungera som trådlös dataöverföring med rätt skriven kod som skyddar mot rundgång.
Min skrivbordslampa sänder ut en del IR så om jag vänder dongeln uppåt så blir det störningar

Antar att du med runggång menar elektrisk sådan? Optisk rundgång skall man ju inte kunna få om man skärmar av tx- och rx-länkarna från varandra så att ljus inte kan läcka över och loopa i endera parten.
På denna bild syns min setup där jag bara lägger adaptern ovanpå dioden/transistorn i labbkortet som går till en vanlig USB till seriell-omvandlare. Sminkspegeln syns också i bild, den har spegelglas på båda sidor så genom att vinkla den 45 grader och placera på rätt avstånd så kunde jag genomföra optisk loopback. Båda varianterna funkar bra i 9600 baud.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av hanzibal 29 december 2012, 11:00:06, redigerad totalt 1 gång.
Re: USB <-> UART <->IR dongel - FUNKAR!!
Som du skrev: Kärnvapenmissiler
Näää.. Aktiva geocaching-kontroller som skall byggas inför nästa stora event där deltagarna loggas med RFID.
/// Marcus

/// Marcus