SK LABS
HDMI na Raspberry Pi Pico (na bazi Adafruit RP2040 Feather with DVI)
Malina na velikom ekranu
D. PETROVIĆ
1. decembar 2024.

Do sada ste na ovim stranicama imali prilike da čitate o raznim primerima gde različiti mikrokontroleri ispisuju podatke na, opet, raznim ekranima. To su, uglavnom, bili ekrani manjih dimenzija, sasvim prikladni za ono čemu su namenjeni. Mikrokontroleri nisu u stanju da direktno ispišu podatke na velikom ekranu preko HDMI priključka, je li tako? E, pa, nije; i te kako da su sposobni. Naravno, mogućnosti su ograničene, ali na monitoru ili ekranu televizora može da se ispiše mnogo toga. Mala napomena u samom startu: ovo o čemu pišemo je DVI, a ne HDMI video. Šaljemo DVI na ekran preko HDMI priključka. Dakle, video, ne i audio.

Sve je počelo kao nezavisni projekat na GitHubu (Wren6991/PicoDVI), za šta je autor koristio RP2040 MCU. Ovo, naravno, nije promaklo velikim igračima, u prvom redu kompaniji Adafruit, ali i Pimoroni. Adafruit je ceo projekat podigao na još viši nivo, povezao sa svojim bibliotekama i dobili smo vrlo upotrebljivo parče hardvera, sa prilično ispeglanom softverskom podrškom. Adafruit u ponudi ima svoju Adafruit RP2040 Feather with DVI pločicu, koja i nije toliko skupa, koliko je visoka cena poštarine do nas. Ovo je bio dovoljan razlog da, koristeći Adafruit šemu koja je dostupna, napravimo skoro identičnu pločicu, ali u Zero formatu.

Pločica koju smo napravili koristi osnovnu šemu jednog RPi Pico, što znači da su tu RP20040, osam megabajta fleša, kao i druge osnovne prateće komponente. Svi digitalni izvodi HDMI priključka ka odgovarajućim izvodima RP2040 idu preko 220R otpornika, jer koristimo signal na 3,3 volta. U suštini, koristeći HDMI pločicu sa izvodima u formi letvica, uz par otpornika, isto može da se postigne i sa klasičnim RPi Pico. Šemu ne objavljujemo, jer je prigodnije da pratite Adafruit.

RP2040 je sposoban da preko Adafruit biblioteke stvori unutrašnji „frejmbafer” u rezolucijama 320×240 ili 400×240 16-bitnih tačaka, što se kasnije duplira u rezolucije 640×480 i 800×480. Sve što ispišemo u internu memoriju odmah će se pojaviti i na HDMI ekranu. Prema Adafruitu, DVI video koristi jedno celo jezgro, oba PIO, te čak 150 do 190 kilobajta SRAM-a, u zavisnosti od rezolucije. Da podsetimo, RP2040 ima 264 kilobajta SRAM-a, što znači da nema mnogo prostora za neke kompleksnije projekte, ali i ovo je dovoljno. Kao što vidimo, kapacitet memorije je, pored snage MCU-a, usko grlo. Prema dokumentaciji za Adafruitov projekat PicoDVI, mi, zapravo, softverski „guramo” RP2040 u overclock, što može da dovede i do pregrevanja, te, u krajnjoj liniji, skraćenja radnog veka. Trebalo bi pratiti zagrevanje MCU-a na duže staze, te shodno tome odreagovati i eventualno primeniti neki hladnjak. RP2040 koristi određena usporavanja videa, što mnogi ekrani uspešno sinhronizuju, ali verovatno ne baš svi.

Prateći Adafruitovu šemu, izveli smo CEC, Utility i HPD izvode. Oni nisu povezani sa mikrokontrolerom, ali njima može da se upravlja preko logičkih stanja. Da podsetimo, CEC (consumer electronics control) se koristi za daljinsku kontrolu. Uglavnom je zaslužan da prebaci ekran u standby režim kada, recimo, isključimo konzolu, a kada uključimo konzolu, da se ekran probudi. Isto je i kada uključujemo računar, pa i ovde može da se koristi za tu svrhu. Utility je izvod rezervisan za buduće HDMI specifikacije. HPD (hot plug detect) „govori” mikrokontroleru kada je povezan sa ekranom. HDMI priključak je još povezan sa MCU i kroz I2C, što omogućava čitanje EDID EEPROM ekrana.

Što se tiče softverske podrške, Circuitpython se, naravno, podrazumeva. Odgovarajući UF2 fajl kopiramo na RPI-RP2 drajv, baš kao i kod standardnog RPi Pico. Postoji nekoliko primera za RP2040 uopšteno, ali i samo jedan za HDMI: DVI Demo. Primer prikazuje razna geometrijska tela, boje, grafikone i slično - dovoljno da ima od čega da se počne.

Arduino dolazi sa mnogo boljom podrškom. Što se tiče Arduino sistema, potrebno je da imamo earlephilhower paket podrške za RP2040, odnosno - standardnu podršku. U listi podržanih ploča već postoji Adafruit Feather RP2040 DVI. Sa Adafruitovog GitHuba preuzimamo PicoDVI biblioteku (ne od Wren6991). Adafruit je PicoDVI biblioteku uvezao sa svojom Adafruit_GFX, tako da, ako ste se već nekom prilikom susretali sa Adafruitovim bibliotekama koristeći neke ekrane, ni ovde nećete imati problema da se snađete. Adafruit_GFX biblioteka nudi veliku slobodu, što podrazumeva ispis teksta, osnovnih grafika, pa čak i slika. Trenutno postoji više primera koji se tiču veličine video-bafera, kao i palete boja. Sve ovo direktno utiče i na zauzetost memorije.

Preturajući po primerima, naišli smo na opciju prikaza najpribližnijeg formatu 16:9, ovde je to 400×240. Konstruktor dozvoljava odabir različitih rezolucija i broja sličica po sekundi. Postoji čak i odabir napona na kom će RP2040 raditi. Obično radi na 1,1 volt, ali se može „poterati” i do 1,3 volta. Na „max” (rezolucija, overclock, 16-bitna paleta boja), može da se desi i da RP2040 „zabode” u meri da i računar nije najsigurniji sa čime je povezan. Manje zahtevni primeri donose niže palete boja. Tu su i primeri sa duplim baferom koji umanjuju treperenje slike, odnosno povećavaju vrednosti osvežavanj. Ako se prikazuje čist tekst sa grafikonima i osnovnim geometrijskim telima, 1-bitna paleta boja je nešto što RP2040 neće „ni osetiti”, ali tada imamo crno-belu sliku. Ipak, nama su najzanimljiviji „skrinsejveri”, primeri koji mogu da se preuzmu samo kao UF2. Ovi primeri animacije su fantastični i treba ih videti uživo. Nema ni sekunde kašnjenja. Zadivljujuće!

U međuvremenu, postoji već dosta primera koji su delo zajednice i drugih velikih igrača. Recimo, NES Emulator for RP2040/RP2350 DVI Boards, RunCPM Emulator, video-sinhronizacija i još mnogo toga. Nema samo Adafruit RP2040 DVI ploču, i drugi su se pridružili projektu, a mi smo, takođe. Na vas je red.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
JUN 2025
Doom: The Dark Ages
Doom iz mračnog doba drugačiji je od svih drugih Doomova, jer je Slayer koncipiran kao tenk sa štitom...
Clair Obscur: Expedition 33
Estetika Belle Époquea, gameplay u skladu sa kanonima JRPG-a, vrhunsko pripovedanje i ljubav prema igrama...
Computex 2025, Tajpej, Tajvan
AI NEXT
Ovaj, nekada ultra-PC-specifični sajam, odavno se proširio na srodne tehnologije, biznis rešenja i digitalne usluge, postavši varijanta azijskog C...
Gigabyte GeForce RTX 5070 Gaming OC 12G
Višak samopouzdanja
Kartica je sa hardverske strane vrlo kvalitetna, ali ništa ne može da nadomesti nedostatak snage „pod haubom”...
Asus ProArt P16 (H7606WP)
Pronalazak neverovatnog
Novi ProArt P16 donosi moderna rešenja, u dobro usaglašenom odnosu gabarita i performansi – alatka koju ćete sa ponosom nosati sa sobom...
Logitech ProX Superlight 2
Sve udvostručeno
Ovaj miš predstavlja jasnu indikaciju da najveći proizvođač ne želi da napusti nijedan segment tržišta...
Winhance 25.05
Popravka Prozora
U pitanju je alatka koja omogućava da se brzo rešite (većine) bloatwarea, ali i da obavite optimizaciju rada Windowsa...
TCL NXTPAPER 11 Plus
Momak za sve
Ovo bi bio najbolji tablet „za te pare” i da košta 100 evra više...
.rs: Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Unapređeno e Zakazivanje
Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Google Mariner, Google Astra i AI autonomni agenti
Uspon tihog softvera
Umesto kliktanja stručnog lica, softver će, već ove godine, u tihom, gotovo nečujnom načinu rada - završavati posao...
Fatal Fury: City of the Wolves
Fatal Fury je oduvek bio čudna cvećka u svetu borilačkih igara; takav je i ostao...
Arc Raiders
Novi extraction shooter iz pera autora dobrih delova franšize Battlefield (i potcenjenog The Finals)...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama