Det var länge sedan man satt vid skrivbordet och ritade sin datorprototyp, tejpade kretskortet, etsade, borrade och lödde i komponenter. Inte nog med att man nästan inte kan löda dagens ytmonterade komponenter för hand, för att de är så små, kretskort som kan hantera pulser i hundramegahertzklassen är i princip omöjliga att designa utan CAD.

Artiklen innehåller följande lärospån

Om klockfrekvenser
Databussar i förändring
Om komponentval
CAD-processen
Snabba signaler, om minnesbussar
BGA-kapseln och dess problem
Höga strömspikar
Simulering av högfrekvensfenomen
Olika typer av mönsterkort
Framställning av flerlagerskort
Komponentmontage
Manhattaneffekten
Avsyning
Mellanspel om BGA
Eftermontage
Smoke Test
Boundary Scan, JTAG
Att skaffa komponenter

Kunskaper krävs, men du kan göra det


Det räcker inte längre med gymnasiekunskaper för att kunna konstruera modern elektronik.*) Ledningslängder är viktiga, metoderna att bevara pikosekundflanker, hur man ser till att kretsar som behöver ett par ampere med en nanosekunds varsel verkligen får det, problemet med att få ut en klocksignal på ett par hundra megahertz jämnt över ett kretskort, minimering av radiostörningar och känsligheten för störningar utifrån, allt detta är saker som man måste lägga pannan i djupa veck för att klara. Det går inte utan elektronik-CAD och minst fyralagers kretskort.

Efter den här artikeln tror jag ändå att många av mysterierna ska ha skingrats och att de asiatiska magikernas heroiska insatser har tagits ned på jorden. De designresurser och knep som finns tillgängliga i Ostasien, kan vem som helst skaffa sig.

Vi tittar in på CAD-verkstaden hos Svensk Aktuell Elektronik AB. Med stora tången i hand sitter konstruktören Thomas Nyström som bland annat varit konsult i 7 år på Ericsson och jobbat med att konstruera mobilbasstationer. Vi bugar oss.

– Ave Constructorius. Låt oss dela din visdom om snabba mikrodatorkonstruktioner och hur man konstruerar dem. PCn är idag en väldigt snabb konstruktion, lite grann på gränsen till vad man göra på kretskort.

– Ja, det är sant. Men de allra snabbaste signalerna befinner sig inne i chiparna och kommer aldrig ut på kretskortet. Intels och AMDs senaste processorer har alla snabba cacheminnen inne på chipen. När man säger att en processor går i 3 gigahertz är det inga signaler som kommer ut ur processorns som går i 3 GHz. Det är bara de frekvenser som kärnan i CPUn arbetar med mot cache och register. Det snabbaste som kommer ut är minnesbussen för DDR2 och DDR4 där man lägger ut balanserade klockpulser och skickar över data på både stigande och fallande flanker.

I en modern PC har man utöver CPUn två tillsatskretsar som kallas North Bridge och South Bridge. North Bridge är oftast en del av CPUn, medan South Bridge innehåller olika I/O-funktioner mm. För dessa har man gått ifrån de parallella bussarna och gått över till seriella förbindelser.

Databussar i förändring


Först försvann de gamla fina ISA-bussarna. Sen kom PCI-bussen som man fick upp farten på. I moderna maskiner har man gått över till seriella bussar eftersom man kan få högre bandbredd genom att köra med en mycket snabbare klocka. Den höga hastigheten behövs bara för 4-5 signaler, som adress och data, kanske 400-500 MHz. Single-ended-signaler, där bara en ledare överför signalen, kan inte användas utan man använder differentiell överföring med två fasvända signaler och tittar på skillnaden mellan signalerna i mottagaren. TTL-nivåer på noll och fem volt kan man glömma i sammanhanget. En sk LVDS-signal är en strömstyrd signal och mottagaren detekterar 100 millivolts skillnad över ett termineringsmotstånd på 100 ohm. Det som tar tid när man ska överföra en signal är att flytta en laddning fram och tillbaka genom ledaren. Därför vill man flytta så liten laddning som möjligt.

– Från gymnasiet var man van att rita en konstruktion på papper och sedan tejpa ett kretskort. Det duger inte längre? Idag är det väl CAD-system som gäller?

– Delvis. Man börjar faktiskt med papper och penna och ritar ett blockschema när man funderar på vad de olika blocken ska åstadkomma och vad de ska innehålla, vilka I/O-signaler man ska ha och vilka bussar som ska dras mellan dem.


Sen kommer man in på kretsvalet. Ska man bygga en modern PC bestämmer man sig först för en processor och då tvingas man använda tillhörande chipset (South Bridge och North Bridge). Mycket av konstruktionsjobbet är redan gjort av chiptillverkaren. Det brukar inskränka sig till att ta kretarna och lägga in dem på ett färdigkonstruerat kort och kanske lägga till några I/O-funktioner.

Ska man å andra sidan bygga en industrikonstruktion för processtyrning börjar man istället med att titta på vilka styrparametrar man får, vilka in- och utsignaler som behövs, vad är det som ska styras och hur mycket resurser det kräver. Ut ifrån det får man börja välja komponenter och CPU-system. Konstruktioner av den här typen ska ofta köras i nätverk och då måste man fråga sig om man ska använda ett industriellt nätverk, om det ska vara kompatibelt med någonting som är 15 år gammalt (eftersom man inte kan uppgradera allt på en gång), eller om det ska vara Ethernet?

Starta CAD-en


Sen är det dags att kliva in i CAD-en. Det finns många olika system, men min personliga favorit är CADint, ett svenskt system med rötterna i ABC-80-tiden. Det är många som använder OrCAD och på Ericsson använde jag Mentor Graphics. På ett projekt just nu kör jag Altium, tidigare Protel. Det finns massor av dem.

– Vilken är arbetsgången? Börjar man med att mata in sitt schema?

– Man börjar med att rita sitt schema med befintliga schemasymboler. Enklare grejor som motstånd, kondensatorer, enklare kretsar och standardlogik finns ofta i bibliotek som följer med CAD-systemet, men ska man ha en ny processor får man ofta börja med att rita en symbol för processorn. Man måste rita två symboler, dels en schemasymbol och dels en layoutsymbol, alltså kopparmönstret som ska vara på kortet med eventuella borrhål som man sedan ska löda kretsen i.

Med alla symboler i biblioteket är det dags att lägga in dem på schemablad och dra ledningar emellan. I vissa system har man möjlighet att ange att en pinne ska vara en utgång eller en ingång, varefter systemet kan kontrollera att man inte kopplat ihop två utgångar, med destruktion som följd.

Snabba signaler


Vissa system medger att man sätter egenskaper på näten (ledningarna). För snabba och känsliga signaler kanske man vill ha en särskild impedans på kopparledaren och då säger man till redan i schemat att ”det här ska vara en 100-ohmsledare”.

– Kommer systemet själv att placera komponenterna på lämpliga ställen, till exempel snabba komponenter nära processorn eller att det lägger ut minnesbussar korrekt?

– Om man vill utsätta sig själv för ett practical joke kan man använda funktionen Autoplace när systemet själv ska försöka placera ut komponenterna på kortet. Ehhh... Jag brukar inte använda det. Samma sak gäller Autorouter, där systemet själv ska försöka dra alla ledare. Jag har försökt det och det brukar bli katastrof. Många föredrar att använda autoroutern och putsa på efteråt, men personligen lägger jag kortet för hand.

I många fall i industrin är layoutaren en person och konstruktören en annan, och layoutaren har ofta inte samma kunskaper som konstruktören och denne måste då överlämna många regler till layoutaren. Det kan bli till en process som måste iterera många gånger. Det är bättre om de båda är samma person.

– Men det måste väl finnas standardfunktioner för att göra minnesbussar? Det är snabba signaler och någon har säkert tänkt ut det där redan?

– För chipset till en modern PC finns det oftast ”Layout Guidelines” i databladen som anger exakt hur socklarna till minnesmodulerna ska placeras, vilka ledare som ska gå på topplagret och hur de ska dras. De flesta chipset har dessutom utvecklingskort där man kan se exempel på layouten. Pinouten på kretsarna är för det mesta anpassad för att passa mot hållarna för t ex DIMM-minne.


AMDs layoutförslag för Geode-processorn. A).Själva processorn. B).Här går de längdkompenserade adress- och dataledningarna och slutar i det första seriemotoståndet (resistorpack). C).På andra sidan seriemotståndet sitter DIMM-sockarna. D).Alltihop avslutas i en terminerings-ö som håller halva busspänningen och lämplig impedans mot jord.

Just minnesbussen är speciell i en modern PC med DDR-minne. Det rör sig om mycket höga hastigheter där ringningar och överslängar i signalen kan betyda katastrof. Med ett DDR-minne använder man inte normala CMOS-nivåer utan måste ha mycket lägre signaler (tex 2,5V eller 1,8V). Dessa signaler måste hanteras på ett speciellt sätt med termineringar både vid drivaren och där signalen avslutas. Dessutom måste ledarna på kortet ha en kontrollerad impedans för att termineringarna skall fungera. Det rör sig dessutom om ganska många signaler, uppåt 150-200 st.


AMDs layoputförslag för terminerings-ön (röd). Du ser hur databussen kommer in genom seriemotståndskapslarna överst och slutar i själva ön. Ön hålls still i spänning av en oherrans massa kondensatorer (hängande undertill) och ett antal stora tantalkondensatorer (C254, C255, C256 osv) och hålls på halva busspänningen av motstånden R273 och R275.

Tusen bollar på ett bräde


– I en typisk mikrodatorapparat ska det fram väldigt mycket ström på väldigt kort tid. Det finns störproblem och det är väldigt många, snabba signaler och man måste tillgripa flera kopparlager.

– En modern processor är en PGA-krets, en Pin Grid Array med upp till 1000 pinnar som sätts i sockel. Den skulle man i princip kunna löda rätt in på kortet. Andra kretsar kan vara BGA, Ball Grid Array, där varje pinne är ersatt av en liten kula som ska lödas på kortet. Problemet med dem är att man måste ha ett flerlagerkort för att över huvud taget komma ut med ledarna. Man kan eventuellt få ut två ledare mellan varje ben, men det kommer man inte långt med.


Det är mycket tätt mellan pinnarna på en BGA. Här är en typisk "BGA escape routing" som det ser ut i CADen. Det är inte helt lätt att få ut alla ledare eftersom det kan vara så lite som en halv millimeter mellan bollarna. Alla fyra lednigslager behövs.

Moderna kretsar drar väldigt mycket ström. På den gamla onda tiden, på gymnasiet, höll man på med TTL- eller CMOS-logik. Då behövde man bara noll och fem volt. Idag har man flera olika logikspänningar, t ex 3,3 eller 2,5 volt, men lägre kärnspänning för internt bruk. Och den varierar med hastigheten, som ofta kan varieras. Det ställer stora krav på nätaggregaten. På ett modernt moderkort sitter det spänningsomvandlare som automatiskt ställer in rätt kärnspänning efter kommandon från processorn. Allt från 0,8 volt till 2 volt på 0,1 volt när. Det kan utan vidare krävas 15 ampere på 0,8-volten.

– En krets som plötsligt, på nanosekundnivå, ska ha 15 ampere gräver väl en väldig grop i spänningen på spänningsplanen?

– En CPU kan gå från några 100 mA till ett par ampere på en klockcykel och då gäller det att ha många kondensatorer runt omkring, för det klarar spänningsomvandlarna inte av.

Simulation av högfrekvensfenomen


– Vi är redan uppe på radiofrekvens, eller hur? Vi talar inte längre om signaler som man kan sätta en oscilloskopprob på och tro att man ska se den verkliga signalen?

– Signalen ska både förflyttas över kortet och man ska fortfarande kunna se att det är en signal när den kommer fram. Signalen får inte heller leverera ett störmönster. Har man en signal på 100 MHz ligger den mitt i FM-bandet och alla dess övertoner stör längre upp där mobiltelefonbanden ligger. Det ställer väldigt stora krav på layouten. Vissa kretsar kan ställa in drivförmågan på utsignalerna, utimpedansen, eller så måste man själv anpassa impedansen på drivsteget genom yttre komponenter så att den passar mot impedansen på kortet. Bara då kan signalen se snygg ut när den kommer fram, utan störningar och ringningar. Det innebär dels krav på om ledaren kan ligga på ett ytterlager eller om den måste gå inuti kretskortet och hur breda ledarna får vara.


HyperLynx simulerar en imperdanskontrollerad ledning. Den gula kruvan kommer ur drivaren och den röda är resultatet, 2 cm senare. Notera att "oscilloskopet" visar 1 ns per ruta.

Det är många parametrar och man kan nöta ut många blyertspennor på att försöka räkna ut det. Men det bästa är att göra en layout av kortet och sedan stoppa in det i ett program som simulerar signalen. Man laddar också in modeller, matematiska beskrivningar av de kretsar som används, med anslutningarnas impedanser, kapacitanser, drivförmåga osv. Layoutdatabasen anger dessutom ledarbredder, jordplan och material.

Simulationsverktyget som används här heter HyperLynx. I programmet släpper man sedan på en signal, anger vilka mätpunkter man vill ha och kör en simulering. Det kan ta några timmar att sätta upp allt, men själva körningen kan gå på 15 sekunder. Blir det dåligt kan man gå in och exempelvis stoppa in ett seriemotstånd på 33 ohm för att se om ringningarna försvinner och på så sätt labba sig fram. Simulatorn fungerar som ett oscilloskop med 10 GHz bandbredd.

– Det hade inte ens varit möjligt att göra fysiskt?

– Oscilloskop för 1-2 GHz, ja det är bara att slanta upp ett par hundra tusen, men uppåt 10 GHz, sådana lär kosta mycket pengar.

– Och att bara testa detta, realistiskt i prototypform, tillsammans med alla störningar, det går knappt?

– Nej. Har man en riktigt snabb konstruktion måste man simulera för att se vad som händer och man sparar många layoutvändor på att göra det.

