Բովանդակություն:

VHDL- ի և Verilog- ի պարզ VGA վերահսկիչի ձևավորում. 5 քայլ
VHDL- ի և Verilog- ի պարզ VGA վերահսկիչի ձևավորում. 5 քայլ

Video: VHDL- ի և Verilog- ի պարզ VGA վերահսկիչի ձևավորում. 5 քայլ

Video: VHDL- ի և Verilog- ի պարզ VGA վերահսկիչի ձևավորում. 5 քայլ
Video: Մաս 5 : Բինար Որոնման Ծառ - Part 5 : Binary Search Tree 2024, Հունիսի
Anonim
Պարզ VGA վերահսկիչի նախագծում VHDL- ում և Verilog- ում
Պարզ VGA վերահսկիչի նախագծում VHDL- ում և Verilog- ում

Այս ուսանելի ծրագրում մենք պատրաստվում ենք նախագծել մի պարզ VGA վերահսկիչ RTL- ում: VGA Controller- ը թվային միացում է, որը նախատեսված է VGA էկրաններ վարելու համար: Այն կարդում է Frame Buffer- ից (VGA Memory), որը ներկայացնում է ցուցադրվող շրջանակը և առաջացնում է անհրաժեշտ տվյալներ և համաժամեցման ազդանշաններ ցուցադրման նպատակով:

Եթե դուք փնտրում եք Verilog/System verilog կոդ. Այցելեք իմ բլոգը VGA Controller և Video System Verilog- ում

Քայլ 1: VGA վերահսկիչի ինտերֆեյս

Ստորև բերված են VGA վերահսկիչի հիմնական ինտերֆեյսի ազդանշանները

  • Pixel ժամացույց կամ VGA ժամացույց
  • HSYNC և VSYNC ազդանշաններ

Ընտրված VGA էկրանին դուք պետք է նախ հաշվարկեք Pixel Clock- ի հաճախականությունը, որն անհրաժեշտ է այն վարելու համար: Դա կախված է 3 պարամետրից ՝ Ընդհանուր հորիզոնական պիքսելներ, Ընդհանուր ուղղահայաց պիքսելներ, Էկրանի թարմացման արագություն:

Սովորաբար, F = THP * TVP * Թարմացման արագություն

Գտեք տարբեր VGA էկրանների համար անհրաժեշտ պիքսելային ժամացույցի վերաբերյալ փաստաթղթերը ՝ կցված RAR- ում:

HSYNC և VSYNC ազդանշանները ստեղծվում են Pixel ժամացույցից: HSYNC և VSYNC ազդանշանների ժամանակը կախված է մի շարք պարամետրերից ՝ Հորիզոնական և Ուղղահայաց Առջևի Խորշ, Հորիզոնական և Ուղղահայաց Եզրասեղան, Հորիզոնական և Ուղղահայաց ixուցադրման Պիքսելներ, Հորիզոնական և Ուղղահայաց Համաժամացման Իմպուլսի Լայնություններ և Բևեռականություններ:

Այս պարամետրերը ստանդարտացված են ընտրված VGA էկրանին: Գտեք այս փաստաթղթերը կից RAR- ում:

Այս պարամետրերը կարգավորելի պարամետրեր են մեր VGA Controller IP- ում:

Քայլ 2: VGA վերահսկիչի ինտեգրում VGA էկրանով

VGA վերահսկիչի ինտեգրում VGA էկրանով
VGA վերահսկիչի ինտեգրում VGA էկրանով

