Elektronika.lt
 2019 m. rugpjūčio 22 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 - Garso technika
 - Automobilių elektronika
 - Buitinė elektronika
 - Kompiuterių elektronika
 - Maitinimo šaltiniai
 - Mikrovaldikliai
 - Radiotechnika
 - Šviesos efektai
 - Įvairi elektronika
 Teorija, žinynaiSąrašas
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Rugpjūčio 22 d. 08:23
Svarbu perkantiems internetu: nuo rugsėjo – naujovės dėl saugumo
Rugpjūčio 21 d. 20:31
Lietuvos potencialas kuriant dirbtinį intelektą: bėgsime priekyje ar seksime iš paskos?
Rugpjūčio 21 d. 16:44
Moderniausias kosminis teleskopas leis tyrinėti egzoplanetų atmosferas
Rugpjūčio 21 d. 15:49
Artėjant oficialiai „Porsche Taycan“ premjerai – vis sudėtingesni ištvermės išbandymai
Rugpjūčio 21 d. 12:22
Pasaulis keičiasi iš esmės – prognozuojama, kad programuotojai taps bedarbiais
Rugpjūčio 21 d. 08:19
Ateityje iš kosmoso grįžusias raketas gaudys sraigtasparniais
Rugpjūčio 20 d. 20:36
Nauja era su detektoriumi LISA: kuo jis kitoks nei kiti detektoriai
Rugpjūčio 20 d. 18:28
Kokie ženklai rodo, kad atėjo laikas įsigyti naują šaldytuvą
Rugpjūčio 20 d. 16:10
Įpročiai prie vairo: estams rizikingas plepėjimas telefonu – nė motais, atsakingiausiai elgiasi lietuviai
Rugpjūčio 20 d. 14:19
Atgal į mokyklą: nepakibkite ant sukčių pinklių perkant internete
FS 19 Tractor mods
Farming Simulator 19 Mods, FS 19 Maps, How to install
ATS mods
ATS trailer mods, ATS truck mods, ATS map mods
FS 19 Tractors
Farming Simulator 19 Mods, FS 19 Maps, FS 19 Trucks
FS19 Maps, FS19 Trucks
Farming Simulator 2019 Mods, FS19 Tractors
Install MC Mods
Minecraft Dungeons Mods, Minecraft Dungeons Skins, Minecraft Dungeons Maps
FS19 Combines
Farming Simulator 19 Mods, FS19 Trucks, FS 19 Mods
How to Install Mods
Minecraft Dungeons Mod, Minecraft Dungeons Maps, Minecraft Dungeons Skins
Mobilieji telefonai
Mobilieji telefonai internetu, telefonų dėklai, telefonų priedai
Reklama
 Schemų archyvas » Kompiuterių elektronika Dalintis | Spausdinti

VGA signalo modeliavimas

Publikuota: 2007-02-20 10:16
Tematika: Kompiuterių elektronika
Tipas: Paprasta
Autorius: Šarūnas Dakanis
Aut. teisės: el. paštas ©Elektronika.lt

Pateikiame VGA signalo modeliavimą kompiuterio ekrane, tam naudojant AVR mikrovaldiklį „Atmega 16“. Čia pateikiami programų kodai, leidžiantys suprasti, kaip vyksta VGA signalų formavimas. Principinė elektrinė schema yra labai paprasta, tam tereikia kelių 1K varžų, poros kondensatorių, kvarcinio rezonatoriaus bei VGA jungties kompiuterio displėjui prijungti.

 Rodyti komentarus (4)
Įvertinimas:  1 2 3 4 5 

Pateikiame VGA signalo modeliavimą kompiuterio ekrane, tam naudojant AVR mikrovaldiklį „Atmega 16“. Čia pateikiami programų kodai, leidžiantys suprasti, kaip vyksta VGA signalų formavimas.

Principinė elektrinė schema yra labai paprasta, tam tereikia kelių 1K varžų, poros kondensatorių, kvarcinio rezonatoriaus bei VGA jungties kompiuterio ekranui prijungti (1 pav.). Vietoj naudojamo „Atmega 16“ galima naudoti ir kitokio tipo mikrovaldiklį (pvz.: „Atiny2313“).


1 pav. Principinė VGA signalo modeliavimo schema

VGA signalas modeliuojamas 640 x 480 raiškai. Todėl būtina žinoti horizontalaus ir vertikalaus sinchronizavimo laikus bei kitus parametrus, kuriuos galite rasti www.epanorama.net/documents/pc/vga_timing.html puslapyje. Tačiau pagrindiniai yra šie:
Taktų dažnis: 25,175 MHz
Eilutės keitimo dažnis: 31469 Hz
Kadro keitimo dažnis: 59,94 Hz arba 525 eilutės
Vertikalus sinchronizavimas: 63 us
Horizontalus sinchronizavimas: 3,81 us

2 pav. „Piešimo“ ekrane pavyzdžiai

Programos kodas yra rašytas „AVR Studio“ programa, GCC kalba (paveiksliukas.c).

