Mikrokontroler dsPIC30F4011, kompanije Microchip, je tipičan primer mikrokontrolera namenjenog upravljanju energetskim pretvaračima. Ovaj mikrokontroler je dovoljno brz i ima sve funkcije i periferijske blokove potrebne za upravljanje većinom energetskih pretvarača.
Osnovne karakteristike dsPIC30F4011 su:
• Modifikovana RISC CPU (Reduced Instruction Set Controler), 84 instrukcije
• Modifikovana Harvard arhitektura magistrala (omogućava paralelan prenos instrukcija i podataka ka CPU)
• 24-bitna širina instrukcija, 16-bitna širina memorijskog prostora
• 48 KB FLASH – memorije za program (16K instrukcija)
• 2 KB interne RAM – memorije za podatke
• 16 x 16-bita radnog registarskog niza – interni registri za rad sa podacima i privremeno čuvanje rezultata
• 1 KB EEPROM – memorije za čuvanje programa i/ili parametara
• Do 30 MIP operacija:
– DC do 40 MHz na ulazu spoljnog (eksternog) takta
– 4 MHz-10 MHz na ulazu oscilatora sa aktivnim PLL (4x, 8x, 16x)
• 30 izvora prekida
– 3 spoljnih izvora prekida
– 8 korisnički izabranih nivoa prioriteta za svaki izvor prekida
Funkcionalni blok dijagram mikrokontrolera dsPIC30F4011 je preuzet iz korisničkog uputstva i dat na slici br. 1.
Slika br.1 Blok dijagram mikrokontrolera dsPIC30F4011
Blok dijagram na slici br.1 na prvi pogled izgleda prilično komplikovano. Na sreću, njega ni ne treba razumeti u potpunosti, neophodno je samo razumevanje rada pojedinih blokova i osnovnih veza između tih blokova. Na blok dijagramu je neophodno uočiti sledeće funkcionalne oblasti i blokove:
Blok za procesiranje signala
Blok sadrži 16×16 W reg registarsku oblast, DSP engine, ALU jedinicu i Divide jedinicu. Kod mikrokontrolera namenjenog za upravljanje pretvaračima neophodno je izvršenje velikog broja operacija u realnom vremenu. Iz toga razloga su značajne DSP karakteristike uređaja (funkcije za procesiranje digitalnih signala – matematika, logika, pomeranje, etc). Opremljen gore pomenutim blokovima, DSP deo unutar dsPIC30F4011 podržava:
• Dualno sakupljaje podataka (dve magistrale za operande)
• Povratna informacija akumulatora za DSP operacije
• Dva akumulatora, 40-bitne širine sa opcionom logikom zasićenja
• Sve DSP instrukcije su jednociklične (izvršavaju se u jednom ciklusu).
– 17×17-bita jednociklusni multiplikator za razlomke/cele brojeve
– ± 16-bitni jednociklični pomerač
Postoji odličan kompajler programskog jezika C koji podržava većinu DSP funkcija.
Blok za prenos i skladištenje podataka
Blok sadrži X data RAM (1kB), Y data RAM (1kB), X data bus, Y data bus 16×16 koji omogućuju paralelan prenos dva operanda matematičke ili logičke operacije ka ALU i W registarskoj oblasti.
Blok za programsku memoriju
Blok sadrži Program Memory (48kB), EEPROM (1kB) i 24-bitni Program counter koji pokazuje na sledeću programsku instrukciju koju treba izvršiti. Jednom dobijena iz programske memorije, ta instrukcija se dekoduje u bloku Instruction Decode and Control. Program Memory je FLASH tipa sa minimum 10,000 briši/piši ciklusa (100k tipično), za industrijski raspon temperature. EEPROM memorija sa minimum 100,000 briši/piši ciklusa za industrijski raspon temperature, (1M tipično).
Blok za kontrolu rada CPU
Blok sadrži Timing generation, Power-on Reset (POR), Power-up Timer (PWRT) i Start-up Oscilator Timer (OST) i Watchdog Timer.
Brojački periferni blokovi (Timers , Input Capture i Output Compare):
• Brojanje vremena (clock) ili brojanje impulsa na ulaznom pinu
• Programabilni preskaler
• Pet 16-bitnih tajmera/brojača; opciono mogu da rade kao par (Dva 16-bitna tajmera u 32-bitnim tajmerskim režimima)
• 16-bitne ulazne funkcije za ‘hvatanje’ ivice signala (input capture)
• 16-bitne izlazne funkcije za poređenje ili PWM (output compare)
Periferni blokovi za serijsku komunijaciju:
• 3-žični SPI™ režim (podržava 4 Frejm režima)
• I2C™ režim podržava Multi-Master/Slave režim i 7-bitno/10-bitno adresiranje
• 2 UART režima sa FIFO Baferima
• 1 CAN režim, 2.0B kompatibilan
Periferni modul za PWM upravljanje motorom – Motor Control PWM:
• 6 PWM izlaznih kanala
-komplementarni ili nezavisni izlazni režimi PWM izlaznih parova
-ivični ili centralni režim PWM brojača
• Tri nezavisna generatora faktora ispune PWM signala
• Određena vremenska baza
• Programabilni izlazni polaritet
• Kontrola mrtvog vremena za komplementarni režim
• Mogućnost startovanja A/D konverzije sinhronizovano sa PWM brojačem
Periferija za prijem signala sa kvadratnog enkodera – QEI modul:
• Tri ulaza, Faza A, Faza B i indeks puls ulaz
• 16-bitni brojač pozicije nagore/nadole , režim merenja pozicije (x2 i x4)
• Status pravca brojanja, Prekid na poziciji brojača rollover/underflow
• Programabilni digitalni fiteri šuma na ulazima
• Alternativni 16-bitni režim Tajmer/Brojač
Periferija za konverziju analognih signala, 10-bit ADC:
• 10-bitni Analogno-Digitalni konvertor (A/D)
• Četiri 4 S/H ulaza, moguće je istovremeno odabrati 4 signala.
• 9 ulaznih kanala
• Brzina konverzije od 500 Ksps (kilo samples per second)
Više detalja o ovom mikrokontoleru u možete pronaći OVDE.
Napomena: Dalje upustva i termina možete pronaći u literaturi Primena mikroprocesora u elektroenergetici, FTN Novi Sad