Mikrořadiče – možnosti a trendy v současných aplikacích
Mikrořadiče – možnosti a trendy v současných aplikacích společnost Farnell InOne, Velká Británie V pracovním životě technika se vyskytují rozhodnutí, která lze popsat jako ryze „emotivní“. Jednou z oblastí, v níž se vždy vyjadřují vyhraněné názory, je volba mikrořadiče. Většina vývojářů má vlastní, oblíbenou architekturu a návrh změny se často rovná kacířství. Z jednoho hlediska je taková oddanost jak pragmatická, tak emoční. Technik bude často schopen vyřešit konstrukční problémy překvapivě rychle, protože spoléhá na dokonalou znalost konkrétní architektury, instrukčního souboru mikrořadiče a na shromážděnou zásobu programů a algoritmů vyvinutých pro předchozí projekty. Naproti tomu znamená rozhodnutí o změně architektury nákladové i časové zatížení, protože vývojový tým se musí učit. Takovéto úvahy přispěly k úspěchu nejrozšířenějších architektur mikrořadičů a procesorů, jakými jsou např. řady 80C51 nebo ARM. Tuto přirozenou setrvačnost mohou vyvažovat dva faktory. Prvním je výkon a rozsah funkčního vybavení aktuální „oblíbené“ architektury. Jestliže konkrétní řada nedokáže poskytnout výpočetní výkon požadovaný novou aplikací nebo nemá variantu s tou „pravou„ kombinací periferních zařízení, není moc z čeho vybírat, a je tedy nutno se poohlédnout po řešení někde jinde. Druhým faktorem je rostoucí tendence k programování ve vyšších jazycích, zejména v jazyku C, což umožňuje jistou míru přenosnosti kódu a knihoven a představuje praktičtější řešení při úvahách o použití jiné řady mikrořadičů. Bez ohledu na motivaci ke změně by se měla brát v úvahu jednoduchost, s níž lze dosavadní duševní vlastnictví přenést do nové architektury. To znamená zajistit, aby nová architektura měla ty správné vývojové nástroje a podporu. Cena této podpory v minulých letech klesla a dnes se považuje za samozřejmé, že dodavatelé mikrořadičů poskytnou alespoň nástroje na základní úrovni. Přesto zůstává nutné zajistit dostupnost a kvalitu nástrojů od jiných dodavatelů, např. překladačů jazyka C, emulátorů a programátorů. Také linka podpory a poprodejní servis se mohou ukázat jako nedocenitelné. Stojí za to vybrat distributora nabízejícího přístup k technikům zabývajícím se praktickými aplikacemi, kteří důvěrně znají výrobky a absolvují pravidelná školení, aby drželi krok s nejnovějším vývojem. Obr. 1. Atmel řada AVR – instrukční cyklus 50 ns při taktování 200 MHz Pokud přenosnost předchozích aplikací nepředstavuje problém, vývojový tým začíná efektivně s „čistým listem papíru„. V této situaci bude na počátku výběru stát rozhodnutí o požadované velikosti „jádra„ (4, 8, 16 nebo 32 bitů) aplikace vyžaduje. Čtyřbitové součástky, např. řady OKI OLMS63K a 64K nebo řada Atmel Marc4, nabídnou nejlevnější řešení a jsou vhodné zejména pro spotřebitelské aplikace s bateriovým napájením, u kterých je třeba brát zřetel na cenu. Stinnou stránkou tohoto řešení je, že vývoj kódu pro čtyřbitové architektury může být obtížnější a čtyřbitová šířka instrukcí a dat může omezovat aritmetické schopnosti. Osmibitové mikrořadiče mohou pohodlně zvládat většinu vestavěných aplikací. Mnohé jsou založeny na známých zavedených architekturách, jako je např. 80C51. Vzhledem k tomu, že osmibitová technologie se používala delší čas, je v současné době k dispozici obrovská nabídka mikrořadičů – od levných pomalých náhrad čtyřbitových mikrořadičů až po zařízení s desítkami MIPS (Microprocessor without Interlocked Pipeline Stages, mikroprocesor bez spřažených zřetězených stupňů) – např. série Atmel AVR, která dosahuje instrukční cyklus 50 ns při taktování s krystalem 20 MHz (obr. 1). V případě aplikací vyžadujících větší výpočetní výkon bude výběr pravděpodobně zúžen na 16- a 32bitová zařízení. Druhý typ, často založený na jádru ARM (Advanced Reduced Instruction Set Computer Machine, zařízení s progresivním počítačem s redukovanou sadou instrukcí) nebo MIPS, začíná ovládat tento tržní sektor jednoduše proto, že dodavatelé mohou nabízet 32bitový výkon za konkurenční ceny. Zvýšený výkon 32bitového zařízení znamená pro uživatele v podstatě nulové zvýšení ceny (obr. 2). Obr. 2. 32bitové procesory RISC ARM7TDMI® – levné mikrořadiče s kapacitami paměti flash od 32 do 256 kB Dlouhodobé trendy směřující k fakticky standardním jádrům (např. 80C51, ARM, MIPS) vedly dodavatele k hledání jiných faktorů, než je čistý výkon; podle těchto faktorů odlišují dodavatelé své výrobky. Jedním ze způsobů, jakým toto uskutečnili, bylo poskytování podpory orientované na aplikace prostřednictvím specificky nakonfigurovaného mikrořadiče pro hardware (a někdy softwaru), který je třeba pro konkrétní cílový segment nebo aplikaci. Například společnost Atmel má ve svém sortimentu zařízení určená k použití v různých aplikacích, jako jsou např. inteligentní čtečky karet, dekodéry MP3, nabíjení baterií a systémy pro zadávání údajů bez tlačítek. Ve skutečnosti je výběr součástek do značné míry ovlivněn kombinací periferních zařízení na čipu bez ohledu na to, zda jsou zařízení prodávána s orientací na konkrétní aplikace. Většina současných řadičů nabízí široký výběr vstupních či výstupních portů, časovačů a sériových rozhraní. Ale také lze najít mnoho dalších periferních zařízení integrovaných na čipu, včetně síťových rozhraní Ethernet 10/100 Base-T, sběrnicových rozhraní CAN, USB, vysokofrekvenčních vysílačů a grafických ovladačů. Integrování těchto bloků na čipu může nejen snížit cenu systému díky eliminaci externích součástek, ale také ušetřit čas a práci na vývoj, neboť poskytuje řešení připravené k integraci. Některá zařízení kromě toho nabízejí bloky přizpůsobitelných logických obvodů, které lze použít k implementaci kritických funkcí v hardwaru s možností změny konfigurace. Například Atmel FPSLIC nabízí osmibitovou jednotku AVR MCU (Microcontroller Unit, mikrořadičová jednotka) společně s polem až 40 000 hradel, které lze konfigurovat v provozu (obr. 3). Obr. 3. Atmel FPSLIC – 8bitová jednotka AVR MCU s polem až 40 000 hradel programovatelných v provozu S počtem vstupů či výstupů a periferních zařízení na čipu souvisejí konfigurace pouzder a vývodů. Je samozřejmě důležité zvolit zařízení s dostatečným počtem vstupních a výstupních vývodů pro danou aplikaci a vzhledem k tomu, že mikrořadiče se dodávají v mnoha typech pouzder od malých SO8 až po BGA s mnoha vývody, je z čeho vybírat. Externí sběrnice zvyšují počet vývodů, protože vyžadují další vývody pro rozhraní. Jedná se o kompromis ve prospěch potřebného efektivního přenosu dat ze zařízení a do zařízení, který zvyšuje velikost a cenu. Při výběru pouzdra je dále nutné zjistit, zda zvolená řada obsahuje zařízení vyhovující novým směrnicím, které zakazují používání olova a jiných nebezpečných látek. Architektura paměti je vždy kritickým faktorem v konstrukci systémů založených na mikrořadičích. Umístění paměti na čipu nebo mimo něj a požadovaná velikost mohou být klíčovými údaji jak pro určování celkových nákladů na postavení systému, tak pro jeho rychlost. Existují tři hlavní typy paměti, které jsou důležité při výběru programové paměti – lze vybírat součástky s pamětí flash, OTP (One-Time Programmable, jednorázově programovatelný), s ROM nebo bez ní, datové paměti (SRAM na čipu nebo externí SDRAM) a stálé paměti na ukládání dat (EEPROM nebo flash). Stále větší počet zařízení má všechny tři typy pamětí na čipu. Například řada Atmel AVR se dodává s pamětí flash na uložení programu o velikosti 1 až 128 kB, integrovanou SRAM na data a několika bajty EEPROM na uložení dat, jako jsou konfigurační informace a sériová čísla. Díky těmto charakteristikám je řada AVR velmi oblíbená ve všeobecných aplikacích v průmyslovém a bezpečnostním segmentu. Paměť flash předstihla v tradičních aplikacích OTP. Flash poskytuje vývojovému týmu flexibilitu pro vykonávání změn kódu později během vývojového cyklu a umožňuje programování v systému (ISP – In-System Programmable). V tomto výrobním přístupu se na desku s plošnými spoji připájí „prázdný„ mikrořadič a naprogramuje se později v systému. Podobný přístup umožňuje také následné přeprogramování, což usnadňuje aplikace v provozu. Použití segmentovaných bloků flash dovoluje mikrořadiči přeprogramovat jeden segment procesem řízeným z jiného segmentu, aniž by se přerušilo napájení. Tuto funkci podporují obě řady Atmel 89C51 a MegaAVR (obr. 4). Obr. 4. Segmentované bloky flash podporují Atmel 89C51 i MegaAVR Ačkoliv většina uživatelů s hromadnou výrobou obvykle volí zařízení s pamětí ROM kvůli jejich nízké ceně bezpečnosti kódu, razí si také paměť flash cestu do této arény prostřednictvím služeb továrního programování. Princip spočívá v tom, že výrobce mikrořadiče dodává předem naprogramovaná zařízení přímo do výrobního závodu zákazníka, což zkracuje dobu nezbytnou k realizaci a vylučuje nákladné změny kódu, které se týkají součástek s pamětí ROM. Zařízení s pamětí ROM si také zachovávají tradiční pozici v aplikacích s bateriovým napájením, protože dokážou tolerovat velmi malá provozní napětí (kolem 0,9 V). Avšak i zde se uplatňují mikrořadiče s pamětí flash, která nyní vydrží pokles provozního napětí (v případě zařízení Atmel AVR až na 1,8 V). Pokud jde o datovou paměť, je hlavním uvažovaným faktorem (kromě vlastních požadavků aplikace na data) vývoj kódu. Kompilátory jazyka C mohou být velmi náročné na velikost RAM jak pro ukládání proměnných a ukazatelů, tak pro zásobník. Posledním důležitým faktorem při výběru konfigurace paměti je dostupnost různých variant v rámci stejné řady. Optimální je zvolit takové zařízení z určité řady, které může nabídnout více paměti, než bude podle vývojového týmu třeba, a to pro případ, že výsledný software bude vyžadovat více paměťového prostoru, než se předpokládalo. A naopak se může stát, že během vývoje projektu bude možné přejít k menší konfiguraci paměti, bude-li kód menší nebo pokud bude v budoucnu nutná „ořezaná“ verze aplikace. S ohledem na všeobecné rozšiřování přenosného vybavení si vývojáři stále více uvědomují spotřebu energie různých zařízení. Hodnocení spotřeby mikrořadiče není obvykle jednoduché a vyžaduje, aby se technik nejprve zaměřil na potřebný příkon při dané taktovací frekvenci, jež je nutný pro provoz aplikace. Avšak většina současných mikrořadičů má různé režimy nečinnosti a spánku a je třeba pečlivě zvážit způsob maximálního využití těchto režimů ke snížení spotřeby. Poslední a možná nejdůležitější faktor pro výběr mikrořadiče je cena. Stejně jako v případě všech ostatních faktorů není ani hodnocení ceny často tak jednoduché, jak by se zdálo. Je-li implementace jednoho zařízení výrazně jednodušší než implementace jiného zařízení, bude možná nutné obětovat cenu součástek na úkor času technika. Funkce integrované na čipu jdou v neprospěch nákladů na vybavení; při použití externích součástek je zase nákladnější montáž. Poněkud obtížnější je vypočítat cenové aspekty použití technologie, jako je např. flash – neboť, jak ocenit možnost pozdějších změn kódu nebo nabídku aktualizace v provozu? Cenová rovnice se mění také v závislosti na množství součástek, které je třeba objednat, a sestav, které je třeba vyrobit. Proto je smysluplné co nejpřesněji analyzovat všechny prvky nákladů na systém a pokud možno vytvořit alternativní scénáře, které by ohodnotily důsledky různých změn. Farnell InOne je přední elektrotechnický, elektronický a průmyslový katalogový distributor, s nabídkou více než 300 000 produktů. Na webových stránkách společnosti Farnell InOne www.farnellinone.com mohou zájemci získat nejširší a nejaktuálnější nabídku výrobků, údajů a technických informací (tel.: +44 8701 200 109, e-mail: czechsales@farnellinone.com). | |