新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于USB的高清彩色CCD圖像采集系統

        基于USB的高清彩色CCD圖像采集系統

        作者: 時間:2012-06-06 來源:網絡 收藏

        1.3 高速2.0接口設計
        圖3為高清的核心傳輸鏈路,2.0高速接口。因為要求將數據高速而準確地傳入PC端,故本系統采用Sla ve FIFO模式,圖像不經FX2LP的CPU處理,直接通過從屬端點FIFO將數據高速傳入PC端。

        本文引用地址:http://www.104case.com/article/193781.htm

        c.jpg


        圖3中,IFCLK為Slave FIFO的接口時鐘。Slave FIFO接口時鐘信號既可由內部提供,也可由外部提供。如果FX2LP設置為使用外部時鐘源,則IFCLK引腳可被用來提供5~48 MHz之間的任何頻率的時鐘信號。當IFCLK被設置為輸入時,最小頻率為5 MHz。FIFOADR[1:0]引腳用來選擇EP2、EP4、EP6和EP8中的一個FIFO與數據總線FD連接。FULL和EMPTY引腳分別是FIFO的滿狀態和空狀態標志,通過配置CY7C68013A內部的相關寄存器可使得當FIFO滿狀態或者空狀態的時候向外部控制器發送相應的標志。SLWR引腳是寫FIFO控制信號,當SLWR被激活時,數據總線FD上的數據在每個時鐘信號IFCLK上升沿到來時被寫入FIFO。
        INT1和PAUSE信號是為了協調高清圖像數據正常發送而引入的額外信號。系統中圖像傳感器輸出的模擬信號經AD9824采樣后輸出14 bit數字信號,但數據中不包含圖像幀頭信息。為使主機應用程序能夠準確和完整地分離出圖像數據,本系統設計方法是在EZ- FX2LP的INT1中斷服務程序中為每一幀圖像加入特定的幀頭。在EZ-USB在往FIFO里面寫入幀頭的過程中,不允許CPLD繼續讓AD向FIFO傳送數據,從而引入了PAUSE信號通知CPLD暫停傳送數據的操作。
        本系統采用的模擬轉換器AD9824是一款14bits的高效信號處理器,而FD[15:0]是16位的數據總線,在設計過程中,我們將高位數據線接地,低14位數據線接AD9824數據并行輸出數據。

        2 系統軟件實現
        2.1 AD相關雙采樣
        相關雙采樣(CDS)通過對每一個像素點輸出信號采樣兩次來消除低頻噪聲的影響,它是根據CCD輸出信號和噪聲信號的特點而設計。圖4為相關雙采樣時序圖,圖中詳細的指出了相關采樣的時序要求。CCD每個像元的輸出周期都以復位脈沖信號開始T1,先清除前一個像素的電荷,以等待下一像素電荷的到來。此時的輸出信號被嵌入復位電平,并產生復位噪聲;在圖中T2期間,由于復位MOSFET漏電流的影響,復位電平有微小下降,這種現象稱為復位失調電壓。此時的輸出信號為復位電平與復位噪聲、復位失調電壓的疊加;在T3期間,CCD電荷進行水平轉移,此時混入移位時鐘干擾;T4期間的輸出為復位噪聲、復位失調電壓和有用光敏輸出信號的疊加。所以相關雙采樣的原理就是在T2和T4時刻對同一像素點的輸出信號進行采樣,然后將兩次采樣值相減就基本消除了復位噪聲的干擾,得到信號電平的實際有效幅值。本系統選用的模數轉換器AD9824內部具有相關雙采樣電路,系統實現過程中就是EPM3128產生如圖4所示的SHP、SHP、DATACLK采樣信號,即可完成相關雙采樣邏輯,很大程度降低了圖像數據中包含的噪聲信號。

        d.jpg


        2.2 USB固件程序設計
        在USB接口設計中,USB固件編程是整個設計任務的核心。USB固件程序用于完成USB設備的識別、重列舉、設備請求、USB協議處理、外部硬件的功能、負責與USB主機之間的數據通信等。固件的設計就是使在USB總線上的傳輸能獲得最大的有效的數據傳輸速度。
        設備上電之后,就會按照如下的步驟執行固件:
        1)初始化架構全局變量;
        2)調用TD_Init()初始化FX2LP芯片,調用用戶自定義的初始化函數,返回后USB設置為未配置狀態,并打開中斷;
        3)在緊接著的1秒內,重新枚舉USB設備,直到收到SETUP封包;
        4)檢查設備請求,有請求則執行相應的功能,有的需要跳轉到相應函數;
        5)檢查總線掛起事件,沒有掛起事件則執行9);
        6)調用TD_Suspend(),返回失敗代碼則執行9);
        7)掛起處理器;
        8)檢查重新開始事件,事件發生則調用TD_Resume(),否則執行7);
        9)調用TD_Poll,函數返回到4)并執行。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 奉新县| 吉林市| 阜宁县| 芮城县| 靖西县| 呈贡县| 玛沁县| 昂仁县| 老河口市| 德化县| 克什克腾旗| 新巴尔虎左旗| 晋中市| 南雄市| 乳山市| 新河县| 普定县| 清苑县| 利川市| 年辖:市辖区| 旌德县| 芒康县| 台北县| 开化县| 万宁市| 民丰县| 平遥县| 阳城县| 辉南县| 抚顺县| 汉沽区| 桑日县| 洱源县| 神木县| 彭州市| 永嘉县| 广平县| 榕江县| 长宁区| 灵丘县| 南宁市|