Elektronika.lt
 2024 m. lapkrič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
Lapkričio 21 d. 20:39
Asfaltas klojamas, o ryšys stringa: kodėl infrastruktūros spragos stabdo skaitmeninę pažangą Lietuvoje?
Lapkričio 21 d. 18:37
Norite kalbėti vokiškai, itališkai ar kiniškai? „Microsoft Teams“ atnaujinimas pavers jus poliglotu
Lapkričio 21 d. 16:45
5 tendencijos 2025-iesiems: žmonės ieško pusiausvyros tarp technologijų ir realybės, vis labiau vertina autentiškumą
Lapkričio 21 d. 14:24
NKSC įspėja apie dažniausias Juodojo penktadienio apgavystes
Lapkričio 21 d. 12:29
Palygino IT ir automobilių gigantus: į akis krenta sudėtinga problema
Lapkričio 21 d. 10:12
Elektronikos prekių pardavimai per Juodąjį penktadienį: taupysime ne tik dėl akcijų
Lapkričio 21 d. 08:20
Ką turime nuveikti šiandien, kad taptume konkurencingesni ateities inovacijų srityje?
Lapkričio 20 d. 20:21
Su vietos trūkumu susiduria daugelis „Gmail“ naudotojų: pateikiame paprastas gudrybes, kurios leis išspręsti opią problemą
Lapkričio 20 d. 17:34
Sukčiai platina netikras nuorodas, prisidengdami Lietuvos prekių ženklais
Lapkričio 20 d. 14:31
Odos vėžio nustatymas naminiams gyvūnams – KTU doktorantė siekia sukurti diagnostinę metodiką pasitelkiant DI
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
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

Electronic component supply – „Eurodis Electronics“

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

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama