KOMPONENTER Enkel I²C-busisolering med diskrete komponenter I²C-busapplikationer kræver nogle gange en isolering af højvoltdelen i designet for sikker og pålidelig brug. En enkel løsning med diskrete optiske isolatorer er let at implementere og giver både fleksibilitet og besparelser i eksempelvis industrielle applikationer Af Torsten Siems, senior FAE, Toshiba Electronics Europe GmbH Det Inter-Integrated Circuit (Kredsløb – I²C) blev introdu- ceret som bus i 1980’erne til kommunikation mellem en værts-CPU og periferi til for- mål som konfiguration, moni- tering og kontrol. I²C var op- rindeligt tiltænkt kommunika- tion på board niveau og med kort rækkevidde, men suc- cesen har mangedoblet an- vendelsesområderne, ligesom den maksimale datahåndte- ring er vokset til at omfatte 100kHz som standardmode, 1MHz i såkaldt Fast Mode Plus samt 5MHz i Ultra-Fast Mode Plus. Standarden specificerer en totrådsforbindelse med tovejs dataudveksling og clock, der er let at implementere. I²C’s enkle udformning og effekti- vitet har senere ført til stan- darder med lignende under- liggende kommunikations- principper i SMBus og PMBus. I²C bruger typisk én controller (mikro eller SoC) samt én el- ler flere target-komponenter. Controlleren har open-collec- tor I/O’er, der kan trække data- (SDA) og clock- (SCL) linjer til low, og som derfor behøver en pull-up resistor, så multiple controllere og targets kan ek- sistere sammen uden at skabe sammenstød på linjerne. Controlleren bruger en SDA- linje til valg af det target, der skal adresseres, samt registret inde i dette target. Target re- turnerer de ønskede data over SDA-linjen. Targets bruger også SDA-linjen til anerken- delse af modtagelse af re- questen (ACK, acknowledge) ved at holde SDA low eller at nægte korrekt modtagelse Figur 1: Fleksibel, prisbillig I²C-busisolering. (NACK) ved at lade SDA blive trukket høj. SCL-linjerne kontrollerne ha- stigheden for datakommu- nikationen over bussen. Det signal er typisk envejs, om end et target kan få mere tid til at besvare en request – om nød- vendigt – ved at holde både SCL og SDA low under genere- ring af en ACK. Det fænomen kaldes også ”clock-stretching”. Behov for isolering Med I²C-bussens øgede po- pularitet er behovet for større distancer også steget. I disse situationer giver forskelle i jordpotentialet mellem de for- bundne komponenter proble- mer med støj. Desuden kan kritiske komponentværdier som negativ I/O-spænding blive overskredet. I²C bruges også til kommu- nikation mellem kredsløb, der ikke kan have en fælles jordreference som industrielt automationsudstyr og -drev, solcelle mikroinvertere og medicosystemer, der kræver sikkerhedsisolering mellem I²C-styringssignalerne og net- forsyningen. I disse situationer kræves en bekvem isolering mellem I²C-forbindelserne. Integrerede, digitale isolator- IC’er, der kan implementere hele isoleringskredsløbet i én samlet komponent, er til rå- dighed på markedet. De er let- te at bruge, men er også dyre løsninger, hvor en designer måske ikke har adgang til en second source-komponent, hvis der skulle opstå proble- mer med leverancerne. En isoleret forbindelse kan designes med standard opto- koblere, om end de kan give visse komplikationer. Ét er den tovejs natur af SDA- og SCL- linjer, hvor optokoblere typisk er envejs komponenter. Des- uden skal en valgt komponent have open-collector outputs, hvis bussen skal kunne styres ordentligt. Optokoblere skal også kunne opfylde timing-kravene i I²C- specifikationen. Ét aspekt er ACK/NACK-responsen fra target til controlleren. ACK/ NACK-signalet skal være validt efter en setup-tid (tVD; ACK) på mellem 3,45µs i standard- mode (100kHz) og 0,45µs i Fast Mode Plus (1MHz). Der er også timing-constraints for data- setup. Et target skal kunne ud- føre setup af SDA-signalet in- den for 250ns efter den falden- Figur 2: Ydelse for en isoleret I²C-forbindelse. de flanke fra den foregående clock-bit i standardmode (iføl- ge tabel 11 i I²C-specification 1) og inden for 50ns i Fast Mode Plus. Figur 1 viser, hvordan to par op- tokoblere kan indsættes i SDA- og SDL-linjerne for at give iso- lering og samtidig opretholde en tovejs kommunikation. Kredsløbsdrift SDA- og SCL-stierne i kreds- løbet arbejder på en identisk måde. Hvis vi ser på SDA-sti- en, så trækker modstand R1 SDA-signalet op fra den ikke- isolerede side (NIS) til forsy- ningen, mens R8 trækker SDA op på den isolerede side (IS). Modstandsværdierne afhæn- ger af den valgte forsynings- spænding, den kapacitive belastning set fra controller eller target samt optoisola- torens output-karakteristika. I²C-specifikationen (chapter 7.1) definerer de maksimale og minimale værdier: R_p(max) =t_r/(0,8473 × C_b ), og R _(p (min)) = ( V_ D D -V_ (OL(max)))/I_OL, hvor tr er den maksimalt tilla- delige stigetid for den valgte driftstilstand, og Cb er den forventede buskapacitans. VOL og IOL er optoisolatorens low-level output spænding og -strøm. Kredsløbet har i sin default- tilstand SDA trukket high på begge sider. Når NIS SDA- signalet er trukket low, lø- ber strømmen gennem R4 og LED’en i optokobler, IC2. Den overrækker zero state til SDA-signalet, når det bliver trukket low af IC2’s output og småsignal barrieredioden, D2. Reverse-pol implementerin- gen af LED’en i IC1 forhindrer returnering af zero state til NIS-siden, hvorved man und- går en permanent zero state. Resultatet er, at en symmetrisk zero state genereret ved SDA på IS passerer til NIS på den samme måde. Metoden kræver 20 kom- ponenter, bestående af fire optokoblere, fire dioder og de tilhørende passive kom- ponenter. Dioderne adskiller det sendte signal fra retur- signalet på de tovejs SDA- og SCL-store. De skal have en lav kapacitans – eksempelvis i form af Schottky barrieredio- der (SBD) for at sikre lav støj og forvrængning – især ved de højeste signalhastigheder. Småsignaltyper rækker rige- ligt. De skal også have en lav forward-spænding, Vf, for at sikre, at lavspændte signaler opfylder I²C-specifikationen (VIL = 0,3VDD). Blandt de egnede open-collec- tor optoisolatorer finder man Toshiba TLP2362, der giver 3.750Vrms isolering og opfyl- der I²C-busspecifikationerne. Den maksimale datarate er 10Mbit/s. Da det maksimale output for lavspænding, VOL, på TLP2362 er 0,6V (0,2V ty- pisk) sikrer en SBD med 0,3V VF, at VIL er inden for specifi- kationerne selv med en VDD på 3,3V. Egnede dioder fra Toshiba inkluderer DSF01S30L og DSR01S30SL. Der kræves kun en enkelt keramisk 1µF bypass-kondensator mellem hver af TLP2362’s forsynings- pins for at stabilisere output- logikkens drift. I²C-periferi kan variere i stort omfang, så det er værd at tjek- ke, at komponenterne brugt i det viste kredsløb kan levere nok strøm til optoisolatorens interne LED. TLP2362’s input- tærskelstrøm, IFHL, er mak- simalt 5,0mA (typisk 1,0mA). Hvis en lavere strøm er nød- vendig, så kan TLP2363 for- synet fra 3,3V levere en mak- simal IFHL på 2,4mA (typisk 0,9mA). Har man brug for endnu hø- jere isoleringsspændinger og krybeafstande, så kan det tænkte design modificeres til brug med TLP2768, som iso- lerer op til 5.000V. Hvis clock- hastigheden er et problem, så kan man overveje den hurti- gere TLP2368. TLP2309 kan bruges til højere logikniveau- er fra 3V til 30V for en direkte isolering af LIN-bussen. Figur 2 viser den waveform, der går gennem optokoble- ren. Den rene form med et næsten symmetrisk delay er omtrent 60ns og rigeligt in- den for kravene til fastmode (400kHz) I²C-drift. En høj integration er ofte på- krævet ved implementering af kredsløb som isolering af I²C-busforbindelser. Hvis en høj grad af fleksibilitet eller en lavere pris er ønsket, så er en løsning med brug af diskrete optoisolatorer en mulighed. Kravet er dog, at de opfylder I²C timing-specifikationerne og har den nødvendige open-collec- tor output-konfiguration. - nr. 2 | februar 2023 21
Download PDF fil
Se arkivet med udgivelser af Aktuel Elektronik her
TechMedias mange andre fagblade kan læses her