Cov txheej txheem:

Zynq Duab Txhim Kho Qhov System: 7 Kauj Ruam
Zynq Duab Txhim Kho Qhov System: 7 Kauj Ruam

Video: Zynq Duab Txhim Kho Qhov System: 7 Kauj Ruam

Video: Zynq Duab Txhim Kho Qhov System: 7 Kauj Ruam
Video: Understanding project Image Processing on Zynq (FPGAs) - Part 4 || Coding VietNam 2024, Lub Xya hli ntuj
Anonim
Zynq Duab Txhim Kho Qhov System
Zynq Duab Txhim Kho Qhov System
Zynq Duab Txhim Kho Qhov System
Zynq Duab Txhim Kho Qhov System

Raws li koj tuaj yeem ua tau los ntawm lub npe, lub hom phiaj ntawm txoj haujlwm no yog txhawm rau Txhim Kho Cov Duab Siv ZYNQ ApSOC. Tshwj xeeb tshaj yog, peb xav tsim lub kaw lus uas tuaj yeem tshem tawm huab cua los ntawm cov duab lossis video. Cov kab ke no yuav siv cov ntaub ntawv tsis zoo pom raws li cov tswv yim, txheej txheem nws siv cov txheej txheem txhim kho duab thiab tom qab ntawd tso cov txiaj ntsig.

Txoj haujlwm tau tsim thiab sim ntawm Digilent Zybo Board tab sis lwm yam ZYNQ cov cuab yeej yuav tsum ua haujlwm ib yam.

Peb yuav faib qhov haujlwm no ua 3 ntu:

1) INPUT = Cov duab tawm ntawm Ethernet los ntawm Khoos Phis Tawj/Koob Yees Duab

2) txheej txheem = Txheej Txheem Duab

3) OUTPUT = Tso Tawm Cov Duab ntawm HDMI interface

Hauv qhov kev tawm tsam tsis zoo peb yuav pib nrog qhov tsim tawm ib feem ntawm txoj haujlwm (qhov no yuav ua rau peb muaj peev xwm daws teeb meem tau zoo dua ntawm txoj kev) txuas ntxiv nrog cov tswv yim thiab ua tiav nrog kev ua ib feem.

Kauj ruam 1: Cov ntaub ntawv

Khoom siv
Khoom siv

Txhawm rau ua tiav txoj haujlwm no koj yuav xav tau:

HARDWARE

- ib qho ZYNQ Board nrog HDMI thiab Ethernet yuav tsum ua haujlwm / Kuv siv Digilent Zybo

- USB A rau micro B USB cable

- HDMI kab

- Ethernet cable

- Zaub nrog HDMI cov tswv yim

SOFTWARE

- Xilinx Vivado

- Xilinx SDK

Kauj Ruam 2: OUTPUT - VGA Controller Part 1

OUTPUT - VGA Controller Ntu 1
OUTPUT - VGA Controller Ntu 1

Peb yuav tshaj tawm peb cov ntaub ntawv pom siv HDMI chaw nres nkoj tam sim no ntawm lub rooj tsavxwm. Qhov chaw nres nkoj HDMI txuas nrog PL (Programmable Logic = FPGA) sab ntawm ZYNQ thiab peb yuav xav tsim tus tswj hwm hauv VHDL rau nws. Yog tias koj tau tsim tus tswj VGA koj yuav pom qhov no zoo sib xws. Lub sijhawm rau HDMI thiab VGA yog qhov zoo ib yam, qhov tseeb koj tuaj yeem tsim ntawm VGA tus tswj uas twb muaj lawm kom tau txais tus tswj hwm HDMI.

Txhawm rau nkag siab zoo txog dab tsi tshwm sim tiag tiag peb yuav xub tsim tus VGA maub los

Peb xav kom pom ntawm kev daws teeb meem ntawm 1920x1080.

Tus tswj VGA yog lub luag haujlwm xa cov ntaub ntawv pixel (hauv RGB hom) ua ntu zus, pixel los ntawm pixel rau cov zaub. Sab nraum ntawm thaj chaw pom tseeb ntawm 1920x1080 tseem muaj qee qhov "ciam teb" thaj chaw, uas yog: lub sam thiaj pem hauv ntej, lub sam thiaj qab thiab rov qab. Qhov loj me hauv pixels ntawm cov cheeb tsam no yog tus qauv thiab tshwj xeeb rau txhua qhov kev daws teeb meem. Cov cheeb tsam no TSIS YOG tshwm sim ntawm lub vijtsam tab sis lawv yuav tsum tau ua thiab xim ntawm cov pixels hauv cheeb tsam no yuav tsum yog xim dub. Cov lus nug siv tau yuav yog vim li cas cov chaw no xav tau ntxiv. Cov lus nug no cuam tshuam lub hom phiaj ntawm cov lus qhia no tab sis yog tias koj xav paub kuv yuav txhawb koj kom tshawb fawb ntxiv hauv online.

Nov yog daim vis dis aus zoo piav qhia txog VGA interface

Hauv peb qhov xwm txheej peb xav ua cov zaub ntawm kev daws teeb meem ntawm 1920*1080, thiab cov no yog lub sijhawm:

Kab rov tav pom thaj tsam = 1920 pixels

Kab rov tav kab rov tav = 88 pixels

Kab Rov Qab Rov Qab = 148 pixels

Kab rov tav Retrace = 44 pixels

Vertical Display Area = 1080 pixels

Ntsug Pem Hauv Ntej Vertical = 4 pixels

Vertical Back Porch = 36 pixels

Ntsug Retrace = 5 pixels

(Ntawm no koj tuaj yeem nrhiav sijhawm rau lwm qhov kev daws teeb meem

Yog li peb qhov kev daws teeb meem tiag tiag yuav yog 2200 x 1125. Peb xav tau 60 fps (thav duab ib pliag) yog li peb lub moos pixel yuav yog 60*2200*1125 = 148.5 MHz. Ntawm Zybo Board tau muab 125 Mhz moos. Peb yuav siv MMCM IP los tsim 148.5 MHz Pixel Clock peb xav tau.

Kauj Ruam 3: OUTPUT - VGA Controller Part 2

OUTPUT - VGA Controller Part 2
OUTPUT - VGA Controller Part 2

Nrog theoretical keeb kwm yav dhau los ntawm cov kauj ruam dhau los koj yuav tsum muaj peev xwm tsim koj tus kheej VGA maub los. Kuv yuav muab koj nrog Vivado project uas ua li ntawd tab sis kuv qhia koj kom tsawg kawg sim ua nws ntawm koj tus kheej ua ntej.

Feem ntau VGA cov chaw nres nkoj tsis muab rau koj 8 khoom ib xim channel ib pixel (saib duab saum toj no) yog li koj yuav tsum hloov kho tus qauv rau tus lej ntawm tus lej ntawm ib xim uas Pawg Thawj Coj muab (qhov no tsis yog teeb meem rau HDMI tab sis).

Tus Qauv Tsim yuav pleev xim rau tag nrho lub vijtsam xiav, tshwj tsis yog rau sab laug sab laug pixel uas yuav liab. Nws yuav tsum raug sau tseg tias txoj haujlwm no siv kev txwv rau ZYBO Pawg Thawj Coj. Yog li yog tias koj xav ua txoj haujlwm no ntawm lwm Pawg Thawj Coj koj yuav tsum hloov kho cov ntaub ntawv txwv thiab hloov tus lej ntawm tus pin rau xim.

Ua tibzoo saib daim duab nr. 2. Nco qab tias thaum peb VGA Tus Tswj Xyuas tso tawm 5/6 cov khoom ib xim, cov khoom ntawd tau hloov pauv mus rau hauv ib qho kev sib piv teeb liab rau txhua cov xim channel (Liab, Ntsuab thiab Xiav) ua ntej yuav hla lub cable.

Kauj Ruam 4: OUTPUT - HDMI Controller Ntu 1

OUTPUT - HDMI Controller Ntu 1
OUTPUT - HDMI Controller Ntu 1

Tam sim no peb paub tias VGA maub los ua haujlwm li cas thiab peb muaj kev tsim qauv ua haujlwm peb tuaj yeem txuas ntxiv nrog HDMI tswj. Tus tswj hwm HDMI tiag tiag yuav siv tag nrho cov cai peb tsim hauv VGA maub los. HDMI thiab VGA siv tib lub sijhawm thiab tib lub cim qhia. Qhov sib txawv tshwm rau ntawm tus pin ouput.

Thaum VGA siv ib lub xaim rau txhua xim thiab xa cov teeb liab sib xws mus rau nws, HDMI xa cov ntaub ntawv digitally 1 ntsis ntawm ib lub sijhawm rau txhua xim thiab siv cov cim sib txawv. Qhov sib txawv ntawm qhov taw qhia txhais tau tias rau txhua qhov me me HDMI muaj 2 tus pin nrog ib qho sib txawv ntawm lwm qhov. Yog li yog tias peb xav xa lub teeb liab '1' peb yuav xa '1' ntawm xov hlau thiab '1' tsis zoo ntawm lwm txoj xov hlau. Qhov no ua kom ntseeg tau lub teeb liab ncaj ncees thiab koj tuaj yeem nyeem ntxiv txog nws ntawm no https://goo.gl/6CPCzB. Peb muaj ib qho ntawm cov channel no rau txhua xim, RED, GREEN thiab BLUE thiab ib qho rau lub moos. Vim tias qhov tshwj xeeb ntawm kev sib txawv ntawm kev xa cov cim peb xa los ntawm hdmi yuav tsum yog DC sib npaug uas txhais tau tias tus naj npawb ntawm 1's thiab 0's yuav tsum sib npaug sib npaug hauv qee lub qhov rai ntawm lub sijhawm. Txhawm rau ua kom tiav qhov no peb yuav siv 8b/10b encoding. Koj tuaj yeem kawm paub ntau ntxiv txog kev sib txawv ntawm qhov taw qhia li cas thiab 8b/10b kev ua haujlwm los ntawm DVI qhov tshwj xeeb ntawm no https://goo.gl/hhh8Ge (DVI thiab HDMI siv tib lub cim video).

Kauj Ruam 5: OUTPUT - HDMI Controller Part 2

OUTPUT - HDMI Controller Ntu 2
OUTPUT - HDMI Controller Ntu 2

Txoj kev xav txaus, cia mus rau peb qhov project. Thaum nyob hauv VGA Tus Tswj Peb tau tawm mus nrog 148.5 MHz moos, ntawm no peb yuav tsum muab 10 zaus ntawd vim tias peb xav xa 8 khoom rau txhua xim thiab siv 8b/10b encoding uas txhais ua 10 bits ib pixel thiab 10 *148.5MHz = 1485MHz. Qhov ntawd yog qhov ntau zaus uas tsis tuaj yeem tau txais ntawm Zybo Board. Hmoov zoo peb tau txais qee qhov kev dag ntawm peb lub tes tsho. Peb tuaj yeem tswj hwm 5*148.5MHz = 742.5MHz thiab peb yuav siv OSERDES (tus lej xov tooj) IP los xa cov ntaub ntawv ob qho tib si ntawm qhov nce thiab poob ntawm 742.5Mhz moos, yog li peb yuav tau txais cov ntaub ntawv xa tawm ntawm 1485MHz. Vivado yuav muab qee yam lus ceeb toom rau peb thiab koj tuaj yeem ib txwm mus rau qhov kev daws teeb meem qis nrog lub moos me dua, tab sis txij li nws ua haujlwm, peb tsis mob siab rau tam sim no (cov lus ceeb toom cuam tshuam nrog qhov tseeb tias lub moos tsis ua haujlwm txhawb zaus ntau dua 464MHz).

Yog li peb yuav tsum ua dab tsi yog txhawm rau txheeb xyuas cov ntaub ntawv los ntawm peb cov VGA Tus Tswj Xyuas cov zis hauv 8b/10b hom ntawv thiab tom qab ntawd ua raws li nws tau hais los saum no. Peb tseem yuav xav tau ntxiv lwm MMCM rau txoj haujlwm los tsim 742.5MHz moos rau kev ua haujlwm.

Kuv txuas hauv qab cov ntaub ntawv vhdl rau lub encoder thiab serializer. Koj yuav tsum xub nkag mus rau RGB raws thiab tom qab ntawv txuas rau lawv.

Piv txwv rau cov channel liab:

TMDS_encoder_RED: TMDS_encoder

daim ntawv qhia chaw nres nkoj (clk148, red_channel_8bits, c_red, video_on, encoded_red_10bits);

Serialiser_RED: Serialiser10_1

daim ntawv qhia chaw nres nkoj (clk148, clk742, encoded_red_10bits, rov pib dua, red_serial_1bit);

Qhov "c" nkag mus rau TMDS_encoder yog "00" rau liab thiab ntsuab thiab "vsync & hsync" rau xiav (qhov no yog ib feem ntawm DVI qhov tshwj xeeb

Kauj Ruam 6: Tso Duab Los Ntawm RAM

Muab cov duab los ntawm RAM
Muab cov duab los ntawm RAM

Lub hom phiaj ntawm tus tswj hwm HDMI yog los tso saib cov duab ua tiav. Tam sim no, nrog tus tswj hwm siv thiab npaj mus, peb yuav tsum xav txog kev pub cov tswj hwm no nrog cov ntaub ntawv. Muab tias ntau cov txheej txheem txhim kho cov duab yuav tshwm sim hauv PS (Txheej Txheem Txheej Txheem = ARM Txheej Txheem) thiab cov duab tshwm sim yuav nyob hauv DDR RAM. Yog li peb xav tau txoj hauv kev kom tau txais cov ntaub ntawv los ntawm RAM mus rau HDMI tswj.

Txhawm rau ua kom tiav qhov no koj yuav xav tau 3 IPs:

1) VDMA (Video Direct Memory Access)

2) VTC (Tus tswj lub sijhawm yees duab)

3) Kwj rau Video Tawm (peb yuav hu nws S2VO txij tam sim no mus)

S2VO yuav muab RGB 24BIT teeb liab rau qhov tso tawm thiab xav tau HSYNC thiab VSYNC cov cim. Yog li peb tuaj yeem tso qhov ntawd ntawm HDMI tus tswj tawm.

Koj yuav tsum ntxiv cov IPs no rau koj tus qauv, teeb tsa lawv thiab ua kom muaj kev sib txuas zoo.

Thaum kawg koj yuav tsum tau txais qee yam zoo ib yam li cov txheej txheem saum toj no.

Kauj Ruam 7: NTUJ - SDK KAWG

OUTPUT - SDK KAWG
OUTPUT - SDK KAWG

Nrog txhua qhov kho vajtse teeb tsa thiab npaj mus peb yuav tsum tam sim no tsim cov software hauv PS. Peb yuav xa cov khoom kho vajtse thiab cov khoom me me thiab tso tawm SDK.

1) Cov Ntaub Ntawv -> Export -> Export Hardware -> Kos Nrog Bitstream thiab Nias OK

2) Cov Ntaub Ntawv -> Tua tawm SDK

Hauv SDK tsim ib daim ntawv thov tshiab.

3) Cov Ntaub Ntawv -> Tshiab -> Daim Ntawv Thov

4) Xaiv lub npe rau koj qhov haujlwm thiab nias Next

5) Xaiv tus "Nyob Zoo Ntiaj Teb" tus qauv thiab nias qhov ua tiav

Daim ntawv thov hauv SDK yuav tsum tau ua haujlwm rau VDMA. Muaj qee qhov txheej txheem ua haujlwm siv txhawm rau ua kom tiav qhov no (Kuv yuav nkag mus rau cov ntsiab lus thaum kuv muaj sijhawm).

Txhawm rau sim peb tsim peb yuav siv SDK Restore (Xilinx Cov Cuab Yeej -> Dump/Restore) ua kom muab cov duab tso rau hauv DDR RAM nco thiab tso saib nws siv peb li HDMI Controller. Koj tuaj yeem thauj cov duab nyob txhua qhov chaw koj xav tau (tshwj tsis yog qee qhov txwv me me thaum pib nco). Rau peb qhov piv txwv peb xaiv chaw nyob 16777216 thiab cov ntaub ntawv loj 8294400 = 1920*1080*4 (4 raws = RGB + alpha).

Nws Ua Haujlwm!

Yuav tsum txuas ntxiv mus

Pom zoo: