» electronică »Care va fi insigna pentru conferința Hackaday din 2019 și cum să te faci la fel

Care va fi insigna pentru conferința Hackaday din 2019 și cum să te faci la fel



Pentru al treilea an, când Hackaday găzduiește următoarea conferință, urmează o bună tradiție: distribuie insigne participanților, care în același timp sunt sisteme de calcul destul de puternice. Dispozitivele sunt incluse în prețul biletului. Acestea sunt produse în serii mici industriale, dar sunt hardware deschis, ceea ce înseamnă că toți cei care nu pot ajunge la conferință pot, dacă au dorința și capacitatea de a-și face același ecuson ca home-made fă-o singur. De data aceasta echipa de dezvoltare este destul de mare: este vorba despre autori sub poreclele Lutetium, Aleksandar Bradic, Mike Szczys, Sophi Kravitz, Mike Walters, Sprite_tm, Elliot Williams, de∫hipu, Kumar Abhishek, Piotr Esden-Tempski, Voja Antonic, Zapp, Roger, Hyr0n, Sylvain Munaut și Sean Cross. Și da, Voya Antonich este din nou același, dezvoltatorul acum, acum și noul computer de acasă Galaksija.

Dacă în vremurile anterioare ecusonul a fost făcut într-un factor de formă similar cu Cybiko sau cu un telefon cu tastatură QWERTY, cum ar fi Nokia Asha 200, și ar putea rula emulatorul Z80, sistemul de operare CP / M și interpretul de limbă de bază, acum arată mai mult ca unul de buzunar. o consolă de jocuri precum Game Boy. Și chiar vă permite să conectați cartușe cu 40 de pini. Și de această dată a fost realizată pe FPGA Lattice LFE5U-45F.

Repetarea dispozitivului ar trebui să înceapă cu hardware-ul. Primul lucru de făcut este să descărcați toate fișierele de aici și instalați software-ul necesar, în primul rând - KiCad. Deschideți diagrama din ea (fișierul hadbadge2019.sch) și achiziționați toate componentele incluse în ea, citind anterior notele (fișier hadbadge2019-bom-notes.txt). Deschideți desenul plăcii de circuit (fișier hadbadge2019.kicad_pcb) și exportați în format Gerber. Comandați fabricarea unei plăci într-o companie cu profilul corespunzător. Chiar dacă sunteți foarte frecvent în LUT, în acest caz nu vă va ajuta. În atelierul pentru repararea smartphone-urilor, comandați montarea pe o placă de componente în carcase BGA. Vindeți cu ușurință toate celelalte componente, concentrându-vă pe fotografia de mai jos, amintindu-vă că unele componente, de exemplu, LED-uri, sunt polare.



În FPGA, trebuie să completați bootloader-ul cu programatorul descărcând toate fișierele necesare pentru aceasta de aici. După aceea, toate interacțiunile ulterioare ale computerului cu placa vor avea loc prin USB. Pentru a „reînvia” complet FPGA, trebuie să descărcați setul de instrumente de aici, iar codul pentru implementarea pe FPGA a procesorului RISC-V și interacțiunea cu dispozitivele periferice este de aici. Compilați și completați codul.

După aceea, placa va fi definită ca o unitate flash obișnuită și va fi posibil să puneți fișiere cu programele destinate acesteia. Cardurile de program stocate în memorie pot fi selectate folosind butoanele din meniul de pe ecran.

Cartușul este opțional. Aceasta este o placă foarte simplă, care poate fi făcută de LUT, sau chiar pe perfboard. Mai jos este o diagramă a cartușului și o imagine a plăcii sale:




Puteți instala un cip de memorie flash pe cartuș, iar atunci când este instalat, încărcarea de la acesta va începe automat atunci când este pornită. Există, de asemenea, platforme pentru conectarea diverselor periferice pe placa de cartuș. Fișierele necesare pentru a repeta cartușul sunt aiciși KiCad, dacă ați repetat insigna în sine, o aveți deja.

Dacă nu sunteți programator, atunci sunteți toate setate. Puteți lua exemple aici și aici și experimentați. Dacă decideți să scrieți singur un software de insigne, dezvoltatorii prezintă tuturor metodele de a contacta programele utilizatorilor la periferie.

Numele butoanelor constau în cuvântul BUTTON, subliniere și unul dintre următoarele cuvinte: UP, DOWN, LEFT, DREPT, A, B, SELECT, START.

Exemplu de cod pentru interogarea unui buton:

if ((MISC_REG (MISC_BTN_REG) & BUTTON_RIGHT)) {
    // Faceți ceva când apăsați butonul din dreapta.
}


Exemplu de cod pentru citirea unui cronometru cu o frecvență de 60 Hz:

uint32_t counter60hz (nul) {
    returnați GFX_REG (GFX_VBLCTR_REG);
}


Exemplu de cod pentru citirea unui număr dintr-un generator de numere aleatoare hardware:

MISC_REG (MISC_RNG_REG)


Exemplu de cod pentru control LED:

MISC_REG (MISC_LED_REG) = 0xF;


Cele mai complete informații despre motorul grafic al dispozitivului sunt furnizate în acest fișier. Grafică - țiglă și sprit (ca pe NES). Imaginea de pe ecran este formată din patru straturi (listate de sus în jos): un strat de sprite, un strat B, un strat A și un strat de fundal. Seturile de plăci, fiecare având o rezoluție totală de 256x512 pixeli, constă din plăci pătrate cu o latură de 16 pixeli. Paleta are 16 biți.

Stratul conține 64x64 de plăci, dar pe ecran este vizibilă o fereastră cu 30x20 de plăci. Când este selectat un strat, toate modificările din acesta devin vizibile imediat. Fereastra poate fi deplasată lin în raport cu stratul.

Straturile cu plăci pot fi scalate și deformate, exemplele curente sunt date în fișierul main.c. Lucrul cu stratul de sprit nu a fost încă implementat, acesta va fi mai aproape de conferință. Exemplele vor fi apoi plasate în același fișier.

Iată că o echipă de dezvoltatori a primit un design interesant. Cineva va spune că, în vremurile anterioare, cu o tastatură QWERTY și BASIC, a fost mai interesant, dar retrocomputerele își amintesc ambele lumi - și acasă calculatoare și console. Și, probabil, așa este.
0
0
0

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...