Novinka:Lapis Semiconductor: predstavenie
(Kategória: Semiconductor-ZONE)
Zaslal wek
04.10.2013-06:48

Meno japonského výrobcu polovodičov Lapis Semiconductor pravdepodobne väčšine čitateľov uZone nič nehovorí. O koho sa vlastne jedná?

Určite bude všetko jasnejšie, ak prezradíme, že sa jedná len o nové meno tradičného výrobcu OKI Semiconductor (premenovanej po jej prevzatí skupinou Rohm) Mnohým sa vybaví napríklad ich portfólio 8051-kompatibilných mikrokontrolérov, vrátane bond-out verzie tradične používanej v hardwarových emulátoroch 8051 (najmä potom, čo Intel pomerne skoro výrobu bond-out verzie ukončil). Poďme sa však pozrieť, čo spoločnosť Lapis Semiconductor ponúka dnes, a to (pochopiteľne) najmä v oblasti mikrokontrolérov.

Portfólio výrobkov
Lapis Semiconductor vyrába pomerne široké spektrum digitálnych integrovaných obvodov. Okrem mikrokontrolérov sú to napríklad špecializované obvody pre telekomunikácie, obvody pre spotrebnú elektroniku vrátane audio a video enkodérov/dekokérov, a pamäte, pri ktorých sa na chvíľu pristavíme.

Lapis Semiconductor totiž ponúka dynamické RAM pamäte pomerne malých hustôt (16-256Mbit, t.j. 2-32Mbyte) vo verziách EDO DRAM, SDRAM a VideoDRAM, t.j. pamäte, ktoré "mainstreamové" PC aplikácie zavrhli už pred niekoľkými generáciami, avšak dodnes sa používajú v "okrajových" priemyselných aplikáciách. S týmto súvisí aj to, že časť týchto pamätí sú ponúkané aj v automotive verzii.

Okrem toho Lapis Semiconductor je jedným z mála výrobcov, ktorí ponúkajú FeRAM, t.j. non-volatile pamäte založené na ferroelektrickom jave, ktoré sa vyznačujú nezvyčajne vysokým počtom zápisov (1E12) a rýchlou dobou zápisu (150ns). Tieto pamäte sú k dispozícii v hustotách od 32kbit do 256kbit (8-32kbyte) s pripojením cez paralelnú, I2C či SPI zbernicu.

Do tretice je rodina pamätí označených skratkou P2ROM, ktorá schováva moderný ekvivalent ROM pamätí programovaných maskou. Jedná sa však o modernú elektricky programovateľnú technológiu, kde výrobca podľa špecifikácie zákazníka na svojom zariadení hromadne naprogramuje vopred vyrobené obvody, ktoré už neskôr nie je možné preprogramovať. K dispozícii sú pamäte s paralelným aj sériovým (SPI) rozhraním, v hustotách od 8Mbit do 1-2Gbit (1-256Mbyte), stránkované paralelné pamäte až do 8Gbit (1Gbyte). Špecialitou je varianta so zabudovaným hradlovým poľom.

Mikrokontroléry
Mikrokontroléry Lapis Semiconductor sú v dvoch skupinách. Prvá z nich sú 32-bitové mikrokontroléry založené na jadre ARM. Konkrétne sa jedná o jadro ATM7TDMI, ktoré je o generáciu staršie než aktuálne jadrá Cortex-Mx, takže tieto mikrokontroléry sú vlastne pozostatkom staršej vývojovej vetvy, v ktorej Lapis Semiconductor podľa všetkého už nepokračuje.

Druhá skupina je založená na proprietárnom 8-bitovom jadre nazvanom U8. Jedná sa o vyspelé jadro s neobvykle rozsiahlou sústavou vlastností, a preto si ho popíšeme v samostatnej kapitole v ďalšej časti článku. Obvody s týmto jadrom sú prezentované ako "ultra-low consumption" v niekoľkých rodinách, kde okrem bežného mixu pamätí a periférií majú niektoré rodiny aj niektoré vlastnosti naviac. Okrem pre japonských výrobcov typického veľkého množstva mcu so zabudovaným maticovým alebo segmentovým LCD kontrolérom je to najmä skupina obvodov s "generátorom reči" (Speech Output či Speech Synthesis - tieto funkcie sú ponúkané aj ako samostatné IO vo variantách bez mcu). V skutočnosti sa jedná o modul prehrávania zvukov z pamäte, pričom tieto zvuky môžu byť komprimované viacerými algoritmami. K tomuto je poskytovaná aj podpora vo forme vývojového prostredia na PC a samozrejme aj príslušné vývojové kity.


Jadro U8
Jadro U8 je ťažké prirovnať k iným existujúcim 8-bitovým jadrám - najviac je snáď inšpirované intelovskou tradíciou 8080/Z80 a 8051, aj keď jemne cítiť je aj inšpirácia RISC procesormi. Základom procesora je 16 8-bitových registrov (ktoré možno zlučovať do 16-bitových a pre niektoré load-store operácií dokonca 32-bitových skupín), k tomu niekoľko špeciálnych registrov - tradičné PC, SP, PSW, ale aj link register na uloženie návratovej hodnoty PC pri volaní podprogramov (tuto je cítiť tú inšpiráciu RISCami), špeciálne link registre pre automatické uloženie PC aj PSW pri volaní prerušení, registre pre nepriamy prístup do pamäte, a niekoľko iných.

