Novinka:Microchip: PIC16F188xx
(Kategória: Semiconductor-ZONE)
Zaslal wek
15.12.2015-00:54

Mikrokontroléry s 32-bitovými jadrami ťažia zo zmenšujúcich sa rozmerov prvkov na čipe, a tým lacného veľkého množstva tranzistorov. Nie je dôvod, prečo by to isté nemohli robiť aj výrobcovia 8-bitových mcu. Microchip, tradičný výrobca 8-bitových mcu PIC vytiahol do boja s nasadením množstva prekvapivo inovatívnych periférií. Dobrou ukážkou tohto trendu je nový rad PIC188xx.

Z celej plánovanej rodiny, ktorá má byť v širokom spektre puzdier a s FLASH do 56kB (t.j. 32kW - inštrukčné slovo u moderných PIC16 je 14-bitové) a s RAM do 4kB je momentálne k dispozícii dvojica PIC16F18855/75 (a ich 3-voltová varianta s infixom LF) s 14kB (8kW) FLASH a 1kB RAM v 28- a 40/44-pinových puzdrach (zahrňujúcich DIP, SO, SSOP, QFN aj QFP), a tak sa v opise zameriame práve na ne.



Vlastnosti
  • Enhanced Mid-range Core with 49 Instruction, 16 Stack Levels
  • Adjustable Internal Oscillator (up to 32MHz)
  • 2x 10-bit PWMs, 5x Capture, Compare, PWM (CCP)
  • Complementary Waveform Generator (CWG)
  • Numerically Controlled Oscillator (NCO)
  • 4x Configurable Logic Controller (CLC)
  • 10-bit ADC with Computation (ADC2)
  • 5-bit Digital to Analog Converter (DAC)
  • Data Signal Modulator (DSM)
  • Zero Cross Detect (ZCD)
  • Cyclical Redundancy Check (CRC/SCAN)
  • Windowed Watchdog Timer (WWDT)
  • Three 8-Bit Timers (TMR2/4/6) with Hardware Limit Timer (HLT) Extensions
  • Four 16-Bit Timers (TMR0/1/3/5)
  • EUSART, RS-232, RS-485, LIN compatible
  • Two SPI
  • Two I2C, SMBus, PMBus™ compatible
  • 2.3V – 5.5V (F) / 1.8V – 3.6V (LF)


Ako je to uvedené aj v zozname vlastností, jadro je stále podobné klasickým typom PIC16, avšak s vylepšeniami oproti staručkým mcu triedy PIC16F5x. Zásobník je síce stále hardwarový, ale narástol z dvoch na použiteľných 16 úrovní a má ochranu proti pre- aj pod-tečeniu, ba dokonca sa dá k nemu aj pristupovať z procesora. Aj inštrukcií pribudlo - už ich nie je "only 33" ale "only 49". Okrem iného pribudlo niekoľko ďalších shiftov, relatívny skok, nepriamy skok a volanie podprogramu (použiteľné ako tabuľkový skok/volanie) a inštrukcie pre nepriamy prístup do pamäte. Tie sú dôležité, lebo pôvodný stránkovaný prístup je pre väčšiu RAM aj veľké množstvo periférnych registrov nepraktický (aj keď stále implementovaný ako alternatíva); teraz je k dispozícii 16-bitový adresný register a prostredníctvom neho sú RAM spolu s periférnymi registrami prístupné v linearizovanom nepriamom adresnom priestore.

V mcu sa dajú tiež jednotlivým perifériám priraďovať rôzne piny, táto vlastnosť je označená skratkou PPS (Peripheral Pin Select).




Core Independent Peripherals
Čo si pod tými netradičnými perifériami vlastne Microchip predstavuje?

Cyclical Redundancy Check (CRC/SCAN)
Toto je pomerne štandardná jednotka pre výpočet 16-bitového CRC, s nastaviteľným polynómom, počiatočnou hodnotou aj smerom posuvu. Zaujímavosťou je, že okrem bežného režimu, keď užívateľ zadáva dáta jednu po druhej do určeného registra, táto jednotka vie aj tzv. SCAN mód, keď sama prechádza programovou pamätou a počíta jej CRC. Tento mód má 3 režimy: buď úplne zastaví procesorové jadro, alebo ho pozastavuje "na striedačku", alebo využíva len tie okamihy, keď procesor vykonáva inštrukciu, ktorá nepristupuje k programovej pamäti.



