head

PIC12C5XX

1      Obecný popis. 1

2      Základní vlasnosti 2

2.1       CPU.. 2

2.2       Periférie. 2

3      Pouzdro. 3

4      Architektura. 4

5      Paměť. 5

5.1       Programová paměť. 5

5.2       Datová paměť. 6

6      Čítač/časovač TMR0. 7

7      Identifikační systém výrobků PIC12C5XX.. 8

 

1         Obecný popis

PIC12C5XX je rodina  levných, vysokovýkonných, 8-bitových, plně statických mikroprocesorů. Jsou založeny na technologii RISC (Reduce Instruction Set). Obsahují pouze 33 jednoslovných instrukcí. Všechny instrukce jsou jednocyklové (1ms), kromě programových skoků, které mají dva cykly.

            Mikrokolektrory PIC12C5XX jsou vybaveny speciálními rysy k redukci ceny a spotřebě. Power-On-Reset (POR) a Device Reset Timer (DRT) eliminují potřebu externích resetových obvodů. Obsahují čtyři konfigurace oscilátorů k výběru, včetně INTRC internal oscillator mode a power-saving LP (Low Power) oscilator mode.Power saving SLEEP mode, Watchdog Timer a kodová ochrana také zlepšují cenu, spotřebu a splehlivost.

            Mikrokolektrory PIC12C5XX jsou k dispozici jako One-Time-Programmable (OTP) verze.


2         Základní vlasnosti

2.1      CPU

·        pouze 33 jednoslovných instrukcí

·        všechny instrukce jsou jednocyklové, kromě programových skoků, které jsou dvoucyklové

·        velikost instrukčního slova: 12 bitů

·        velikost datového slova: 8 bitů

·        7 speciálních hardwarových registrů

·        dvouúrovňový hardwarový zásobník

·        přímé, nepřímé a relativní adresovací módy pro data a instrukce

·        vnitřní 4 Mhz RC oscilátor s programovatelnou kalibrací

·        paměť – srovnání Tab. 1.

Device

Paměť

EPROM program

ROM program

RAM data

EEPROM data

PIC12C508

512 x 12

 

25

 

PIC12C808A

512 x 12

 

25

 

PIC12C509

1024 x 12

 

41

 

PIC12C509A

1024 x 12

 

41

 

PIC12CE518

512 x 12

 

25

16

PIC12CE519

1024 x 12

 

41

16

PIC12CR509A

 

1024 x 12

41

 

Tab. 1 Seznam programové paměti (EPROM), datové paměti (RAM), paměti ROM a EEPROM pro mikrokolektroyr rodiny PIC12C5XX.

2.2      Periférie

·        8-bitový čítač/časovač reálného času (TMR0) s 8-bitovou programovatelnou předděličkou

·        automatický resetovací obvod při zapnutí napájení (POR: POWER ON RESET)

·        Watchdog Timer (WDT) s vlastním RC oscilátorem na čipu

·        1 000 000 krát možnost zápisu a mazání paměti EEPROM

·        uchování dat v EEPROM >40 let

·        nízko-příkonový SLEEP mode

·        možnost výběru oscilátoru

o       INTRC: vnitřní 4 MHz RC oscilátor

o       EXTRC: externí RC oscilátor

o       XT: standardní krystalový oscilátor

o       LP:  nízkofrekvenční oscilátor pro nízký příkon


3         Pouzdro

Obr. 1 PIN diagram PIC12C508/509.

 

název

pin

typ (I/O/P)

provedení

popis

GP0

7

I/O

TTL/ST

Obousměrný I/O port pro data.

GP1

6

I/O

TTL/ST

Obousměrný I/O port pro čítač.

GP2/T0CKI

5

I/O

ST

Obousměrný I/O port.

GP3/MCLR/Vpp

4

I

TTL/ST

Vstupní port.

GP4/OSC2

3

I/O

TTL

Obousměrný I/O port, výstup krystalového oscilátoru.

GP5/OSC1/CLKIN

2

I/O

TTL/ST

Obousměrný I/O port, vstup externího krystalového oscilátoru

VDD

1

P

-

Kladné napájení

VSS

0

P

-

Napájecí zem

Tab. 2 Obecný popis PIN výstupů pouzdra PIC12C5XX.


4         Architektura

Vysoká výkonnost mikrokolektorů PIC12C5XX muže být přisouzena mnohým vlastnostem společných v RISC mikroprocerorech. PIC12C5XX používá Hardvarovou architekturu, ve kterém jsou program a data odděleny . Oddělením programové a datové paměti umožňuje instrukcím mít rozdílnou velikost než 8-bitová šířka datových slov. Instrukce jsou 12-bitové a umožňují mít všechny instrukce jednoslovné a proveditelné během jednoho cyklu. To neplatí pro instrukce provádějící větvení programu. Ty vyžadují dva instrukční cykly.

Seznam programové paměti (EPROM), datové paměti (RAM), paměti ROM a EEPROM pro každý mikrokolektror rodiny PIC12C5XX je v Tab. 1

Obr. 2 Blokové schéma PIC12CXX.

PIC12C5XX může přímo či nepřímo adresovat jeho pole registrů a datovou paměť. Všechny speciální funkce registrů včetně programového čítače jsou namapovány (promítnuty, zapsány) v datové paměti.

PIC12C5XX obsahuje 8-bitovou ALU a pracovní registr W. ALU je obecně účelová aritmetická jednotka (Obr. 2). Vykonává aritmetické a Booleanovy fukce mezi daty v pracovním registru a v nějakém poli registrů. ALU je schopná sčítat, odčítat, posouvat obsah registru a počítat logické operace. V jednoduchých operacích je jedním z operadnů prtacovní registr W. Druhým operandem je buď registr polí nebo nezávislá konstanta. V závislosti na vykonaných instrukcích, ALU ovlivňuje hodnotu registru STATUS:

·        C (carry - přenos)

·        DC (Digit Carry - přenos mezi čísly, 4 bit v bytu je 1 číslo)

·        Z (Zero - příznak nulového výsledku)

 


5         Paměť

PIC12C5XX paměť je rozdělena do programové a datové paměti. Pro mikrokolektrory, které mají více než 512 bytů programové paměti, je paměť rozdělena stránkováním. Programová paměťové stránky jsou přístupné s pomocí jediného registru STATUS.

Obr. 3 Schéma programové paměti a zásobníku.

5.1      Programová paměť

            PIC12C5XX má 12-bitový paměťový čítač (PC) schopný adresovat 2K x 12 bitů paměťového prostoru. Ale pouze prvních 512 x 12 (pro PIC12C508, 508A, E518) nebo 1K x 12 (pro PIC12C5509, 509A, R509A, E519) je fyzicky přítomno. Pokus o přístup na paměťové místo, které není fyzicky přítomno, způsobí návrat. Aktivní RESET vektor je na adrese 000h. Poslední adresa 01FFh (pro PIC12C508, 508A, E518) a 03FFh (pro PIC12C5509, 509A, R509A, E519) obsahují hodnotu vnitřní kalibrace hodinového oscilátoru. Tato hodnota nesmí být přepsána.

5.2      Datová paměť

Obr. 4 Mapa registračního pole PIC12C508, PIC12C508A a PIC12CE518.

Paměť dat je složena z registrů nebo bytů paměti RAM. To znamená, že datová paměť je specifikována svým vlastním registračním polem. Registrační pole je rozděleno do dvou skupin: speciální funkční registry a obecné účelné registry. Speciální funkční registry obsahují TMR0 registr, programový čítač (PC), Status registr, I/O registr (porty) a File Select Registr (FSR). Navíc, speciální účelné registry jsou používány k řízení konfigurace vstupně/výstupních portů. Obecné účelové registry jsou využity pro data a řízení informací pod příkazem instrukcí.


6         Čítač/časovač TMR0

Modul Timer0 (Obr. 5) má následující vlastnosti:

·        8-bitový registr čítač/časovač, je povoleno čtení obsahu i zápisu do registru

·        8-bitový programovatelný předdělič

·        výběr mezi vnitřním nebo vnějším zdrojem hodinového signálu

Timer mode je vybrán odstraněním (???) TOCS bitu. V časovém módu, modul Timer0 se zvětší při každém cyklu. Pouze pokud nebude použit předdělič. Pokud je do registruTMR0 zapsáno, je zvýšení jeho obsahu povoleno až po po dvou následujících instrukčních cyklech.

V režimu Čítač je vybrán nastavením TOCS bit. V tomto módu, Timer0 vzroste s každou vzestupnou či sestupnou hranou na vývodě T0CKI. Bit TOSE určuje zdroj hran.

Předdělič může být použit buď jako modul Timer0 nebo jako Watchdog Timer, ale nemůže být použit  současně. Předdělič není možno číst ani do něj zapisovat, Pokud je předdělič přiřazen k funkčnímu modulu Timer0, je možno si vybrat mezi hodnotami 1:2, 1:4,…, 1:256.

Obr. 5 Blokový diagram TIMER0.


7         Identifikační systém výrobků PIC12C5XX

table

Pavel Čapek, Marek Genčev 2000