PMP Flashcards
Care este diferenta dintre un microprocesor si un microcontroller?
Microprocesor = incorporeaza toate sau majoritatea functiilor unei unitati
centrale de procesare intr-un singur circuit integrat.
Microcontroller = incorporeaza multiple componente ale unui microprocesor.
Cate locatii adresabile are o memorie cu 16 biti de adresa
2^16
Cum se seteaza directia unui pin la Arduino?
Cu ajutorul functiei pinMode(pinMode(pin, INPUT), pinMode(pin, OUTPUT));
Care este efectul instructiunii lpm R16, z-?
Incarca un byte de la adresa la care pointeaza z in r16, apoi il decrementeaza pe z.
Ce indica flagul z din SREG?
z-indicator al unui rezultat nul.
Cum poate convertorul A/D sa dea un rezultat pe 10 biti daca registrii AVR au doar 8 biti?
Se folosesc 2 registrii ADCL si ADCH
Care sunt variantele de declansare a unei intreruperi externe?
-nivel 0 (LOW)
-schimbarea nivelului pinului(CHANGE)
-front descrescator(FALLING)
-front crescator(RISING)
Ce efect are EIMSK | = (1«n)?
Activarea punctuala a intreruperilor externe ; Setarea la 1 a bitului corespunzator activeaza
intreruperea.
Pe cati biti sunt temporizatoarele AVR?
Pe 8-16 biti
Ce fel de intreruperi pot declansa temporizatoarele AVR?
Overflow (Saturare)
-Compare match(Atingerea valorii din registrul de comparatie)
-Eveniment extern(capture) doar la cele pe 16 biti
Ce face functia analogRead?
analogRead(pin) citeste o val de pe un pin analogic.
Ce face functia tone()?
Tone() cauzeaza producerea de pulsuri cu factor de umplere 50% si frecventa variabila
Tone(pin, frequency)/tone(pin, frequency,duration)
Cum se semnaleaza sfarsitul unei transmisii I2C?
Cand SDA trece din 0 in 1 si SCL e 1
Cine scrie bitul ACK la I2C ?
Slave-ul, pentru a transmite master-ului ca a primit datele.
Ce este polaritatea la comunicatii SPI?
CPOL- clock polarity
Stabileste daca primul front e crescator sau descrescator
ce este un CPU?
O unitate centrala de procesare este o masina logica ce poate executa programe de calculator.
Efectul executiei instructiunii ldi r17, 20?
Se incarca in registrul r17 valoarea imediata 20.
Cum se activeaza sistemul de intreruperi AVR?
Prin instructiunea SEI (SREG(7)-1).
Care sunt cele 3 adrese asociate unui port de 8 biti AVR?
- DDRx(Data Direction Register)-configureaza directia datelor pe pinii portului
- PORTx(registrul pentru date de iesire)-transmite datele de la microcontroller la periferice pe pinii configurati ca iesire
- PINx(registrul pentru date de intrare)-citeste datele de la pinii configurati ca
intrare
Care e dimensiunea memoriei program la ATMega 2560
256KB
Ce este un registru de comparatie la un temporizator?
Registru de comparare(OCR0)-continutul lui e comparat cu continutul registrului de numarare(TCNT0) => folosita la generarea diferitelor semnale
Care e rolul registrului TIMSKx?
Rolul de a activa sau dezactiva întreruperile bazate pe temporizator.
Cum se poate genera un semnal PWM cu Arduino?
Prin functia analogWrite(pin, value), unde value e factorul de umplere.
Ce stari se pot configura pentru un controller SPI?
Master/Slave
Ce este “framing error” la receptia UART?
Cand se detecteaza valoarea zero in pozitia unde trebuie sa fie bitii de stop.
Parity error – daca bitul de paritate calculat la destinatie nu corespunde cu bitul P
Rolul registrului UBRRx la AVR?
UBRRx (UBRRxH+UBRRxL) - registri de control ai frecventei.
Care e efectul liniei de cod: SREG &= 0b01111111?
Dezactiveaza bitul 8 din registrul SREG (bitul de activare globala a intreruperilor) => dezactivarea
intreruperilor
Care e structura unui pachet de adrese la I2C?
7 biti de adresa, 16 adrese rezervate => 112 adrese disponibile
Care e diferenta dintre un motor DC si un servo motor?
Motoarele servo: - folosite pentru rotatii partiale, stabile si controlabile
- pot efectua rotatii de amplitudine mica si precizie mare
Motoarele DC – merg in continuu daca sunt sub tensiune
-convertesc energia electrica in lucru mecanic
Ce este un microcontroller?
Microcontroller = circuit integrat care are multiple componente ale unui sistem cu microprocesor
Efectul executarii instructiunii st -x, r20
Se decrementeaza X, apoi se incarca valoarea din registrul r20 in locatia de memorie x
Continutul registrului SREG la AVR?
SREG contine informatii despre starea sistemului si rezultatul unor operatii
Ce e un prescaler?
Prescaler= divizor de frecventa pt semnalul de ceas de intrare
Cum poate un timer genera un semnal PWM
Prin intreruperi. Se calculeaza timpul proportional cu factorul de umplere, iar la momentul intreruperii
se schimba starea.
Cum se poatea atasa o rutina de tratare a intreruperii bazata pe temporizator la Arduino?
attachIntrrerupt(function)
Ce tip de pini sunt MOSI, MISO, SCLK, SS la SPI Master?
MOSI – output SCLK output SS – output MISO – input
Care e structura unui pachet UART?
St: I bit de start, cu valoarea ‘0’
D: bitii de date (5…9)
P: 1 bit de paritate
Sp: 1 sau 2 biti de stop, cu valoarea ‘1’
Rolul registrului UDRx la AVR?
Citire date receptionate/scriere date pt transmis
Efectul liniei de cod PORTA ^= 0b11111111
Inverseaza toti bitii din PORTA
Cati biti de adresa sunt intr-un pachet de adresa I2C?
7 biti de adresa
Ce este o punte H?
Un circuit pentru controlul pornirii-opririi si a directiei unui motor
Care sunt componentele esentiale ale unui sistem cu microprocesor?
Memorii RAM-ROM(Flash), dispositive periferice(Timer, Numarator, Controller pt comunicatii
seriale/paralele)
Cati registrii are un microprocesor AVR?
32 registrii de uz general
Cum se activeaza rezistentele Pull-Up la Arduino?
Prin scrierea unei valori HIGH pe pinul de intrare (digitalWrite(inputPin, HIGH);)
Care este efectul instructiunii ld r16, -y
Se decrementeaza Y, si apoi se incarca valoarea de la adresa respective in r16.
Ce indica flag-ul C din SREG?
C este flag-ul de CARRY
Cum poate interfata UART la AVR sa receptioneze date pe 9 biti daca registrii AVR au doar 8 biti?
Prin bitul1(RxB8n) al registrului de control si stare UCSRnB
Cum se poate dezactiva o intrerupere fara a dezactiva tot sistemul de intreruperi?
dettachInterrupt(interrupt) (interrupt-numarul intreruperii)
Ce se gaseste la inceputul memoriei de program AVR?
La inceputul memoriei de program AVR se gaseste sectiunea “Application Flash Memory”
Ce effect are bool b = PINA &2
Daca PINA e egal cu 2, atunci b e true, altfel false.
De ce trebuie evitata utilizarea pinilor digitali 0 si 1 la Arduino?
Deoarece sunt pinii RX si TX, iar daca sunt folositi pt operatii generale de I/O digital, poate fi
impiedicata comunicarea (nu se mai receptioneaza sau transmit datele)
Ce este functia “analogReference()”?
Configureaza tensiunea de referinta care va fi folosita pentru intrarea analogica
Ce este o configuratie “OpenCollector”?
Iesire a unor circuite integrate, care se comporta ca un intrerupator, find fie conectata la GND sau
deconectata
Care e rolul semnalului SS la comunicatia SPI?
Slave Select are rolul de a activa dispozitivul Slave de catre Master (active pe 0)
Cum se ataseaza o rutina de tratare a intreruperii bazate pe temporizator cu Arduino?
Timer1.attachInterrupt (functie-intrerupere).
Ce este un “precharge voltage”?
-ajuta la injumatatirea timpului de tranzitie la memorii si astfel obtinem o memorie mai rapida
Ce este un bit de paritate?
= bit folosit in comunicarea seriala si retine daca in pachetul de date transmis este un numar par
sau impar de biti de 1
Cum se seteaza tensiunea de referinta pt conversia A-D(Arduino)?
analogReference(x) – seteaza tensiunea maxima cu care sa efectuam masuratori
X = DEFAULT, INTERNAL, EXTERNAL. INTERNAL2V56, INTERNAL11
Care e rolul registrului ADCH?
ADCH stocheaza partea superioara a conversiei ADC
Ce functie trebuie apelata si cu ce parametrii pentru un semnal cu factorul de umplere de 33%?
analogWrite(pin, 84,15)
0% = 0
100% = 255
Care este dimensiunea maxima adresabila a memoriei RAM la AVR?
64KB
Cati biti are un pachet UART?
Poate avea 5/6/7/8/9 biti de date
Ce este faza in cazul comunicatiei SPI?
Faza semnalului SCLK este redata de CPHA care stabileste in ce ordine se face deplasarea si prelucrarea datelor
Cand poate un slave sa transmita date catre master in cazul SPI?
Slave : master -> MISO este active
Master:Slave ->MOSI active
De cate perioade de ceas este necesar pentru o conversie A/D?
Aproximativ 13 perioade de ceas
Care este rolul instuctiunii LPM?
LOAD FROM PROGRAM MEMORY – incarca date din memoria programului
Ce effect are atribuirea PORTA | = (1 «_space;5)?
Se seteaza al cincilea bit din PORTA
Cum se semnaleaza inceperea unei transmisii UART?
Inceperea transmisiei se semnaleaza utilizand bitii de start(1) si stop(1-2) care sunt transferati cu
fiecare pachet de date indicand inceputul si sfarsitul acestuia.
Cati biti de adresa sunt folositi in cazul magistralei I2C?
7 biti de adresa
Care este diferenta dintre reti si ret?
(a fost la examen)
Reti – produce revenirea din ISR; reti=sei+ret
Ret – face return din procedura – ia adresa de return din stiva si scrie la aceasta adresa
Cati biti are un registru AVR?
8 biti
Ce contine registrul SREG?
Contine date despre starea programului si rezultatul unor operatii.
Care este intervalul de valori returnat de functia analogRead?
0…1023
Ce rol are registrul ADMUX?
Este registru de selectie: cu REFS1:0 se selecteaza tensiunea de referinta, iar cu MUX4:0 se
selecteaza intrarile.
Care este rolul registrului OCR0?
In OCR0 este o valoare data de utilizator. Cand TCNT ajunge cu numaratoarea la acea valoare se
produce o intrerupere si TCNT are din nou valoarea 0.
Care este instrucțiunea care activează întreruperile la un micro-controller AVR?
SEI(); - care activeaza bitul I pentru intreruperi din
SREG(SREG(7)=1).
Comunicarea UART este sincronă sau asincronă?
Asincrona
Comunicarea I2C este sincronă sau asincronă?
sincronă
Pe câți biți este codificat rezultatul unei conversii ADC la AVR?
10 biti
Se poate genera un semnal PWM cu ajutorul unui temporizator?
DA
Se poate apela funcția delay() în rutina de tratare a unei întreruperi?
NU
Câți biți de adresă are o memorie de 4GB?
32 biti
Ce valoarea trebuie scrisă in registrul DDRD pentru a configura tot portul D ca și port de
ieșire?
0b11111111
Care este factorul de umplere al semnalului generat cu funcția analogWrite(led, 128)?
100 x 128 / 255 = 50, .. %
Care este rolul funcției micros()?
returneaza nr de microsecunde de la pornirea programului
Cum se citește starea unui buton / switch la Arduino?
cu functia digitalRead()
Ce valoare trebuie scrisă în registrul OCRn pentru a genera un semnal de 50Hz in modul
CTC?
50 * 21024 ( 1 + ocrn) = 16000000
Ocrn = 16 000 000 / (1001024) – 1
R: 155,25
Cum se generează un semnal PWM folosind temporizatoare?
Timer1. pwm(pin, duty, period)
Care este formatul datelor pentru comunicarea UART?
1 bit de start, 1/2 bit de start/stop, intre 5-8 biti de date
Pe câți biți este codificat rezultatul unei conversii ADC?
10
Ce este mecanismul de “poling”?
la aparitia unei cereri de intrerupere, procesul interogheaza fiecare sursa potentiala, iar aceasta raspunde. Ordinea de interogare a dispozitivelor este ordinea de prioritate a intreruperilor
Cum se rotește un motor servo?
se foloseste pwm pt a se roti in sensul acelor de ceas sau invers, intre 0 si 180
Este o miscare controlata, cu rotatii partiale
Ce face funcția analogWrite?
Determina generarea unui semnal PWM pe un anumit pin cu un anumit factor de
umplere
Ce este un bit de paritate ?
bit folosit in comunicarea seriala si retine daca in pachetul de date
transmis este un numar par sau impar de biti de 1.
Care este rolul funcției onReceive() la I2C (Wire)?
configureaza o functie handler , la dispozitivul slave, care va fi apelata automat la
primirea datelor de la master
Ce tip de arhitectură are un micro-controller AVR?
Arthitectura de tips RISC, sau Harvard
Ce rol are registrul PINA?
se citeste starea pinilor
Care este rolul apelului attachInterrupt(3, fun, RISING)?
se ataseaza unui bit intreruperea cu nr 3, functia de tartare a intreruperii avand numele
“fun”, declansarea facandu-se pe front crescator
Care este rolul registrului TIMSK?
Activeaza/dezactivează întreruperile asociate cu temporizatoarele
Ce înseamnă baud rate (la comunicare serială UART)?
viteza cu care suntr transmise datele pe linia seriala. Biti / sec
Ce inseamnă “daisy chaining”?
implementarea metodei polling in hardware. Limitarea la lungimea lantului
din cauza intarzierilor de propagare
Ce este o întrerupere mascabilă?
Intrerupere care poate fi dezactivata sau ignorata de instructiunile CPU
Cum se numesc semnalele unei conexiuni I2C?
Serial Data si Serial Clock
Ce este PWM?
Tehnica de control care ajustează lățimea pulsului intr-un semnal
Care este rolul semnalui SS in cadrul unui transfer SPI?
Masterul activeaza dispozitivul slave. Activ pe 0
Ce este un tri-state buffer?
are input de control. Are 3 stari, HIGH, LOW si inalta impedanta.
Ce rol are registrul DDRA?
seteaza bitii pt output sau input
Care este rolul funcției millis()?
returneaza nr de milisecunde care au trecut de la pornirea programului
Ce este o variabilă “volatile”?
variabila care isi poate modifica valoarea in intreruperi, stocata in RAM
Care este rolul funcției serialEvent()?
Functie definita de utilizator care se apeleaza automat cand exista date disponibile in zona buffer
Cum se calculeaza rezoluția de masurare la ADC?
Range volti/ 1024 unitati
Care este diferența dintre un motor DC si unul pas cu pas?
DC-ruleaza continuu daca are o sursa de tensiune si face rotatii complete
Motor pas cu pas-rotatia se face pas cu pas, prin activarea selectiva a bobinelor
. Care este diferența dintre transferurile DMA “fly-by” și “flow-through”?
fly-by - datele nu trec prin DMA, 1 ciclu de magistrala / transfer
Fly through – datele trec prin DMA , 2 cicluri / transfer
Cum poate fi reglata turatia unui motor de curent continuu?
cu PWM
Care este instrucțiunea care dezactivează întreruperile la AVR?
CLI
Cum se oprește generarea de sunete la Arduino, după ce a fost apelată funcția tone()?
noTone()
Care este rolul rezistentelor pull-up si pull down?
- Se folosesc in circuitele simple pentru protective
- Pull-up se leaga la VCC si are valoarea de pe pinul D egala cu 1 cand butonul
este apasat - Pull-down se leaga la GND si are valoarea de pe pinul D egala cu 1 cand
butonul NU este apasat
Ce rol are registrul EIMSK?
activeaza un punct de intrerupere
Ce face functia interrupts()?
reactiveaza intreruperile
Ce face functia detachInterrupt(interrupt)?
dezactiveaza tratarea unei intreruperi cu numarul specificat ca
parametru
Ce face functia noInterrupts()?
dezactiveaza intreruperile
Ce face functia attachInterrupt(interrupt, ISR, mode)?
ataseaza o functie ISR la o intrerupere externa; interruput-nr
intreruperii, mode-modul de declansare
Ce face Serial.available()?
returneaza numarul de octeti disponibili pentru a fi cititi prin interfata
seriala
Ce face Serial.flush()?
asteapta pana cand transmisia datelor pe interfata seriala este completa
Ce face Serial.write(data)?
scrie date in format binar prin interfata seriala;
-returneaza numarul de bytes trimisi
Ce face Serial.read()?
citeste un byte prin interfata seriala
Ce face functia Serial.begin(speed,config)?
configureaza viteza (speed) + selecteaza un alt
format al datelor (config)
Ce face functia Serial.begin(speed)?
configureaza viteza de transmisie (speed) si formatul
implicit de date
Ce face functia servo.write(angle)
- scrie o valoare(0..180) catre servo, controland miscarea:
-servo standard => seteaza unghiul axului
-servo cu rotatie continua => configureaza viteza de rotatie
Ce face functia servo.detach()?
detaseaza obiectul de tip Servo de la pin
Ce este daisy chain?
implementarea metodei polling in hardware
Ce este o intrerupere mascabila?
o intrerupere afectata de flag-ul IF
Ce tip de arhitectura are un microcontroller AVR?
Arhitectura RISC
Care este registrul de date si control al ADC?
ADCSR
Este SPI sincron?
DA
Ce rol are functia after(long duration, callback)?
ruleaza functia ‘callback’ o singura data, dupa un interval de timp de ‘duration’ milisecunde.
Care este functia Arduino pentru transmiterea datelor prin TWI?
Wire.write();
Protocolul TWI(I2C) este asincron?
NU
De ce e nevoie sa setam viteza la UART?
Pentru ca ambii participanti la transfer trebuie sa functioneze la aceeasi
viteza
Care este diferenta dintre UART si USART?
USART e sincrona, UART e asincrona
Ce reprezinta data frame?
- pachetul de date
- fiecare bloc de date este transmis intr-un pachet de biti
Ce denumire are rata de transmisie?
Baud Rate
Ce reprezinta pinul Rx?
pinul de receptie
Cati biti de stop are interfata UART?
1 sau 2
Ce rol are un prescaler?
divizor de frecventa pentru semnalul de ceas de intrare.
In ce se masoara rezistentele pull-up la Arduino Uno?
in ohmi
Care este precizia convertorului ADC la Arduino Mega?
10 biti
Ce reprezinta data chunk la UART?
Segmentul de biti-date. Este folosit pentru a stabili dimensiunea datelor si pentru a hotari ce bit va fi transmis primul: cel mai semnificativ sau cel mai putin semnificativ
Care este functia arduino pt initializarea transmisiei UART?
Serial.begin()
Cum se calculeaza paritatea la UART?
Peven = dn-1 xor … xor d1 xor d0 xor 0
Podd = dn-1 xor … xor d1 xor d0 xor 1
Cum se numesc pinii folositi in protocolul UART?
de transmisie si de receptie
Cati biti de start are interfata UART?
1
Ce rol are ICRx?
folosit pentru a masura timpul dintre evenimente externe.
Ce rol are TCCRx?
selecteaza sursa de ceas
Care sunt registrii din care se citeste rezultatul ADC?
ADCH-ADCL care formeaza ADCW.
Ce rol are functia digitalPintoInterrup(pin)?
Returneaza codul intreruperii asociate unui pin.
Ce este input capture?
Raspuns la evenimente externe.
Ce rol are registrul EICSRA?
Activeaza o intrerupere specifica
Ce rol are ADIE?
ADIE- ADC Interrupt Enable- cand acest bit este setat la ‘1’, se activeaza intreruperea la finalizarea unei conversii ADC
Ce rol are ADIF?
ADIF- ADC Interrupt Flag- folosit pentru a verifica daca conversia s-a finalizat sau daca este inca in curs de desfasurare
ce rol are ADATE?
ADATE- ADC Auto Trigger Enable- activeaza modul de auto-declansare pentru ADC
ce rol are ADEN?
ADEN- ADC Enable- activeaza functionalitatea ADC
Ce este o intrerupere declansata de OVERFLOW la un temporizator AVR?
Numaratorul TCNTx se satureaza.
Ce rol are UDRx la AVR?
citire/scriere date
Care este structura unui pachet(frame) de date la I2C?
Structura este:
- 2 semnale: SCL si SDA
- rezistente de pull up
- semnalul de ACK
- 7 biti de adresa si 16 adrese rezervat => 112 adrese disponibile pe un bus
Ce rol are bitul ADSC?
ADC Start Conversion-daca este setat pe 1 incepe conversia
analog/digitala.
Cati pini sunt necesari pentru a conecta un motor de tip servo la Arduino?
-Vcc
-GND
-Pinul de semnal
Ce rol are functia t.every(100, count)?
Ruleaza functia ‘count’ la intervale de perioada 100 ms si returneaza
identificatorul evenimentului programat.
Unde se gaseste tabela vectorilor de intrerupere?
Tabela vectorilor de intrerupere se gaseste in RAM.
Ce efect are instructiunea PORTC |= (1«PC3)?
seteaza valoarea pinului de pe pozitia PC3 pe 1
Care sunt tensiunile de referinta care pot fi folosite pentru ADC?
2.56V, Vin, 1.1V si tensiunea default de 5V.
Ce rol are bitul ADLAR?
ADC Left Adjust Result-daca este 1 rezultatul conversiei se aliniaza la
stanga.
Ce rol are functia t.oscilate(pin, 100,low)?
Va genera un semnal prin modificarea starii pinului ‘pin’, dupa fiecare perioada de 100 ms, pinul avand starea initiala low(adica pe 0)
Care sunt semnalele folosite la protocolul SPI?
- SCLK->serial clock, generat de Master
- MOSI->Master Output, Slave Input, date transmise de la Master la Slave
- MISO->Master Input, Slave Output, date receptionate de Master de la Slave
- SS->Salve Selct, activarea dispozitivului Slave de catre Master, activ pe 0
Ce rol are registrul TIFR?
TIFR- indica prezenta unei cereri de intrerupere
Ce rol au registrii SPH si SPL?
SP-stack pointer-indica adresa(16 biti) a varfului stivei si este accesabil
prin SPL(stack pointer low) si SPH(stack pointer high) care sunt pe 8 biti fiind
partea de low si high a SP.
Care este registrul care controleaza starea rezistentelor de pull up la
Arduino?
registrul MCUCR.