(För den som inte förstod essensen i detta: När man sätter en oscilloskopprob på en ledare med högfrekvenssignaler är det sällan man får se den verkliga signalen. Probens impedans belastar signalen och fasförskjuter den så att den ser annorlunda ut efteråt och kretsen kan fungera annorlunda. Det kan räcka med att bara komma nära med handen för att signalen ska förändras. Oscilloskopets och probens begränsade bandbredder gör också att man inte får se sanningen, utan avrundade vrångbilder av den verkliga kurvformen. Författaren minns mycket väl hur det var att felsöka databussar och byta från ett 100 MHz Tektronix 465, som i och för sig var ett fint oscilloskop, till ett engigahertz sampleoscilloskop. Det var en helt ny värld av signaler. Det var ungefär som en viggenpilot som hade gått över till att flyga Gripen, som sa: ”Förut var jag blind. Nu kan jag se.” syftande på den överlägsna instrumenteringen.)

– Sen gäller det att skydda signalen mot störningar. Det är jordplan och åter jordplan som gäller?

– Och då ska man ha klart för sig att ett jordplan inte nödvändigtvis är noll volt. Störningsmassigt är alla plan (även spänningsplan) på kortet att betrakta som jordplan för högfrekvens om de är forsedda med tillräckligt många avkopplingskondensatorer. För det mesta byggs korten upp av ett antal lager: ett ledningslager, ett jordplan, två ledningslager, jordplan och ett ledningslager på andra sidan. Och signaler som kommer ut från kretsarna ska för övrigt inte ha snabbare flanker än vad man behöver.


Mellanspel om mönsterkort

Den glasfiberplatta man fäster komponenter på kallas för mönsterkort så länge den är tom. När komponenterna kommit på kallas den för kretskort.


Här har vi ett mönsterkort för ett typiskt moderkort. Det geometriska mönstret av lödöar i mitten är baksidan av en CPU-sockel och du ser de ledare som dragits på baksidan av det fjärde ledningslagret. Ledarna är bara en halv millimeter breda på sina ställen, med ett isoleravstånd på en halv millimeter.


Här ser du två typer av ledare. Den största delen av ledarna kommer från en adressbuss och alla slingrorna är kompensation i ledningslängd så att alla ledare ska vara lika långa fram till minneskretsen. Annars kan det bli skew, dvs vissa bittar kommer fram före de andra och hela adressen presenteras inte korrekt till minnet. Skew i data är lika illa. Data som kommer ut från minnet når inte CPUn med alla bitar samtidigt och när klockflanken kommer som talar om att datat är giltigt kan vissa databitar vara försenade. Resultatet blir läsfel.

Den andra typen av ledare är dubbel. Det är en differentiell LVDS-ledare med bestämd impedans. Den fungerar mer eller mindre som en partvinnad kabel.


Det här kallas för "PGA escape routing" och visar hur man får ut alla ledare från en CPU-sockel. Den grova ledaren i mitten är en av matningsspänningarna. De allra flesta pinnar vid kapselns mitt tar emnot denna spänning. Några ampere blir det.


Det här kortet ska användas i en radiosändare. Rektanglarna är säten för skärmburkar. Burkarna har tungor som passar ned i springorna varefter de löds fast tvärs genom kortet. I stort sett hela kortet är fyllt med koppar. Det är lokala jordplan som har stor betydelse för kretsens stabilitet och störtålighet.


Det här är ett kort för hög effekt och hög spänning. Du ser det på att ledarna är grova och isolationsavstånden stora. Man är till och med rädd för läckströmmen i glasfibern att det är urfrästa spår mellan låg- och högspänningsdelar, med stora kopparöar för kondensatorer. Egentligen är det minst tre kort, som efter monteringen bryts sönder och används separat.


Den här är bara snygg. En PCI-buss.


Framställning


– När kortet ar layoutat och komponentvalet är klart, då ska alltihop framställas. Vad genereras i CAD-programmet?

– Man generar något kallat Extended Gerber. Gerber är en tillverkare av fotoplottrar (som används för att göra fotografiska negativ till kopparmönster), som hittade på ett filformat för att styra plottrar. Det är numera en RS-standard. Man genererar helt enkelt en gerberfil för varje lager på kortet, en sorts ritning på kopparmönstret. Dessutom skapar man en eller flera borrfiler beroende på hur man vill ha kortet borrat. (Observera att hålen inte behöver gå tvärs igenom! Förbindelserna mellan de olika kopparlagren kallas vior. och vi kommer här in på avarter som dolda vior, pluggade vior och mikrovior). De skickas iväg till mönsterkortsfabrikanten med uppgifter om hur kortet ska se ut i övrigt: lageruppbyggnad, tjocklek, elektriska egenskaper, blyfri lödning etc.

Utifrån gerberfilerna plottar fabrikanten en film per lager, lägger på fotoresist, och etsar kortet. Kortet byggs upp av flera dubbelsidiga delkort (lager) som etsas var for sig, varpå de staplas ihop med glasfiberlaminat utan koppar för att få till det slutliga lagerantalet.

