Differences

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

Link to this comparison view

priot:laboratoare:01 [2024/10/06 21:14]
jan.vaduva [Microcontroler]
priot:laboratoare:01 [2024/10/15 02:08] (current)
alexandru.bala [Microcontroler]
Line 1: Line 1:
-===== Simulator Wowki, introducere în RP2040 =====+===== Laboratorul 01: Simulator Wowki, introducere în RP2040 =====
  
  
Line 39: Line 39:
  
  
-Desi marea majoritatea a proiectelor experimentate in cadrul laboratorului pot fi realizate cu MicroPython sau CircuitPython pentru proiectele mai complexe recomandam utilizarea C/C++ in special din considerente de performanta. De asemenea recomandam sa verificati ​de asemenea ​disponibilitatea bibliotecilor,​ pentru a va asigura că există biblioteci disponibile pentru limbajul și proiectul dvs.+Desi marea majoritatea a proiectelor experimentate in cadrul laboratorului pot fi realizate cu MicroPython sau CircuitPython pentru proiectele mai complexe recomandam utilizarea C/C++ in special din considerente de performanta. De asemenea recomandam sa verificati disponibilitatea bibliotecilor,​ pentru a va asigura că există biblioteci disponibile pentru limbajul și proiectul dvs.
 ==== RP2040 ==== ==== RP2040 ====
  
Line 56: Line 56:
   * Memorie:   * Memorie:
      * Suport pentru memorie externă: Codul poate fi executat direct din memoria flash externă folosind interfețele SPI, DSPI sau QSPI. O mică cache internă îmbunătățește performanța pentru datele accesate frecvent.      * Suport pentru memorie externă: Codul poate fi executat direct din memoria flash externă folosind interfețele SPI, DSPI sau QSPI. O mică cache internă îmbunătățește performanța pentru datele accesate frecvent.
-     * SRAM internă: Memoria internă (264 kB) poate stoca cod sau date și este accesibilă simultan de diferite părți ale cipului.+     * SRAM internă: Memoria internă (256 kB) poate stoca cod sau date și este accesibilă simultan de diferite părți ale cipului.
   * Procesare:   * Procesare:
      * **DMA**: Canalele DMA (Direct Memory Access) dedicate descarcă sarcinile repetitive de mutare a datelor de la procesoare, îmbunătățind eficiența.      * **DMA**: Canalele DMA (Direct Memory Access) dedicate descarcă sarcinile repetitive de mutare a datelor de la procesoare, îmbunătățind eficiența.
Line 66: Line 66:
         * **I2C**: Pentru comunicație serială multi-master         * **I2C**: Pentru comunicație serială multi-master
      * I/O programabil (PIO): Controlierele PIO flexibile pot fi configurate pentru diverse funcții de I/O personalizate.      * I/O programabil (PIO): Controlierele PIO flexibile pot fi configurate pentru diverse funcții de I/O personalizate.
-  * USB - poate fi utilizată atât pentru programarea microcontrolerului,​ cât și pentru comunicația cu alte dispozitive:​+  ​* **USB** - poate fi utilizată atât pentru programarea microcontrolerului,​ cât și pentru comunicația cu alte dispozitive:​
      * Controler USB integrat: Oferă funcționalitate USB host sau device sub control software (Full Speed/Low Speed).      * Controler USB integrat: Oferă funcționalitate USB host sau device sub control software (Full Speed/Low Speed).
   * Convertor analog-digital (**ADC** - pentru conversia analog-digitală):​ Patru canale ADC pot fi folosite pentru a converti semnalele analogice în date digitale.   * Convertor analog-digital (**ADC** - pentru conversia analog-digitală):​ Patru canale ADC pot fi folosite pentru a converti semnalele analogice în date digitale.
-  * Ceasuri - pentru măsurarea timpului și generarea de întreruperi:​+  ​* **PWM**: Pentru generarea de semnale PWM (Pulse Width Modulation) 
 +  * **Ceasuri** - pentru măsurarea timpului și generarea de întreruperi:​
      * Două bucle cu fază blocată (PLL): Generează ceasuri pentru funcții specifice precum USB (48MHz) și sistemul (până la 133MHz).      * Două bucle cu fază blocată (PLL): Generează ceasuri pentru funcții specifice precum USB (48MHz) și sistemul (până la 133MHz).
   * Gestionarea puterii:   * Gestionarea puterii:
Line 135: Line 136:
   - Proiectați și implementați un program pentru un microcontroler Raspberry Pi Pico (RP2040) care incrementează un contor de la 0 la 9 și afișează numărul curent pe un display cu 7 segmente. Programul ar trebui să includă și un buton de resetare care, atunci când este apăsat, resetează contorul înapoi la 0.   - Proiectați și implementați un program pentru un microcontroler Raspberry Pi Pico (RP2040) care incrementează un contor de la 0 la 9 și afișează numărul curent pe un display cu 7 segmente. Programul ar trebui să includă și un buton de resetare care, atunci când este apăsat, resetează contorul înapoi la 0.
     * [[https://​wokwi.com/​projects/​403561096139405313|Folositi template-ul disponibil]]     * [[https://​wokwi.com/​projects/​403561096139405313|Folositi template-ul disponibil]]
 +  - Rescrieti aplicatia de la punctul 2 in MicroPython si observati diferentele de implementare.
  
 ==== Bibliografie ==== ==== Bibliografie ====
Line 142: Line 144:
   - [[https://​www.raspberrypi.com/​documentation/​microcontrollers/​c_sdk.html|Pico-SDK]]   - [[https://​www.raspberrypi.com/​documentation/​microcontrollers/​c_sdk.html|Pico-SDK]]
   - [[https://​www.raspberrypi.com/​documentation/​pico-sdk/​hardware.html#​ga71d35b29e897b9bb4fc881b587b08cab|Documentatie Pico-SDK]]   - [[https://​www.raspberrypi.com/​documentation/​pico-sdk/​hardware.html#​ga71d35b29e897b9bb4fc881b587b08cab|Documentatie Pico-SDK]]
 +  - [[https://​proto-pic.co.uk/​content/​RPI-PICO-R3-PUBLIC-SCHEMATIC.pdf|Schematic Raspberry Pi Pico]]
  
 <​hidden>​ <​hidden>​
priot/laboratoare/01.1728238485.txt.gz · Last modified: 2024/10/06 21:14 by jan.vaduva
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