Prerušenia sú v troch úrovniach - maskovateľné, nemaskovateľné a debug (len v obvodoch so zabudovaným OCD). Je možné nastaviť, či majú byť prerušenia vzájomne prerušiteľné alebo neprerušiteľné - v druhom prípade nie je potrebné "kontext" (link register s návratovou adresou a register, v ktorom je uložené PSW) vôbec ukladať na zásobník.

Inštrukčná sada obsahuje pomerne rozsiahly sortiment load a store inštrukcií, vrátane indexovaných (ofsetnutých) inštrukcií využívajúcich dvojicu registrov (tvoriacich 16-bitovú adresu) s prípadným autoinkrementom. Bežné aritmeticko-logické inštrukcie sú pre fanúšikov BCD aritmetiky doplené inštrukciou dekadických korekcií pre sčítanie ale aj pre odčítanie. Implementované je dokonca aj násobenie 8x8 a delenie 16/8, aj keď násobenie trvá 8 a delenie 16 cyklov. Širšie binárne typy sú podporované napríklad inštrukciou znamienkového rozšírenia. Posuvy a rotácie zahŕňajú aj operácie s dvojicami registrov. Operácie PUSH a POP majú varianty aj pre uloženie viacerých špeciálnych registrov naraz (aj keď tie pochopiteľne trvajú pomerne veľký počet cyklov).

Pre 8-bitové jadro je k dispozícii neobvykle rozsiahly adresný priestor - 1Mbyte pre program a 16Mbyte pre dáta. Keďže adresy sú tvorené ako 16-bitové, toto znamená stránkovaný prístup, ktorý však má rozsiahlu podporu v hardware. Napríklad 4-bitový stránkový register pre program má rovnako ako PC svoju sadu link registrov (pre volanie podprogramu a pre prerušenia), ktoré sa rovnako dajú ukladať na zásobník. Navyše je tento "rozšírený model" vypnuteľný, t.j. programy, ktoré si vystačia so 64kB programového priestoru, ho môžu úplne ignorovať. Prístup k dátovým stránkam je prostredníctvom inštrukčného prefixu, ktorým sa dá nastaviť explicitná stránka alebo použiť predtým použitá stránka; pričom neprefixované inštrukcie pristupujú do defaultnej (nultej) stránky.

Z hľadiska počtu cyklov je U8 tiež na pomedzí CISC a RISC - jednoduchšie operácie trvajú 1-2 cykly, a to vrátane skokov, volaní podprogramov a návratov z nich; avšak presuny do/z pamäte a dokonca aj medzi registrami a špeciálnymi registrami trvajú aj prekvapujúci počet cyklov, niektoré vyše 10 (treba však podotknúť, že toto sa týka operácií napr. so štvoricami registrov, prípadne v kombinácii s nepriamym prístupom), naviac za určitých okolností sa vkladajú ešte ďalšie waitstate.

Základnú dokumentáciu jadra, nX-U8/100 Core Instruction Manual, Lapis Semiconductor bohužiaľ nezverejňuje, aj keď je na ňu odkazované v jednotlivých datasheetoch. Dá sa však nájsť hľadaním na internete (tento dokument je ešte nadpísaný "OKI Semiconductor").

K dispozícii je vývojové prostredie (IDE) spolu s asemblerom a prekladačom C zvaným CCU8, debuggerom, knižnicami pre periférie a vzorovými projektami (táto časť webu si vyžaduje prihlásenie). Časť obvodov má integrovaný on-chip debugger ku ktorému existuje adaptér (uEASE), a podľa prezentácie existuje aj plnohodnotný emulátor (s nádherným menom Dr.U8 ICE ). Samozrejme sa dajú zakúpiť aj vývojové dosky pre jednotlivé modely mcu.

Dostupnosť
Bohužiaľ, obvody firmy Lapis Semiconductor nie sú bežne dostupné u obvyklých distribútorov, a záujemcovia pravdepodobne musia kontaktovať priamo výrobcu, pričom sa zdá nepravdepodobné, že by bolo možné ľahko získať obvody v malých množstvách. Distribútori ako Mouser a Digikey síce majú časť portfólia vo svojich zoznamoch, avšak všetky so skladovým stavom 0 a minimálnym objednávacím množstvom v celých baleniach (tisícoch). Týmto sa Lapis Semiconductor nijako nevymyká postupu ostatných japonských výrobcov polovodičov. Uvidíme, či sa na tomto v blízkej budúcnosti niečo zmení, a či si budeme môcť tieto nepochybne zaujímavé obvody vyskúšať aj v praxi.



Táto novinka je z mikroZONE
( http://www.mikrozone.sk/news.php?extend.920 )