應用CPLD及EPP技術對CCD信號像素級的高速采集
采集系統的驅動程序
VC++對底層的操作能力非常強大,可以方便地實現對并行口的讀寫及操作,而且后期對采集的信號進行分析處理也非常方便,通過VC++封裝動態鏈接庫(DLL)作為采集系統的驅動程序,主要封裝以下幾個函數。
BOOL PASCAL EXPORT PTC_Open (PTC_HANDLE *phPTC);//打開并行口
void PASCAL EXPORT PTC_Close(PTC_HANDLE hPTC);//關閉并行口
BYTE PASCAL EXPORT PTC_Readdata (PTC_HANDLE hPTC);//讀取并行口數據寄存器
void PASCAL EXPORT PTC_Writedata (PTC_HANDLE hPTC, BYTE data);//寫并行口數據寄存器
BYTE PASCAL EXPORT PTC_Readstatus (PTC_HANDLE hPTC);//讀取并行口狀態寄存器
BYTE PASCAL EXPORT PTC_Readcontrol (PTC_HANDLE hPTC); //讀取并行口控制寄存器
void PASCAL EXPORT PTC_Writecontrol (PTC_HANDLE hPTC, BYTE data);//寫并行口控制寄存器
詳細的代碼由于篇幅關系不再一一列舉了。
結束語
利用CCD信號的采集脈沖信號和數據輸入信號的同步性,采集卡可以實現對CCD信號的每個像素進行采集,使得采集數據達到很高的精度,而且可以通過靈活地更改CPLD的主控電路來實現FIFO不同的讀取方式,滿足不同工作的要求。此外FIFO的速度和精度都非常高,可以通過更換高速、高精度的AD來達到更好的采集效果。最好通過并行口和計算機通信,避免了計算機內部電路對CCD信號的影響,也大大改善了采集的效果。
評論