Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:lab:lab0 [2020/02/23 21:12]
dorin_marian.ionita [4.3. Hello World]
pm:lab:lab0 [2020/02/27 22:08] (current)
dorin_marian.ionita [5. Exerciții]
Line 77: Line 77:
 ===== 2. Microchip (Atmel) AVR ===== ===== 2. Microchip (Atmel) AVR =====
  
-<​hidden>​Vad ​probleme aici: +Famila AVR de la Microchip este formată din microcontrollere cu arhitectură Harvard pe 8 biţi şi set redus de instrucţiuni (RISC). 
 + 
 +<​hidden>​ 
 +**Vad cateva ​probleme aici:  
 + 
 + 
 +1 - [FIXED] continut sforaitor. As scoate partea istorica si as rezuma in cateva cuvinte ce mai gasim in familia Atmega si unde ne aflam noi in ea - tabelul ala contine date prea precise pentru scopul laboratorului 
  
-1 - continut sforaitor. As scoate partea istorica si as rezuma in cateva cuvinte ce mai gasim in familia Atmega si unde ne aflam noi in ea - tabelul ala contine date prea precise pentru scopul laboratorului. 
 2 - nu sunt sigur daca la CA si CB stiu diferenta intre arhitectura Harvard si VonNeumman. La CC stiu sigur ca Andrei povesteste despre asta la curs 2 - nu sunt sigur daca la CA si CB stiu diferenta intre arhitectura Harvard si VonNeumman. La CC stiu sigur ca Andrei povesteste despre asta la curs
  
-Ultimul paragram (ala cu prefetch si throughput) mi se pare in regula si cred ca ar trebui pastrat.</​hidden>​ 
  
-Famila AVR de la Microchip este formată din microcontrollere cu arhitectură Harvard pe 8 biţi şi set redus de instrucţiuni ​(RISC). Arhitectura de bază AVR a fost concepută de doi studenţi de la Norwegian Institute of Technology (NTH), Alf-Egil Bogen şi Vegard Wollan. Ele au fost introduse pe piaţă în 1996, fiind printre primele controller-e care foloseau memoria Flash pentru program în locul memoriilor OTPROM sau EPROM, folosite de competiţie.+3 - [FIXED] Ultimul paragram ​(ala cu prefetch si throughputmi se pare in regula si cred ca ar trebui pastrat.** 
 + 
 + 
 + Arhitectura de bază AVR a fost concepută de doi studenţi de la Norwegian Institute of Technology (NTH), Alf-Egil Bogen şi Vegard Wollan. Ele au fost introduse pe piaţă în 1996, fiind printre primele controller-e care foloseau memoria Flash pentru program în locul memoriilor OTPROM sau EPROM, folosite de competiţie.
  
 AVR-urile sunt clasificate în patru mari categorii: AVR-urile sunt clasificate în patru mari categorii:
Line 91: Line 99:
 |  {{:​pm:​lab:​lab0:​tiny.jpg?​nolink&​100|}} |  {{:​pm:​lab:​lab0:​megaavr.png?​nolink&​100|}} ​ |  {{:​pm:​lab:​lab0:​xmega.jpg?​nolink&​100|}} ​ |  {{:​pm:​lab:​lab0:​asavr.jpg?​nolink&​100|}} ​ |  |  {{:​pm:​lab:​lab0:​tiny.jpg?​nolink&​100|}} |  {{:​pm:​lab:​lab0:​megaavr.png?​nolink&​100|}} ​ |  {{:​pm:​lab:​lab0:​xmega.jpg?​nolink&​100|}} ​ |  {{:​pm:​lab:​lab0:​asavr.jpg?​nolink&​100|}} ​ | 
 | * 1-8 KB memorie de program \\ * capsulă de 8 până la 32 pini \\ * set limitat de periferice \\   * 4-256 KB memorie de program | * capsulă de 28 până la 100 de pini \\ * set extins de instrucţiuni (instrucţiuni pentru înmulţire şi adresare indirectă) \\  * set extins de periferice | * 16-256 KB memorie de program \\ * capsulă de 44 până la 100 de pini \\ * interfeţe performante extinse, ca DMA, "Event System",​ şi support pentru criptografie \\ * set extins se periferice | * megaAVR cu funcţii speciale, care nu sunt prezente la familia AVR, cum ar fi controller de LCD, controller USB, CAN etc. \\ * FPSLIC (Field Programmable System Level Integrated Circuit), un core AVR integrat cu un FPGA. | | * 1-8 KB memorie de program \\ * capsulă de 8 până la 32 pini \\ * set limitat de periferice \\   * 4-256 KB memorie de program | * capsulă de 28 până la 100 de pini \\ * set extins de instrucţiuni (instrucţiuni pentru înmulţire şi adresare indirectă) \\  * set extins de periferice | * 16-256 KB memorie de program \\ * capsulă de 44 până la 100 de pini \\ * interfeţe performante extinse, ca DMA, "Event System",​ şi support pentru criptografie \\ * set extins se periferice | * megaAVR cu funcţii speciale, care nu sunt prezente la familia AVR, cum ar fi controller de LCD, controller USB, CAN etc. \\ * FPSLIC (Field Programmable System Level Integrated Circuit), un core AVR integrat cu un FPGA. |
 +</​hidden>​
 Memoriile Flash, EEPROM, şi SRAM sunt integrate în acelaşi chip, înlăturând nevoia de memorie externă. Programul este format din instrucţiuni de 16 biţi lungime care sunt stocate în memoria Flash non-volatilă. Mărimea memoriei de program este indicată de numele componentei respective. De exemplu, ATmega128 are 128kB de memorie Flash. Spaţiul de adresa este format din registrele generale, registrele de I/O şi memoria SRAM. Sunt în total 32 de registre generale a câte 8 biţi. Memoriile Flash, EEPROM, şi SRAM sunt integrate în acelaşi chip, înlăturând nevoia de memorie externă. Programul este format din instrucţiuni de 16 biţi lungime care sunt stocate în memoria Flash non-volatilă. Mărimea memoriei de program este indicată de numele componentei respective. De exemplu, ATmega128 are 128kB de memorie Flash. Spaţiul de adresa este format din registrele generale, registrele de I/O şi memoria SRAM. Sunt în total 32 de registre generale a câte 8 biţi.
  
Line 231: Line 239:
 În funcție de durata perioadei, putem folosi macro-urile definite în biblioteca util/​delay.h:​ _delay_ms sau _delay_us. În funcție de durata perioadei, putem folosi macro-urile definite în biblioteca util/​delay.h:​ _delay_ms sau _delay_us.
 </​note>​ </​note>​
 +<​hidden>​ Aici ar trebui sa fie PD4 de fapt </​hidden>​
 {{ :​pm:​lab:​lab0:​conectare_speaker.png?​nolink&​400 |Connectarea unui speaker}} {{ :​pm:​lab:​lab0:​conectare_speaker.png?​nolink&​400 |Connectarea unui speaker}}
 +
  <​html><​center>​Connectarea unui speaker</​center></​html>​  <​html><​center>​Connectarea unui speaker</​center></​html>​
 ==== 4.2. Lucrul cu registrele I/O ==== ==== 4.2. Lucrul cu registrele I/O ====
Line 403: Line 412:
          mergi la t00     mergi la t00                  ​          mergi la t00     mergi la t00                  ​
     ​     ​
-**Task 2** (4p). Implemenţati codul Morse folosind speaker-ul. Veţi implementa 2 tonuri, unul scurt cu durata de 50 ms şi unul lung cu durata de 150 ms, cu pauză de 50 ms între 2 tonuri consecutive. Selecţia între tonuri se va face folosind cele 2 butoane de pe PB2 (produce un ton scurt) şi PD6 (produce un ton lung).+**Task 2** (4p). Implemenţati codul Morse folosind speaker-ul. Veţi implementa 2 tonuri, unul scurt cu durata de 50 ms şi unul lung cu durata de 150 ms, cu pauză de 50 ms între 2 tonuri consecutive. Selecţia între tonuri se va face folosind cele 2 butoane de pe PB2 (produce un ton scurt) şi PD6 (produce un ton lung). Speaker-ul este conectat la PD4.
  
  
pm/lab/lab0.1582485126.txt.gz · Last modified: 2020/02/23 21:12 by dorin_marian.ionita
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0