This shows you the differences between two versions of the page.
pm:prj2025:fstancu:sabin.padurariu [2025/05/17 16:31] sabin.padurariu [Concluzii] |
pm:prj2025:fstancu:sabin.padurariu [2025/05/30 07:18] (current) sabin.padurariu [Bibliografie] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Random Number Generator ====== | + | ====== Random Number Generator - PĂDURARIU Sabin ====== |
===== Introducere ===== | ===== Introducere ===== | ||
Line 59: | Line 59: | ||
[[http://ocw.cs.pub.ro/courses|{{pm:prj2025:fstancu:sabin_padurariu_assembly.png}}]] | [[http://ocw.cs.pub.ro/courses|{{pm:prj2025:fstancu:sabin_padurariu_assembly.png}}]] | ||
- | Microcontroller-ul foloseste doi pini de ADC pentru a citi valorile furnizate de catre circuitul electric si de catre senzorul de temperatura. | + | Microcontroller-ul foloseste un de ADC pentru a citi valoarea furnizata de catre circuitul electric iar ADC-ul incepe conversia la evenimentul produs de compararea de pe timer-ul 0. |
Comunicarea cu senzorul de proximitate se desfasoara cu ajutorul a doi pini specifici senzorului prin care microcontroller-ul comunica senzorului cand sa citeasca date iar senzorul notifica microcontroller-ul cand datele pot fi citite. | Comunicarea cu senzorul de proximitate se desfasoara cu ajutorul a doi pini specifici senzorului prin care microcontroller-ul comunica senzorului cand sa citeasca date iar senzorul notifica microcontroller-ul cand datele pot fi citite. | ||
- | Comunicarea cu modulul Bluetooth se realizeaza folosind interfata SPI a microcontroller-ului. | + | Atat senzorul de temperatura cat si cel de proximitate au protocoale proprii si nu folosesc un standard cum ar fi SPI sau I2C. |
+ | Comunicarea cu senzorul de proximitate se desfasoara cu ajutorul a doi pini specifici senzorului prin care microcontroller-ul comunica senzorului cand sa citeasca date iar senzorul notifica microcontroller-ul cand datele pot fi citite. | ||
+ | Comunicarea cu senzorul de temperatura se desfasoara folosind un singur pin pe care se trimit, la intervale de timp prestabilite, biti, ridicand linia la unu logic sau coborand-o la zero logic. | ||
+ | |||
+ | Comunicarea cu modulul Bluetooth se realizeaza folosind interfata UART a microcontroller-ului. | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | Programul realizeaza orice computatie in **O(1)** si foloseste doar **tipuri de date primitive** pentru ca un **inginer adevarat** prefera **simplitatea**. | + | Am folosit compilatorul de c, avr-gcc, pentru a compila codul pentru microcontroller si dau boot direct folosind avrdude. |
- | ===== Rezultate Obţinute ===== | + | |
- | <note tip> | + | Software-ul contine trei mai sisteme: |
- | Rezultatele obţinute în urma realizării proiectului. | + | * sistemul de sampling |
- | </note> | + | * ADC cu Timer0 |
+ | * Pini GPIO | ||
+ | * sistemul de proximitate | ||
+ | * Timer1 | ||
+ | * Pini GPIO | ||
+ | * sistemul de entropie | ||
+ | * Pini GPIO | ||
- | ===== Concluzii ===== | + | Sistemele sunt initializate folosind registrele fiecarei componente iar starea acestora este modificata ulterior prin diverse apeluri. |
- | <note tip> | + | Interfatarea cu modulul bluetooth se realizeaza cu ajutorul interfetei UART iar comunicarea se desfasoara normal. |
- | Secțiune în care voi preciza concluziile in urma realizarii proiectului. | + | ===== Rezultate Obţinute ===== |
- | </note> | + | |
- | [[https://github.com/Sabin1133/Random-Number-Generator|Link Github]] | + | In practica, circuitul se comporta intr-un mod asteptat desi fluctuatiile sunt mai mici decat ar trebui sa fie. De asememea, si senzorul de temperatura ofera valori ca sunt destul de stabile, ceea ce nu imbunatateste cu mult entropia ansamblului. Senzorul de proximitate in schimb furnizeaza valori care variaza destul de mult atunci cand masoara distante mai mari decat cele anticipate. Astfel, apar spike-uri si valori aleatoare cand acesta masoara o distanta foarte mare. |
- | ===== Download ===== | + | [[https://github.com/Sabin1133/Random-Number-Generator|Github]] |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 05.05-11.05: Documentare hardware |
- | Secțiune în care voi descrie progresul proiectului. | + | * 12.05-15.05: Implementare si testare hardware |
- | </note> | + | * 19.05-22.05: Implementare software |
+ | * 23.05: Testare modul Bluetooth | ||
===== Bibliografie ===== | ===== Bibliografie ===== | ||
- | <note> | + | [[https://ocw.cs.pub.ro/courses/pm/prj2010/dtudose/my_rng|HardwareNumberGenerator]] |
- | Listă cu documente, datasheet-uri şi resurse online folosite. | + | |
- | </note> | + | [[https://www.gniibe.org/memo/development/gnuk/rng/neug.html|Neug TRNG]] |