Kaip matome, taktų dažnis yra 25,175 MHz, tai yra apie 39,72 ns, tačiau naudojant 16 MHz, instrukcijos atlikimo trukmė 62,5 ns. Įrašant i PORTB reikšmę 0 arba didesnį skaičių, skiriasi asemblerio kodo ilgis, todėl norint suvienodinti, papildomai reikalingas kodo vykdymo vėlinimas. Tam naudojama „nop“ instrukcija, kurią mikrovaldiklis vykdo kaip tuščią komandą. Taigi norint nuspalvinti arba palikti juodą ekrano elementą (tašką), sugaištama 2 ciklus t. y. 125 ns. Taigi, nuspalviname ~3 vaizdo elementus.

Naudojant mažesnio ar didesnio dažnio kvarcinį rezonatorių teks pakeisti TCNT0 reikšmes, arba tiesiog #define laikas < taimerio pradinė reikšmė> taimerio pradinę reikšmę. Taipogi teks suderinti (pakeisti) sinchronizavimo laikus, kad jie išliktų tokie, kokie yra nurodyti 640 x 480 raiškai.

Norint suvienodinti laikus „spalvinant“ pikselius, naudojome papildomą „nop“ instrukciją:


PORTB=0
nop; 

Asemblerio kalba būtų:


STS     0x0038,R1
NOP

Tuo tarpu:


PORTB=1

Asemblerio kalba būtų:


LDI     R24,0x01         
STS     0x0038,R24 

Norint suformuoti ekrane norimą paveiksliuką, galima jį tiesiogiai formuoti rankiniu būdu aprašant kiekvieną vaizdo elementą. Kad to nereikėtų daryti kiekvienu metu keičiant paveiksliuką, galima pasinaudoti sudaryta programa (VGA.exe), kuri pagal nupieštą paveiksliuką sugeneruoja paveiksliuką atitinantį kodą


3 pav. Programos formuojančios piešinio kodą pagrindinis langas

Patalpinus programa gautą kodą tarp žymių „//paveiksliuko kodas“ ir „//paveiksliuko kodo pabaiga“ bei perkompiliavus programą ir įrašius į mikrovaldiklį, displėjaus ekrane pamatysite savo suformuotą vaizdą.

Žemiau pateikta kodo iškarpa su nurodyta automatiškai sugeneruoto kodo įterpimo vieta:


while (1) //begalinis ciklas, kuriame paišomas paveiksliukas
      {
sleep_mode(); //laukiame taimerio pertraukties
if(linecount>45) 	//paliekame tuščias eilutes: top border, bottom border
{
sleep_mode(); //paliekame kelias tuščias eilutes
sleep_mode(); //
sleep_mode();
sleep_mode();	

//paveiksliuko piešimas, čia parodyta 20-ties „taškų“,
//„taškas“ – tai keli įjungti vaizdo elementai 
//PORTB=0 juoda
//PORTB=1 raudona
//PORTB=2 žalia
//PORTB=4 mėlyna
//PORTB=7 balta

//kitokie skaičiai iki 7, kitokia ir spalva

//paveiksliuko kodas


//paveiksliuko kodo pabaiga

while(linecount!=44){};  //laukiame tol kol nepasieksime 44 eilutės
}	

};	//amžino ciklo pabaiga
      
}	//pagrindinio ciklo (main) pabaiga

VGA signalas yra analoginis ir kinta nuo 0 iki 0,7 V (monitoriaus įėjimo varža 75 Ω). Taigi, norint gauti didesne spalvų gamą, galima daryti paprastą įtampos daliklį, pajungiant varžas į kitas mikrovaldiklio kojas.


4pav. Įtampos daliklis, naudojamas norint gauti didesnę spalvų gamą

Kitoje versijoje bus naudojamas masyvas, kurio turinį bus galima keisti mikrovaldiklio veikimo eigoje. Toks metodas yra daug racionalesnis nei aprašytasis.

Redagavo Darius Grigaitis




Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

TMS ELECTRONICS
TMS ELECTRONICS

www.rslietuva.com – nemokamas elektronikos komponentų pristatymas

www.matuok.lt - Interneto spartos matavimo sistema

Lietuvos mokinių neformaliojo švietimo centras

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Technologijos.lt

Mokslo festivalis „Erdvėlaivis Žemė

www.esaugumas.lt – apsaugok savo kompiuterį!

LTV.LT - lietuviškų tinklalapių vitrina

CRM sistema – „Hanna CRM“

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

MRO Supply


Reklama
‡ 1999–2019 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Farming Simulator 2017 Mods, FS 17 Mods
ls2017.com
„TV programa“ – tiksli
televizijos programa

www.tvprograma.lt
Lietuvos mokinių neformaliojo švietimo centras
www.lmnsc.lt
Lietuvių kalba informacinėse technologijose
www.likit.lt
Svarstyklės – čia, matuokliai, laboratorinė įranga
www.moris.lt
Farming Simulator 2019 Mods, LS19 Mods, FS19 Mods
fs19.net
Ets2 mods, ats mods, fs19 mods
allmods.net
Farming Simulator 2019 Mods, FS19 Tractors, FS19 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – geriausių lietuviškų tinklalapių katalogas
www.ltv.lt/technologijos/
FS 2019 Mods, FS 2017 Mods, FS 2015 Mods
www.farming2015mods.com
Mokslo populiarinimo projektas „Mokslas verslui ir visuomenei“
www.mokslasplius.lt
Reklama


Reklama