• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA 和DDR3 的圖像采集系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

      2019-10-09 05:25:36楊朋飛
      自動(dòng)化與儀表 2019年9期
      關(guān)鍵詞:寄存器時(shí)鐘像素

      楊朋飛,聶 亮

      (西安工業(yè)大學(xué) 光電工程學(xué)院,西安710021)

      圖像信息在人類生產(chǎn)生活所能獲取到的信息中占比很大,能實(shí)時(shí)、非接觸式地獲取高保真性的圖像信息對(duì)國土安全、民用電子領(lǐng)域具有深遠(yuǎn)的影響[1-3]。 現(xiàn)今,隨著基礎(chǔ)器件工藝提升和高集成度芯片內(nèi)部架構(gòu)更新迭代,具有并行處理能力的單片現(xiàn)場(chǎng)可編程門陣列FPGA 芯片可兼具其他處理器很多重要功能。 目前已有的圖像采集系統(tǒng)基本能實(shí)現(xiàn)目標(biāo)顯像,但也存在圖像數(shù)據(jù)存取速度低、系統(tǒng)耗費(fèi)資源大、體積較大、系統(tǒng)內(nèi)部邏輯或控制算法復(fù)雜度高、設(shè)計(jì)系統(tǒng)外部接口通用性較低等不足方面[4-7]。為使系統(tǒng)小型化和圖像數(shù)據(jù)高速存取,方便靈活地實(shí)現(xiàn)對(duì)目標(biāo)實(shí)時(shí)顯像,本文設(shè)計(jì)了一種基于FPGA和DDR 存儲(chǔ)的相機(jī)圖像采集系統(tǒng), 旨在提供一種高速、大容量存儲(chǔ)的實(shí)時(shí)圖像采集方案,為后續(xù)有關(guān)工作提供理論和技術(shù)基礎(chǔ)。

      1 工作原理和系統(tǒng)結(jié)構(gòu)

      類似“人眼”觀測(cè)視場(chǎng)范圍之內(nèi)景物,圖像采集系統(tǒng)同樣需要借助相機(jī)這一器件來完成目標(biāo)物清晰、準(zhǔn)確地成像在光電成像探測(cè)器像敏面,圖像信息轉(zhuǎn)換為電信息這種過程。 為將電信息所承載的圖像信息準(zhǔn)確地解析呈現(xiàn)出來,處理單元的設(shè)計(jì)極其重要。 系統(tǒng)采用通信總線類似IIC,具有SCCB 接口的相機(jī)模組,其成像探測(cè)器為OmniVision 公司研發(fā)的CMOS OV7670 圖像傳感器[8]。 文中以單片Xilinx Spartan6 XC6SLX16 型FPGA 為核心,充分利用ISE 開發(fā)環(huán)境提供的內(nèi)部時(shí)鐘核(clock)、ROM 核和DDR 核等豐富資源,實(shí)現(xiàn)相機(jī)寄存器配置、相機(jī)輸出數(shù)據(jù)格式轉(zhuǎn)換、DDR 讀寫控制以及VGA 顯示等模塊邏輯設(shè)計(jì)。 針對(duì)系統(tǒng)640×480 圖像分辨率,30幀/s 的視頻流,其數(shù)據(jù)量為

      采用Micron 公司DDR3 SDRAM 芯片MT41J 128M16JT 對(duì)采集到的圖像數(shù)據(jù)進(jìn)行存儲(chǔ)[9],DDR3工作效率是DDR2 的兩倍[10],其容量為2 Gb,讀寫速度可達(dá)800 Mb/s。 在實(shí)際設(shè)計(jì)過程中將DDR3 讀寫速度保持在625 Mb/s, 以期與25 MHz 系統(tǒng)外部時(shí)鐘產(chǎn)生倍頻關(guān)系。 系統(tǒng)進(jìn)行RGB565 彩色顯示時(shí),需經(jīng)D/A 轉(zhuǎn)換電路將FPGA 輸出的數(shù)字圖像信號(hào)轉(zhuǎn)換為模擬圖像信號(hào), 進(jìn)而經(jīng)由VGA 接口將目標(biāo)顯示在終端顯示器。 圖1 為系統(tǒng)整體結(jié)構(gòu)框架。

      圖1 系統(tǒng)整體原理架構(gòu)圖Fig.1 Structure diagram of system overall principle

      2 FPGA 中各單元邏輯設(shè)計(jì)

      2.1 Iic_control 模塊設(shè)計(jì)及仿真測(cè)試

      Iic_control 單元實(shí)現(xiàn)標(biāo)準(zhǔn)IIC 時(shí)序輸出,用于對(duì)CMOS 相機(jī)進(jìn)行配置。OV7670 模組與FPGA 以兼容IIC 總線進(jìn)行信息交互,極大地降低開發(fā)周期和開發(fā)成本。 標(biāo)準(zhǔn)IIC 具有時(shí)鐘線SCL 和數(shù)據(jù)線SDA,時(shí)序采用傳輸速率為100 k bit/s 的標(biāo)準(zhǔn)模式。文中對(duì)相機(jī)進(jìn)行配置過程中, 考慮到FPGA 內(nèi)部邏輯代碼精簡和整個(gè)系統(tǒng)功耗等問題, 僅使用到IIC協(xié)議的寫操作命令, 即主機(jī) (Master)FPGA 和從機(jī)(Slave)CMOS 相機(jī)進(jìn)行通信。寫操作包括下列過程:①M(fèi)aster 發(fā)起START 啟動(dòng)信號(hào);②Master 發(fā)送具有IIC 接口的器件地址addr(7 bit)和寫操作0(1 bit),等待ACK 信號(hào);③Slave 發(fā)送ACK 信號(hào);④Master發(fā)送寄存器地址addr(8 bit),等待ACK 信號(hào);⑤Slave發(fā)送ACK 信號(hào);⑥Master 發(fā)送數(shù)據(jù)data(8 bit),即要寫入寄存器中的數(shù)據(jù),等待ACK 信號(hào);⑦Slave 發(fā)送ACK 信號(hào); ⑧第6 步和第7 步可以重復(fù)多次,即順序?qū)懚鄠€(gè)寄存器;⑨Master 發(fā)起STOP 停止信號(hào)。經(jīng)Modelsim 軟件對(duì)Iic_control 模塊進(jìn)行仿真,如圖2 所示。測(cè)試結(jié)果表明,IIC 協(xié)議邏輯正確,能正常穩(wěn)定工作。 Iic_control 模塊中的SDA 數(shù)據(jù)線傳輸?shù)南鄼C(jī)寄存器地址和數(shù)據(jù)是由Iic_generate 模塊產(chǎn)生。 不僅如此,Iic_control 模塊也輸出相機(jī)配置使能信號(hào)(tiic_en,高電平有效)、相機(jī)配置完成標(biāo)志位(tiic_init_done,高電平有效)、相機(jī)復(fù)位信號(hào)(image_sensor_reset_n,低電平有效)和相機(jī)低功耗使能信號(hào)(image_sensor_pwdn,高電平有效)。 CMOS OV7670 相機(jī)202 個(gè)寄存器地址和數(shù)據(jù)存放在ROM中,通過調(diào)用ISE 軟件IP 核可具體實(shí)現(xiàn)。 相機(jī)寄存器進(jìn)行配置之前,需對(duì)相機(jī)進(jìn)行初始化。 圖3 為Iic_generate 模塊輸出相機(jī)初始化信號(hào)的狀態(tài)圖。

      圖2 Iic_control 模塊信號(hào)仿真圖Fig.2 Signals simulation diagram of Iic_control module

      圖3 相機(jī)初始化狀態(tài)轉(zhuǎn)移圖Fig.3 State transition diagram of camera initializes

      2.2 Camera_capture 模塊設(shè)計(jì)和數(shù)據(jù)轉(zhuǎn)換

      Camera_capture 模塊實(shí)現(xiàn)將CMOS 相機(jī)模組輸出的8 bit 數(shù)據(jù)轉(zhuǎn)換為64 bit 數(shù)據(jù)。 在OV7670 輸出格式為RGB565 的情況下,一個(gè)像素為2 Byte。 表1為Camera_capture 模塊部分信號(hào)說明。 針對(duì)模塊輸入8 bit 數(shù)據(jù),將其轉(zhuǎn)化為64 bit 輸出數(shù)據(jù),實(shí)現(xiàn)方法如下:

      在camera_vsync 信號(hào)為低電平,camera_href 為高電平的狀態(tài)下,檢測(cè)計(jì)數(shù)器counter 的當(dāng)前值。 若counter<7(counter 從0 開始計(jì)數(shù)),則將獲取到的相機(jī)數(shù)據(jù)存儲(chǔ)在64 位寄存器camera_data_reg 中;若counter=7,即獲取到第8 個(gè)字節(jié)數(shù)據(jù)時(shí),則將采集到的相機(jī)數(shù)據(jù)存儲(chǔ)在64 位寄存器ddr_data_camera中,并在同步時(shí)鐘作用下,將ddr_data_camera 數(shù)據(jù)非阻塞輸入DDR_control 模塊。 采用Verilog 語言進(jìn)行描述:

      表1 Camera_capture 模塊部分信號(hào)Tab.1 Partial signals of camera_capture module

      2.3 DDR_control 模塊設(shè)計(jì)

      DDR_control 模塊用于實(shí)現(xiàn)對(duì)DDR3 的讀寫操作。 經(jīng)過Camera_capture 模塊輸出的相機(jī)數(shù)據(jù)存儲(chǔ)在DDR3 SDRAM 芯片MT41J128M16JT 中,DDR3 SDRAM 內(nèi)部分塊(A 和B)存儲(chǔ)相機(jī)數(shù)據(jù),如圖4 所示。 利用DDR 核配置2 個(gè)64 bit 的雙向端口Port0和Port1,DDR 核中的仲裁器來判斷處理當(dāng)前狀態(tài)是Part0 還是Part1 操作。 本設(shè)計(jì)系統(tǒng)中,F(xiàn)PGA 與DDR3 進(jìn)行信息交互所需接口信號(hào)是通過調(diào)用DDR 核產(chǎn)生,降低開發(fā)難度,增加設(shè)計(jì)系統(tǒng)穩(wěn)定性。Port0 對(duì)DDR 進(jìn)行寫操作,Port1 對(duì)DDR 進(jìn)行讀操作,DDR_control 模塊直接例化MIG 生成的時(shí)鐘單元和DDR 核。DDR 進(jìn)行寫操作時(shí),用戶邏輯先將數(shù)據(jù)寫入數(shù)據(jù)FIFO,送入DDR 核的Port0,再將命令寫入命令FIFO;DDR 進(jìn)行讀操作時(shí),用戶邏輯先將命令寫入命令FIFO, 再將數(shù)據(jù)從Port1 讀出。 DDR讀操作時(shí),其地址必須和寫操作地址一致。 在寫操作過程中,

      式中:A0為Port0 寫DDR 的初始地址;Ak為第k 次Port0 寫DDR 的地址。 在讀操作過程中,

      式中:A0′為Port1 讀DDR 的初始地址;Ai′為第i 次Port1 讀DDR 的地址。

      圖4 DDR3 讀寫控制流程Fig.4 Control flow chart of DDR3 read-write

      本設(shè)計(jì)系統(tǒng)中,Port0 的寫命令為010,Port1 的讀命令為001。 DDR 讀寫操作狀態(tài)機(jī)如圖5 所示。

      圖5 DDR3 讀寫操作狀態(tài)機(jī)Fig.5 Operation state machines of DDR3 read-write

      2.4 VGA_control 模塊設(shè)計(jì)及仿真測(cè)試

      VGA_control 模塊實(shí)現(xiàn)VGA 行列信號(hào)產(chǎn)生,相機(jī)采集圖像數(shù)據(jù)及DDR 讀操作相關(guān)信號(hào)輸出。VGA_control 模塊在讀使能條件下, 將DDR_control模塊輸出的相機(jī)存儲(chǔ)數(shù)據(jù)按標(biāo)準(zhǔn)VGA 協(xié)議輸出至外部顯示器。輸出圖像采用RGB565 模型,即一個(gè)像素16 位,紅色(R)占5 位,綠色(G)占6 位,藍(lán)色(B)占5 位。DDR_control 模塊輸入的64 bit 相機(jī)數(shù)據(jù)需轉(zhuǎn)換為4 個(gè)像素輸出,其轉(zhuǎn)換方法如下:

      在VGA 輸出的行列信號(hào)有效狀態(tài)下, 將讀取的64 bit 相機(jī)數(shù)據(jù)[63:59]位輸出至紅色信號(hào)通道;[58:53]位輸出至綠色信號(hào)通道;[52:48]位輸出至藍(lán)色信號(hào)通道, 一個(gè)像素輸出完成。 依次類推,將[47:43]位輸出至紅色信號(hào)通道,[42:37]輸出至綠色信號(hào)通道,[36:32]輸出至藍(lán)色信號(hào)通道,完成第二個(gè)像素輸出。 依次循環(huán),完成第三個(gè)、第四個(gè)像素輸出。 在VGA 為640×480(60 Hz)顯示模式下,定義相關(guān)參數(shù)見表2。

      表2 VGA 為640×480(60 Hz)顯示模式相關(guān)參數(shù)Tab.2 Display mode related parameters of VGA within 640×480(60 Hz)

      在VGA_control 模塊中, 通過檢測(cè)列同步脈沖下降沿來產(chǎn)生DDR 地址復(fù)位信號(hào),代碼實(shí)現(xiàn)如下:

      針對(duì)VGA_control 設(shè)計(jì)模塊,利用Modelsim 對(duì)其進(jìn)行仿真驗(yàn)證,如圖6 所示。 在模塊測(cè)試過程中,VGA 讀取DDR 數(shù)據(jù)為十進(jìn)制1100,與DDR 輸出數(shù)據(jù)相吻合。 同時(shí),VGA_control 模塊中時(shí)鐘頻率為25 MHz,所設(shè)計(jì)的計(jì)數(shù)器計(jì)數(shù)準(zhǔn)確,輸出信號(hào)邏輯正確、穩(wěn)定。

      圖6 VGA_control 模塊信號(hào)仿真圖Fig.6 Signals simulation diagram of VGA_control module

      3 系統(tǒng)測(cè)試

      將設(shè)計(jì)程序固化在Spartan6 FPGA 中,搭建系統(tǒng)。測(cè)試過程中,程序運(yùn)行穩(wěn)定,像質(zhì)清晰,圖像實(shí)時(shí)動(dòng)態(tài)性良好。利用ChipScope 在線抓取信號(hào),如圖7 所示,分析結(jié)果表明,在DDR3 讀寫使能滿足的條件下,當(dāng)相機(jī)寫入DDR3 SDRAM 存儲(chǔ)器的64 bit 數(shù)據(jù)為BCF3BCF3BCF3BCF3 時(shí),從DDR3 SDRAM 存儲(chǔ)器讀出的64 bit 數(shù)據(jù)為BCF3BCF3BCF3BCF3,DDR3讀寫數(shù)據(jù)正確。 系統(tǒng)時(shí)鐘精確,F(xiàn)PGA 外部接口信號(hào)設(shè)計(jì)準(zhǔn)確。 圖8 為采集系統(tǒng)運(yùn)行效果,在低照度條件下,系統(tǒng)能有效穩(wěn)定地實(shí)現(xiàn)高質(zhì)量的實(shí)時(shí)圖像采集。

      圖7 ChipScope 在線抓取DDR3 數(shù)據(jù)圖Fig.7 DDR3 data diagram of ChipScope online grab

      圖8 圖像實(shí)時(shí)采集系統(tǒng)測(cè)試圖Fig.8 Test diagram of image real-time acquisition system

      4 結(jié)語

      本文基于FPGA 和DDR3 設(shè)計(jì)的CMOS 相機(jī)圖像采集系統(tǒng), 利用Verilog 語言實(shí)現(xiàn)各模塊邏輯功能,系統(tǒng)能有效地實(shí)現(xiàn)30 幀/s 的圖像實(shí)時(shí)顯示。 同時(shí),系統(tǒng)能針對(duì)不同分辨率的CMOS 相機(jī)進(jìn)行靈活地調(diào)整,簡單快捷,可移植性強(qiáng)。 系統(tǒng)外部輸入時(shí)鐘25 MHz,具有標(biāo)準(zhǔn)的接口協(xié)議,工作穩(wěn)定,結(jié)構(gòu)簡單,成本較低,可應(yīng)用于對(duì)實(shí)時(shí)性成像和系統(tǒng)體積要求較高的領(lǐng)域。

      猜你喜歡
      寄存器時(shí)鐘像素
      趙運(yùn)哲作品
      藝術(shù)家(2023年8期)2023-11-02 02:05:28
      像素前線之“幻影”2000
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      “像素”仙人掌
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      有趣的時(shí)鐘
      時(shí)鐘會(huì)開“花”
      高像素不是全部
      CHIP新電腦(2016年3期)2016-03-10 14:22:03
      个旧市| 宁陕县| 荆门市| 都匀市| 密云县| 友谊县| 集安市| 萍乡市| 临高县| 昆明市| 咸阳市| 游戏| 荃湾区| 新邵县| 丹棱县| 古蔺县| 福泉市| 焉耆| 炎陵县| 新和县| 阳东县| 泸州市| 滕州市| 民勤县| 剑阁县| 德令哈市| 阿克苏市| 杭锦旗| 平安县| 晋城| 安新县| 海伦市| 郓城县| 天气| 岑巩县| 彭阳县| 林芝县| 遂平县| 合肥市| 报价| 合川市|