Differences

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

Link to this comparison view

pm:prj2021:agrigore:hw_pass_mgr [2021/04/25 16:05]
victor.barbu0503 [Bibliografie/Resurse]
pm:prj2021:agrigore:hw_pass_mgr [2021/06/02 23:11] (current)
victor.barbu0503 [Download]
Line 23: Line 23:
  
 Pentru debugging pe partea de hardware, voi folosi un logic analyzer. Pentru debugging pe partea de hardware, voi folosi un logic analyzer.
 +
 +Urmatoarea este schema electrica:
 +
 +{{:​pm:​prj2021:​agrigore:​hw_pass_mgr_schema.jpeg?​800|}}
 ===== Software Design ===== ===== Software Design =====
  
Line 28: Line 32:
  
 Codul pentru aplicatia de linux va fi scris intr-un limbaj high-level, de genul Python, pentru ca operatia lui nu este dificila (implica doar calluri de ''​read''​ si ''​write''​ pe serial device). Codul pentru aplicatia de linux va fi scris intr-un limbaj high-level, de genul Python, pentru ca operatia lui nu este dificila (implica doar calluri de ''​read''​ si ''​write''​ pe serial device).
 +
 +Partea software contine urmatoarele module:
 +  - SPI (''​spi.h''​) faciliteaza transferul de date prin SPI catre memoria flash.
 +  - Flash (''​flash.h''​) abstractizeaza accesul la memoria flash folosindu-se de modulul SPI si de instructiunile suportate de memorie.
 +  - MemHdr (''​mem_hdr.h''​) abstractizeaza structura de date prin care se stocheaza indexul de parole in memoria flash intr-o maniera care salveaza spatiu de stocare.
 +  - IoUtil (''​io_util.h''​) si LCD (''​lcd.h''​) ajuta la folosirea LCD-ului HD44780 intr-o maniera transparenta,​ folosind ''​printf''​.
 +  - DB (''​db.h''​) este inca un layer de abstractizare peste SPI, Flash si MemHdr si expune functionalitati high-level de initializare,​ adaugare, stergere si citire din indexul de parole.
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 +Functionalitatea de comunicare prin USB cu un computer si cea de criptare a datelor vor fi adaugate intr-o versiune ulterioara. In acest moment, partea hardware este pregatita pentru a scrie, citi, sterge si lista parole din memoria flash.
 +
 +Device-ul suporta chiar si hot-swap al memoriei flash. Cand aceasta se schimba, ea va fi initializata fara ca macar sa fie nevoie de restartarea microcontrollerului.
 +
 +Pentru a prezenta un demo al produsului, microcontrollerul a fost programat sa scrie doua parole, iar, in alta iteratie, sa le citeasca din memorie si sa le afiseze pe display.
 +
 +Mai jos se poate vedea ruland iteratia in care parolele sunt citite cu succes din memorie. Este au labelurile "​foo"​ respectiv "​bar",​ iar parola insasi apare dupa ":"​.
 +
 +{{ :​pm:​prj2021:​agrigore:​hw_pass_mgr_demo.jpg?​300 |}}
 ===== Concluzii ===== ===== Concluzii =====
  
 +Device-ul isi poate atinge toate functionalitatile prezentate in introducerea acestui document. Implementarea a durat mai mult decat era anticipat, deci criptarea si comunicarea prin USB cu USART vor veni intr-o versiune ulterioara a proiectului.
 +
 +Ca directii viitoare, imi doresc sa comand componente SOIC si sa pun dispozitivul pe un PCB si intr-o carcasa astfel incat el sa poata fi folosit cu adevarat. Cu mici imbunatatiri generale atat la nivel hardware cat si software, acest lucru este posibil.
 +
 +Consider ca proiectul a fost util pentru ca a dat start a ceva ce chiar poate deveni un device util.
 ===== Download ===== ===== Download =====
 +
 +  * Cod sursa: {{:​pm:​prj2021:​agrigore:​hw_pass_mgr.zip|}}
 +  * PDF: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​agrigore/​hw_pass_mgr?​do=export_pdf
  
 ===== Jurnal ===== ===== Jurnal =====
 +
 +  * 20 aprilie - am ales tema proiectului
 +  * 26 aprilie - creat pagina de wiki
 +  * 10 mai - 1 iunie - lucru la montaj si software
 +  * 2 iunie - finalizarea acestui wiki
 +
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-Pdf: https://ocw.cs.pub.ro/courses/pm/prj2021/agrigore/hw_pass_mgr?​do=export_pdf+ 
 +  * [[https://ww1.microchip.com/​downloads/​en/​DeviceDoc/​ATmega164A_PA-324A_PA-644A_PA-1284_P_Data-Sheet-40002070B.pdf|Datasheet ATmega1284P]] 
 +  * [[http://ww1.microchip.com/downloads/en/DeviceDoc/​20005045C.pdf|Datasheet SST25VF080B]] 
 +  * [[https://​www.sparkfun.com/​datasheets/​LCD/​HD44780.pdf|Datasheet HD44780]]
pm/prj2021/agrigore/hw_pass_mgr.1619355949.txt.gz · Last modified: 2021/04/25 16:05 by victor.barbu0503
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