– Hur får man lagren att passa snyggt mot varandra?

– 1 vissa fall har man styrhål i hörnen, men man använder sig också av röntgen for att passa ihop lagren manuellt.

När kortet är laminerat har man normalt lämnat all koppar kvar på utsidorna. Om man antar att kortet bara har genomgående vior är det då dags att borra kortet. Alla viahålen måste pläteras med koppar längs insidorna och därför måste det finnas förbindelse till alla hål. Därför har man kopparn kvar till sist på ytterlagren.

Först gör man en kemisk plätering där man får kopparn att lägga sig inuti hålen och göra kontakt med mellanlagren där så behovs. För att få upp tjockleken fortsätter man med elektrisk plätering. När man har gjort det är det dags att etsa fram mönstret på ytterlagren.

Efter detta fortsätter man med andra ytbehandlingar, till exempel om man ska ha ett förtent kort eller om man ska ha nickel-guldplätering. Har kretsarna tillräckligt fin bendelning är nickel-guld att föredra. Ska man skruva fast skärmburkar på kortet behöver man guld för att inte få oxid mellan skärmburken och kopparbanan. Det är mycket vanligt när man bygger radioteknik, inom området GSM till exempel.

Komponentmontering


– Det är väl passé att sitta med lödkolven i hand nu när kretsarna har tusen pinnar?

– Så länge kretsen har synliga pinnar och du inte har druckit något starkt på en vecka kan det gå. På enstaka prototypkort kanske man vill lägga på enstaka kretar, testa dem och sedan bygga på med flera osv. Men det är sällan det förekommer.

Istället lämnar man bort de färdiga mönsterkorten till en monteringsfabrik, tillsammans med en komponentlista och en sk pick-and-place-fil, en plocklista, också något som kommer ur CADen, som anger koordinater och vridning på alla komponenter. Den styr monteringsrobotarna. CADen skapar också ett pastamönster. När man löder måste man ha lödtenn och före ytmonteringen screentrycker man ett mönster av lödpasta (en blandning av flussmedel och tenndamm) på de ställen på kortet där komponenterna ska fästa.

Kortet går vidare till en robotstation som plockar dit alla komponenter. De små, som motstånd, läggs dit först, varpå man lägger dit större och större. Vissa komponenter kan även handmonteras.

Många moderna kort har komponenter på båda sidor. Då måste kortet få tennpasta på båda sidorna. Men vad händer när man vänder kortet uppochned? Antingen ser man till att ha tillräckligt kladdig pasta så komponenterna häftar vid och hänger kvar, eller också limmar man fast dem. Efter att pastan screentryckts dispenserar man på en ytterst liten limplutt med en spruta och trycker fast komponenten.

Manhattaneffekten


– Berätta om den fruktade Manhattaneffekten.
– Det, eller resning.

Ett motstånd (och det kan jämföras med en mycket, mycket liten Delicato-dammsugare) ska placeras på kortet så att de två förtenta ändarna kommer att lödas på två öar på kortet. Har man otur kommer den ena tenn-ön att smälta snabbare än den andra och den ena änden av motståndet väts men inte den andra. Kapillärkraften kommer att resa komponenten rakt upp och när ett kretskort kommer ur ugnen ser det ut som ett Manhattan i miniatyr. Det hela kallas också för crocodile, leaning tower eller space rocket, Kärt barn har många namn.


Korrekt lödd ytmonterad komponent

När man löder, duger det inte att bara stoppa in kortet i en ugn och brassa på en massa värme, utan man har en lödprofil, där man börjar med en försiktig uppvärmning, och så ökar man lite och så går man upp till temperaturen där allt smälter i ett par sekunder och går man långsamt ned igen för att få jämn utflytning. Det är en industriprocess och den kräver sin processtekniker.


Manhattaneffekt vid blyfri lödning

Lagom när man hade lärt sig hur det här med ytmontering fungerade och fått till allting jättebra, då var det dags att börja lära om för man skulle börja med blyfri lödning. (EUs RoHS-direktiv, Reduction of Harmful Substances.) Det första som händer när man tar bort blyet ur lödtennet är att man måste öka temperaturen. Tennet (eller lodet) får också andra egenskaper, t ex svalnar det fortare och oxid bildas lättare på ytan. Allt detta tillsammans gör det svårare att löda komponenterna.


Färdig radiomodul för ISM-bandet, bara att löda in.

Sen får man fråga sig vad vissa komponenter tål innan de går sönder. Idag monterar man ofta moduler. Man kan köpa färdiga moduler, till exempel GSM-modem. Då köper man GSM-telefonen som en färdig modul och löder in. Modulen är uppbyggd på ett vanligt kretskort av glasfiber eller keramik men komponenterna är ändå lödda. När man värmer upp alltihop gäller det att inte komponenterna lossnar och faller av.

