PROGRAMA ANALITICĂ

a disciplinei

MICROCONTROLERE


© Copyright H.N. Teodorescu. Copierea acestor materiale fără acceptul scris al autorului poate atrage răspundere civilă şi penală, inclusiv plata de daune.

 

 

1. Titularul disciplinei: Prof. dr. Horia-Nicolai Teodorescu, m.c.

2. Tipul disciplinei: impusă

3. Structura  în planul de învăţământ:

Semestrul Numărul de ore pe
săptămână

Forma de
verificare

Numărul total de ore

Total ore pe
disciplină

C
S
L
P
C
S
L
P
7
3

2

Examen
42
    
28
   
70

4
. Proceduri folosite la predare şi aplicaţii; cerinţe la examinarea studenţilor:

Expunere, conversaţie, exemplificare, aplicaţii demonstrative, exerciţii, probleme rezolvate, microproiecte.

 

5. Conţinutul disciplinei

(În funcţie de timpul disponibil şi de capacitatea de răspuns şi de cunoştinţele anterioare ale audienţei, titularul îşi rezervă dreptul să reducă sau să adauge unele topici predate.)

a) Curs:

§      Prezentarea arhitecturilor de procesor: Von Newman, Harvard, Harvard modificată şi a modului de configurare a principalelor blocuri ale procesorului precum memoria, magistralele, interfeţele, ALU - unitatea aritmetico-logică etc. Exemplificări la microcontrolere

§         Prezentarea tipurilor de seturi de instructiuni: CISC, RISC. Exemplificari la microcontrolere

§         Prezentarea arhitecturii microcontrolerelor din seria PIC 16FX....17YXX, prezentarea ALU, a regiştrilor de date ai ALU şi a modului de transfer a datelor dintre aceştia, prezentarea regiştrilor de control (stare) şi a setului de instrucţiuni de deplasare (încărcare) în regiştri, şi a instrucţiunilor aritmetice a instrucţiunilor de ştergere la nivel de byte şi de bit.

§        Comparaţii între arhitecturile diverselor familii de microcontrolere, funcţie de utilizare (industrială, comunicaţii, dedicata) şi funcţie de fabricant.

§        Un microcontroler RISC tipic: familia PIC, exemplificare 16F84. Setul de instrucţiuni pentru familia PIC16XXX.

§        Medii de programare pentru microcontrolere. MPLAB. Introducerea, aprofundarea şi sistematizarea unor elemente de proiectare a unor rutine (proceduri, funcţii) pentru procesarea semnalelor. Prezentarea unor exemple privind filtrele digitale şi a unor tehnici de optimizare a algoritmilor pentru obţinerea unor timpi mici de calcul.

§         Regiştrii principali.

§         I/O. Modul de concepere şi realizare a unor operaţii complexe pentru un procesor de tip RISC, în lipsa unor instrucţiuni specifice operaţiilor respective.

§        Porturile de I/O (a blocurilor de intrare / ieşire) pentru preluarea de semnale externe şi transmiterea de comenzi către dispozitive externe. Exemple.

§       Memoria. Modul de organizare pe bancuri a memoriei, a modurilor de adresare directă, respectiv indirectă a locaţiilor de memorie din diferite bancuri. Exemple: PIC

§         Învăţarea unor circuite anexe pentru microcontrolere

§      Introducerea şi aprofundarea tipurilor de întreruperi, a operaţiilor efectuate de microcontroler pentru realizarea unei întreruperi, prezentarea modului de citire a perifericelor, a regiştrilor de configurare a întreruperilor. Comparaţii între modul de lucru cu întreruperi între diverse procesoare. Optimizarea lucrului în întreruperi.

§         Timere. Tipuri, utilizări. Exemple: PIC.

§        Aplicaţii ale microcontrolerelor. Aplicaţii industriale. Aplicaţii de procesare de semnal şi de măsurare. Aplicaţii „înglobate”.

                                                                                    Total ore curs......................... 42 ore

