chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ZYNQ LCD顯示OV5640圖像測試方法

電子設(shè)計(jì) ? 來源:米聯(lián)客 ? 作者:米聯(lián)客 ? 2020-12-01 11:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在實(shí)際開發(fā)中,我們會(huì)經(jīng)常使用到LCD屏,LCD屏的種類有很多種,對(duì)應(yīng)的使用方法也有所不同,但是,在ZYNQ 圖像傳輸開發(fā)中,思路大體類似,下面介紹在ZYNQ中,使用LCD顯示OV5640圖像方法。

1.1 概述
總體來說,搭建LCD顯示的工程架構(gòu)同之前搭建OV5640 HDMI顯示的工程類似,采集輸入端、VDMA處理、顯示輸出端,這里變化的是顯示輸出端。

測試使用模塊:OV5640攝像頭,LCD (RGB或HDMI接口) 屏,米聯(lián)客ZYNQ開發(fā)板。這里需要說明LCD屏的分辨率是1024x600,OV5640使用的分辨率是640X480。

測試工程:測試工程是在攝像頭采集的測試工程的基礎(chǔ)上進(jìn)行修改,下面僅說明區(qū)別,其他相同的部分,這里不在贅述。
為了做對(duì)比,我分別做了RGB /HDMI 接口LCD屏的640x480、640x480_1024x600測試歷程。這里使用縮放IP,將640x480分辨率圖像放大到1024x600。

LCD 測試工程
LCD(RGB接口) 640x480
640x480_1024x600 (使用縮放ip)
LCD(HDMI接口) 640x480
640x480_1024x600 (使用縮放ip)

1.2 驗(yàn)證測試效果

1.2.1 RGB接口LCD屏測試

(1)640X480分辨率輸入,直接輸出測試

可以看到圖像顯示僅占據(jù)一部分界面,這是因?yàn)檩敵龇直媛蚀笥谳斎敕直媛?。輸入圖像僅占據(jù)輸出圖像的一部分。

1)640x480分辨率輸出

(2)640x480分辨率圖像輸入,采集圖像經(jīng)過HLS IP處理放大到1024x600輸出。

2)1024x600分辨率輸出

1.2.2 HDMI接口的LCD屏測試

(1)640X480分辨率輸入,直接輸出測試
可以看到圖像顯示僅占據(jù)一部分界面,這是因?yàn)檩敵龇直媛蚀笥谳斎敕直媛省]斎雸D像僅占據(jù)輸出圖像的一部分。

(2)640x480分辨率圖像輸入,采集圖像經(jīng)過HLS IP處理放大到1024x600輸出。

2)1024x600分辨率輸出

1.3 硬件工程

1.3.1 硬件平臺(tái)搭建

1、VTC設(shè)置

由于LCD屏是1024x600,對(duì)于VTC中沒有現(xiàn)成的參數(shù)配置,因此,這里我們使用AXI4總線對(duì)VTC分辨率進(jìn)行配置。

生成后的IP

選擇自動(dòng)連線,將VTC連接到總線上。然后,如圖所示連接,并將s_axi_aclken給定值1。


2、ZYNQ 時(shí)鐘設(shè)置

ZYNQ IP 提供的FCLK_CLK0用于AXI 數(shù)據(jù)傳輸?shù)臅r(shí)鐘,這個(gè)時(shí)鐘給定值要根據(jù)數(shù)據(jù)傳輸情況給定,不能設(shè)置太高也不能設(shè)置太低,否則會(huì)造成數(shù)據(jù)的堵塞,不會(huì)輸出。通常我這里調(diào)試,640X480輸出會(huì)給100M,1080P輸出會(huì)給155M(實(shí)際輸出是150M)。具體參考程序。

3、縮放IP設(shè)置

OV5640的有幾種分辨率(640x480、720P),而LCD屏的分辨率是1024x600;如果直接使用5640的分辨率顯示,使用640X480輸出,則不會(huì)鋪滿整個(gè)LCD屏;或者使用720P輸出,則720P分辨率大于1024x600,則LCD不能顯示5640采集的全部圖像;因此,使用了hls封裝的縮放IP,可以將輸出的分辨率調(diào)整為LCD屏分辨率1024x600。
使用的硬件工程,在OV5640 VDMA圖像傳輸?shù)幕A(chǔ)上進(jìn)行修改。將HLS生成的IP添加工程中,將Video In to AXI4-Stream的輸出接口與HLS IP的輸入接口連接,HLS IP的輸出接口與VDMA的AXIS接口連接。

4、LCD接口設(shè)置

HDMI接口:對(duì)于HDMI接口的LCD屏,Video Out IP后面接HDMI_FPGA_ML IP,將RGB信號(hào)轉(zhuǎn)換為HDMI信號(hào)輸出。

RGB接口:對(duì)于RGB接口的LCD屏,Video Out IP信號(hào)直接輸出,這個(gè)IP輸出的是RGB信號(hào),同事需要注意,對(duì)驅(qū)動(dòng)LCD屏的其他信號(hào),如時(shí)鐘、使能信號(hào)進(jìn)行配置。

1.3.2 SDK工程

640x480顯示工程對(duì)應(yīng)的main.c主函數(shù)
#include "I2C_16bit.h"

#include "xiicps.h"

#include "xil_io.h"

#include "xparameters.h"

#include "vtc_config.h"

#define VDMA_BASEADDR XPAR_AXI_VDMA_0_BASEADDR

#define VIDEO_BASEADDR0 0x01000000

#define VIDEO_BASEADDR1 0x02000000

#define VIDEO_BASEADDR2 0x03000000

#define H_ACTIVE 1024

#define V_ACTIVE 600

#define H_STRIDE 1024

XIicPs Iic;

u32 i=0;

#define SUM 2457600 //背景寫黑 1280*720*4

void main()

{

//設(shè)置內(nèi)存中的背景

for(i=0;i

Xil_Out16((VIDEO_BASEADDR0 + i), 0x00);

Xil_Out16((VIDEO_BASEADDR1 + i), 0x00);

Xil_Out16((VIDEO_BASEADDR2 + i), 0x00);

}

// Initialize OV5640 regesiter

I2C_config_init();

// Config VTC

Vtc_init(&Vtc, VTC_DEV_ID, &Vtc_timing, VIDEO_RESOLUTION_WSVGA);

//Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode

Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode

Xil_Out32((VDMA_BASEADDR + 0x0AC), VIDEO_BASEADDR0); // start address

Xil_Out32((VDMA_BASEADDR + 0x0B0), VIDEO_BASEADDR1); // start address

Xil_Out32((VDMA_BASEADDR + 0x0B4), VIDEO_BASEADDR2); // start address

Xil_Out32((VDMA_BASEADDR + 0x0A8), (H_STRIDE*3)); // h offset (H_STRIDE* 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x0A4), (H_ACTIVE*3)); // h size (H_ACTIVE * 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x0A0), V_ACTIVE); // v size (V_ACTIVE)

/*****************從DDR讀數(shù)據(jù)設(shè)置**********************/

Xil_Out32((VDMA_BASEADDR + 0x000), 0x8B); // enable circular mode

Xil_Out32((VDMA_BASEADDR + 0x05c), VIDEO_BASEADDR0); // start address

Xil_Out32((VDMA_BASEADDR + 0x060), VIDEO_BASEADDR1); // start address

Xil_Out32((VDMA_BASEADDR + 0x064), VIDEO_BASEADDR2); // start address

Xil_Out32((VDMA_BASEADDR + 0x058), (H_STRIDE*3)); // h offset (H_STRIDE * 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x054), (H_ACTIVE*3)); // h size (H_ACTIVE * 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x050), V_ACTIVE); // v size (V_ACTIVE)

while (1) ;

}

640x480_1024x600 (使用縮放ip) 顯示工程對(duì)應(yīng)的main.c主函數(shù)
#include "I2C_16bit.h"

#include "xiicps.h"

#include "xil_io.h"

#include "xparameters.h"

#include "vtc_config.h"

#include "xhls_video_scaler_top.h"

#define XPAR_HLS_VIDEO_SCALER_TOP_DEVICE_ID XPAR_HLS_VIDEO_SCALER_TOP_0_DEVICE_ID

#define VDMA_BASEADDR XPAR_AXI_VDMA_0_BASEADDR

#define VIDEO_BASEADDR0 0x01000000

#define VIDEO_BASEADDR1 0x02000000

#define VIDEO_BASEADDR2 0x03000000

#define H_ACTIVE 1024

#define V_ACTIVE 600

#define H_STRIDE 1024

XHls_video_scaler_top XHls_video_scaler;

XIicPs Iic;

void XHls_video_scaler_initialize(void)

{

int status;

status=XHls_video_scaler_top_Initialize(&XHls_video_scaler, XPAR_HLS_VIDEO_SCALER_TOP_DEVICE_ID);

if(0!=status)

{

xil_printf("XPAR_HLS_VIDEO_SCALER FAILED/n");

}

}

void XHls_video_scaler_setup(u16 row,u16 col,u16 drow,u16 dcol)

{

XHls_video_scaler_top_SetRows(&XHls_video_scaler,row);

XHls_video_scaler_top_SetCols(&XHls_video_scaler, col);

XHls_video_scaler_top_SetDrows(&XHls_video_scaler, drow);

XHls_video_scaler_top_SetDcols(&XHls_video_scaler, dcol);

XHls_video_scaler_top_InterruptGlobalDisable(&XHls_video_scaler);

XHls_video_scaler_top_EnableAutoRestart(&XHls_video_scaler);

XHls_video_scaler_top_Start(&XHls_video_scaler);

}

void main()

{

// Initialize OV5640 regesiter

I2C_config_init();

// Config VTC

Vtc_init(&Vtc, VTC_DEV_ID, &Vtc_timing, VIDEO_RESOLUTION_WSVGA);

//Initialize XHls_video_scaler Ip

XHls_video_scaler_initialize();

//set input and output resolution ratio

XHls_video_scaler_setup(480,640,600,1024);

//Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode

Xil_Out32((VDMA_BASEADDR + 0x030), 0x108B);// enable circular mode

Xil_Out32((VDMA_BASEADDR + 0x0AC), VIDEO_BASEADDR0); // start address

Xil_Out32((VDMA_BASEADDR + 0x0B0), VIDEO_BASEADDR1); // start address

Xil_Out32((VDMA_BASEADDR + 0x0B4), VIDEO_BASEADDR2); // start address

Xil_Out32((VDMA_BASEADDR + 0x0A8), (H_STRIDE*3)); // h offset (H_STRIDE* 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x0A4), (H_ACTIVE*3)); // h size (H_ACTIVE * 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x0A0), V_ACTIVE); // v size (V_ACTIVE)

/*****************從DDR讀數(shù)據(jù)設(shè)置**********************/

Xil_Out32((VDMA_BASEADDR + 0x000), 0x8B); // enable circular mode

Xil_Out32((VDMA_BASEADDR + 0x05c), VIDEO_BASEADDR0); // start address

Xil_Out32((VDMA_BASEADDR + 0x060), VIDEO_BASEADDR1); // start address

Xil_Out32((VDMA_BASEADDR + 0x064), VIDEO_BASEADDR2); // start address

Xil_Out32((VDMA_BASEADDR + 0x058), (H_STRIDE*3)); // h offset (H_STRIDE * 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x054), (H_ACTIVE*3)); // h size (H_ACTIVE * 3) bytes

Xil_Out32((VDMA_BASEADDR + 0x050), V_ACTIVE); // v size (V_ACTIVE)

while (1) ;

}

1.4 小結(jié)

實(shí)際使用中,屏的分辨率和使用方法各有差異,但是使用的思路是類似的,這里給出的是RGB、HDMI接口屏的OV5640傳輸顯示,大家可以根據(jù)自己實(shí)際使用情況進(jìn)行調(diào)整。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    36

    文章

    4597

    瀏覽量

    176505
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    629

    瀏覽量

    49325
  • RGB接口
    +關(guān)注

    關(guān)注

    1

    文章

    5

    瀏覽量

    10624
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    蜂鳥處理器+OV5640攝像頭模塊開發(fā)

    本隊(duì)伍編號(hào)CICC3042,本文重點(diǎn)介紹蜂鳥處理器和OV5640模塊的結(jié)合方式、OV5640的窗口調(diào)節(jié),以及圖像的resize方法,試圖以一種簡單快速的方式得到令人滿意的
    發(fā)表于 10-31 07:59

    【CPKCOR-RA8D1】3.測試攝像頭及屏幕

    圖像傳感器,支持不同的分辨率和功能(如 OV5640 支持自動(dòng)對(duì)焦)。 (4)CEU 初始化 err = ceu_init(g_image_vga_sram, VGA_WIDTH
    發(fā)表于 10-29 23:11

    使用e203驅(qū)動(dòng)OV5640

    寄存器配置,使得數(shù)據(jù)線方向?yàn)檩斎?。其?shí)此處我們可以取巧,在已經(jīng)測試過從設(shè)備可用的狀況下,我們可以直接模擬一個(gè)ack信號(hào),這樣就可以省略一個(gè)檢測ack信號(hào)的函數(shù)。 外部邏輯分析檢測I2C信號(hào),能夠返回ACK,讀寫成功
    發(fā)表于 10-29 06:15

    利用MCU的引腳去配置OV5640時(shí)產(chǎn)生的問題及解決辦法

    本篇主要介紹,在利用MCU的引腳去配置OV5640是時(shí)產(chǎn)生的問題 問題描述 ??我們利用MCU的引腳去配置攝像頭OV5640的過程中發(fā)現(xiàn),通過引腳讀回來的寄存器的值始終有問題,所以我們用示波器去
    發(fā)表于 10-28 07:36

    mcu200t配置OV5640寄存器

    OV5640介紹 OV5640 的寄存器配置是通過 FPGA 的 I2C(也稱為 SCCB 接口)接口來配置,需要配置正確的寄存器值讓 OV5640 輸出我們需要的圖像格式
    發(fā)表于 10-23 06:01

    OV5640通信協(xié)議解讀

    V5640是一款1/4英寸單芯片圖像傳感器,使用的是兩線式SCCB接口總線。 OV5640的寫時(shí)序: SCCB的寫傳輸協(xié)議如下圖所示: 上圖中的ID ADDRESS是由7位器件地址和1位讀寫控制位
    發(fā)表于 10-21 15:07

    OV5640傳輸協(xié)議介紹

    V5640是一款1/4英寸單芯片圖像傳感器,使用的是兩線式SCCB接口總線。 OV5640的寫時(shí)序: SCCB的寫傳輸協(xié)議如下圖所示: 上圖中的ID ADDRESS是由7位器件地址和1位讀寫控制位
    發(fā)表于 10-21 12:11

    k210調(diào)試OV5640攝像頭參數(shù)無效怎么處理?

    結(jié)果和實(shí)際結(jié)果 0V2640攝像頭在曝光和增益調(diào)節(jié)上,變化明顯;而OV5640沒有任何變化,請問該如何調(diào)節(jié)0V5640的成像效果
    發(fā)表于 08-14 08:17

    參考cycx3_uvc_ov5640例程,想進(jìn)行按鍵觸發(fā)拍照,使用方法一,請問怎么實(shí)現(xiàn)的?

    參考cycx3_uvc_ov5640例程,想進(jìn)行按鍵觸發(fā)拍照,使用方法一,請問怎么實(shí)現(xiàn)的?現(xiàn)在硬件按鍵觸發(fā)沒有問題,上位機(jī)軟件拍照也沒有問題。 glStatusBuffer[0] = 0x02
    發(fā)表于 05-21 07:24

    Made with KiCad(126):Antmicro OV5640 雙攝像頭子板

    OmniVision 的 OV5640 圖像傳感器。這些 RGB 傳感器具有滾動(dòng)快門功能,分辨率為 500 萬像素(2591x1944)。本項(xiàng)目的設(shè)計(jì)文件在 KiCad 中提供和維護(hù)。 功能與規(guī)格 兩個(gè)
    發(fā)表于 05-12 18:13

    OV2640為什么在I2C下無法捕獲圖像?

    我正在開發(fā)基于 imx6ull 的定制板。因?yàn)槲夷軌蚴褂?OV5640 相機(jī)捕獲圖像,類似于我嘗試使用 OV2640 ,在 I2C 下檢測到但無法捕獲圖像,請完成我根據(jù)
    發(fā)表于 04-11 08:13

    將新相機(jī)移植到imx7d時(shí)出現(xiàn)Android框架問題,求解決

    我正在將新相機(jī)移植到 imx7d 板上。它輸出 640x480 YUYV 圖像,而我的屏幕是 320x240 RGB565。我注意到 libcamera3 中有一些 OV5640 的配置文件,我嘗試
    發(fā)表于 03-28 07:31

    OV9281 CMOS圖像傳感器英文手冊

    電子發(fā)燒友網(wǎng)站提供《OV9281 CMOS圖像傳感器英文手冊.pdf》資料免費(fèi)下載
    發(fā)表于 03-07 09:23 ?8次下載

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之CSI

    到開發(fā)板和LCD屏。將OV5640接到開發(fā)板測試:加載模塊:root@ELF1:~# insmod ov5640_camera.ko1-003c supply DOVDD not fo
    發(fā)表于 02-24 10:00

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之CSI

    到開發(fā)板和LCD屏。將OV5640接到開發(fā)板測試:加載模塊:root@ELF1:~# insmod ov5640_camera.ko1-003c supply DOVDD not fo
    發(fā)表于 02-22 09:01