I2C besturen via USB

"Vroegâh" had je software om via de parallelle poort I2C componenten aan te sturen, qua elektronica was dat vrij simpel: paar transistortjes + pull-up weerstanden. Er is wel een USB naar parallel, maar de software is vaak voor Win95, of hoogstens XP.

Ik ben al een tijd op zoek naar iets nieuws voor USB. Met de USB naar serieel convertors zou dat simpel moeten zijn, maar de laptop moet wel de MASTER zijn. Wel iets simpels gevonden, maar EUR 20,= lijkt vrij veel. Een USD 1 USB naar serieel convertor en dan ben je er al bijna, zou ik zeggen...

Wat ik op Ebay zie is steeds de SLAVE.

Lijkt dan met name om de software te gaan. Ook die is wel te vinden, maar professioneel en voor honderden euros. Wel iets gevonden, maar dat is dan weer voor Linux.

Ik denk dat ik niet goed zoek, ik kan me nl. niet voorstellen dat er niets nieuws is gemaakt sinds de parallelle poort interfaces.

Heeft iemand een idee?

Dus:
Laptop / Windows
USB
Laptop is de master
Simpele interface
Betaalbare software

Naast I2C zou je dit ook voor SPI willen, om laagdrempelig te experimenteren.

Achtergrond: ik wil laagdrempelig wat klooien met wat oude I2C-aangestuurde Maxim IC's.

Arco

Special Member

Pickit Serial Analizer kan dat (SPI, I2C, SMBus, UART)
https://www.microchip.com/Developmenttools/ProductDetails/DV164122

Ik gebruik 'm regelmatig om niet (goed) werkende/ onwillige i2c communicatie uit te vlooien...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Je zou natuurlijk ook gewoon een Raspberry Pi of, nog beter, een Arduino kunnen nemen. Of een ESP32 met webserver :-) Nadeel is dat je zelf de firmware moet maken, maar eigenlijk is dat een voordeel... je kunt het precies maken zoals je zelf wilt.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Op 27 maart 2021 12:37:57 schreef Arco:
Pickit Serial Analizer kan dat (SPI, I2C, SMBus, UART)
https://www.microchip.com/Developmenttools/ProductDetails/DV164122

[bijlage]

Ik gebruik 'm regelmatig om niet (goed) werkende i2c communicatie uit te vlooien...

Ik heb ook zo'n logic analyser, namaak, die kan met de Salae software vele protocollen analyseren. In dit geval wil ik vanaf mijn laptop als master, met slaves praten / aansturen. Kan dat ook met dit ding? Enne, is er voor zover je weet wellicht een kloon, want dit apparaat kost toch ook nog wel wat centjes...

Arco

Special Member

Kan als master, er zit een dll bij met functies die je kunt aanroepen. (je kunt ook het bijgeleverde programma gebruiken)
Kloon zal er wel niet zijn, er is (te) weinig vraag naar dat soort zaken om dat rendabel te maken...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
marcob

Golden Member

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years

Op 27 maart 2021 13:17:53 schreef Arco:
Kan als master, er zit een dll bij met functies die je kunt aanroepen. (je kunt ook het bijgeleverde programma gebruiken)
Kloon zal er wel niet zijn, er is (te) weinig vraag naar dat soort zaken om dat rendabel te maken...

't Is een mooi ding, helemaal compleet. Zag er 1 op Ebay voor rond de USD 28,=. Komt er helaas nog USD 36,= bij voor verzenden, invoeren, etc.

fripster

Golden Member

Als je computer een VGA aansluiting heeft, en je draait Linux, dan heb je al een I2C aansluiting! (Helaas werkt dit niet onder Windhoos)

In een VGA aansluiting zitten twee pennen die voor DDC worden gebruikt om data uit de monitor te kunnen lezen (EDID data). Dat zijn echter gewoon I2C aansluitingen waar je gewoon bij kunt door i2cdev te activeren met modprobe.

Voorbeeld: https://github.com/rkamath13/i2c-sensor-laptop-access

Just my two cents.

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu
Arco

Special Member

In een VGA aansluiting zitten twee pennen die voor DDC worden gebruikt om data uit de monitor te kunnen lezen (EDID data).
Dat zijn echter gewoon I2C aansluitingen

Da's niet helemaal waar, het is een SMbus. (er zijn wat subtiele verschillen)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
fripster

Golden Member

Dat klopt, maar het is prima bruikbaar...

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu

Op 27 maart 2021 21:50:16 schreef fripster:
Als je computer een VGA aansluiting heeft, en je draait Linux, dan heb je al een I2C aansluiting! (Helaas werkt dit niet onder Windhoos)

In een VGA aansluiting zitten twee pennen die voor DDC worden gebruikt om data uit de monitor te kunnen lezen (EDID data). Dat zijn echter gewoon I2C aansluitingen waar je gewoon bij kunt door i2cdev te activeren met modprobe.

Voorbeeld: https://github.com/rkamath13/i2c-sensor-laptop-access

Just my two cents.

Interessant, nooit geweten. Waarom zou je dat via Windows niet uit kunnen lezen, je zou zeggen: "Met de juiste driver moet dat kunnen"...

Maar helaas, voor mijn doel geen optie ;-) Ik denk dat goede software nog belangrijker is dan de interface zelf, die zal niet zo moeilijk zijn. Ik had eigenlijk verwacht dat er van alles zou bestaan, zoals er voor de parallelle poort al het een en ander was op Win95/98/XP...

Rob W.

Honourable Member

Leest mee sinds 19 augustus 2001..
McAwesome

Golden Member

https://www.elektor.nl/axicat

Dit hebben we jaren geleden ontworpen en verkocht via Elektor. Ik heb er nog een paar liggen die eventueel voor een zacht prijsje weg mogen.

Op 28 maart 2021 01:48:05 schreef McAwesome:
https://www.elektor.nl/axicat

Dit hebben we jaren geleden ontworpen en verkocht via Elektor. Ik heb er nog een paar liggen die eventueel voor een zacht prijsje weg mogen.

Lijkt een beetje op waar @marcoB mee kwam, daar had ik nog niet op gereageerd omdat ik aan het dubben was of dit nu de oplossing was. Dat leek meer een IO-board met I2C-mogelijkheden, maar eigenlijk IS het ook niet meer dan dat... Het zal met name draaien om de software, in mijn geval moet dat Windows (10) zijn. En daarnaast moet de IO-kaart de I2C master kunnen zijn (en dat kan ie)...

Het lijkt me eigenlijk wel een mooie tool waar je op wijst. Hoe zacht is een zacht prijsje? ;-) (ik woon in Castricum en werk in Amsterdam - wellicht kan ik nog op de verzendkosten besparen, ben nog altijd met mijn huis bezig, een geldverslindende hobby, door lekker op de fiets te stappen)

Gekke is dat ik in mijn hoofd nog altijd een USB-serial TTL omzetterje heb van een dollar, maar daar dan slimme software bij.

Je kunt zoeken op "USB I2C bridge" want zo heten die IC's.
Dan vind je genoeg kleine printjes op diverse sites voor minder dan 10 euro.

Ik heb eens in een project zo'n chip gebruikt (ik weet zo niet direct welke exact, ik dacht de CP2112 van Silicon Labs).
Maar hou er rekening mee dat vrijwel al die IC's een maximale transfer hebben van 59 bytes ivm de standaard buffer size van 64 bytes op de USB bus.

Op 27 maart 2021 21:55:32 schreef Arco:
[...]
Da's niet helemaal waar, het is een SMbus. (er zijn wat subtiele verschillen)

De eerste implementaties van DDC waren wel degelijk gewoon standaard I2C.

-edit-
https://www.silabs.com/interface/usb-bridges/classic/device.cp2112
Er is ook een development kit, maar die kost 39 euro een clone bordje op alie/ebay whatever is waarschijlijk 5x goedkoper en de software is waarschijnlijk na registratie gratis te downloaden.

Ik heb toen ook dacht ik een Microchip variant ge-evalueerd en dat ding was een ramp voor zover ik me kan herinneren.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.
McAwesome

Golden Member

Op 28 maart 2021 09:50:03 schreef gdb:
[...]
Hoe zacht is een zacht prijsje? ;-)

Ik heb er nog 4 liggen. Deze mogen weg voor 27,5 euro inclusief BTW. Er komen wel nog verzendkosten van België naar Nederland bij.
Indien interesse, mijn e-mailadres staat in mijn profiel.

@TS, wat voor fancy dingen moet die software dan doen eigenlijk? Ik had Arduino een heel stuk terug genoemd (blijkbaar is dat ook niet de moeite van een reactie waard) want daar kun je prima een paar i2c transacties op uitvoeren. Daarbij heb je geen software, maar waarom is dat nodig?

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Arco

