Hur du isolerar utvecklarverktyg från felaktig maskinvara

Av Jacob Beningo

Bidraget med av DigiKeys nordamerikanska redaktörer

Det är riskfyllt att ansluta utvecklarverktyg, bärbara datorer och andra resurser till elektronisk maskinvara för testning och felsökning. Direktanslutningar via UART, SPI, I2C och andra bussar är nödvändiga för att övervaka hur system beter sig men det finns många tillfällen då det kan bli fel på maskinvara under utveckling. Det kan skicka oönskad spänning och ström via dessa gränssnitt och skada dessa verktyg och bärbara datorer.

Dessa verktyg är ofta dyra. Inte bara det – Murphys lag anger att det blir fel på maskinvara och verktyg vid sämsta tänkbara tidpunkt. Resultatet blir ett försenat projekt och extra kostnader för expressleverans för att få igång arbetsplatsen igen.

I den här artikeln beskrivs hur utvecklare kan skydda sin verktygsinvestering med hjälp av gränssnitt baserade på IC-kretsar för isolering som kan byggas på mindre än 30 minuter. Här diskuteras även hur isolatorer kan väljas och det ges flera tips för att se till att utvecklarverktyg och bärbara datorer inte följer efter när det blir fel på maskinvara.

Överväganden vid val av isolator

En isolator delar in en krets i två kretsar, separerade av en isoleringsbarriär. Kretsarna på vardera sida av barriären drivs och jordas separat. Barriären fungerar som filter som blockerar hög- och transientspänning och tillåter bara att digital information eller data att sändas från en sida till en annan genom en kopplingsmekanism. Kopplingsmekanismen är vanligtvis kapacitiv, magnetisk eller optisk.

I många fall finner läsaren att för alla gränssnitt som är av intresse att skydda finns det fler än ett tillgängligt alternativ. Till exempel finns I2C-isolatorer ofta i både kapacitiva och magnetiska varianter. Innan vi väljer teknik måste vi förstå miljön där vi arbetar.

Kapacitiv koppling använder ett växlande elektriskt fält för att överföra data över isoleringsbarriären, så det är ett bra alternativ i tillämpningar där det kan finnas intensiva magnetfält. Kapacitiv koppling tenderar även att resultera i ett mindre kortavtryck och mer energieffektiv drift och båda dessa egenskaper gör det till ett bra alternativ för många tillämpningar. Men det är viktigt att notera att kapacitiv koppling ibland har problem med brus på grund av en delad signalväg.

Magnetisk koppling använder växlande magnetfält för att överföra data över isoleringsbarriären, så det är ett bra alternativ i tillämpningar där det kan finnas intensiva elektriska fält. Magnetisk koppling använder ofta små transformatorer, vilket hjälper till med brusavvisning och en högeffektiv överföring över barriären.

Optisk koppling använder optiska pulser för att överföra ljus över en ej elektriskt ledande barriär, så det är perfekt alternativ för miljöer med mycket elektriskt och magnetiskt brus. Till skillnad från magnetiskt och kapacitivt kopplade signaler kan optisk koppling sända stationära signaler, över barriären. Nackdelen med att använda optisk koppling är att det kan ha hastighetsbegränsningar och kräva mer ström att driva.

Med dessa olika tekniker och deras egenskaper i åtanke är nästa steg att undersöka flera olika bussprotokoll och gå igenom hur du isolerar utvecklarverktyg i de olika gränssnitten.

Välja I2C-isolator

Ett bra sätt för utvecklare att utveckla drivrutiner för enheter utanför mikrokontrollern är att använda något slags spionverktyg för bussar. Med dessa verktyg kan en utvecklare övervaka busstrafiken. Med ett högkvalitativt och dyrare verktyg kan en utvecklare även mata in meddelanden på bussen.

Kort anekdot: En gång hade jag ett I2C/SPI-kombinationsverktyg som var anslutet till en kunds I2C-buss. Det blev fel på maskinvaran och tappade 42 volt på I2C-bussen. Det förstörde maskinvaran och tog med mitt utvecklarverktyg i fallet. Hade jag använt I2C-isolator för att skydda mina verktyg skulle jag inte ha behövt lägga extra pengar på ett nytt verktyg och inte heller betala för expressleverans.

Det finns flera egenskaper som du bör titta på när du väljer en I2C-isolator. Först och främst ska spänningsisoleringen bara minst 2 500 V RMS. Den här isoleringsnivån skyddar mot 90 % eller mer mot olyckor vid inbäddad utveckling. Sedan ska isolatorns datahastighet undersökas. Standard-I2C kan hantera 100 kilobit per sekund (kbit/s) och 400 kbit/s. Höghastighets-I2C kan hantera 1 000 kbit/s. Verktyget eller tillämpningen bestämmer vilken isolator och isolatorteknik som passar bäst.

