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

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

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

如何采用CY7C68013芯片設(shè)計圖像采集系統(tǒng)

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-11-06 08:09 ? 次閱讀

由于圖像采集系統(tǒng)采集的數(shù)據(jù)量大,帶寬要求高,以往的圖像采集系統(tǒng)通常使用PCI總線實(shí)現(xiàn)。但是計算機(jī)本身配置的PCI接口數(shù)量非常有限,而且拆裝PCI接口設(shè)備需要打開機(jī)箱,一般操作人員并不具備這樣的能力,導(dǎo)致系統(tǒng)應(yīng)用受到限制。USB(通用串行總線)接口列可以完全解決以上難題。首先,USB2.0接口的速度已經(jīng)達(dá)到480Mbps,完全可以滿足圖像采集系統(tǒng)對速度的要求。另外,USB接口是真正支持即插即用,且允許熱插撥的接口,所以目前大量數(shù)據(jù)采集系統(tǒng)都選擇使用USB2.0接口實(shí)現(xiàn)。

本文利用SAA7113H實(shí)現(xiàn)模擬視頻信號解碼,并借助EZ-USB FX2單片機(jī)CY7C68013將數(shù)字圖像數(shù)據(jù)直接通過USB2.0接口傳輸?shù)接嬎銠C(jī),通過PC機(jī)程序?qū)崿F(xiàn)圖像的無損采集,大大簡化了采集卡的硬件設(shè)計,降低了采集卡硬件要求,有效降低了圖像采集卡的成本。

1 系統(tǒng)硬件設(shè)計

系統(tǒng)硬件結(jié)構(gòu)如圖1所示。系統(tǒng)主要由視頻解碼芯片SAA7113H、USB控制芯片CY7C68013和一塊容量為1 kB的24C01EEPROM芯片組成。

如何采用CY7C68013芯片設(shè)計圖像采集系統(tǒng)

圖1 系統(tǒng)硬件結(jié)構(gòu)

1.1 視頻解碼芯片-SAA7113H

SAA7113H是飛利浦公司出品的一款視頻解碼芯片,它的作用是將輸入的模擬視頻信號解碼為標(biāo)準(zhǔn)的8位VPO數(shù)字信號。它可以輸入4路模擬視頻信號,通過I2C總線對內(nèi)部寄存器的不同配置可以對4路復(fù)合視頻輸入進(jìn)行轉(zhuǎn)換,改變亮度、對比度等參數(shù)。SAA7113H兼容PAL、NTSC等多種制式,可以自動檢測場頻,可以在PAL、NTSC之間自動切換控制。SAA7113H解碼后輸出的是標(biāo)準(zhǔn)的YUV 4:2:2格式數(shù)字信號。

1.2 USB控制芯片--CY7C68013A

CYTC68013A(EZ-USB FX2)是Cypress半導(dǎo)體公司推出的一款USB2.0芯片,它內(nèi)部集成了增強(qiáng)的8051內(nèi)核,支持最大48 MHz的時鐘頻率,在相同時鐘頻率下,F(xiàn)X2的平均指令執(zhí)行速度可達(dá)到標(biāo)準(zhǔn)8051的2.5倍。CY7C68013芯片內(nèi)部集成了一個與8051內(nèi)核相對獨(dú)立的SIE(串行接口引擎),在不需要8051內(nèi)核參與的情況下,通過USB端口和外部邏輯共享FIFO的方式,實(shí)現(xiàn)外部數(shù)據(jù)與USB端口的數(shù)據(jù)交換,大大加快了數(shù)據(jù)傳輸?shù)乃俣龋蓪?shí)現(xiàn)的最大速度為480Mbps.

1.3 系統(tǒng)硬件實(shí)現(xiàn)

硬件連接方面,利用CY7C68013的I2C端口連接24C01,以便在系統(tǒng)上電后提取24C01中的信息,實(shí)現(xiàn)設(shè)備枚舉,下載相應(yīng)固件。利用CY7C 68013模擬I2C端口連接SAA7113H,對其內(nèi)部寄存器進(jìn)行配置,實(shí)現(xiàn)解碼芯片初始化操作。CY7C68013工作在Slave FIFO(從屬的FIFO)模式,將SAA7113H的VPO數(shù)據(jù)總線直接連接到CY7C68013的FD總線,使用CY7C68013的IOAO端口檢測數(shù)字視頻的場標(biāo)志信號,用于實(shí)現(xiàn)幀同步。將CY7C68 013的SLWR*(從屬寫)信號量為有效,SLRD(從屬讀)和SLOE(輸出有效)置為無效,由SAA7113H通過自身輸出的27MHz同步時鐘將數(shù)字視頻信號以同步方式直接寫入CY7C68013內(nèi)部的FIFO,再通過SIE將FIFO中的數(shù)據(jù)以高速方式直接傳送到PC機(jī),實(shí)現(xiàn)視頻數(shù)據(jù)的采集。

2 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件設(shè)計主要包括固件程序設(shè)計、驅(qū)動程序設(shè)計和PC機(jī)采集程序3大部分。

2.1 固件程序設(shè)計

固件程序流程圖如圖2所示。該固件在采集卡上電后初始化CY7C68013,使其工作在Slave FIFO模式,設(shè)置總線位數(shù)為8位,以便接收SM7113H的8位數(shù)字視頻信號。將EP2端點(diǎn)設(shè)置為批量AUTO IN傳輸方式,512字節(jié)4倍FIFO緩沖。一次最大傳輸數(shù)據(jù)包大小為512字節(jié)。利用SAA7113H的時鐘信號實(shí)現(xiàn)同步從屬FIFO寫數(shù)據(jù)。

如何采用CY7C68013芯片設(shè)計圖像采集系統(tǒng)

圖2 固件程序流程圖

通過模擬的I2C端口初始化SAA7113H,使其能夠接收CCD攝像機(jī)的模擬視頻信號,以標(biāo)準(zhǔn)的ITU656格式輸出,并設(shè)置RSTO輸出奇偶場標(biāo)志,然后等待上位機(jī)的開始采集命令。

在收到PC機(jī)開始圖像采集命令后,固件程序首先通過IOAO端口檢查SAA7113H的奇偶場信號。如果外部模擬視頻信號源未連接,該信號將一直維持高電平。固件在一段時間等待并確認(rèn)外部視頻信號未連接的情況下,向PC機(jī)回傳設(shè)備尚未準(zhǔn)備好的信息,否則一直清空FIFO,將FIFO中已有效據(jù)清除,直到奇場信號到來,固件回送設(shè)備準(zhǔn)備好信息給PC,以實(shí)現(xiàn)視頻圖像幀同步采集。圖像數(shù)據(jù)傳輸過程將由SIE完全控制,固件不參與傳輸操作。

2. 2 驅(qū)動程序設(shè)計

Cypress開發(fā)包中提供了一個通用驅(qū)動程序,即cyUSB.sys,該驅(qū)動程序符合Windows硬件質(zhì)量實(shí)驗(yàn)室WHQL標(biāo)準(zhǔn),系統(tǒng)直接使用該驅(qū)動程序?qū)崿F(xiàn)圖像數(shù)據(jù)采集。由于CY7C68013采用的是軟配置的方案,芯片中并沒有提供用于永久存放固件程序的存儲器,固件程序需要在每次上電后通過外部存儲器加載或從PC機(jī)下載到內(nèi)部RAM中。驅(qū)動程序主要實(shí)現(xiàn)固件程序的裝載功能,以便系統(tǒng)上電后,可以自動從PC機(jī)下載固件到CY7C68013,然后使用通用驅(qū)動程序完成采集卡的設(shè)備重枚舉。

在Cypress提供的開發(fā)包中包含了一個固件下載驅(qū)動模板,即EZ-Loader Driver.系統(tǒng)固件下載驅(qū)動主要依賴它來實(shí)現(xiàn)。具體的步驟為:

1)利用hex2c.exe將Intel HEX格式文件轉(zhuǎn)換成C代碼數(shù)組。

2)將所有的EZ-Loader Driver文件連同子文件復(fù)制到一個新建的目錄中。并利用第一步得到的C代碼數(shù)組替換EZ-Loader Driver中firmwa re.c中的數(shù)組。

3)在WindowsXP DDK中使用build命令在新建目錄中創(chuàng)建固件下載驅(qū)動程序。

4)改寫驅(qū)動安裝信息文件。

2.3 PC機(jī)采集程序

PC機(jī)采集程序用Visual Studio.net 2003調(diào)用CyAPI函數(shù)庫實(shí)現(xiàn)。為提高圖片采集速度,程序使用兩個線程分別實(shí)現(xiàn)圖像數(shù)據(jù)采集和圖像甄別和處理。程序總流程圖如圖3所示。

如何采用CY7C68013芯片設(shè)計圖像采集系統(tǒng)

圖3 PC和諧總流程圖

每次啟動采集程序時,系統(tǒng)通過創(chuàng)建USBDeviee實(shí)例獲得設(shè)備句柄,并嘗試打開USB設(shè)備。當(dāng)點(diǎn)擊程序界面開始采集按鈕后,程序通過USB控制端點(diǎn)發(fā)送一個開始采集信號,并要求采集卡回傳一個設(shè)備狀態(tài)信號。如果設(shè)備提示無模擬視頻信號連接,則提示用戶連接。如果設(shè)備準(zhǔn)備好,則開始接收圖像數(shù)據(jù)。

由于USB主控制器工作于Slave FIFO模式,采集卡上傳到上位機(jī)的數(shù)據(jù)量固定為27MB/S,如果上位機(jī)沒能及時接收數(shù)據(jù)必然會導(dǎo)致圖像數(shù)據(jù)丟失,所以程序中使用一個線程(線程1)以異步方式做圖像數(shù)據(jù)接收,實(shí)際效果非常好。線程1主要代碼如下:

如何采用CY7C68013芯片設(shè)計圖像采集系統(tǒng)

SAA7113H輸出的是隔行視頻信號,每秒25幀圖像,一幀圖像需要分兩次傳輸,先傳輸全部奇場(奇數(shù)行)數(shù)據(jù),然后傳輸全部偶場(偶數(shù)行)數(shù)據(jù),采集卡中將SAA7113H的輸出設(shè)置為標(biāo)準(zhǔn)YUV4:2:2數(shù)據(jù),分辨率為720x576.系統(tǒng)將所有的解碼數(shù)據(jù)不做任何處理直接傳送到PC機(jī),數(shù)據(jù)格式如圖4所示。其中,"80 10…"為消隱數(shù)據(jù)。"FF 00 00 SAV"為一行數(shù)據(jù)塊的開始標(biāo)志,作為奇場有效行,SAV的值為8X,作為偶場有效行,該值為CX."FF 00 00 EAV"為一行數(shù)據(jù)塊結(jié)束標(biāo)志,作為奇場有效行結(jié)束,EAV的值為9X,作為偶場有效行結(jié)束,該值為DX.作為720像素的YUV4:2:2數(shù)據(jù),每行一共有720x2=1 440個字節(jié),PC程序需要從所有的數(shù)據(jù)中找出每一行中有效的1 440個字節(jié)數(shù)據(jù),并按照實(shí)際行順序?qū)⑵鎴鲂邢嗯紙鲂袛?shù)據(jù)重新組合,轉(zhuǎn)換成RGB24位像素點(diǎn)并最終寫入BMP文件,實(shí)現(xiàn)圖像的采集、顯示和保存。

如何采用CY7C68013芯片設(shè)計圖像采集系統(tǒng)

圖4 YUV4:2:2數(shù)據(jù)格式

數(shù)據(jù)查找及重組過程中,PC程序會根據(jù)YUV4:2:2數(shù)據(jù)格式做數(shù)據(jù)塊判別,如果發(fā)現(xiàn)有出錯數(shù)據(jù)程序會做自動拋棄處理,在對采集數(shù)據(jù)要求非常嚴(yán)格及單張采集間隔時間較長的場合,程序?qū)l(fā)送重新采集信號給采集卡,再一次采集。系統(tǒng)實(shí)際使用過程中發(fā)現(xiàn),數(shù)據(jù)出錯情況很少出現(xiàn),且重發(fā)請求后可以得到正確數(shù)據(jù)。

3 結(jié)論

利用本方案設(shè)計的圖像采集卡可以實(shí)現(xiàn)圖像的連續(xù)采集,并最終以bmp圖像格式保存,采集速率每秒最大25幀,適用于所有支持PAL模擬視頻格式的攝像機(jī)及監(jiān)控攝像頭的圖像無損采集,具有成本低、圖像清晰等特點(diǎn),在光學(xué)顯微鏡序列切片圖像采集系統(tǒng)中得到了很好的應(yīng)用。另外,系統(tǒng)經(jīng)過簡單修改后也可實(shí)現(xiàn)4個復(fù)合視頻源輸入的分時采集功能。

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

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417144
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7772

    瀏覽量

    262374
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7174

    瀏覽量

    87152