Նկարը ցույց է տալիս, թե ինչպես կարելի է VGA Controller- ը միացնել VGA էկրանին: Համակարգը լրացնելու համար ձեզ հարկավոր է ևս երկու բաղադրիչ.

  • Շրջանակի բուֆեր. Հիշողություն, որը պահում է ցուցադրվող շրջանակը:
  • Տեսանյութ DAC: DAC, որը փոխակերպում է RGB թվային տվյալները և VGA էկրանը մղում է RGB անալոգային ազդանշաններով `համապատասխան լարման մակարդակի վրա:

Ամենապարզ և հանրաճանաչ վիդեո DAC- ներից է ADV7125- ը: Այն 8-բիթանոց DAC է, որը RGB թվային բառերը փոխակերպում է 0-0,7 Վ անալոգային ազդանշանների և վարում VGA էկրանը:

Քայլ 3. Շրջանակի բուֆերի ձևավորում

Հիշողությունն է, որ «պահում» է ցուցադրվող պատկերը: Այն սովորաբար RAM է կամ երբեմն ROM: Մենք կքննարկենք, թե ինչպես կարելի է ձևավորել շրջանակի բուֆեր `պատկեր ներկայացնելու համար: Շրջանակի բուֆերն այս թվային տվյալները փոխանցում է Video DAC- ին VGA Controller- ի հրամանով:

Նախ պետք է որոշենք պիքսելային խորության անհրաժեշտությունը: Այն որոշում է պատկերի որակը, պիքսելի գույների բազմազանությունը: 8-բիթանոց DAC- ի համար մենք պետք է ներկայացնենք պիքսելի հիմնական գույնի բաղադրիչները ՝ R, G և B յուրաքանչյուրը 8 բիթով: Դա նշանակում է, որ պիքսելը 24-բիթանոց է:

Յուրաքանչյուր պիքսել պահվում է հարակից եղանակով Frame Buffer հիշողության վայրերում:

Ենթադրենք, որ ցուցադրվող պատկերը 800x600 պիքսել է:

Հետևաբար, Frame Buffer- ի համար անհրաժեշտ է 800x600 = 480000 x 24 բիթ հիշողություն

Հիշողության ընդհանուր չափը 800x600x24 = 1400 կԲ մոտավորապես:

Սև և սպիտակ պատկերի դեպքում ՝ 800x600x1 = 60 կԲ մոտավորապես:

Արգելափակեք RAM- երը, հավանաբար, օգտագործվում են Xilinx FPGA- ներում Frame Buffer- ը ներկայացնելու համար:

Քայլ 4: Նշումներ

  • VGA Controller- ի վրա լրացուցիչ ազդանշաններ են անհրաժեշտ ՝ կախված ընտրված DAC- ից: Ես օգտագործել եմ ADV7125- ը:
  • VGA էկրան վարելուց առաջ ավելացրեք ցիկլի ուշացումներ VSYNC- ի և HSYNC- ի վրա մատնահետքերի միջոցով: Դա պայմանավորված է DAC- ի և Հիշողության ուշացման պատճառով: Պիքսելային ազդանշանները պետք է համաժամեցվեն HSYNC- ի և VSYNC- ի հետ: Իմ դեպքում դա 2 ցիկլի ուշացում էր:
  • Եթե տվյալ չափի շրջանակի բուֆերը չի կարող նախագծվել FPGA- ի վրա ՝ արգելափակման խոյերի չափի սահմանափակման պատճառով, օգտագործեք ավելի փոքր հիշողություն ՝ պատկերը ներկայացնելու համար և պարզապես խմբագրեք ծածկագիրը ՝ հասանելի հիշողության սահմանի հասցեով պտտվելու համար, այլ ոչ թե ամբողջական շրջանակի սահմանի: Սա կրկնօրինակելու է նույն պատկերը անընդհատ ամբողջ էկրանի երկայնքով: Մեկ այլ մեթոդ է պիքսելների մասշտաբավորումը, որի դեպքում յուրաքանչյուր պիքսել կրկնօրինակվում է ՝ ամբողջ պատկերը ամբողջ էկրանին ցուցադրելու համար ՝ ավելի փոքր թույլատրությամբ: Դա կարող է կատարվել ՝ ծածկագրում հասցեի ավելացման տրամաբանությունը շտկելով:
  • IP- ն ամբողջովին շարժական է բոլոր FPGA- ներով և ժամկետը հաստատված է մինչև 100 ՄՀց հաճախականությամբ Virtex-4 FPGA- ում:

Քայլ 5: Կից ֆայլեր

RAR- ը պարունակում է.

  • VGA վերահսկիչի ծածկագիր
  • VGA ստանդարտների PDF ֆայլեր:

Խորհուրդ ենք տալիս: