新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > FPGA和EZ-USB FX2在采集圖像數(shù)據(jù)中的應(yīng)用

FPGA和EZ-USB FX2在采集圖像數(shù)據(jù)中的應(yīng)用

作者: 時(shí)間:2009-06-16 來源:網(wǎng)絡(luò) 收藏

摘 要:利用和EZ_15SB (CY7C68013)將MT9M112(Sensor)數(shù)據(jù)準(zhǔn)確無損地傳給PC機(jī)。方案使用CY7C68013控制器工作在Slave FIFO從機(jī)方式,用Verilog HDL語言在中產(chǎn)生相應(yīng)的控制信號(hào),最終實(shí)現(xiàn)對(duì)數(shù)據(jù)的快速傳輸,在上位機(jī)得到Sensor的清晰畫面。該方案的傳輸速度快,數(shù)據(jù)準(zhǔn)確,可擴(kuò)展到其他需要通過USB進(jìn)行快速數(shù)據(jù)傳輸?shù)南到y(tǒng)。與其他采用異步通信方案相比,設(shè)計(jì)利用緩沖作用,使數(shù)據(jù)無丟失傳輸,最終在上位機(jī)得到的圖像更加清晰流暢。該設(shè)計(jì)方案和產(chǎn)品達(dá)到國際先進(jìn)水平。
關(guān)鍵詞:同步傳輸;異步傳輸;數(shù)據(jù)流;FIFO_Core;slave FIFO

本文引用地址:http://m.butianyuan.cn/article/192019.htm


由于一維碼、二維碼以及圖像掃描處理等方面都涉及到了PC機(jī)和下位機(jī)間的數(shù)據(jù)傳輸,而傳輸數(shù)據(jù)阻塞問題又是制約圖像效果的根本原因,該方案很好地解決了這個(gè)問題。設(shè)計(jì)采用美光的CMOS圖像傳感芯片MT9M112作為圖像部分,通過EZ_USB。的USB微控制器芯片68013a將到的數(shù)據(jù)傳送到PC機(jī),由PC機(jī)對(duì)二維碼圖像進(jìn)行顯示并做解碼處理。由于MT9M112輸出的是8位的串行圖像數(shù)據(jù)流,直接與68013a的從FIFO接口對(duì)接不能保證數(shù)據(jù)完整不丟失,并且無法在數(shù)據(jù)中加入幀識(shí)別信息。在這種情況下采用了FPGA完成此部分邏輯功能。通過FPGA對(duì)圖像數(shù)據(jù)做相應(yīng)的調(diào)整再交給68013a傳送到上位機(jī)。


1 詳細(xì)設(shè)計(jì)方案及性能分析
1.1 硬件系統(tǒng)框圖
硬件系統(tǒng)框圖如圖1所示,實(shí)現(xiàn)了各模塊數(shù)據(jù)信號(hào)和控制信號(hào)的鏈接。

1.2 Sensor輸出部分說明
MT9M112的輸出具有以下的特性:MT9M112內(nèi)部有一個(gè)PLL鎖相環(huán),通過相應(yīng)的寄存器設(shè)置可調(diào)整輸出數(shù)據(jù)的同步時(shí)鐘,默認(rèn)輸出ITU_R BT.656(YCbCr)格式的數(shù)據(jù)流。LINE_VALlD指示一個(gè)行有效數(shù)據(jù)輸出周期,F(xiàn)RAME_VALID指示一個(gè)幀輸出周期,在幀和行同時(shí)有效時(shí)以像素時(shí)鐘PIXCLK為基準(zhǔn)輸出8位的圖像數(shù)據(jù),根據(jù)時(shí)序,只要行有效為高,輸出總線有圖像數(shù)據(jù),這樣就可以將FPGA的寫是能改為高有效(默認(rèn)低有效),直接將行有效信號(hào)連接到寫使能管腳,從而控制向FPGA FIFO的寫。
1.3 FPGA內(nèi)部模塊及主要原理
在FPGA開發(fā)工具中創(chuàng)建F1FO_Core,設(shè)置其輸入數(shù)據(jù)位寬為8 b格式,輸出數(shù)據(jù)寬度為16 b格式,目的是在控制時(shí)鐘不變的情況下加快傳輸數(shù)據(jù)速率。時(shí)鐘選為single clock,即FPGA FIFO核的讀和向USB FIFO的寫用同一時(shí)鐘.PIXCLK,同時(shí)利用Verilog HDI,語言實(shí)現(xiàn)其內(nèi)部模塊互連。脫機(jī)解碼時(shí)上位機(jī)程序?yàn)榱俗R(shí)別一個(gè)有效的幀數(shù)據(jù)段,在下位機(jī)傳遞數(shù)據(jù)時(shí),在每幀圖像數(shù)據(jù)間插入了16 B的同步數(shù)據(jù)(該數(shù)據(jù)可由工作人員決定),以鑒別一幀圖像開始。設(shè)計(jì)將同步數(shù)據(jù)中將同步信息分為4個(gè)4 B數(shù)據(jù)。第一個(gè)數(shù)據(jù)為同步頭,向上位機(jī)發(fā)數(shù)據(jù)固定為0xAA550000,第二個(gè)數(shù)據(jù)表示圖像的比例,高字節(jié)為行,低字節(jié)為列。第三以及第四個(gè)數(shù)據(jù)為保留字目前為O。FPGA除負(fù)責(zé)傳輸有效的幀圖像外還要在兩個(gè)圖像幀數(shù)據(jù)之間插入同步數(shù)據(jù)。是在FRAME_VALID的下降沿到來后(即一幀數(shù)據(jù)傳輸結(jié)束后發(fā)同步信息)并且FPGA的FIFO empty_flag有效時(shí)發(fā)送,以此來判斷下一幀數(shù)據(jù)的開始,F(xiàn)PGA FIFO核與USB及圖像數(shù)據(jù)關(guān)系如圖2所示。


1.4 68013a從FIFO接口
Sensor采集的數(shù)據(jù)經(jīng)過FPGA做處理寫到EZ_LISB 68013A的從FIFO,由EZ_USB FX2 68013A將數(shù)據(jù)打包放送到上位機(jī)。由于上位機(jī)的數(shù)據(jù)同步為固定的同步信息,不涉及到FPGA回讀上位機(jī)數(shù)據(jù)部分,所以此處只涉及到寫EZ_USB FX2 68013A的從FIFO。數(shù)據(jù)總線FD可編程選擇為8位或是16位的位寬(該方案通過FPGA的FIFO_Core將總線數(shù)據(jù)轉(zhuǎn)換為16位格式,從而在控制時(shí)鐘不變的情況下加快傳輸數(shù)據(jù)速率),同步傳輸時(shí)鐘由外部提供時(shí),通過外部對(duì)IFCLK引腳引入PIXCLK時(shí)鐘(同步電路)。EZ_USBFX2 68013A有4個(gè)端點(diǎn),通過FIFOADR設(shè)置選擇數(shù)據(jù)總線與EP6對(duì)應(yīng),并可編程調(diào)整對(duì)應(yīng)的FIFO深度。通過固件編程可將FLAGA,F(xiàn)LAGB,F(xiàn)LAGC調(diào)整為對(duì)應(yīng)哪個(gè)內(nèi)部FIFO的對(duì)應(yīng)滿空狀態(tài)。PKT、END用于手動(dòng)打包傳輸數(shù)據(jù),當(dāng)固件程序設(shè)置68013a的EPx-AUTOINLENH:L為512 B,當(dāng)ALITOIN=1時(shí)68013a將自動(dòng)以512 B為單位打包傳輸?shù)経SB上。在異步傳輸時(shí)SLWR用于鎖存總線數(shù)據(jù),在同步傳輸時(shí)SLWR做為使能信號(hào),在SLWR為低,每個(gè)IFCLK上升沿鎖存總線數(shù)據(jù),至此完成這個(gè)項(xiàng)目的數(shù)據(jù)流控制設(shè)計(jì)。


2 結(jié) 語
通過以上設(shè)計(jì),成功地實(shí)現(xiàn)了MT9M112,F(xiàn)PGA和。EZ_USB FX2 68013A之間的通信,該方案將CMOS圖像傳感芯片MT9M112的數(shù)據(jù)完整地傳輸?shù)絇C機(jī),在PC機(jī)經(jīng)數(shù)據(jù)處理(可選擇提取Y信號(hào)或?qū)⑷啃盘?hào)),解碼后可得清晰的灰度或彩色圖像。方案通過FPGA的FIFO_Core實(shí)現(xiàn)了8位數(shù)據(jù)向16位數(shù)據(jù)的轉(zhuǎn)換,然后利用EZ_USB FX2 68013A Slave FIFO的EP6端口把數(shù)據(jù)傳給PC機(jī),實(shí)現(xiàn)了同步通信。與目前社會(huì)上用DSP處理器異步通信相比,利用FPGA不僅降低了成本而且解決了數(shù)據(jù)傳輸過程中易阻塞的問題,實(shí)現(xiàn)了數(shù)據(jù)無縫傳輸,得到的圖像也更為清晰流暢。



關(guān)鍵詞: EZ-USB FPGA FX2 采集

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