收藏 人收藏

    評論

    相關(guān)推薦

    cy7c68013

    上位機(jī)通過cy7c68013控制另一臺PC的鼠標(biāo),上位機(jī)與cy7c68013通過串口連接,另一端通過USB連接。
    發(fā)表于 03-10 17:16

    CY7C68013 與labview通信錯誤

    本人想用labview給cy7c68013做個上位機(jī),其中cy7c68013的板子是一個實(shí)現(xiàn)MT9M001攝像頭的圖像采集,主控用的是altera的EP4CE10F17
    發(fā)表于 05-16 10:28

    哪個CY7C68013芯片方便與GPIF接觸?

    我想加一個512K×16位的FIFO芯片CY7C68013的GPIF,其中FIFO芯片Cypress方便立即同GPIF?你能推薦一個給我嗎? 以上來自于百度翻譯 以下為原文I want
    發(fā)表于 03-22 09:08

    cy7c68013開發(fā)包及驅(qū)動

    本開發(fā)包及數(shù)據(jù)包提供用cy7c68013開發(fā)usb的完整C語言源代碼,可實(shí)現(xiàn)主機(jī)和借口MASTER的控制命令和數(shù)據(jù)的傳輸-the data packets used
    發(fā)表于 04-11 16:54 ?674次下載
    <b class='flag-5'>cy7c68013</b>開發(fā)包及驅(qū)動

    基于CY7C68013的USB數(shù)據(jù)采集系統(tǒng)

    本文介紹了高速USB2.0芯片CY7C68013的特點(diǎn)。設(shè)計出一種主要由CY7C68013與Altera公司EP1C6芯片構(gòu)成的USB2.
    發(fā)表于 09-14 14:33 ?133次下載

    USB2.0控制器CY7C68013特點(diǎn)與應(yīng)用

    介紹USB2.0協(xié)議以及Cypress公司推出的USB2.0控制器CY7C68013。USB2.0協(xié)議提供480Mb/s的傳輸速度,向下完全兼容流行的USB1.1協(xié)議。CY7C68013是USB2.0的完整解決方案。該芯片包括帶
    發(fā)表于 11-28 13:41 ?55次下載

    CY7C68013器件中文手冊

    CY7C68013器件中文手冊
    發(fā)表于 01-21 18:30 ?164次下載
    <b class='flag-5'>CY7C68013</b>器件中文手冊

    基于CY7C68013的CCD圖像傳輸系統(tǒng)

    針對面陣CCD 圖像的特點(diǎn),提出了一種基于CY7C68013圖像實(shí)時傳輸系統(tǒng)。系統(tǒng)從面陣CCD 模塊中直接獲取數(shù)字
    發(fā)表于 05-17 17:36 ?100次下載
    基于<b class='flag-5'>CY7C68013</b>的CCD<b class='flag-5'>圖像</b>傳輸<b class='flag-5'>系統(tǒng)</b>

    基于CY7C68013的高速數(shù)據(jù)通信接口設(shè)計

    利用USB2.0接口芯片CY7C68013實(shí)現(xiàn)了語音信號處理系統(tǒng)中DSP與PC機(jī)的高速通信,簡要介紹了CY7C68013的功能結(jié)構(gòu)以及與TMS320
    發(fā)表于 09-08 17:59 ?69次下載

    基于USB2.0芯片CY7C68013的高速數(shù)據(jù)通信接口設(shè)計

    利用USB2.0接口芯片CY7C68013實(shí)現(xiàn)了語音信號處理系統(tǒng)中DSP與PC機(jī)的高速通信,簡要介紹了CY7C68013的功能結(jié)構(gòu)以及與TMS320
    發(fā)表于 09-21 11:41 ?177次下載

    cy7c68013數(shù)據(jù)手冊

    cy7c68013,有需要的朋友下來看看。
    發(fā)表于 01-22 14:14 ?31次下載

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設(shè)計

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設(shè)計
    發(fā)表于 01-22 14:10 ?30次下載

    采用CY7C68013芯片系統(tǒng)固件程序設(shè)計

    采用CY7C68013芯片系統(tǒng)固件程序設(shè)計。
    發(fā)表于 01-22 14:10 ?31次下載

    基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設(shè)計

    基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設(shè)計.
    發(fā)表于 01-22 14:27 ?37次下載

    基于CY7C68013的USB_Camera開發(fā)教程

    CY7C68013經(jīng)常使用,固件開發(fā)也是需要掌握的內(nèi)容。
    發(fā)表于 12-17 11:58 ?34次下載