Prehľad architektúry PSoC: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
d
 
(13 medziľahlých úprav od 3 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
Mikroprocesory PSoC (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.  
+
[[Kategória:Konfigurovateľné mikroprocesorové systémy]]
 +
[[Kategória:Úvod do technológie PSoC ]]
 +
__NOTOC__
 +
{{sablona_mikroprocoserove_systemy|Úvod do technológie PSoC|Prehľad architektúry PSoC|Elektrické a mechanické parametre architektúry PSoC|Vývojové prostredie pre systémy PSoC}}
 +
'''Mikroprocesory PSoC''' <ref>http://www.cypress.com</ref> (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.  
  
 
== Vnútorná štruktúra PSoC ==
 
== 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.  
+
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 ([http://sk.wikipedia.org/wiki/FLASH FLASH]), pamäťou dát ([http://sk.wikipedia.org/wiki/Pam%C3%A4%C5%A5_s_priamym_pr%C3%ADstupom 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.  
 
<center>  
 
<center>  
 
{|class="wikitable"
 
{|class="wikitable"
Riadok 14: Riadok 18:
 
== M8C – procesorové jadro ==
 
== M8C – procesorové jadro ==
  
Na Obr. 1.2 sú zobrazené prvky architektúry jadra PSoC. Procesor je 8-bitový a dokáže spracovať až 4 milióny inštrukcií za sekundu.
+
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.  
+
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äť. [http://sk.wikipedia.org/wiki/Procesor Procesor] je pripojený k viacerým digitálnym a analógovým blokom, ktoré poskytujú funkcionalitu a flexibilitu charakteristickú pre celú rodinu PSoC.  
  
 
<center>  
 
<center>  
Riadok 21: Riadok 25:
 
| align="center" | [[Image:Pagac_JadroPSoC.png]]
 
| align="center" | [[Image:Pagac_JadroPSoC.png]]
 
|-
 
|-
| align="center" | Obr. 1.2 Jadro PSoC
+
| align="center" | Obr. 2.1 Jadro PSoC
 
|}
 
|}
 
</center>
 
</center>
Riadok 27: Riadok 31:
 
=== Registre procesora M8C ===
 
=== 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.
+
'''M8C''' je 8-bitový [http://sk.wikipedia.org/wiki/Mikroprocesor mikroprocesor] MIPS harvardskej architektúry s voliteľnou hodinovou frekvenciou od 93.7 kHz do 24 MHz. Má päť vnútorných [http://sk.wikipedia.org/wiki/Register_(procesor) registrov], ktoré sú využívané pri vykonávaní programu.
  
 
<center>  
 
<center>  
Riadok 33: Riadok 37:
 
| align="center" | [[Image:Pagac_registreprocesora.png]]
 
| align="center" | [[Image:Pagac_registreprocesora.png]]
 
|-
 
|-
| align="center" | Obr. 1.3 Registre procesora M8C
+
| align="center" | Obr. 2.2 Registre procesora M8C
 
|}
 
|}
 
</center>
 
</center>
Riadok 39: Riadok 43:
 
=== Štruktúra pamäte 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.
+
M8C má tri adresné priestory: [http://sk.wikipedia.org/wiki/ROM ROM], RAM a registre. K adresnému priestoru ROM pristupujeme cez jeho vlastné adresy a dátovú [http://sk.wikipedia.org/wiki/Zbernica#Zbernica_po.C4.8D.C3.ADta.C4.8Da 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.
  
 
<center>  
 
<center>  
Riadok 45: Riadok 49:
 
| align="center" | [[Image:Pagac_adresnypriestor.png]]
 
| align="center" | [[Image:Pagac_adresnypriestor.png]]
 
|-
 
|-
| align="center" | Obr. 1.4 Adresný priestor
+
| align="center" | Obr. 2.3 Adresný priestor
 
|}
 
|}
 
</center>
 
</center>
Riadok 55: Riadok 59:
 
== Digitálne a analógové bloky PSoC ==
 
== 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 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''' <ref>http://www.lubino.sk/rs/3/files/diplomka_-_ubo.pdf</ref> 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 [http://sk.wikipedia.org/wiki/Application_programming_interface API] funkcií.
 +
 
 +
* PWMs (8 to 32 bit)
 +
* [http://www.cypress.com/?docID=19560 PWMs with Dead band (8 to 32 bit)]
 +
* [http://www.cypress.com/?docID=19121 Counters (8 to 32 bit)]
 +
* [http://www.cypress.com/?docID=19152 Timers (8 to 32 bit)]
 +
* [http://www.cypress.com/?docID=19130 UART 8 bit with selectable parity (up to 2)]
 +
* [http://www.cypress.com/?docID=19104 SPI slave and master (up to 2)]
 +
* [http://www.cypress.com/?docID=20823 I2C slave and multi-master (1 available as a System Resource)]
 +
* [http://www.cypress.com/?docID=16559 Cyclical Redundancy Checker/Generator (8 to 32 bit)]
 +
* [http://www.cypress.com/?docID=19131 IrDA (up to 2)]
 +
* [http://www.cypress.com/?docID=19082 Pseudo Random Sequence Generators (8 to 32 bit)]
  
 
=== Analógové bloky ===
 
=== Analógové bloky ===
  
Na rozdiel od digitálnych blokov, kde blok z užívateľského hľadiska vlastne predstavuje sústavu registrov v ktorých sa zvolí funkcia bloku, sú analógové bloky v podstate založené na obvodovom zapojení obsahujúce jeden operačný zosilovač (OZ) obklopený rôznymi, vo vnútri integrovanými, súčiastkami pripojovanými k OZ cez programovateľné spínače. Tie sú už ovládané nastavením bitov registrov bloku prístupné užívateľovi. Takto je možné u každého bloku definovať použité vstupy i spätné väzby. Analógové bloky: PGA, komparátory, ADC 6-14 bitov, rôzne konfigurácie, DAC 6-9 bitov, DAC 6-9 bitov.
+
'''Analógové bloky''' <ref>http://www.lubino.sk/rs/3/files/diplomka_-_ubo.pdf</ref> 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)
  
=== Digitálne bloky ===
+
Zoznam analógových blokov:
 +
 
 +
* Analog-to-digital converters (up to 4, with 6- to 14-bit resolution, selectable as Incremental, Delta Sigma, and SAR)
 +
* Filters (2, 4, 6, and 8 pole band-pass, low-pass, and notch)
 +
* Amplifiers (up to 4, with selectable gain to 48x)
 +
* [http://www.cypress.com/?docID=16708 Instrumentation amplifiers (up to 2, with selectable gain to 93x)]
 +
* Comparators (up to 4, with 16 selectable thresholds)
 +
* DACs (up to 4, with 6- to 9-bit resolution)
 +
* Multiplying DACs (up to 4, with 6- to 9-bit resolution)
 +
* High current output drivers (four with 30 mA drive as a Core Resource)
 +
* 1.3V reference (as a System Resource)
 +
* [http://www.cypress.com/?docID=17257 DTMF Dialer]
 +
* Modulators
 +
* Correlators
 +
* Peak detectors
 +
* Many other topologies possible
 +
 
 +
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.
  
Digitálne bloky sú združené v poli digitálnych blokov (Array of Digital PSoC Blocks), pričom sú tu rôzne bloky (užívateľské modely) z pohľadu ich funkcie. Obecne však platí, že každý blok je 8bitový, ale združovaním viacerých blokov dohromady je možné vytvoriť viac bitovú funkciu, napr. 16, 24 alebo 32bitovú. Nutný je iba dostatočný počet blokov.
+
<references/>
Digitálny blok ako taký je z užívateľského hľadiska definovaný ako sada registrov, ktorými sa nastavujú vlastnosti daného bloku. Nie je teda možné, na rozdiel od obvodov FPGA a CPLD, predstavovať si konkrétne zapojenie blokov. Je len možné vymenovať funkcie, ktoré ktoré sa dajú registrami „zapnúť“. Obvykle sa blokmi poskytujú funkcie časovača, čítača, PWM, sériové vysielače a prijímače, UART, SPI, I2C, IrDA...
 

Aktuálna revízia z 09:41, 21. marec 2013


Predmet

Konfigurovateľné mikroprocesorové systémy
Tématická časť:
Úvod do technológie 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.

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.

Pagac struktura.png
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.

Pagac JadroPSoC.png
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.

Pagac registreprocesora.png
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.

Pagac adresnypriestor.png
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)

Zoznam analógových blokov:

  • Analog-to-digital converters (up to 4, with 6- to 14-bit resolution, selectable as Incremental, Delta Sigma, and SAR)
  • Filters (2, 4, 6, and 8 pole band-pass, low-pass, and notch)
  • Amplifiers (up to 4, with selectable gain to 48x)
  • Instrumentation amplifiers (up to 2, with selectable gain to 93x)
  • Comparators (up to 4, with 16 selectable thresholds)
  • DACs (up to 4, with 6- to 9-bit resolution)
  • Multiplying DACs (up to 4, with 6- to 9-bit resolution)
  • High current output drivers (four with 30 mA drive as a Core Resource)
  • 1.3V reference (as a System Resource)
  • DTMF Dialer
  • Modulators
  • Correlators
  • Peak detectors
  • Many other topologies possible

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.