Special Member

't Is wel handig dat je (zoals bij de Pickit SA) een script op kunt geven met commando's, en je daarna het antwoord van de slave kunt zien.
(ik heb er veel plezier van gehad met i2c)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ik kwam onlangs een Cypress CY8CKIT-059 tegen die je bij RS en Farnell voor iets meer dan een tientje kunt kopen. Het is een leuke ontwikkelkit met analoge en digitale power. Zoek voor uitleg op "PSoC 5LP Cypress".
Leuk is dat de de programmer die afgebroken kan worden van het ontwikkelprintje blijkbaar ook te gebruiken is voor andere doeleinden zoals I2C, ISP en Uart interface via USB.
Ik ga het uitproberen. Google ook eens op "BusPirate".

Niet alles wat op internet staat is waar... Dat geldt ook voor CO.

Op 28 maart 2021 16:27:19 schreef flipflop:
@TS, wat voor fancy dingen moet die software dan doen eigenlijk? Ik had Arduino een heel stuk terug genoemd (blijkbaar is dat ook niet de moeite van een reactie waard) want daar kun je prima een paar i2c transacties op uitvoeren. Daarbij heb je geen software, maar waarom is dat nodig?

Excuses dan voor het uitblijven van een reactie. Ik zoek juist een eenvoudige en liefst kant-en-klare oplossing en kon me echt voorstellen dat je er met een USB naar serieel omzetter eigenlijk al bent en dan nog handige software. Een beetje solderen kan ik wel, Windows software schrijven niet, en firmware ontwikkelen ook niet.

Op 28 maart 2021 11:57:45 schreef henri62:
Je kunt zoeken op "USB I2C bridge" want zo heten die IC's.
Dan vind je genoeg kleine printjes op diverse sites voor minder dan 10 euro.

Ik heb eens in een project zo'n chip gebruikt (ik weet zo niet direct welke exact, ik dacht de CP2112 van Silicon Labs).
Maar hou er rekening mee dat vrijwel al die IC's een maximale transfer hebben van 59 bytes ivm de standaard buffer size van 64 bytes op de USB bus.

[...] De eerste implementaties van DDC waren wel degelijk gewoon standaard I2C.

-edit-
https://www.silabs.com/interface/usb-bridges/classic/device.cp2112
Er is ook een development kit, maar die kost 39 euro een clone bordje op alie/ebay whatever is waarschijlijk 5x goedkoper en de software is waarschijnlijk na registratie gratis te downloaden.

Ik heb toen ook dacht ik een Microchip variant ge-evalueerd en dat ding was een ramp voor zover ik me kan herinneren.

Da's een goeie, dat geeft dan weer de gelegenheid om verder op te zoeken. Betaalbaar. Benieuwd welke software hierbij hoort, waar daar staat of valt het succes toch mee. Ik heb zo'n Chinese logic analyser, werkt prima, maar dat is niet zo zeer de hardware, als wel de perfecte Salae software.

Anoniem

Dit kan toch gewoon met een ftdi. Naast serieel kan dat ding ook spi en i2c. Enige nadeel is dat het iets trager is, ack/nacks worden door de driver in software afgehandeld. Maar voor normale toepassingen merk je dat niet.

Op 29 maart 2021 08:18:24 schreef M14:
Dit kan toch gewoon met een ftdi. Naast serieel kan dat ding ook spi en i2c. Enige nadeel is dat het iets trager is, ack/nacks worden door de driver in software afgehandeld. Maar voor normale toepassingen merk je dat niet.

Feitelijk kan zo'n USB - serieel convertortje alles, maar het is de software die er uiteindelijk iets moois / zinnigs / handigs van maakt.

Anoniem

Op 29 maart 2021 09:12:03 schreef gdb:
[...]Feitelijk kan zo'n USB - serieel convertortje alles, maar het is de software die er uiteindelijk iets moois / zinnigs / handigs van maakt.

https://www.nanorivertech.com/viperboard.html

Dit gebruiken als het echt snel moet.

Op 29 maart 2021 09:51:32 schreef M14:
[...]

https://www.nanorivertech.com/viperboard.html

Dit gebruiken als het echt snel moet.

Hoe bedoel je "snel" in deze context? Dat Viperboard kost helaas USD 109, maar ik begrijp dan dat de software kennelijk perfect is?