Det finns flera allmänna I2C-isolatorer som fungerar bra som skydd för utvecklarverktyg. ADUM3211ARZ-RL7 från Analog Devices är ett bra alternativ av allmän isolator (figur 1).

Diagram över Analog Devices allmänna tvåkanaliga isolator med magnetisk koppling, ADUM3211

Figur 1: ADUM3211 är en allmän tvåkanalig isolator med magnetisk koppling kan hantera upp till 1 000 kbit/s. (Bildkälla: Analog Devices)

ADUM3211 använder magnetisk koppling för att överföra data över barriären med så höga datahastigheter som 1 000 kbit/s. Denna isolator kan därför hantera höghastighets-I2C men den har ingen dubbelriktad barriär. Det betyder att utvecklarverktyget kan övervaka bussen men kan inte skriva till den, och det är helt okej för de flesta tillämpningarna.

För att skydda utvecklarverktyg som både måste övervaka och mata in data på bussen är I2C-isolatorn ISO1541DR från Texas Instruments ett utmärkt val (figur 2). ISO1541 använder kapacitiv koppling i ett SOIC-8-paket för att överföra dubbelriktade data med upp till 1 000 kbit/s. Isolatorn har två separata isoleringskanaler: en för datasignalen (SDA) och en för klocksignalen (SCL).

Diagram över I2C-isolatorn ISO1541DR från Texas Instruments

Figur 2: I2C-isolatorn ISO1541DR från Texas Instruments har två dubbelriktade isoleringskanaler som kan hantera upp till 1 000 kbit/s. (Bildkälla: Texas Instruments)

Observera från både figur 1 och figur 2 att dessa enheter kräver att verktygssidan ger ström till sin sida av isolatorn och att målsidan försörjer sin sida. Att glömma strömförsörjningen av dessa från respektive källa är en vanlig orsak till brist på kommunikation över barriären, så hänsyn bör tas vid installationen att båda sidor är strömsatta.

Välja SPI-isolator

SPI-bussen kan vara lite svårare att skydda än I2C-bussen. I2C-bussen har bara två kommunikationslinjer, oavsett hur många enheter som är anslutna på bussen. SPI-bussen har å andra sidan tre datalinjer för master ut, master in och klocka. Utöver dessa tre kräver varje enhet som är ansluten till SPI-bussen en Slave Select-linje. Det är nödvändigt att SPI-isolatorn också har flera isoleringslinjer för Slave Select-linjerna.

Det finns flera olika alternativ som passar bra för att skydda ett SPI-utvecklarverktyg. Det första är SPI-isolatorn ADUM3154 från Analog Devices. ADUM3154 använder magnetisk koppling för att överföra data över isoleringsbarriären med datahastigheter upp till 17 megabit per sekund (Mbit/s). Detta omfattar inte bara den maximala baudhastigheten för den mesta SPI-kringutrustningen för mikrokontroller på 4 Mbit/s, utan även datahastigheter som är vanliga för minnesgränssnittskontroller. ADUM3154 stöder även upp till fyra isolerade Slave Select-linjer (figur 3).

Diagram över ADUM3154, fyrkanalig SPI-isolator från Analog Devices

Figur 3: ADUM3154 är en fyrkanalig SPI-isolator från Analog Devices som kan hantera datahastigheter på upp till 17 Mbit/s. (Bildkälla: Analog Devices)

I fall där 17 Mbit/s inte är tillräckligt snabbt har Analog Devices även ADUM3151BRSZ-RL7 (figur 4).

Diagram över ADUM3151, sjukanalig SPI-isolator från Analog Devices

Figur 4: ADUM3151 är en sjukanalig SPI-isolator från Analog Devices som kan hantera datahastigheter som kan hantera datahastigheter på upp till 34 Mbit/s. (Bildkälla: Analog Devices)

ADUM3151 använder också magnetisk koppling men kan hantera datahastigheter på upp till 34 Mbit/s. Den har även fyra kanaler som kan användas för Slave Select-linjer.

Välja SWD-isolator (Serial Wire Debug)

En av de dyraste utvecklarverktygen som en inbäddad programvara-tekniker vanligtvis har är en felsökningsprob. En bra felsökningsprob kan kosta många tusen kronor. Risken för att något går fel på programmeringslinjerna är liten men det är inte värt att chansa.

