JavaScript is currently disabled.Please enable it for a better experience of Jumi. Elektroniktidningen
Guidelines for contributing Technical Papers: download PDF
Jtag, ICT och externa bussar kan användas för att snabbt och enklet programmera flash på färdiga kort. Firmware laddas ofta in i flashminnet innan det placeras på kretskortet. Orsaken är att man inte vill sinka produktionslinan med programmeringen. Ändå finns det fördelar med att programmera flashminnet efter att det att det har lötts fast på kretskortet.
embexLadda ner artikeln på 200 kbyte här (länk, pdf).

Fler tekniska rapporter finns på etn.se/expert
Man kan använda nålbäddstestaren (in-circuit test eller ICT), Jtag och olika externa databussar för att programmera flashminnet utan att tillverkningen går långsammare. Filstorlek, befintlig produktionsutrustning, systemets kapacitet och önskade programmeringsmetoder måste dock beaktas för att hitta en optimal lösning.

En av de viktigaste fördelarna med att programmera minnena efter det att de monterats på kretskortet är att det då är möjligt att kombinera testningen och programmering i ett samma steg.

Hur flashminnet används på beror vanligtvis på vilket skede av utvecklingen som man befinner sig på. I många tillämpningar använder konstruktörerna flashminnet under utvecklingsfasen för att lagra och köra firmware och applikationsprogramvara. Metoden med att programmera flashminnet på kortet används ofta under utvecklingen av nya applikationer eller firmware. Koden är skriven, kompilerad och laddas ner till flashminnet på utvecklingskortet för att sedan testköras på det riktiga kortet.

Brian Bradford startade sin karriär på Intel där han arbetade med halvledarprocesser. Därefter arbetade han med teknisk marknadsföring för Intels embeddesektion som sedermera fördes över till Micron.

Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.
När hård- och mjukvara närmar sig produktionsfasen är det vanligt att den förprogrammeras på flashminnena innan de monteras på korten. Metoden används huvudsakligen av två skäl. För det första kan den firmware som laddats användas för att utföra grundläggande testning av kortet. För det andra, om den slutliga versionen av firmware, operativsystem och applikation laddats på flashminnet innan tillverkningen går det att hålla en hög takt i tillverkningslinan. För att stödja den här typen av användningsmodell har många leverantörer system för att ladda firmware och data i flashminnet innan de monteras i produktionslinan.

Möjligheten att utnyttja befintliga tillverkningssystem för testning, tillsammans med de snabbt programmeringshastigheterna som flashminnena har, gör det möjligt att programmera dem efter det att de monterats på korten. Förutom att man inte sänker produktionstakten finns fördelar som:
•    Kortare tid till marknaden: om en ändring görs av programmet kan den nya versionen av koden skickas direkt till produktionslinan vilket kortar tiden till produktion.
•    Förbättrad kvalitet: Genom att inte ha några programmerade kretsar på lager minskar risken för att fel version av firmware, operativsystem eller tillämpningsprogram hamnar i produkterna vilket i sin tur spar tid för att spåra upp och programmera om enheter med fel version på koden.
•    Enklare supply chain: Traditionella tillverkningsprocesser spårar både programmerade och oprogrammerade enheter. Med programmering på korten räcker det med att hålla reda på de oprogrammerade kretsarna.

Flera olika typer av tekniker används för att ladda programvara och data i ett flashminne efter lödprocessen. Det är ICT, Jtag, och externbussar.

ICT eller nålbäddstest är en metod som används för att test om det uppstått fel i tillverkningsprocessen. Med nålbäddstest hittar man bland annat kortslutningar och olödda förbindningar. Efter att ett kort testats och godkänts, kan flashminnet programmeras. Tiden för att ladda ner programmet måste vara mycket kort (ca 1 till 4 sekunder) för att inte sakta ned tillverkningslinan. Dessutom kräver metoden vanligen få anslutningar vilket spar stift i testfixturen.

Jtag är en IEEE-standard (IEEE 1149.1) som använder arkitekturen i Boundary Scan för att testa att kretsarna på ett kort är förbundna korrekt. Jtag-porten kan också användas för att programmera flashminnen på kortet. Under testfasen ger gränssnittet direkt kontroll över minnesbussen vilket gör det möjligt att ladda ner programmet i flashminnet. Jtag-programmerare skickar vanligtvis program och data till flashminnet över databussen på liknande sätt som firmware till processorn uppdateras.

Nålbäddstest och Jtag används vanligtvis för att programmera små datamängder (mindre än 16 MByte) på NOR-flash på grund av den låga bandbredd som krävs (få anslutningar eller långsamma klockfrekvenser). Tabell 2 jämför teoretisk skrivprestanda för olika typer av NOR-flash.

Externa bussar och nya typer av nålbäddstestare är de bästa teknikerna för överföring av större datamängder som kräver en högre bandbredd. Nålbäddstestare har nyligen nått programmeringshastigheter på 20 Mbyte/sek.

Det finns två metoder för att använda externa bussar vid programmering av flash­minnen. Med en mikroprocessor överförs data till flashminnet via en befintlig kontakt (t.ex. USB). Mikroprocessorn används för att styra och övervaka processen. Saknas mikroprocessor överförs data till flashminnet via en befintlig anslutning (t.ex. UART) men då behövs också dedicerad logik på kretskortet för att hantera programmeringen.

Externa bussar och moderna nålbäddstestare kan överföra data mycket snabbt. Tabell 3 visar den bandbredd som kan uppnås för NAND-minnen med en bit per cell och för inbyggda minnen, eMMC. I alla varianter ligger begränsningarna snarare i minnet än i gränssnittet.


Kritiska faktorer för programmering på kortet.

När du väljer metod för att programmera minnet på kortet har minnestypen, filstorleken, kortlayouten och vilken utrustning som finns tillgänglig i tillverkningslinan betydelse för valet av metod.

Storleken på firmware, data och operativsystem kan variera från ett tiotal kilobyte till hundratals megabyte. För filer mindre än 8 Mbyte passar nålbäddstestare och Jtag bra på grund sin låga bandbredd. Idag finns det Jtag och nålbäddstestare i många produktionslinor för att testa korten för produktionsfel. Därmed behöver man inte skaffa någon ny hårdvara för att programmera flashminnena. NOR-flash kan programmera med 1-2 Mbyte/s och metoden fungerar därför bra så länge programmeringstiden inte överskrider 4 sekunder.

Programmering av större datamängder (32 Mbyte till 1 Tbyte) till NAND-flash underlättas inbyggda funktioner i kretsarna.

SLC NAND är den snabbaste (5 till 60 Mbyte/s). Dock är marknaden på väg mot lösningar med inbyggda minnen som eMMC som har programmeringshastigheter från 10 till 35 Mbyte/s.

För minnen med hög bandbredd används två olika tekniker för att överföra stora datamängder: nålbäddstestare och externbussar.

Moderna nålbäddstestare har höga programmeringshastigheter och klarar därmed stora minnen. Externa kantkontakter kan antingen använda den inbyggda processorn eller programmera flashminnet direkt. Båda dessa tekniker kräver antingen en kretskortsdesign där datavägen kan styras av processorn eller annan logik som isolerar bussen.
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)