Avsyning


Efter att kortet är lött kör man det igenom avsyning. Avsyningen är helt automatisk numera. Man har en dator med en kamera som tittar på kortet och jämför med hur det ska se ut, en bild av ett kort man vet fungerar. Ser det konstigt ut på något ställe så larmar den. Den kan upptäcka manhattan-effekt, att en komponent har hamnat snett om kortet ryckt till i matningen, eller att en komponent tappats och saknas. Den kan också upptäcka överlödning mellan pinnar.


Röntgenprovare från Agilent, fd HP

Har man kretsar med dolda pinnar, alltså BGA:er, då måste man avsyna med röntgen. Man stoppar in kortet i en röntgenmaskin och kan sedan vrida på det och titta från olika håll. Det förekommer till och med avsyningsutrustning med en mycket tunn optisk fiber som kan skjutas in under BGA-kretsen och titta sig omkring. Den medför även ljus, så man kan titta så att varje enskild kula är korrekt lödd. Och då ska man veta att avståndet mellan pinnarna kan vara så lite som en halv millimeter.


Mellanspel om BGA

BGA-kapseln är mycket ekonomisk med utrymmet på kretskortet, men kan vara svår att löda korrekt. Därför har det utvecklats en mängd metoder för att undersöka lödnignarna efteråt. Bollarna är dolda inunder kapseln och kan inte ses med blotta ögat eller med kamera.


En metod är att gå in med en mycket smal fiberoptisk slang och fysiskt titta på varenda lödning. Det här ser ju bra ut. Tennet har vätt korrekt.


Här har det hänt något under avsvalningen eftersom en boll har lossnat från kretskortet.


Den andra metoden är röntgeninspektion. Så här kan det se ut den bästa av dagar när alla lödningar tagit korrekt.


Med för mycket tennpasta eller om pastan är felaktigt applicerad kan det bli kortslutingar.


De flesta bollar har lötts korrekt men längst ute till vänster saknas lödtenn.

Som tur är finns det hjälp. Ja, inte för att det går att ta varmluftspistolen direkt, men det finns företag som specialiserat sig på BGA-reparationer, som till och med kan utföra re-balling, och sätta dit nya kulor på kretsen om några skulle ha fallit av under avtagningen. Ett dyrbart prototypkort behöver inte vara förlorat för att lödningen gick snett.


Eftermontage


– Vi är nästan tillbaka vid den tiden när unga taiwanesiskor satt och handvävde kärnminnen under mikroskop?

– Ja. Avsyningen måste göras. Sen kan det vara så att alla komponenter inte är monterade i ytmonteringen utan man tvingas till eftermontage. Vissa komponenter kan vara hålmonterade och ska lödas för hand, eller också kan man ha press-fit-komponenter. Det är ofta busskontaktdon och liknande. De löds aldrig utan har speciella fjädrande kontaktben som bara pressas rakt ned i hål i kretskortet och så sitter de. De skulle för övrigt aldrig klara värmen i lödugnen. Helst vill man undvika eftermontage, men press-fit är godtagbart.

Smoke Test


– Sen är det: upp på labbordet, på med fem volt och se om det ryker? Fungerar det alltid på första rycket, med all CAD-teknik som ligger bakom?

– He, he, he! Konstruktören får tillbaka kortet och då inträffar det vi i branschen kallar Early Smoke Test, dvs man slår på spänningen och ser om det säger ”poff” någonstans. När man gör det brukar man oftast öka spänningen försiktigt och titta på amperemätaren. Man märker ganska snabbt om har en vrålkortis och då får man samtidigt huvudvärk när man ska försöka hitta den. Den kan ju vara inuti kretskoretet någonstans och då blir det besvärligt. Den kan också vara ett lödfel som man inte upptäckt, eftersom man inte kan kameraavsyna prototyper.

– Smällda kondingar händer ibland. Det kan bli effektfullt. Ett stort rökmoln över arbetsbänken i mystisk färg och så smakar det illa och så får man vädra. Då och då har det även sagt ”poff” och slagit upp eldslågor.



Boundary scan


Därefter får man slå på spänningen igen och börja testa kortet. Kretstillverkarna har tagit hänsyn till testningen av stora kort med komplicerade kretsar. Det finns en funktion som kallas Boundary Scan eller JTAG (Joint Test Action Group). Det är ett testhjälpmedel som kan användas vid två olika tillfällen, dels för att kolla att kortet har blivit lött ordentligt och att det finns (eller inte finns) förbindelser mellan olika signaler, och dels för att koppla in debuggers till kortet. I ett industriprojekt kanske man har en kraftfull processor, ett par, tre DSP:er för signalbehandling och massor av bussar. Det är komplicerat att felsöka för hand.

Boundary scan-gränssnittet är mycket väl standardiserat. Det är signalerna TDI (Test Data In), TDO (Test Data Out), TMS (Test Mode Select), TCK (Test Clock) och TRST (Test Reset, frivillig). Det är fem signaler som går till och från kretsen. Till detta kan man ansluta en debugger, oftast en PC, som är integrerad i programutvecklingsmiljön.

Boundary scan fungerar som ett skiftregister som ligger anslutet till kretsens alla in- och utgångar. När Boundary scan är aktivt är givetvis den övriga kretsen avstängd. Genom att skifta in lämpligt bitmönster genom TDI med hjälp av klockan TCK kan man ställa upp ett bitmönster på alla utgångar, eller läsa av alla ingångar (in i skiftregistret igen) och se hur utgångarna påverkar andra kretsar, och se vilka nivåer som kom in i kretsen utifrån genom att skifta ut bitmönstret igen och skärskåda det i debuggern.

TDO från en krets går vidare till TDI i nästa krets och TCK parallellkopplas till alla kretsar. På så sätt hänger hela kretskortet ihop som ett enda långt skiftregister och genom att skifta in ett testmönster i varenda krets och aktivera det och skifta ut resultatet kan man se att varenda anslutning är rätt kopplad.

– Aha, så man kan i princip lägga ut en signal på en pinne och se att den faktiskt kom fram i andra änden?

– Precis. Och detta kan göras helt automatiserat. På ett jobb jag gjorde åt Ericsson, ett kort för signalbehandling i en GSM-basstation, hade vi en Power Quick-CPU, åtta ASIC-ar av Ericssons egen tillverkning och fem FPGA-er och allihop satt ihop i en JTAG-kedja. På så sätt kunde vi testa 75% av alla ledningar utan att ha kört en enda rad programkod på kortet. Det som fanns kvar att testa var alla analoga signaler. JTAG fungerar lika bra under produktionstest som under utveckling.

Komponenter


- Hur får man tag i komponenter? Det är väl bara att köpa?

- Nej, det är det inte. Ska man bara göra ett fåtal exemplar kan det vara svårt att få tag i komponenterna. Ska man göra 25-50 stycken kan det vara rätt besvärligt att bara få köpa så få. Kretstillverkarna vill sälja så mycket som möjligt. Ska man ha en specialkomponent kan det vara så illa att det inte går att köpa 25 stycken. Man kanske måste köpa 200-400-1000 stycken, eventuellt en hel rulle eller kartong. Vissa tillverkare har insett detta, till exempel Maxim och Micro Chip, och har en webshop där man kan köpa från en enda krets och upp till tusen, som skickas från ett centrallager i Malaysia och man har den i handen på en vecka. Har man tur kan man få prover av enstaka kretsar, men antalet är begränsat, ofta inte fler än fem.

– I andra änden av skalan bör det motsatta gälla? Hur gör man för att säkra tillverkningen även om den här tillverkaren går i putten?

– Att de går i putten skulle jag säga är ganska sällsynt. Då är det betydligt vanligare att de bestämmer sig för att de inte vill tillverka just den där komponenten längre. De kanske vill byta ut tillverkningsprocesser som var moderna för 10 år sedan och vill ta bort den för att få plats med nya, fina, snabbare processer. Eller också vill de lägga ned den för att det är för få som köper den.

Ett år innan man lägger ned en komponent annonserar tillverkarna en LTB (Last Time Buy) i ett brev till kända köpare, där man anger att komponenten läggs ned och att alla sista order ska vara inne innan ett visst datum. Sen är det finito. Då får man fundera: ska man köpa in så många komponenter så det räcker, tills produkten läggs ned? Eller ska man köpa bara så många så man har tills man designat om kretskortet för en ny komponent? Alla komponenter kan inte tillverkas intill evärderlig tid.

– Fast å andra sidan kan man undra varför det kommer så många nya moderkort, tre gånger i veckan?

– Det är lite grann en modesak. Man kommer med en ny funktion i chipsetet, kanske ett nätverksinterface. Då blir det ett nytt moderkort. Ljudet integreras i chipsetet. Nytt moderkort. Så läggs en krets ned och måste bytas ut. Nytt moderkort. Det kommer en ny processorfamilj som drar 4 ampere till. Nytt moderkort. Dessutom finns det många olika tillverkare som löper igenom samma cykel.

Erfarenhet krävs


Visst var det enkelt? Nej, det var det inte. Det är tusen och en sak att tänka på, även om grunderna i konstruktionsarbetet tagits ned på jorden, kopplat med det faktum att layoutprogram och simulatorer får bort mycket av osäkerheten i arbetet och förkortar utvecklingstiden. Icke desto mindre döljer konstruktionsarbetet en mängd tricks och fix, yrkesknep och erfarenhetsmässiga antaganden, som Thomas tillägnat sig under många års praktiskt arbete.

– Hur kom det sig att du började designa mobilbasar åt Ericsson?

– Vi hade hamnat i en svacka med uppdrag till Svensk Aktuell Elektronik och bestämde oss för att prova på att jobba som konsulter ute hos kunden. Tidigare hade vi gjort alla uppdrag hemma i egen regi. Vi vände oss då till ett av de större konsultbolagen och då slumpade det sig att jag hamnade på Ericsson och min kompanjon på Siemens.

Efter ett antal konstruktionsuppdrag för flera stora telekomtillverkare har Thomas intagit en praktisk attityd till elektronik. Ge honom en arbetsuppgift och han kastar kisel på den tills den löser sig.



*) Fotnot: För att komma dit Thomas har kommit, och för att kunna njuta fullt ut av den här artikeln bör du nog ha etsat ditt första kretskort redan i grundskolan och varit lödvirtuos några veckor senare. Dina första datorer bör du ha byggt på fri hand i gymnasiet och sen kan ett par år som systemansvarig på någon minidatoranläggning inte skada heller.


Så går du vidare

Svensk Aktuell Elektronik: www.saeab.se
Kretskorts-CAD - CADint PCB: www.cadint.se
Simulationsverktyget HyperLynx: www.mentor.com/products/pcb/analysis_verification/hyperlynx/
En massa läckra röntgenbilder på www.dage.de/de/semi/xray/x-ray_applications.htm
Mikroviateknik: www.teltex.se klicka sedan på ”Mikroviateknik”
Apparater för BGA-inspektion: www.hirox-usa.com/bga.html
NASAs kravlista på goda lödningar: http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/701%20General%20Requirements.html
Allt om JTAG: www.inaccessnetworks.com/projects/ianjtag/jtag-intro/jtag-intro.html
Se i övrigt AMDs handbok ”AMD Geode LX Processor and CS5535/CS5536 Companion Devices Layout Recommendations


Allt som kommer ur CAD-programmet

Ett elektronik-CAD-program producerar en väldig mängd utfiler, både grafiska plottfiler och listor av olika slag.

Borrinformation (hur alla kortlager ska borras)
Komponentlista (R1 = 10 ohm, R2 = 47 kOhm osv.)
Komponentplacering (PDF-version av komponenttryck för referens)
Komponenttryck (det vita trycket ovanpå den gröna lödmasken)
Kopparmönstret (fotoplottfiler för alla kopparlagren)
Kortkonturfil (för konturfräsning av kortet)
Kretsschema (kopplingsschema, PDF)
Lödmask (det gröna trycket på kortet)
Nätlista för Boundry scan (så att Boundry scan vet hur allt bör vara kopplat)
Parameterlista till simulator (om kretsen ska högfrekvenssimuleras i simulatorprogram)
Pastamask (bild av hur lödpastan ska läggas på)
Plockfil (instruktion till monteringsroboten)
3D-modell (ifall kortet ska placeras på ett trångt ställe kanske man måste göra hål för uppstickande komponenter i den mekaniska konstruktionen)


Ordlista

BGA: Ball Grid Array, en kapslingstyp där kontaktpinnarna ersatts av små bollar eller kulor som löds fast på kretskortet.
CAD: Compuer Aided Design, datorstödd konstruktion.
CMOS: Complementary Metal Oxide Semiconductor, den första FET-teknik som användes för logikkretsar.
FPGA: Field Programmable Gate Array, En krets med en samlig logikgrindar som kan kopplas ihop i efterhand av utvecklaren.
FPLA: Field Programmable Logic Array, En krets med en samlig logiska funktioner som kan kopplas ihop i efterhand av utvecklaren.
JTAG: Joint Testing Action Group, den arbetsgrupp som tagit fram JTAG-standarden för provning av komplexa kretskort, enligt Boundary Scan-metoden.
LTB: Last Time Buy, en varning från en kretstillverkare att en krets ska läggas ned.
LVDS: Low Voltage Differential Signal, en signaltyp för snabba serieförbindelser på kretskort. +/- 100 mV.
Pick and place: Metoden att plocka på komponenter på kretskort med en plockrobot.
PGA: Pin Grid Array: En kapslingstyp med kontaktpinnar, som ska sättas i sockel eller alternativt lödas i kretskort. Den vanligaste för processorer, till exempel.
RoHS-direktivet: EUs reglverk Reduction of Harmful Substance som bland annat innebär att blyet tagits bort ur lödtenn.
RS-standard: Recommended Standard från EIA (Electronic Industries Alliance). En annan sådan är RS-232.
TTL: Transistor.-Transistor-Logik, en typ av logikkretsar uppbyggda med bipolära transistorer. Används sällan numera. Drivs med 5 volt.