b) Aplicaţii:

Laborator:

Laborator #1   Instrucţiuni de protecţia muncii pentru studenţi. Măsurile de prevenire a incendiilor în laboratoare. Norme de protecţia muncii specifice laboratorului.

Laborator #2   Prezentarea mediului de dezvoltare MPLABTM furnizat de firma Microchip Technologies Inc., crearea deprinderilor şi abilităţilor de lucru cu meniurile şi ferestrele acestuia, realizarea unui prim proiect ce include fişiere header *.h, *.inc şi fişiere de cod *.asm, prezentarea liniilor de tip directivă (pre-procesor) şi a modului de comentarea a codului.

Laborator #3   Configurarea simulatorului din MPLAB. Crearea deprinderilor şi abilităţilor de lucru cu ALU, cu registrul acumulator şi cu regiştrii de memorie folosind simple instrucţiuni de transfer date şi de adunare

Laborator #4   Vizualizarea listei de dezasamblare, vizualizarea memoriei de program şi de date, vizualizarea conţinutului regiştrilor, rularea pas cu pas a programelor.

Laborator #5   Elemente de sintaxă a scrierii programelor, directive pentru asamblor, prezentarea modului în care sunt afectate stările (flag C,DC,Z) de către operaţiile aritmetice, de transfer, de ştergere, respectiv de rotire (deplasare circulară prin bitul de transport).

Laborator #6   Prezentarea instrucţiunilor de decizie condiţionată la nivel de bit, a instrucţiunilor de salt la o etichetă, implementarea buclelor, vizualizarea flag-urilor folosite de instrucţiunile de test, depanarea programului, introducerea de breakpoint-uri, calculul timpilor de întârziere în cazul buclelor de temporizare.

Laborator #7-8  Implementarea unui filtru digital elementare de mediere ponderată pentru o fereastră de analiză specificată printr-un număr de eşantioane (ordinul filtrului).

Laborator #9   Învăţarea modurilor de setare a pinilor porturilor ca biţi de intrare, respectiv de ieşire (folosind instrucţiune de setare a poerturilor); manipularea bancurilor de memorie prin adresare directă şi indirectă (setarea modului de funcţionare a porturilor prin intermediul regiştrilor TRISA şi TRISB din bank-ul 1 de memorie.

Laborator #10 Utilizarea opţiunilor din meniurile mediului de dezvoltare MPLAB, pentru configurarea biţilor microcontroler prin selecţia pinilor la care se aplică stimuli, a tipului de stimul, respectiv a duratei impulsurilor (pentru stimuli impulsionari).

Laborator #11 Analiza semnalelor generate folosind analizorul logic prin vizualizarea stării unor semnale importante (intrări, ieşiri, intrări de ceas).

Laborator #12-13  Implementarea unor microproiecte, pentru aprofundarea şi valorificarea cunoştinţelor asimilate în cadrul disciplinei, încărcarea codului maşină pe microcontrolere şi testarea corectitudinii funcţionării programelor prin intermediul plăcilor de dezvoltare.

                                                                                    Total ore aplicaţii.....................   28 ore

 

Micro-proiecte (tema practică)

(Micro-proiectele de mai jos sunt oferite pentru alegere. Fiecare student trebuie să completeze ca temă acasă un proiect. Rezolvarea pico-proiectelor se va face independent, dar se încurajează lucrul în echipă în fazele preliminare ale proiectului).

1.       Să se conceapă şi să se proiecteze, la nivel de program şi de circuit (hardware şi software), un stimulator pentru slăbire / antrenament muscular pasiv, care să genereze stimuli pentru patru electrozi, cu patru programe de stimulare. Al cincilea electrod va fi electrodul pasiv (masă). Stimulatorul va fi realizat cu ajutorul unui microcontroler de tip PIC 16F84 sau PIC10F220.

2.      Să se conceapă şi se proiecteze, la nivel de program şi de circuit (hardware şi software), un sistem cu microcontroler tip PIC, care să genereze o melodie formată din cinci note muzicale, cu frecvenţele date, în secvenţa .

3.       Se cere să se genereze periodic forma de undă complexă:

                   

6. Bibliografie recomandată:

[1].  H.N. Teodorescu - “Elemente de utilizare a Micro-controlerelor”, Partea I Procesarea datelor şi aplicaţii cu Sisteme bazate pe micro-controlere, Tipografia Universităţii Tehnice „Gh. Asachi” Iaşi, 2005

[2].  Hutanu, C., Postolache, M., „Sisteme cu microprocesoare în conducerea automată a proceselor”, Vol. 1, Ediţia a 2-a, Ed. Academică, Iaşi 2001

[3].  Microchip Technology Inc., Manuale PIC. http://www.microchip.com/

[4].  Microchip Technology Inc., Note de aplicaţie, Programming Specifications for PIC16C6/7/9XX OTP MCUs. 2001

 

7. Baza materială:

§    Reţea de 8 calculatoare pentru dezvoltarea programelor în mediul de dezvoltare MPLAB TM

§    Osciloscoape pentru verificarea şi măsurarea tensiunilor de alimentare a PIC-urilor, respectiv a semnalelor generate pe pinii de ieşire a porturilor.

§     3 Plăci de dezvoltare ATMEL pentru microcontrolere de tip 8051

§    4 Placi dezvoltare PicKit2 Starter Kit Microchip Inc. (pentru seria PIC 16XXX)

§    1 sistem dezvoltare MPLAB ICD2 In-Circuit Debugger (pentru seria PIC 18XXX)

§    Inscriptor memorie PIC-START_PLUS

 

 

8. Titular curs

Numele şi prenumele

Vechime în
învăţământ

Gradul didactic

Titlul ştiinţific

Teodorescu Horia-Nicolai

31 ani

profesor universitar

Dr. dr. h.c. m.c. A.R.


5 lucrări semnificative, publicate pe tematica disciplinei predate:

[1].  H.N. Teodorescu - “Elemente de utilizare a Micro-controlerelor”, Partea I Procesarea datelor şi aplicaţii cu Sisteme bazate pe micro-controlere, Tipografia Universităţii Tehnice „Gh. Asachi” Iaşi, 2005

[2].  H.N. Teodorescu, L. Jain, A. Kandel (Eds.): „Hardware Implementation of Intelligent Systems”, Physica Verlag / Springer Verlag, 2001, ISBN 3-7908-1399-0

[3].  H.N. Teodorescu, and L.C. Jain (Eds.): „Intelligent Technologies in Rehabilitation”. CRC Press, Florida, USA, 520 pp. +  xvi, December 2000  ISBN: 0849301408

[4].  H.N. Teodorescu, D. Mlynek, A. Kandel, H.J. Zimmermann (Eds.): Intelligent Systems and Interfaces”, 480pp., ISBN: 079237763X, Kluwer Academic Press, Boston. 2000

[5].  H.N. Teodorescu, A. Kandel, and L.C. Jain (Eds.): „Fuzzy and Neuro-fuzzy Systems in Medicine”, CRC Press, Florida, USA, 394 pp.+ xxviii,  (ISBN0-8493-9806-1), 1998

 

Observaţii: Toate referinţele, inclusiv cursurile curente sunt protejate copyright – drepturile autorului sau ale editurii respective sunt protejate prin lege. Materialele nu pot fi copiate sau multiplicate sau stocate în vreun fel.

 

9. Titular aplicaţii

Numele şi prenumele

Vechime în
învăţământ

Gradul didactic

Titlul ştiinţific

Zbancioc Marius-Dan

7 ani

asistent univ.

ing. drd.


 

© Copyright H.N. Teodorescu. Copierea acestor materiale fără acceptul scris al autorului poate atrage răspundere civilă şi penală, inclusiv plata de daune.