» Electronics »Ano ang magiging badge para sa kumperensya ng Hackaday sa 2019, at kung paano gawin ang iyong sarili pareho

Ano ang magiging badge para sa kumperensya ng Hackaday sa 2019, at kung paano gawin ang iyong sarili pareho



Para sa ikatlong taon, kapag ang pag-host ng Hackaday sa susunod na kumperensya, sinusundan ito ng isang mahusay na tradisyon: namamahagi ito ng mga badge sa mga kalahok, na sa parehong oras ay medyo malakas na mga sistema ng computing. Kasama ang mga aparato sa presyo ng tiket. Ginawa sila sa maliit na seryeng pang-industriya, ngunit bukas ang mga ito, na nangangahulugang ang lahat na hindi makakarating sa komperensya ay, kung mayroon silang pagnanais at kakayahang gawin ang kanilang sarili ng parehong badge bilang gawang bahay gawin mo mismo. Sa oras na ito ang pangkat ng pag-unlad ay lubos na malaki: ito ang mga may-akda sa ilalim ng palayaw na 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, at Sean Cross. At oo, si Voya Antonich ay muling pareho, ang nag-develop ng vintage ngayon, at isang beses na bagong computer ng Galaksija.

Kung sa mga nakaraang panahon ang badge ay ginawa sa isang kadahilanan ng form na katulad ng Cybiko o isang QWERTY keyboard phone tulad ng Nokia Asha 200, at maaari nitong patakbuhin ang Z80 emulator, CP / M operating system at ang pangunahing tagapagsalin ng wika, ngayon ay mukhang katulad ng isang bulsa isang laro console tulad ng Game Boy. At pinapayagan ka nitong kumonekta ng 40-pin cartridges. At sa oras na ito ginawa ito sa FPGA Lattice LFE5U-45F.

Ang pag-uulit ng aparato ay dapat magsimula sa hardware. Ang unang bagay na dapat gawin ay i-download ang lahat ng mga file mula dito at i-install ang kinakailangang software, una sa lahat - KiCad. Buksan ang diagram dito (ang hadbadge2019.sch file) at bilhin ang lahat ng mga sangkap na kasama dito, pagkatapos suriin ang mga tala (hadbadge2019-bom-notes.txt file). Buksan ang pagguhit ng circuit board (hadbadge2019.kicad_pcb file) at i-export sa format na Gerber. Mag-order ng paggawa ng isang board sa isang kumpanya ng naaangkop na profile. Kahit na matatas ka sa LUT, sa kasong ito hindi ito makakatulong. Sa pagawaan para sa pag-aayos ng mga smartphone, mag-order ng pag-mount sa isang bahagi board sa mga kaso ng BGA. Madali kang nagbebenta ng lahat ng iba pang mga sangkap sa iyong sarili, na nakatuon sa larawan sa ibaba, na alalahanin na ang ilang mga sangkap, halimbawa, ang mga LED, ay polar.



Sa FPGA, kailangan mong punan ang bootloader sa programmer sa pamamagitan ng pag-download ng lahat ng mga file na kinakailangan para dito mula dito. Pagkatapos nito, ang lahat ng karagdagang pakikipag-ugnay ng iyong PC sa board ay magaganap sa pamamagitan ng USB. Upang ganap na "mabuhay" ang FPGA, kailangan mong i-download ang toolkit mula dito, at ang code para sa pagpapatupad sa FPGA ng RISC-V processor at pakikipag-ugnay sa peripheral na aparato ay mula dito. Sumulat at punan ang code.

Pagkatapos nito, ang board ay tinukoy bilang isang regular na flash drive, at posible na maglagay ng mga file na may mga programa na inilaan para dito. Ang mga card ng programa na nakaimbak sa memorya ay maaaring mapili gamit ang mga pindutan sa pamamagitan ng on-screen menu.

Opsyonal ang cartridge. Ito ay isang napaka-simpleng board na maaaring gawin ng LUT, o kahit na sa perfboard. Sa ibaba ay isang diagram ng kartutso at isang larawan ng board nito:




Maaari kang mag-install ng isang flash memory chip sa kartutso, at pagkatapos ay mai-install ito, awtomatikong magsisimula ang pag-load mula dito kapag naka-on. Mayroon ding mga platform para sa pagkonekta ng iba't ibang mga peripheral sa kartutso. Ang mga file na kinakailangan upang ulitin ang kartutso ay ditoat KiCad, kung ulitin mo ang badge mismo, mayroon ka na.

Kung hindi ka isang programmer, lahat kayo ay nakatakda. Maaari kang kumuha ng mga halimbawa dito at dito at eksperimento. Kung magpasya kang magsulat ng anumang software ng badge sa iyong sarili, ipinakilala ng mga developer ang lahat sa mga pamamaraan ng pagkontak sa kanilang mga programa ng gumagamit sa periphery.

Ang mga pangalan ng pindutan ay binubuo ng salitang BUTTON, isang salungguhit, at isa sa mga sumusunod na salita: UP, BABAE, LEFT, KARAPATAN, A, B, PUMILI, MAGSIMULA.

Halimbawa ng code para sa botohan ng isang pindutan:

kung ((MISC_REG (MISC_BTN_REG) & BUTTON_RIGHT)) {
    // Gumawa ng isang bagay kapag pinindot ang kanang pindutan.
}


Halimbawa ng code para sa pagbabasa ng isang pagbabasa ng timer sa dalas ng 60 Hz:

uint32_t counter60hz (walang bisa) {
    ibalik ang GFX_REG (GFX_VBLCTR_REG);
}


Halimbawa ng code para sa pagbabasa ng isang numero mula sa isang generator ng random number ng hardware:

MISC_REG (MISC_RNG_REG)


Halimbawa ng code para sa control ng LED:

MISC_REG (MISC_LED_REG) = 0xF;


Ang pinaka kumpletong impormasyon sa graphics engine ng aparato ay ibinigay sa file na ito. Mga graphic - tile at sprite (tulad ng sa NES). Ang imahe sa screen ay binubuo ng apat na layer (nakalista mula sa itaas hanggang sa ibaba): isang sprite layer, isang layer B, isang layer A at isang background layer. Mga hanay ng mga tile, ang bawat isa ay may kabuuang resolusyon ng 256x512 na mga pixel, na binubuo ng mga parisukat na tile na may isang gilid ng 16 na mga pixel. Ang palette ay 16-bit.

Ang layer ay may hawak na 64x64 tile, ngunit ang isang window ng 30x20 tile ay makikita sa screen. Kapag napili ang isang layer, ang lahat ng mga pagbabago dito ay makikita kaagad. Ang window ay maaaring ilipat nang maayos na may kaugnayan sa layer.

Ang mga layer na may mga tile ay maaaring mai-scale at magulong, ang kasalukuyang mga halimbawa ay ibinibigay sa main.c file. Makipagtulungan sa sprite layer ay hindi pa naipatupad, ito ay ginawang malapit sa pagpupulong. Ang mga halimbawa ay ilalagay sa parehong file.

Narito ang isang koponan ng mga developer ay nakakuha ng isang kawili-wiling disenyo. May sasabihin na sa mga nakaraang oras na may isang QWERTY keyboard at BATAYAN ito ay mas kawili-wili, ngunit ang mga retrocomputers ay naaalala ang parehong mga mundo - at bahay computer, at mga console. At marahil tama iyon.
0
0
0

Magdagdag ng isang puna

    • ngitinakangitixaxaok langhindi alamyahoonea
      bosskumamottangaoooo-ooagresibolihim
      sorrysayawsayaw2sayaw3kapatawarantumulonginumin
      humintomga kaibiganmabutigoodgoodsipolswoondila
      usokpumapalakpakkrayolaipahayagnakakainisdon-t_mentionpag-download
      initnakakainistumawa1mdapagpupulongnakikipag-usapnegatibo
      hindi_ipopcornparusahanbasahintakottakotpaghahanap
      panunuyasalamat_youitoto_clueumniktalamaksumang-ayon
      masamabeeeblack_eyeblum3namulamagyabanginip
      censoredkaaya-ayalihim2nagbabantatagumpayyusun_bespectacled
      shokrespektlolnagustuhanmaligayang pagdatingkrutoyya_za
      ya_dobryikatulongne_huliganne_othodimapusokpagbabawalmalapit

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...