⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)
您的(de)當前(qián)位置:主(zhǔ)页(yè)-old > 教程中(zhōng)心(xīn) > 認識FPGA >

基于(yú)FPGA的(de)VGA图(tú)像顯示

發(fà)布(bù)时(shí)間(jiān):2023-06-30   作者(zhě):fpga王子 浏覽量(liàng):

本(běn)文(wén)我(wǒ)们(men)介紹利用(yòng)FPGA实現(xiàn)VGA图(tú)像顯示,主(zhǔ)要(yào)介紹VGA硬(yìng)件(jiàn)接口(kǒu)、VGA接口(kǒu)时(shí)序原理以(yǐ)及(jí)FPGA代(dài)碼实現(xiàn)VGA接口(kǒu)时(shí)序、仿真(zhēn)等內(nèi)容。


01、VGA硬(yìng)件(jiàn)接口(kǒu)介紹

VGA(Video Graphics Array)視頻图(tú)形阵(zhèn)列是(shì)IBM于(yú)1987年(nián)提(tí)出(chū)的(de)一(yī)个(gè)使用(yòng)模拟信(xìn)号(hào)的(de)電(diàn)腦顯示标(biāo)準。


VGA接口(kǒu)即電(diàn)腦采用(yòng)VGA标(biāo)準輸出(chū)數據(jù)的(de)專用(yòng)接口(kǒu)。VGA接口(kǒu)共(gòng)有(yǒu)15針(zhēn),分(fēn)成(chéng)3排,每排5个(gè)孔,顯卡(kǎ)上(shàng)應(yìng)用(yòng)最(zuì)为(wèi)廣泛的(de)接口(kǒu)類(lèi)型,絕大多(duō)數顯卡(kǎ)都带(dài)有(yǒu)此(cǐ)種(zhǒng)接口(kǒu)。

它(tā)傳輸紅(hóng)、綠(lǜ)、藍(lán)模拟信(xìn)号(hào)以(yǐ)及(jí)同(tóng)步信(xìn)号(hào)(水(shuǐ)平和(hé)垂直(zhí)信(xìn)号(hào))。

图(tú)1-VGA接口(kǒu)


管(guǎn)脚
信(xìn)号(hào)
信(xìn)号(hào)描述
1 RED
紅(hóng)基色(sè)
2 GREEN
綠(lǜ)基色(sè)
3 BLUE
藍(lán)基色(sè)
4 ADDR_CODE
地(dì)址碼
5 RES
自(zì)测試(各(gè)家(jiā)定(dìng)義不(bù)同(tóng))
6 RED_GND
紅(hóng)地(dì)
7 GREEN_GND
綠(lǜ)地(dì)
8 BLUE_GND
藍(lán)地(dì)
9 RES
保留(各(gè)家(jiā)定(dìng)義不(bù)同(tóng))
10 DIG_GND
數字(zì)地(dì)
11 ADDR_CODE
地(dì)址碼
12 ADDR_CODE
地(dì)址碼
13 HYS
行同(tóng)步信(xìn)号(hào)
14 VYS
场同(tóng)步信(xìn)号(hào)
15 ADDR_CODE
地(dì)址碼

常見(jiàn)的(de)VGA分(fēn)辨率如(rú)图(tú)2所(suǒ)示

图(tú)2-常見(jiàn)的(de)VGA分(fēn)辨率



02、VGA接口(kǒu)时(shí)序及(jí)顯示原理

VGA顯示主(zhǔ)要(yào)取(qǔ)決于(yú)R、G、B三(sān)基色(sè),也(yě)即三(sān)原色(sè)。根(gēn)據(jù)R、G、B位宽(kuān)的(de)不(bù)同(tóng),VGA顯示的(de)效果(guǒ)也(yě)不(bù)同(tóng),常見(jiàn)有(yǒu)24bit(R/G/B各(gè)8bit)、16bit(R 5bit、G 6bit、B 6bit)、12bit(R/G/B各(gè)4bit)。

对(duì)于(yú)分(fēn)辨率600×400@60Hz,該參數顯示的(de)是(shì)VGA有(yǒu)效數據(jù)參數,即VGA顯示刷新率60幀,每幀600×400个(gè)像素點(diǎn)。VGA接口(kǒu)实際傳輸的(de)數據(jù)比此(cǐ)數值要(yào)大。

VGA顯示器逐行掃描原理:逐行掃描是(shì)掃描從屏幕左(zuǒ)上(shàng)角(jiǎo)一(yī)點(diǎn)開(kāi)始,從左(zuǒ)至(zhì)右(yòu)逐點(diǎn)掃描,每掃描完一(yī)行,電(diàn)子束(shù)回(huí)到(dào)屏幕的(de)左(zuǒ)邊(biān)下(xià)一(yī)行的(de)起始位置。在(zài)这(zhè)期(qī)間(jiān),CRT对(duì)電(diàn)子束(shù)進(jìn)行消隐,每行結束(shù)时(shí),用(yòng)行同(tóng)步信(xìn)号(hào)HS進(jìn)行同(tóng)步;當掃描完所(suǒ)有(yǒu)的(de)行,形成(chéng)一(yī)幀,用(yòng)场同(tóng)步信(xìn)号(hào)VS進(jìn)行幀同(tóng)步,并使掃描回(huí)到(dào)屏幕左(zuǒ)上(shàng)方(fāng),同(tóng)时(shí)進(jìn)行场消隐,開(kāi)始下(xià)一(yī)幀。

從逐行掃描的(de)原理中(zhōng),我(wǒ)们(men)可(kě)以(yǐ)了(le)解(jiě),當一(yī)行掃描完成(chéng)後(hòu),切(qiè)換到(dào)下(xià)一(yī)行时(shí),需要(yào)行同(tóng)步信(xìn)号(hào)及(jí)行消隐时(shí)間(jiān);當一(yī)幀掃描完成(chéng)後(hòu),切(qiè)換到(dào)下(xià)一(yī)幀时(shí),需要(yào)场同(tóng)步信(xìn)号(hào)及(jí)场消隐时(shí)間(jiān),这(zhè)樣(yàng)就(jiù)形成(chéng)了(le)VGA掃描时(shí)序,如(rú)图(tú)所(suǒ)示


Sync为(wèi)同(tóng)步信(xìn)号(hào),Back Porch为(wèi)顯示後(hòu)肩时(shí)間(jiān),Active Video为(wèi)有(yǒu)效視頻,Front Porch为(wèi)顯示前(qián)肩时(shí)間(jiān)。Sync+Back Porch+Active Video+Front Porch構成(chéng)一(yī)个(gè)完整行周期(qī)。


图(tú)3-VGA行场时(shí)序图(tú)


下(xià)图(tú)定(dìng)義了(le)一(yī)幀图(tú)像的(de)时(shí)序定(dìng)義。图(tú)中(zhōng)场信(xìn)号(hào)的(de)定(dìng)義與(yǔ)行信(xìn)号(hào)定(dìng)義類(lèi)似。行信(xìn)号(hào)以(yǐ)像素點(diǎn)为(wèi)單位,场信(xìn)号(hào)以(yǐ)行为(wèi)單位。VGA图(tú)像时(shí)序的(de)編写即是(shì)对(duì)图(tú)4中(zhōng)各(gè)个(gè)时(shí)序段(duàn)進(jìn)行定(dìng)时(shí)。

图(tú)4-VGA图(tú)像幀定(dìng)義



03、VGA接口(kǒu)时(shí)序關(guān)鍵代(dài)碼編写

下(xià)面(miàn)以(yǐ)1920×1080@60Hz分(fēn)辨率介紹VGA时(shí)序定(dìng)義。在(zài)VESA表(biǎo)準中(zhōng)給(gěi)出(chū)了(le)該分(fēn)辨率的(de)參數定(dìng)義,如(rú)下(xià)图(tú)所(suǒ)示


图(tú)5-1920×1080@60Hz分(fēn)辨率图(tú)像參數

在(zài)图(tú)5中(zhōng),需要(yào)注意(yì)藍(lán)色(sè)标(biāo)記(jì)的(de)HS/VS信(xìn)号(hào)极(jí)性(xìng),这(zhè)在(zài)VESA标(biāo)準中(zhōng)有(yǒu)規定(dìng)要(yào)求,图(tú)3只(zhī)是(shì)給(gěi)出(chū)了(le)其中(zhōng)一(yī)種(zhǒng)HS/VS信(xìn)号(hào)极(jí)性(xìng),其他(tā)3種(zhǒng)請參考VESA标(biāo)準。


根(gēn)據(jù)图(tú)5所(suǒ)示,我(wǒ)们(men)需要(yào)關(guān)注的(de)參數如(rú)图(tú)中(zhōng)各(gè)个(gè)顔色(sè)标(biāo)記(jì)所(suǒ)示

`ifdef  VIDEO_1920_1080   //一(yī)幀图(tú)像參數定(dìng)義//行周期(qī)參數定(dìng)義parameter  H_ACTIVE        = 1920;// 行數據(jù)有(yǒu)效像素點(diǎn)數parameter  H_FRONT_PORCH   = 88;  // 行消隐前(qián)肩像素點(diǎn)數parameter  H_SYNC_TIME     = 44;  // 行同(tóng)步信(xìn)号(hào)像素點(diǎn)數parameter  H_BACK_PORCH    = 148; // 行消隐後(hòu)肩像素點(diǎn)數 //场周期(qī)參數定(dìng)義                parameter  V_ACTIVE        = 1080;// 场數據(jù)有(yǒu)效像素點(diǎn)數parameter  V_FRONT_PORCH   = 4;   // 场消隐前(qián)肩像素點(diǎn)數parameter  V_SYNC_TIME     = 5;   // 场同(tóng)步信(xìn)号(hào)像素點(diǎn)數parameter  V_BACK_PORCH    = 36;  // 场消隐後(hòu)肩像素點(diǎn)數`endif
根(gēn)據(jù)一(yī)幀图(tú)像參數定(dìng)義,進(jìn)一(yī)步定(dìng)義行、场掃描計(jì)數器,这(zhè)两(liǎng)个(gè)計(jì)數器可(kě)以(yǐ)用(yòng)来(lái)産生(shēng)HS行同(tóng)步信(xìn)号(hào)、VS场同(tóng)步信(xìn)号(hào)、图(tú)像有(yǒu)效數據(jù)使能(néng)信(xìn)号(hào)DE以(yǐ)及(jí)图(tú)像有(yǒu)效數據(jù)坐标(biāo)。

parameter  H_TOTAL_TIME   = H_ACTIVE + H_FRONT_PORCH + H_SYNC_TIME + H_BACK_PORCH; parameter  V_TOTAL_TIME   = V_ACTIVE + V_FRONT_PORCH + V_SYNC_TIME + V_BACK_PORCH;
//行掃描計(jì)數器always@(posedge i_clk) begin  if(h_syn_cnt >= H_TOTAL_TIME-1)  h_syn_cnt <= 0;  else h_syn_cnt <= h_syn_cnt + 1;end
// 场掃描計(jì)數器always@(posedge i_clk) begin  if(h_syn_cnt >= H_TOTAL_TIME-1) begin        if(v_syn_cnt >= V_TOTAL_TIME-1)            v_syn_cnt <= 0;        else            v_syn_cnt <= v_syn_cnt + 1;  endend

HS行同(tóng)步信(xìn)号(hào)、VS场同(tóng)步信(xìn)号(hào)Verilog代(dài)碼。

//有(yǒu)效數據(jù)使能(néng)信(xìn)号(hào)DEalways@(posedge i_clk) begin    if(v_syn_cnt >= V_SYNC_TIME + V_BACK_PORCH && v_syn_cnt < V_SYNC_TIME + V_BACK_PORCH + V_ACTIVE)    begin        if(h_syn_cnt >= H_SYNC_TIME + H_BACK_PORCH && h_syn_cnt < H_SYNC_TIME + H_BACK_PORCH + H_ACTIVE)            o_en_pos <= 1;        else            o_en_pos <= 0;    end    else        o_en_pos <= 0;end


图(tú)像有(yǒu)效數據(jù)坐标(biāo)産生(shēng)x_pose、y_pose。

//x坐标(biāo)數據(jù)always@(posedge i_clk) begin    if(v_syn_cnt >= V_SYNC_TIME + V_BACK_PORCH && v_syn_cnt < V_SYNC_TIME + V_BACK_PORCH + V_ACTIVE)    begin        if(h_syn_cnt >= H_SYNC_TIME + H_BACK_PORCH && h_syn_cnt < H_SYNC_TIME + H_BACK_PORCH + H_ACTIVE)            o_x_pos <= h_syn_cnt - (H_SYNC_TIME + H_BACK_PORCH);        else            o_x_pos <= 0;    end    else        o_x_pos <= 0;end
//y坐标(biāo)數據(jù)always@(posedge i_clk) begin    if(v_syn_cnt >= V_SYNC_TIME + V_BACK_PORCH && v_syn_cnt < V_SYNC_TIME + V_BACK_PORCH + V_ACTIVE)        o_y_pos <= v_syn_cnt - (V_SYNC_TIME + V_BACK_PORCH);    else        o_y_pos <= 0;end



04、FPGA工程实現(xiàn)框架

FPGA实現(xiàn)VGA顯示功能(néng)框架如(rú)图(tú)6所(suǒ)示。

图(tú)6-FPGA实現(xiàn)VGA顯示功能(néng)框图(tú)


如(rú)图(tú)6所(suǒ)示,整个(gè)工程由(yóu)四(sì)个(gè)模块(kuài)組成(chéng):PLL模块(kuài)、vga_timing_ctrl模块(kuài)、video_source模块(kuài)和(hé)hdmi_interface_dir模块(kuài)。由(yóu)于(yú)实验(yàn)電(diàn)路(lù)板上(shàng)沒(méi)有(yǒu)VGA接口(kǒu),因(yīn)此(cǐ)采用(yòng)HDMI接口(kǒu)实現(xiàn)最(zuì)終(zhōng)图(tú)像顯示。图(tú)中(zhōng)video_source輸出(chū)的(de)信(xìn)号(hào)可(kě)以(yǐ)直(zhí)接送入(rù)視頻DAC芯片(piàn),如(rú)ADV7123实現(xiàn)VGA图(tú)像顯示。

PLL模块(kuài):産生(shēng)VGA图(tú)像像素时(shí)鐘(zhōng)pixclk和(hé)pixclk_x5时(shí)鐘(zhōng)(HDMI接口(kǒu)串行时(shí)鐘(zhōng));

vga_timing_ctrl模块(kuài):实現(xiàn)VGA时(shí)序産生(shēng)和(hé)控制;

video_source模块(kuài):産生(shēng)VGA图(tú)像數據(jù);

hdmi_interface_dir模块(kuài):实現(xiàn)HDMI接口(kǒu)驅動(dòng)功能(néng)。


05、Modelsim软(ruǎn)件(jiàn)仿真(zhēn)與(yǔ)测試

編写Testbench测試文(wén)件(jiàn),功能(néng)仿真(zhēn)如(rú)图(tú)7所(suǒ)示。




06、硬(yìng)件(jiàn)测試與(yǔ)验(yàn)證

硬(yìng)件(jiàn)平台(tái):XC7Z035FFG676-2

Vivado软(ruǎn)件(jiàn):2017.4

工程編譯完成(chéng)後(hòu),下(xià)载bit文(wén)件(jiàn)到(dào)電(diàn)路(lù)板,测試結果(guǒ)如(rú)图(tú)所(suǒ)示


VGA时(shí)序图(tú)像顯示


上(shàng)一(yī)篇(piān):FPGA讓汽車更(gèng)智能(néng)
   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