180 likes | 321 Views
FAKULTETA ZA ELEKTROTEHNIKO, RA Č UNALNIŠTVO IN INFORMATIKO 2000 Maribor, Smetanova ul. 17. UNIVERZA V MARIBORU. Sistemi s celoštevilsko aritmetiko eZdsp TM LF2407. Dejan KOS. Pregled vsebine:. Uvod prednosti in slabosti procesorjev s celoštevilsko aritmetiko.
E N D
FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO 2000 Maribor, Smetanova ul. 17 UNIVERZA V MARIBORU Sistemi s celoštevilsko aritmetiko eZdspTM LF2407 Dejan KOS
Pregled vsebine: • Uvod • prednosti in slabosti procesorjev s celoštevilsko aritmetiko. • Opis kartice eZdsp LF2407 • splošne značilnosti in možnost uporabe. • Programiranje DSP kartice • blokovni (grafični) in tekstovni način programiranja. • Problematika celoštevilske aritmetike • skaliranje vrednosti, prekoračitev vrednosti v registrih, pogreški, ter metode in orodja za odpravljanje slabosti celoštevilske aritmetike. • Predstavitev regulacije z DSP kartico • regulacija člena drugega reda • Zaključek Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Uvod • Kljub vedno večji priljubljenosti digitalnih signalnih procesorjev (DSP-jev) s plavajočo vejico, so nekatera področja uporabe še zmeraj rezervirana za procesorje s celoštevilsko aritmetiko. • DSP-ji s celoštevilsko aritmetiko: • relativno poceni, • podatkovne povezave so hitre, • že vsebujejo periferijo, • majhna poraba energije, • operacije samo s celimi števili. • DSP-ji s plavajočo vejico: • neprimerno dražji, • nekatere povezave so počasnejše, • ne vsebujejo periferije, • bistveno večja poraba energije, • omogočajo operacije z realnimi števili. Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Opis kartice eZdsp LF2407 • Jedro je digitalni signalni procesor (DSP) s celoštevilsko aritmetiko proizvajalca Texas Instruments, • omogoča procesiranje v sprotnem času (angl. real-time), • zasnovana je za digitalno regulacijo enosmernih, asinhronskih in reluktančnih motorjev, • uporablja se lahko v mikroprocesorskem (v fazi razvoja) ali v mikrokrmilniškem (običajno kot končni produkt) režimu delovanja, • 40 MIPS (pri 40 MHz), • 4 časovniki, • 2 kW SARAM (interni) in 544 W DARAM (interni), • 64 kW SRAM (eksterni – na kartici), • 32 kW FLASH (interni), • SCI, SPI in CAN. Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Priključki kartice eZdsp LF2407 Priključek P6: Razširitveni vmesnik Procesor (DSP): TMS320 LF2407 Priključek P9: Paralelna vrata Priključka P1/P7: 16 analognih vhodov • Priključka P2/P8: • 4 neodvisnih PŠM signalov, • 2 x 6 sinhroniziranih PŠM signalov, • 6 x 8 binarnih I/O enot, • SCI, SPI, CAN Napajanje 5V Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Programiranje DSP kartice • Grafični oz. blokovni način programiranja s programom VisSim: • vsebuje bloke lastne ciljnemu sistemu (DSP kartici), • omogoča kreiranje lastnih blokov iz osnovnih funkcij, • generiranje C kode in zagon algoritma na DSP kartici v sprotnem času, • kodo lahko generiramo za celoten sistem ali za posamezen blok (podsistem), • uporaben kot simulacijsko orodje (podobno kot program Simulink). Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Tekstovni način programiranja v ANSI C programskem jeziku v programu Code Composer: vključevanje knjižnic, datotek in uporaba funkcije razhroščevanja, generiranje in nalaganje izvršne kode na ciljni sistem, vstavljanje prekinitev in izvrševanje programa po vrsticah (single step ali trace mode), opazovanje vrednosti spremenljivk in izris pomnilniškega prostora DSP kartice v obliki grafa, grafična – barvna ločitev funkcijskih enot programa. Programiranje DSP kartice Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Problematika celoštevilske aritmetike • Omejena dolžina besede (angl. finitive wordlenght). • Število bitov s katerimi je mogoče predstaviti številske vrednosti je odvisno od izbire procesorskega sistema (8, 16, 32,…bitov). • Skaliranje vrednosti – izbira skalirnega faktorja (angl. scale factor). • Desetiško število z decimalno vejico, se predstavi kot dvojiško število z decimalno vejico (normiranje s številom 2 – vejico postavljamo sami). • Prekoračitev vrednosti v registru (angl. overflow). • Prekoračitev vrednosti v registru ima za rezultat skok iz ene na drugo skrajno mejo registra (nujno je poznavanje dinamičnega območja sistema). • Kvantizacijski pogrešek (angl. quantization error). • Izguba ločljivosti zaradi diskretizacije sistema. • Pogrešek rezanja (angl. truncation error). • Rezultat produkta npr. 16x16 bitov je potrebno shraniti v 16-bitni register, za kar je potrebno spodnjih 16 (LSB) odrezati. Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Skaliranje vrednosti • Uporabljeno je normiranje s potencami števila 2. • Decimalna vejica je na vnaprej določenem mestu (odvisno od izbire skalirnega faktorja). • Rezultat v 16-bitni besedi ima eden znakovni bit i celoštevilskih bitov in 15-i decimalnih bitov. • Potrebne so ustrezne poravnave rezultatov. Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Računske operacije Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Simulink (Fixed-Point Blockset) • Omogoča izvajanje simulacij v celoštevilski aritmetiki: • poznavanje dinamičnega območja sistema zmanjša možnost prekoračitve vrednosti v registrih, • vgrajena je funkcija avtomatskega skaliranja, s katero se optimalno nastavlja ločljivost vrednosti in rezultatov. Opozarja na prekoračitev vrednosti (angl. overflow) ali saturacijo na kateri od skrajnih mej registra, • proizvaja učinkovito kodo s celoštevilsko aritmetiko. Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Regulacijska proga • Vezalni načrt in blokovna shema regulacijske proge Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Regulacijska proga • Prenosni funkciji (proge in odprte zanke), ter KLK odprte zanke Kr = 1,7, Ti = 92 ms Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Zaprtozančni odziv (VisSim) • Odziv na stopnico s kompenzacija motnje (47 k), Ts = 1 ms Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Zaprtozančni odziv (Simulink) • Odziv na stopnico s kompenzacija motnje Ts = 1 ms Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Simulink (Fixed-Point Blockset) • Primer simulacijske sheme kot pripomoček za implementacijo algoritma (PI regulatorja). Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Učni pripomoček Sistemi s celoštevilsko aritmetiko eZdsp LF2407
Zaključek • Pri načrtovanju algoritmov v celoštevilski aritmetiki je pomembno: • uporabljati simulacijska orodja za določanje dinamičnega območja sistema, • izbirati zadosti visoke skalirne faktorje za ohranjanje ločljivosti in hkrati zadosti nizke za preprečevanje prekoračitve vrednosti v registrih, • če to procesorski sistem omogoča, uporabiti zaščito za primer prekoračitve vrednosti (angl. overflow mode), ki namesto preskoka vrednosti povzroči saturacijo rezultata na meji na kateri je prišlo do prekoračitve, • pri 16-bitnih sistemih potrebujemo enoto, ki omogoča začasno hranjenje 32-bitnega rezultata (ALE – aritmetična logična enota). Sistemi s celoštevilsko aritmetiko eZdsp LF2407