periferie dsc 56f802x a 56f803x
DESCRIPTION
Periferie DSC 56F802X a 56F803X. Ing. Zdeněk Pfof. Srovnávací tabulka rodiny 56F8000. - PowerPoint PPT PresentationTRANSCRIPT
Periferie DSCPeriferie DSC56F802X a 56F803X 56F802X a 56F803X
Ing. Zdeněk Pfof
Srovnávací tabulka rodiny 56F8000 Srovnávací tabulka rodiny 56F8000
Vlastnosti periferií budou rozebírány především pro DSC 56F8023 – vyšší modely mají popsané vlastnosti stejné, pouze více funkcí, více jednotek od jedné periferie
(viz. jednotka PIT), více vyvedených V/V na čipu (viz. ADC, GPIO)
Periferie rodiny 56F8000Periferie rodiny 56F8000 Analog-to-Digital Converter (ADC) Computer Operating Properly (COP) Inter-Integrated Circuit Interface (I2C) On-Chip Clock Synthesis (OCCS) Flash Memory (FM) General Purpose Input/Output (GPIO) Pulse Width Modulator (PWM) Scalable Controller Area Network (MSCAN) Joint Test Action Group Port (JTAG) Power Supervisor (PS) Queued Serial Communications Interface (QSCI) Queued Serial Peripheral Interface (QSPI) Quad Timer (TMR) Voltage Regulator (VREG) Programmable Interval Timer (PIT) Digital-to-Analog Converter (DAC) Comparator (CMP)
Probíhá po sběrnici IPBus – vnitřní sběrnice IPBus Bridge zajišťuje pravidelnou a synchronizovanou komunikace
mezi jádrem a pomalejšími periferiemi a incializuje přenos dat po sběrnici IPBus pouze na žádost od procesoru
Komunikace na straně procesoru je plně zřetězená, zatímco na straně periferií komunikace zřetězená není
Komunikace mezi periferiemi na čipu Komunikace mezi periferiemi na čipu (on-chip peripheral) a jádrem(on-chip peripheral) a jádrem
Analog Digital Converter (ADC)Analog Digital Converter (ADC)
Jádra 56F802X a 56F803X obsahují 2 A/D převodníky s parametry: 12 bitové rozlišení Max. hodinová frekvence ADC je 5,33MHz → perioda je 187ns Dokáže navzorkovat až 1,78 milionů vzorků za sekundu – v režimu
loop mode a simultatenous conversion! Čas pro převod jedné hodnoty je 1,59μs (8,5x187ns) Nejkratší čas pro navzrokování a převod je 1,125μs (6x187ns) na
dva vzorky (při paralelním módu - 2 ADC jednotky) V paralelním módu je potřeba na 8 vzroků 4,97μs (26,5x187ns) Umožňuje synchronizaci od PWM – vstupy SYNC0/1 Umožňuje vyvolat přerušení na konci převodu, při průchodu nulou
nebo při překročení dvou nastavitelných limitů (High limit, Low limit) Korekce vzorků odečtením od programovatelné hodnoty offset Znaménkový nebo bezznaménkový výsledek Jednoduché (single ended) nebo rozdílové (differential) vstupy
Popis funkce ADCPopis funkce ADC
2x 8 kanálů, dvě nezávislé S/H jednotky, dva oddělené 12bit AD převodníky Vyvedeny jsou pouze 2x3 kanály u 56F802X nebo 2x4 kanály u 56F803X
Operační módy: Once Sequential Once Parallel Loop sequential Loop parallel Triggered sequential Triggered parallel
Módy MUX jednotky: Sigle ended – ANA0-ANA7 Differential – ANA0/ANA1
Výstupy jsou normovány (12bit převodník → 16bit sběrnice) a uloženy do RSLTn registru – SAMPLE0 → RSLT0 RSLTn registr je 16 bitový (RSLT0-RSLT7 – ADC_A, RSLT8-RSLT15 – ADC_B) RSLT0-RSLT7 umožňuje korekci OFFST registrem – znaménkový výsledek
Start ADC (re-synchronizace)Start ADC (re-synchronizace)
Parallel simulataneous (souběžný) Oba převodníky startovány
stejným START bitem nebo SYNC signálem
Nemusíme čekat dalších pět systémových hodinových cyklů než začne převod
Parallel non-simulataneous (nesouběžný) Každý převodník startován vlastním
START bitem nebo SYNC signálem První převod nemusí čekat, ale druhý
musí počkat na vzestupnou hranu ADC hodinového signálu
Synchronizace ADC s PWMSynchronizace ADC s PWM
Vzrokování probíhá 2x za periodu PWM – snímá se střední hodnota proudu Vzorkování napomáhá filtraci měřeného proudu – tzv. antialiasing Při vypnutém spínacím prvku jsou vzorky bez šumu
Přerušení vyvolávaná ADCPřerušení vyvolávaná ADC
Každý kanál převodníku ADC_A má svůj vlastní programovatelný High limit registr, Low limit registr a zero-crossing registr, které při rovnosti hodnot vyvolá přerušení
Na konci převodu všech 8 kanálu z převodníku ADC_A i ADC:B je rovněž umožněno vyvolat přerušení
ADC umožňuje vyvolávat tato přerušení bez zásahu mikroprocesoru
Manipulace s daty result registremManipulace s daty result registrem
OFFST – nastavitelný OFFSET registr, který umožňuje znaménkovou korekci jedno polaritního signálu
RSLTn – výsledkové registry HILIM – High limit register (v předchozím obrázku označen jako Upper limit) LOLIM – Low limit register (v předchozím obrázku označen jako Lower limit) Zero crossing Logic - v předchozím obrázku označen jako Threshold limit
General Purpose Input/Output (GPIO)General Purpose Input/Output (GPIO)
Obsahuje 26 V/V bran, které jsou po 8 rozděleny jako GPIO_A, GPIO_B, GPIO_C, GPIO_D
GPIO jsou multiplexované V/V s periferiemi, nacházejí se na všech pinech DSC kromě napájecích pinů
GPIO umožňuje přímé čtění/zápis z/na vstupně/výstupních pinů a dále se dají využít jako vstup pro externí přerušení
Jsou optimalizování pro připojení klávesnice Každý GPIO je nastavitelný jako vstup nebo výstup
Vstup má módy s, nebo bez, pull-up rezistoru Výstup má módy push-pull, open drain nebo high strength (4mA nebo
8mA) GPIO při nastavení jako vstup umí pracovat s 5V logikou Při nastavení jako vstup lze při hraně generovat přerušení – citlivost na
hranu je nastavitelná Při nastavení jako výstup lze nastavit počáteční hodnotu na výstupu (H
nebo L) a poté aktivní v L nebo H
Schéma vstupů/výstupů DSC 8023
Pulse Width Modulator (PWM)Pulse Width Modulator (PWM)
Umožňuje PWM modulaci o frekvenci až 96MHz 6 PWM kanálů ve variantách - plně nezávislé nebo komplementární nebo
kombinace obou varinat Při komplementárním spojení kanálů umožňuje vkládat mrtvou dobu při náběžné i
sestupné hraně 15bitový up/down čítač s módy edge-alignment a center-alignment Nastavitelná perioda modulačního signálu – registr CMOD – counter modulos Nastavitelná šířka pulsu – registr VAL0-5 – PWM value Nastavitelná doba obnovení registrů PWM Nastavitelná polarita výstupů Nastavitelný PRESCALER pro snižování frekvence PWM Asymetrický mód Umožňuje synchronizaci od ADC nebo externího zdroje Ochrana registrů proti přepsání 4 programovatelné FAULT vstupy Kontrola polarity výstupů
Blokové schéma PWMBlokové schéma PWM
Výhody komplementárního zapojení výstupů – 0 & 1, 2 & 3, 4 & 5 Vkládání mrtvých dob Rozdílná polarita vrchního a spodního prvku Softwarová korekce rozdílnosti šířky pulsů Asymetrický PWM výstup
Blokové schéma komplementárních výstupů 3f střídač využívající komplementárních výstupů
Možnost využití rozdílnosti polarity
PWMPWM
Generování mrtvých dobGenerování mrtvých dob
Nastaveno generování mrtvé doby při náběžné i sestupné hraně
Rozdíl mezi jednotlivými směry proudu je značný a nemusí být vždy chtěný, proto lze provést korekci rozdílným
nastavením šířky pulsu pro horní nebo spodní spínač
Korekci lze nastavit v grafickém konfiguračním rozhraní, nebo bitem
IPOLn v registru CTRL (control register) zapsáním příslušné log. hodnoty
Asymetrické PWMAsymetrické PWM
Při komplementárním zapojení výstupů a čítače čítajícího v módu center-alignment lze využít asymetrickou PWM modulaci.
Pro čítání nahoru je využit registr VAL0 a pro čítání dolů registr VAL1.
Nastavení lze provést buď v grafickém konfiguračním rozhraní nebo bitem ICCn registru ICCTRL (Channel control register)
Ochrana proti chybám Ochrana proti chybám (Fault protection)(Fault protection)
Fault ochrana může vypnout libovolnou kombinaci PWM výstupů. Nevypíná však celou modulaci (ta běží dále), ale pouze vybrané výstupy logikou Fault.
Každý PWM výstup obsahuje 4 Fault vstupy a 4 registry DISMAP, které mapují výstupy PWM.
Dojde-li např. k přetečení registru VAL0 (nad hodnotu 7FFF), zaznamená to registr DISMAP0, na pinu Fault0 se vygeneruje log. 1 a výstup PWM0 bude odpojen. Pro obnovení činnosti PWM výstupu se musí vymazat bit Fault0 a na začátku nové periody bude PWM výstup opět spuštěn.
Pin Fault2 může taktéž sloužit pro externí synchronizaci PWM.
Quad Timer (TMR)Quad Timer (TMR)
Pracuje s hodinovým kmitočtem až 96MHz 4x 16bit čítače/časovače Možnost čítat směrem up i down Individuálně programovatelné Čítače lze spojit a vytvořit tak jeden 64 bitový čítač Umožňuje režim čítání „once“ nebo „repeatedly“ Umožňuje nastavit počáteční hodnotu, od které začne čítat Čítače můžou sdílet vstupní piny Každý čítač má svůj vlastní „prescaler“ Každý čítač má zachytávací a komparační jednotku Programovatelné chování během „debug“ módu Programovatelný vstupní filtr Začátek čítání může být synchronizováno jiným čítačem Má až 12 operačních módů – pro řadu 803X, pro řadu 802X
má 8 op. módů
Popis funkce - Quad TimerPopis funkce - Quad Timer
Dvě základní funkce QT: Čítání vnitřní nebo vnější události Čítá dle vnitřního hodinového kmitočtu, když vnější signál je přijat nebo
nastala vnější událost. Poté čítá s vnitřním hodinovým kmitočtem délku vnějšího pulsu nebo čas mezi vnějšími událostmi
Inputs – primary sourceOther Counters – secondary source
Módy- Quad TimerMódy- Quad Timer
Stop mode – nečítá, stojí Counting mode – čítá na náběžnou hranu na „primary source“, využívá se pro
generování periodického přerušení, pro časovací účely nebo pro čítání vnější události, možno invertovat vstupní polaritu – pak čítá na sestupnou hranu
Edge mode – čítá na jakoukoli hranu (vzestupná i sestupná) vnějšího signálu Gated mode – čítá, jestliže sekundární vstupní signál je ve stavu H. Změnou
vstupní polarity čítá při L. Vhodné např. pro čítání časové délky vnější události Quadrature mode – čítá na podnět primárního a sekundárního vstupu, které
jsou o 90° fáz. posunuty (např. inkrementální čidlo) Signed mode – čítá podle kmitočtu na „primary source“, zatímco „secondary
source“ určuje směr čítání (up/down) Triggered mode – čítá podle kmitočtu na „primary source“, jestliže na
„secondary source“ je náběžná/sestupná hrana. K zastavení dojde při komparační události nebo při další náběžné/sestupné hraně.
Cascaded counter mode (up/down) – spojení více časovačů v jeden, jeden čítá nahoru nebo dolů a druhý čítač je tím inkrementován nebo dekrementován
Programmable Interval Timer (PIT)Programmable Interval Timer (PIT)
Periodický 16 bitový čítač, který čítá neustále dokola, při přetečení se vrací na hodnotu 00000 a čítá znovu. Prescaler dělí systémový hodinový kmitočet a modulo nastavuje hodnotu, do které čítač čítá.
Vytváří periodické přerušení. Význam některých bitů:• PRF – Pit roll-over flag• PRIE – Pit roll-over interrupt enable• CNT_EN – Count Enable• MSTR_CNT_EN – při spojení více jednotek PIT
(použitelné u DSC 56F8025 a vyšší)
Digital-to-Analog Converter (DAC)Digital-to-Analog Converter (DAC)
Jednotka je vyvedena na piny čipu až u DSC 56F8037 12 bitová rozlišovací schopnost, napěťový rozsah od VSSA do VDDA
Výstup může být poslán na komparátor, ADC nebo na výstupní pin (8037) Automatic mode – umožňuje generovat trojúhelníkový, pilový, obdélníkový
signál bez zásahu procesoru
Příklad generování signálu pily a signálu obdélníku
Comparator (CMP)Comparator (CMP)
Dvě jednotky Zpoždění vstupního signálu 35ns Možnost výběru vstupního signálu – tři GPIO piny, DAC nebo druhý
komparátor Možnost nastavení polarity výstupního signálu Programovatelný nízko-pásmový filtr Možnost vyvolání přerušení při výstupní nástupné nebo sestupné hraně Výstup může být použit pro řízení časovačů, PWM faults, řízení PWM, zdroj
přerušení nebo pouze přesměrován na pin na čipu Hystereze musí být vnější
Příklad použití pro PWM fault_1
Comparator (CMP) - Blokové schéma Comparator (CMP) - Blokové schéma
Blokové schéma periferií a jejich Blokové schéma periferií a jejich vstupů a výstupůvstupů a výstupů
Děkuji za pozornostDěkuji za pozornost