Ce este un controller?
La modul general un controller este, actualmente, o structura electronica destinata controlului unui proces sau, mai general, unei interactiuni caracteristice cu mediul exterior, fara sa fie necesara interventia operatorului uman.
Resursele integrate la nivelul microcircuitului ar trebui sa includa, cel putin, urmatoarele componente:
- O unitate centrala (CPU), cu un oscilator intern pentru ceasul de sistem;
- O memorie loc a la tip ROM/PROM/EPROM/FLASH si eventual una de tip RAM;
- Un sistem de intreruperi;
- I/O – intrari/iesiri numerice;
- Un port serial de tip asincron si / sau sincron, programabil;
- Un sistem de timere – temporizatoare / numaratoare programabile;
Este posibil ca la acestea sa fie adaugate, la un pret de cost avantajos, caracteristici specifice sarcinii de control care trebuie indeplinite:
- Un sistem de conversie analog numerica (una sau mai multe intrari analogice);
- Un sistem de conversie numeric analogic si/sau iesiri PWM (cu modulare in durata);
- Un comparator analogic;
- O memorie de date nevolatila de tip EEPROM;
- Facilitati suplimentare pentru sistemul de temporizare /numarare (captare si comparare);
- Un ceas de garda (timer de tip watchdog);
- Un RTC (Real Time Clock – ceas, data, calendar);
- Alte protocoale de transmisie seriala sau paralela (I2C ,SPI ,1WIRE ,CAN…);
- Facilitati pentru optimizare a consumului propriu.
Utilizarea unui microcontroler
Utilizarea unui microcontroler constituie o solutie prin care se poate reduce dramatic numarul componentelor electronice precum si costul proiectarii si al dezvoltarii unui produs.
Utilizarea unui microcontroler, oricat de evoluat, nu elimina unele componente ale interfetei cu mediul exterior (atunci cand ele sunt chiar necesare): subsisteme de prelucrare analogica (amplificare, redresare, filtrare, protectie – limitare), elemente pentru realizarea izolarii galvanice (optocuploare, transformatoare), elemente de comutatie de putere (tranzistoare de putere, relee electromecanice sau statice).
Structura cursului
1. UNDE SUNT UTILIZATE MICROCONTROLERELE?
2. CARACTERISTICI ARHITECTURALE ALE UNITATII CENTRALE
- Arhitecturi de tip „von Ne umann”
- Arhitecturi de tip „Harvard”
- CISC
- RISC
3. ASPECTE LEGATE DE MEMORIA MICROCONTROLERELOR
- OTP (One Time Programmable)
- FLASH EPROM
- EEPROM
- NOVRAM (RAM nevolatil)
- Memoria externa de program sau date
4. LIMBAJE DE PROGRAMARE
- Limbajul masina si de cel de asamblare
- Interpretere (C++, BASIC, JAVA etc.)
- Compilatoare
5. DEZVOLTAREA SI TESTAREA APLICATIILOR
- Simulatoarele
- Programe le de depanare („debbugers”)
- Emulatoarele in circuit (ICE – In Circuit Emulators)
- Simulatoarele de sistem
- Nucleele (sistemele de operare) de timp real (Real Time kernel, Real Time Operating System – RTOS)
6. CRITERII DE ALEGERE A UNUI MICROCONTROLER
- Costurile aplicatiei
- Timpul de dezvoltare al aplicatiei
- Caracteristicile fizice
- Conectivitatea
- Compatibilitate, scalabilitate si dezvoltarea ulterioara
7. CU CE SI CUM SE POATE PROGRAMA UN MICROCONTROLER?
- Programator specializat extern. (ex.STK200)
- Programarea „In System” (ISP – In System Programming)
- Bootloader
- Schema electrica pentru programatorul ICSP: STK200