Capture/Compare/PWM (CCP/PWM)
Jedná sa o 5 capture-compare jednotiek (a naviac dve jednotky ktoré sú PWM-only). Capture/Compare využíva 16-bitový register a je naviazaný na jediný timer, Timer1. Capture má preddeličku 1-4-16 na vstupe a voliteľnú hranu. Compare môže ovládať pin toggle/set/clear, spustiť konverziu ADC alebo vygenerovať prerušenie. PWM režim môže využívať jeden z 3 registrov Timer2/4/6.


Data Signal Modulator (DSM)
Táto jednotka umožní zmiešať sériový dátový tok, t.j. modulačný signál (napr. z UARTu, ale aj iné zdroje sú možné, napr. externý pin alebo výstup Capture/Compare jednotky a iné) s periodickým hodinovým signálom (t.j. nosnou, napr. z časovača alebo PWM jednotky). Je možné takto generovať bez zásahu softwaru modulácie typu FSK/PSK/OOK ale aj iné.


Complementary Waveform Generator (CWG)
Je to jednotka určená na budenie výkonových tranzistorových mostíkov. Umožňuje pre výstup z Capture/Compare/PWM jednotiek generovať komplementárny signál s vloženým dead-time v niekoľkých režimoch, ako aj (núdzovo) vypnúť výstupy softwarovo alebo z externého vstupu.



Zero Cross Detection (ZCD)
Táto jednotka zo vstupného striedavého napätia detekuje prechod nulou a môže pri tejto udalosti vygenerovať prerušenie.


Numerically Controlled Oscillator (NCO)
Jedná sa o DDS jednotku (t.j. akumulátor s nastaviteľnou veľkosťou inkrementu) s jednobitovým výstupom. Výstup môže byť tvarovaný očasovaním pulzu alebo vydelením. Výstup môže byť potom vyvedený na pin alebo ako vstup do iných periférií.


Configurable Logic Controller (CLC)
Jedná sa o miniatúrnu logiku v duchu FPGA. Mcu obsahuje 4 jednotky, každá z nich má charakter jednej LUT a môže vykonávať voliteľnú logickú funkciu na 4 signáloch vybraných vstupným multiplexorom z množstva interných a externých signálov. Výstup môže byť vyvedený na externý pin alebo použitý ako vstup do iných jednotiek.


ADC with Computation (ADC2)
Jedná sa o 10-bitový ADC, ktorý okrem bežných funkcií má naviac:
  • režim kapacitného deliča, vhodný napríklad pre touch aplikácie
  • jednotku automatického spúšťania a sekvencovania
  • výpočty: priemerovanie a filtrovanie
  • 2-úrovňový prahový komparátor



IO Piny
Samotné vstupno-výstupné piny sú tiež zaujímavou oblasťou pre vylepšenia. Jednotlivým pinom sa dá nastaviť:
  • Input level selection control (ST or TTL)
  • Pull-up
  • Interrupt-on-change with edge-select
  • Output slew rate control
  • Digital open- drain enable
  • Current mode enable


Pristavme sa pri poslednej položke - piny sa daju prestaviť do režimu prúdového výstupu. Znamená to, že sa dajú k pinom pripojiť napríklad LED bez potreby sériového rezistora. Obmedzením je, že všetky piny zdieľajú jednu konkrétn prúdovú úroveň, ktorú však je možné nastaviť na 1, 2, 5 alebo 10mA. Potom sa pre individuálne piny dá voliť, či má byť v prúdovom režime pri výstupe nuly alebo/aj jedničky. Pochopiteľne, tento režim zaťažuje výstupné tranzistory výkonovo výrazne viac než bežný "saturovaný" režim, na čo datasheet upozorňuje trocha zmäteným spôsobom (predpisujú externý sériový rezistor - presne ten ktorému sme sa chceli vyhnúť); na detaily v parametroch z ktorých by bolo možné usúdiť na presné podmienky použitia tohoto režimu si však bohužiaľ musíme počkať, keďže datasheet je ešte len preliminary a potrebné údaje zatiaľ uvedené nie sú.

Cena
Ceny sú veľmi príjemné, napríklad PIC16F18875-I/P (t.j. DIP40) je okolo $2 v kusovke (a asi o štvrťák menej pri stovke) priamo u Microchipu. Menší PIC16F18855 by mal v 28-pinových puzdrách stáť okolo poldruha dolára pri stovkovom množstve. Z klasických malo-distribútorov ich má zatiaľ len Mouser v o málo vyššej cene a silne obmedzenom sortimente, ale jedná sa o pomerne horúcu novinku, a tak sa zrejme tento stav časom upraví.

Na článku spolupracoval jaromír, za čo mu ďakujem.

Distribúcia
viď. Adresár


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