Prehľad architektúry PSoC
Mikroprocesory PSoC [1] (Programmable System on Chip – Programovateľný systém na čipe) sa skladajú z konfigurovateľných blokov analógových obvodov a digitálnej logiky, ktoré sú vzájomne programovo prepojené. Uvedená architektúra umožňuje vytvárať zákaznícke konfigurácie mikroprocesora tak, aby boli splnené požiadavky potrebné na realizáciu jednotlivých aplikácií. Bloková schéma na Obr. 1.1 zobrazuje architektúru celej rodiny mikroprocesorov PSoC.
Obsah
Vnútorná štruktúra PSoC
Spoločnosť Cypress vyvinula niekoľko desiatok typov súčiastok typov PSoC. Líšia sa predovšetkým množstvom a druhom blokov, veľkosťou pamäti programu (FLASH), pamäťou dát (RAM), veľkosťou a druhom puzdier a ďalšími parametrami. V závislosti na type obsahujú 4-16 digitálnych a 3-12 analógových blokov.
![]() |
Obr. 1.1 Vnútorná štruktúra PSoC |
M8C – procesorové jadro
Na Obr. 2.1 sú zobrazené prvky architektúry jadra PSoC. Procesor je 8-bitový a dokáže spracovať až 4 milióny inštrukcií za sekundu. 8-bitová architektúra podporuje použitie až 64 kilobajtov pamäti Flash, v ktorej je uložená užívateľská aplikácia. Flash pamäť je „in-circuit programmable“, takže PSoC je možné programovať aj potom, ako je zapojený do dosky plošných spojov. Flash je zároveň aj „in-application programmable“, čo znamená, že mikroprocesor je schopný dynamicky meniť svoju vlastnú pamäť. Procesor je pripojený k viacerým digitálnym a analógovým blokom, ktoré poskytujú funkcionalitu a flexibilitu charakteristickú pre celú rodinu PSoC.
![]() |
Obr. 2.1 Jadro PSoC |
Registre procesora M8C
M8C je 8-bitový mikroprocesor MIPS harvardskej architektúry s voliteľnou hodinovou frekvenciou od 93.7 kHz do 24 MHz. Má päť vnútorných registrov, ktoré sú využívané pri vykonávaní programu.
![]() |
Obr. 2.2 Registre procesora M8C |
Štruktúra pamäte M8C
M8C má tri adresné priestory: ROM, RAM a registre. K adresnému priestoru ROM pristupujeme cez jeho vlastné adresy a dátovú zbernicu. ROM zahŕňa SROM a Flash pamäte. V pamäti Flash je uložený firmvér zariadenia a je rozdelená do 64-bajtových blokov. Používateľ nemusí ošetrovať prechod programu na ďalšiu pamäťovú stránku, pretože M8C automaticky zvyšuje 16-bitový register PC pri každej inštrukcii presahujúcej hranice aktuálnej stránky. V pamäti SROM je uložený program využívaný na spúšťanie PSoC, kalibrovanie obvodov a vykonávanie operácií s pamäťou Flash. Funkcie zabezpečované SROM sú volané z programu uloženého v pamäti Flash alebo pomocou programátora. Adresný priestor registrov je využívaný na konfigurovanie programovateľných blokov mikroprocesora. Skladá sa z dvoch 256-bajtových blokov. Na prepínanie medzi blokmi sa nastavuje bit XIO v registri F. Ak je F nastavený, zvolí sa blok1, ak nie je nastavený, zvolí sa blok0.
![]() |
Obr. 2.3 Adresný priestor |
Inštrukčné formáty
M8C má spolu sedem inštrukčných formátov, ktoré používajú inštrukcie o dĺžkach jeden, dva a tri bajty. Všetky bajty inštrukcie sú vyvolávané z programovej pamäte Flash, za použitia adries a dátovej zbernice, ktoré sú nezávislé od adries a dátovej zbernice používaných pre registre a prístup do pamäte RAM.
Digitálne a analógové bloky PSoC
Digitálne a analógové bloky sú moduly vytvorené z digitálnych a analógových prvkov, ktoré sú konfigurovateľné pre rôzne druhy operácií pomocou registrov špecifických pre každý blok.
Digitálne bloky
Digitálne bloky [2] redukujú potrebu použitia ďalších externých obvodov pre požadovanú funkcionalitu pripravovaného zariadenia. Sú určené na spracovávanie a generovanie hlavne digitálneho signálu. Dajú sa programovať a variovať tak, aby poskytovali funkčnosť štandardných elektronických integrovaných obvodov ako napríklad počítadlo, šírkový generátor pulzov, RS-232, IrDA, SPI, I2C príjem a binárnych dát, generátory pseudonáhodných čísel a iné. Taktiež sa používajú na prípravu požadovaného taktovacieho signálu pre analógové bloky, prípadne na spracovanie signálov z analógových blokov (možné prepojenie cez vstupno-výstupné piny). Ich činnosť je nezávislá na behu programu mikroprocesora, avšak môže byť moderovaná programom pomocou API funkcií.
Analógové bloky
Analógové bloky [3] sú taktiež zdrojom prostriedkov pre aplikácie, avšak orientované na spracovávanie a generovanie analógových signálov. Základom analógových blokov sú obvody spínače, prepínače, operačné zosilňovače a spínané kondenzátory. Každý analógový obvod ma viac potenciálne použiteľných vstupov a výstupov. K dispozícii sú vždy tieto tri výstupy:
- analógová výstupná zbernica (ABUS)
- porovnávacia zbernica (CBUS)
- výstupná zbernica (OUT)
Analógová výstupná zbernica je vodičom analógového signálu. Túto zbernicu spolu zdieľajú analógové bloky v jednom stĺpci. Keďže je takýchto stĺpcov viac, je viac aj zberníc tohoto typu. Vo väčšine modelov mikroprocesora sú 4. K tejto zbernici je pripojený analógový výstupný zásobník (Analog Output Buffer), ktorý v závislosti od nastavenia prepojí zbernicu s nastaveným analógovým výstupným pinom. Porovnávacia zbernica je digitálnou zbernicou a taktiež ju zdieľajú všetky analógové bloky v jednom stĺpci. Túto zbernicu nie je možné pripojiť na vstupno-výstupný pin, ale je možné pripojiť ju na vstup niektorého digitálneho bloku. Podobne aj výstupná zbernica je zdieľaná vrámci jedného stĺpca.