En utvecklare kan ta fram en egen isoleringslösning för att skydda alla SWD-linjer men det skulle vara lite tidsödande och dyrt. I stället är en enkel lösning att använda J-Link SWD-isolatorn från SEGGER Microcontroller Systems (figur 5).

Bild av J-Link SWD-isolator från SEGGER Microcontroller Systems

Figur 5: J-Link SWD isolatorn från SEGGER Microcontroller Systems ger 1 000 volt isolering mellan en felsökningsprogrammerare och målsystemet. (Bildkälla: SEGGER Microcontroller Systems)

J-Link SWD ger 1 000 VDC isolering mellan emulatorn och målmaskinvaran.

Välja och bygga en UART-isolator

Många utvecklare kan tycka att isolera en liten UART är slöseri med tid och pengar. När allt kommer omkring kan BOB-12731 USB till seriell-utbrytningskort från SparkFun Electronics enkelt ersättas om någonting har hänt med det. Men om något har gått fel kan det vara datorutrustning värd tusentals kronor på den andra sidan som ska skyddas. Det kan vara värt den extra tiden och de extra pengarna.

Att sätta ihop en UART-skyddskrets är enkelt och liknande steg kan följas för att också skydda andra bussgränssnitt. Först måste en isolator väljas. Den tidigare diskuterade ADUM3211 är ett bra alternativ eftersom den har två höghastighetsisoleringskanaler som är i motsatt riktning. Den passar perfekt för en UART:s Tx/Rx-linjer, som ofta är precis bredvid varandra.

När isolatorn har valts kan en utvecklare skaffa ett utbrytningskort som LCQT-SOIC8-8 från Aries Electronics (figur 6). Det har redan stiftlister och kan enkelt lödas på BOB-12731.

Bild av Aries Electronics LCQT-SOIC8-8

Figur 6: Aries Electronics LCQT-SOIC8-8 tillhandahåller ett utbrytningskort för ett SOIC-8-chip som redan har byglar på kortet för att göra en snabb anslutning med ett enhetsmål. (Bildkälla: Aries Electronics)

När du löder isolatorn på kortet och sedan på UART-adaptern är det viktigt att se till att spännings- och jordstiften är rätt justerade. Om de inte är det strömförsörjs inte isolatorn. Det är också viktigt att se till att isolatorkanalens riktning är rätt. Om utbrytningskortet eller isolatorn inte är rätt justerad kan du behöva anpassa ett kort (figur 7).

Bild av UART-isolatorkrets

Figur 7: En monterad UART-isolatorkrets som har anslutits till USB till UART-omvandlaren och ger anpassad isolerad kommunikation med målenheten. (Bildkälla: Beningo Embedded Group)

När USB till UART-omvandlaren har monterats strömförsörjer den verktygssidan av isolatorn, medan målenheten strömförsörjer målsidan. Resultatet är ett isolerat dubbelriktat UART-verktyg som skyddas för upp till 2 500 volt.

Tips för isolering av utvecklarverktyg

Det finns många metoder och isoleringsgränssnitt som kan användas för att skydda utvecklarverktyg. Här är flera tips för att skydda de investeringarna:

  • Läs databladet och se till att specifikationen för spänningsisoleringen uppfyller dina behov.
  • Bekanta dig med de olika isoleringsmekanismerna och se till att välja rätt teknik för tillämpningen.
  • Isolera alla bussar och gränssnitt som ansluts tillbaka till USB-porten på en bärbar dator eftersom det är en potentiellt skadlig jordväg.
  • Utnyttja befintliga utvecklingssatser för den valda isolatorn eller använd utbrytningskort för att förenkla utvecklingsarbetets tid och kostnad.
  • Skydda en professionell avbuggare med hjälp av en SWD-isolator.

Slutsatser

Många utvecklare av inbäddade system har ingen tanke på att ansluta ett dyrt utvecklarverktyg till maskinvara som är i testfasen. Normalt är det inga problem. Men plötsligt händer något oväntat och utvecklarverktygen exponeras för spänning och ström som överskrider specifikationerna och orsakar skada. För att kunna undvika sista minuten-stress för att få igång en arbetsplats och för att få en effektivare och mindre kostsam utvecklingsprocess är det bra att lägga några timmar på att isolera verktygen ordentligt med hjälp av de många isoleringslösningar som nu är tillgängliga.

 
DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Om skribenten

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo är konsult inom inbäddad programvara. Han har publicerat över 200 artiklar om utveckling av inbäddad programvara, och är en eftertraktad talare och teknisk utbildare med tre examina, däribland en master i teknik från University of Michigan.

Om utgivaren

DigiKeys nordamerikanska redaktörer