I2C över twisted pair?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
larsson
Inlägg: 188
Blev medlem: 9 juni 2007, 16:49:21
Ort: Göteborg

I2C över twisted pair?

Inlägg av larsson »

Jag har ett par sensorer och en ATMega som är slavar på en I2C-buss, en Raspberry är mastern. Mot bättre vetande har jag totalt runt 2 meter kabel. Det funkar för det mesta, efter jag sänkte klockfrekvensen till 50 kHz. Jag läser av var tionde sekund och får kanske ett dussin missar per dygn.

Jag kikade på signalerna i skåpet och det ser inte så vackert ut, bild nedan. Gul är SDA och blå SCL. När ena signalen faller så verkar det ge gruvliga spikar hos grannen. Jag använder enbart Raspens pullup-motstånd, de ska tydligen vara på 1,8 kΩ. Har testat med lite extra pullups här och var bland sensorerna, men det gör ingen skillnad alls.

Misstänker att det blir "överhörning" mellan ledarna i den oskärmade kabeln. Funderar nu på att ersätta den med UTP/nätverks-kabel där signalerna går i egna par signal/jord. Kan det göra nytta i det här fallet, eller är det bara bortkastad möda?

(Och hur f-n blir man av med de där animerade smajlisarna när man skriver inlägg? Använder vuxna mänskor sånt..?)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
svanted
Inlägg: 5297
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: I2C över twisted pair?

Inlägg av svanted »

att bara ha jord och signal i paret gör knappast någon skillnad...
du måste ha balanserad signal i paren, alltså skapa en invers av signalen genom kabeln och sedan återskapa den i andra änden mha differensen..
då kommer alla störningar att släckas ut.
sen är paren olika långa i tp kablar så man får tidsskillnader i långa kablar, men det har knappast betydelse för 50 Hz klocka.

edit, det finns färdiga kretsar för att hantera balanserade signaler.
Användarvisningsbild
Icecap
Inlägg: 26700
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: I2C över twisted pair?

Inlägg av Icecap »

Att flytta signalerna så att SDL & SCL inte ligger på samma par kommer att ge mindre kapacitiv koppling mellan dom!

Vid att ha GND som andra parten i denna uppdelning ger ytterligare lite mindre koppling.

Så det vill hjälpa, frågan är bara hur mycket - men jag gissar på "nog".

Att du borde ha en annan kommunikationsform i stället är sedan en annan sak.
larsson
Inlägg: 188
Blev medlem: 9 juni 2007, 16:49:21
Ort: Göteborg

Re: I2C över twisted pair?

Inlägg av larsson »

Jo, jag vet att I2C inte är rätt metod för längre avstånd, men det är frestande att försöka först. I det här fallet vägde bekvämligheten tyngst, skönt att slippa ytterligare hård- och/eller mjukvara för att konvertera protokoll. Nu kommer straffet, haha... Får göra mig omaket att byta ut kabeln och se om det hjälper.

Läste nåt annat tips, ett par seriemotstånd kan tydligen dämpa spikarna, och det låter väl rimligt. Ska nog prova det först, enklare att åstadkomma. Framgick inte exakt var de skulle stoppas in, eller värdet på dem, men det är ju enkelt att testa.
Användarvisningsbild
elshorto
Inlägg: 239
Blev medlem: 19 mars 2016, 22:26:08

Re: I2C över twisted pair?

Inlägg av elshorto »

Seriemotstånd på utgångarna (typ 100ohm) och en kondensator till jord direkt efter för att ta bort de högsta frekvenserna. Din bild visar ju att den snabba fallande flanken ger en kraftig överhörning medans den långsamma stigande inte är något större problem.

Jag brukar köra TP vid liknande kablage. Det finns ju andra störningar som kan ställa till det också.

Och bara för att jävlas :badgrin:
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: I2C över twisted pair?

Inlägg av lillahuset »

Jag tycker signalerna ser snygga ut. Att det "ringer" på fallande flank spelar ju ingen roll eftersom SDA samplas när SCL är hög. :happy:
Användarvisningsbild
elshorto
Inlägg: 239
Blev medlem: 19 mars 2016, 22:26:08

Re: I2C över twisted pair?

Inlägg av elshorto »

Kolla mitt i bilden, när SDA går låg. Ringningarna på SCL ser ut att vara stora nog att klocka en gång extra. :humm:
Användarvisningsbild
prototypen
Inlägg: 11107
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: I2C över twisted pair?

Inlägg av prototypen »

Tvinnat par med ena jord gör stor skillnad.
Jag kan ha 50-75 meter kabel med 9-10 signaler åt båda håll och det läcker inte över.
Har visserligen lite tuffare drivning än OC.

Protte
larsson
Inlägg: 188
Blev medlem: 9 juni 2007, 16:49:21
Ort: Göteborg

Re: I2C över twisted pair?

Inlägg av larsson »

Ja, vertikalskalan på den blå kanalen är 2V/div så spikarna är ju ett par, tre V-pp. Med Vcc på 3,3 Volt känns det lite för mycket. Ska prova med seriemotstånd i helgen. Om det inte blir för fint väder, dårå...

Ger det ingen framgång så blir det vridna par, tycks ju funka för ett par av er i alla fall.

Å tack ska ni ha för de fina emotikonerna...
Användarvisningsbild
prototypen
Inlägg: 11107
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: I2C över twisted pair?

Inlägg av prototypen »

Har du olika signaler i ett par så är det :(
Men halvbalanserat med GND i ena tåten är bra mycket bättre :vissla:
Balanserat är ju alltid bättre :tumupp:
Visst kan du prova med seriemotstånd och kondensator :shock: , det blir ett filter som inte släpper genom höga frekvenser som en ringning är. :!:
Du får prova dig fram till hur mycket avrundning av signalen det tål :cry:
Bara för att du inte gillar :D så har jag på pin kiv :evil: lagt till en och annan.
Nu har jag nog använt fler :badgrin: än jag gjort det senaste året för jag är vuxen.

Protte :happy:
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: I2C över twisted pair?

Inlägg av lillahuset »

Glöm inte att I2C är väääääääldiiiiiiiigt lååååååångsaaaaaaaam. Det är avsiktligt för att systemen ska bli "snorbilliga". Det handlar inte om flanktriggning här.

Edit: :wacko: :D
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: I2C över twisted pair?

Inlägg av xxargs »

I2C byggdes för internkommunikation inom apparatlådor som TV-apparater mm. i långsam takt - inte att det skulle koppla ihop mellan olika apparater och ej heller för hög hastighet eller att behöva ta hänsyn till transmissionsegenskaper på kablar.

Så fort man går upp i hastighet och/eller längre kablar så måste man snart bekymra sig om transmissionsegenskaperna på använda kablar och hur dessa skall matcha mot driver/receiver och där är I2C liksom många andra TTL-baserade och CMOS-baserade gränsnitt väldigt dåligt rustad för.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 937
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: I2C över twisted pair?

Inlägg av mankan »

Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: I2C över twisted pair?

Inlägg av lillahuset »

Jo visst, men jag har svårt att tro att en "riktigt" gjord I2C-krets har problem eftersom SDA samplas på SCL hög som definieras av pull-up.
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: I2C över twisted pair?

Inlägg av RoPa »

En fråga, var mäter du?
Vid RPi eller vid sensorn 2m ut på kabeln?
Skriv svar