基于USB的高清彩色CCD圖像采集系統
1.3 高速USB2.0接口設計
圖3為高清圖像采集系統的核心傳輸鏈路,USB2.0高速接口。因為圖像采集系統要求將數據高速而準確地傳入PC端,故本系統采用Sla ve FIFO模式,圖像不經FX2LP的CPU處理,直接通過從屬端點FIFO將數據高速傳入PC端。本文引用地址:http://www.104case.com/article/193781.htm
圖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信號是為了協調高清圖像數據正常發送而引入的額外信號。系統中CCD圖像傳感器輸出的模擬信號經AD9824采樣后輸出14 bit數字信號,但數據中不包含圖像幀頭信息。為使主機應用程序能夠準確和完整地分離出圖像數據,本系統設計方法是在EZ-USB FX2LP的INT1中斷服務程序中為每一幀圖像加入特定的幀頭。在EZ-USB在往FIFO里面寫入幀頭的過程中,不允許CPLD繼續讓AD向FIFO傳送數據,從而引入了PAUSE信號通知CPLD暫停傳送數據的操作。
本系統采用的模擬轉換器AD9824是一款14bits的高效CCD信號處理器,而FD[15:0]是16位的數據總線,在設計過程中,我們將高位數據線接地,低14位數據線接AD9824數據并行輸出數據。
2 系統軟件實現
2.1 AD相關雙采樣
相關雙采樣(CDS)通過對每一個CCD像素點輸出信號采樣兩次來消除低頻噪聲的影響,它是根據CCD輸出信號和噪聲信號的特點而設計。圖4為相關雙采樣時序圖,圖中詳細的指出了相關采樣的時序要求。CCD每個像元的輸出周期都以復位脈沖信號開始T1,先清除前一個像素的電荷,以等待下一像素電荷的到來。此時的輸出信號被嵌入復位電平,并產生復位噪聲;在圖中T2期間,由于復位MOSFET漏電流的影響,復位電平有微小下降,這種現象稱為復位失調電壓。此時的輸出信號為復位電平與復位噪聲、復位失調電壓的疊加;在T3期間,CCD電荷進行水平轉移,此時混入移位時鐘干擾;T4期間的輸出為復位噪聲、復位失調電壓和有用光敏輸出信號的疊加。所以相關雙采樣的原理就是在T2和T4時刻對同一像素點的輸出信號進行采樣,然后將兩次采樣值相減就基本消除了復位噪聲的干擾,得到信號電平的實際有效幅值。本系統選用的模數轉換器AD9824內部具有相關雙采樣電路,系統實現過程中就是EPM3128產生如圖4所示的SHP、SHP、DATACLK采樣信號,即可完成相關雙采樣邏輯,很大程度降低了圖像數據中包含的噪聲信號。
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)并執行。
評論