資料介紹
??1 引 言
??CCD(ChargeCoupledDevices)電荷耦合器件是20世紀70年代初發展起來的新型半導體集成光電器件。由于CCD器件具有諸多優點:靈敏度高、光譜響應寬、動態范圍大、空間自掃描等,使得近30年來,CCD器件及其應用技術的研究取得了驚人的進展,特別是在圖像傳感和非接觸測量領域的發展更為迅速。目前,CCD應用技術已成為集光學、電子學、精密機械及微計算機為一體的綜合性技術,在現代光子學、光電檢測技術和現代測量技術中成果累累。隨著CCD技術的迅猛發展,針對CCD信號的采集及采集之后的信號如何與計算機進行信息通信就成為CCD應用的一個重要問題,而能夠針對CCD每一個象素進行高速采集并實時的傳輸給計算機處理,將會大大的提高采集到的CCD信號的精度并解決實時處理的問題,這在CCD信號采集和處理領域都將有非常廣闊的前景。
??通用串行總線USB(UniversalSerialBus)是1995年由康柏、微軟、IBM,DEC等公司為解決傳統總線不足而推廣的一種新型的通信標準。USB總線接口具有較高的數據傳輸率、使用靈活、易擴展等優點,非常適合CCD的數據采集。他有低速、全速和高速三種工作方式,即USBl.1版本中.的低速模式和全速模式,低速模式的傳輸速率為1.5Mb/s,支持一些不需要很大數據吞吐量和很高實時性的設備,如鼠標、鍵盤等;全速模式的傳輸速率可以達到12Mb/s。,可以外接速率更高的外設,適合用于線陣CCD的數據采集。在USB 2.0版本中,增加了一種高速模式,其數據傳輸率最高可以達到480Mb/s,完全可以滿足高速CCD數據采集系統的需要。
??2 接口硬件組成
??本系統選用高速的AD(模數)轉換器,用于采集CCD信號,配以先進先出(FIFO)存儲器作為數據高速緩沖器,用于存儲AD轉換后的數據,并采用具有的USB接口芯片,從而通過USB接口將采集到的數據輸入計算機。系統原理框圖如圖1所示。
??
??其中使用CPLD技術完成本采集系統的控制模塊。CPLD(器件)技術已經成為當今設計最為流行的方式,他可以將數字電路集成到一塊芯片上,大大減小了的體積和可靠性,而且他的可編程性使得設計好的電路在升級和修改上變得非常簡單和方便。
??USB選用Cypress公司EZ-USB系列的AN2131QC,片內嵌有一個增強型的8051微控制器,并使用片內RAM作程序和數據存儲器,使得芯片具有軟特性,允許客戶隨時不斷地設置和升級。內部框圖如圖2所示。
??
??EZ-USBAN2131QC符合USB規范1.1版本,有4種傳輸方式:控制傳輸、中斷傳輸、批量傳輸和同步傳輸。其中同步傳輸又有2種方式,即普通讀寫方式和快速讀寫方式。在本系統中采用的是快速讀寫方式,使得芯片可以在0.5 ms內讀寫1 kB的數據。
??3 軟件設計
??軟件主要分為3部分:USB芯片的固件程序、USB設備驅動程序以及主機的用戶應用程序。固件響應各種來自系統的USB標準請求,完成各種數據的交換工作和事件處理。USB-驅動程序為USB采集系統提供了應用軟件與USB設備的接口,他的開發使USB廣泛應用于數據采集系統成為可能。而應用軟件則實現用戶與采集系統的交互,完成數據采集命令,進行實時顯示。
??3.1 固件程序代碼
??由USB芯片集成的加強型8051單片機來處理,當EZ-USB設備連接到USB口時,主機進行總線枚舉,根據設備ID先使用系統程序將固件下載到芯片內部,然后進行重枚舉,固件作為用戶的功能設備開始執行。
??Cypress公司提供固件程序框架,來完成控制傳輸和大部分的數據傳輸工作。本采集系統的固件程序就是基于此固件框架開發的,使用KeilC進行編譯。程序流程圖如圖3所示。
??圖3中:TD_Init()為初始化全局變量;TD_Poll()為用戶功能;TD_Suspend()為響應掛起事件;TD_Resume()為響應外部喚醒事件。
??EZ-USB使用8051的INT2來響應21種USB中斷,自動矢量(Autovector)機制幫助使8051內核進入相應的ISR(Interrupt Service Routine中斷服務例程)。在初始化函數中加入使能EZ-USB的SOF(幀起始)中斷語句,可以開始同步傳輸。每1 ms開始發生SOF中斷,標志幀的開始。在SOFISR中從外部FIFO讀取一個包長度的字節數據到端點緩沖區中。
??3.2 驅動程序設計
??USB客戶驅動程序是支持即插即用功能的標準WDM(Windows Driver Model)驅動程序,這是分層的驅動程序模型,即設備驅動被分成了若干層,典型地分成:高層驅動程序、中間層驅動程序、底層驅動程序。每層驅動再把I/O請求劃分成更簡單的請求,以傳給更下層的驅動執行。最底層的驅動程序在收到I/O請求后,通過硬件抽象層,與硬件發生作用,從而完成I/O請求工作。在這樣的架構下,上面的驅動層就不需要對每個操作系統都要開發一遍了。USB客戶驅動程序接收I/O管理器發來的IRP(I/ORequestPacket),構造URB(USBRequest Block)傳遞給主控制驅動程序接口USBDI。在USBDI的基礎上進行編程將大大簡化,用戶不用關心IRP的類型,而只需要在相應的分發例程中通過構造URB(USBRequestBlock)并將其通過USBDI發送下去就可以實現對USB設備的控制了。
??
??開發USB設備驅動程序的工具目前廣泛應用的主要有2類:
??(1)Windows DDK(Device Driver Kits),DDK基于匯編語言的編程方式和內核模式的調用,對沒有深厚的操作系統原理和編程水平的人員來說,任務相當艱巨。
??(2)NuMega公司的Driverstudio工具開發包,其中的DriverWorks實際上實現了對DDK類的封裝,可以提供給用戶驅動程序的開發框架,只需用戶在相應的代碼段中加入自己系統的控制代碼即可,不必了解內核機制,大大加速了USB外設的開發速度。本系統就是使用DriverWorks來開發USB設備驅動程序的。生成的應用接口函數在VC“中調用,大大降低了主機軟件的難度。
??3.3 用戶應用程序設計
??應用程序實現的功能有:啟動/關閉USB設備,設置USB數據傳輸管道/端口,采集數據,顯示數據等。這里,采用VisualC++6.0作為程序的開發環境,并且充分運用了多線程的編程思想。從而實現同時進行數據采集與實時顯示。
??為了實現與驅動程序的通信,應用程序首先創建一個事件和一個線程,再將事件句柄傳遞給WDM,用這一線程來等待WDM發送的事件消息,接收到事件消息后,就讀取驅動程序的數據,顯示數據。
??在Windows中,Win32應用程序調用的APl函數有5個;CreateFile(),ReadFile(),WriteFi|e(),DeviceloControl()和CloseHandle()。
??應用程序為打開一個WDM設備驅動程序,使用CreateFile()函數。他的第一個參數是一個符號鏈接名。如果用DriverWorks創建一個WDM驅動程序,通常會用類KUnitizedName生成一個設備符號鏈接名。這名字的后面有一個數字,一般是一個o。例如,若符號鏈接名為”USBDevice“,則傳遞給CreateFile()的是”\\\\.\\USBDevice0“。
??
??一旦應用程序獲得設備的有效句柄,他就能夠調用Win32函數,這將產生對應于此設備對象的相應IRP,發送給驅動程序,完成相應功能。這種關系如表1所示。
??
??4 結 語
??本采集系統利用USB技術實現與計算機通信,有眾多的優點:
??①安裝方便,支持即插即用。
??②供電方便,可直接由主機通過USB接口提供5V的電壓。
??⑧性價比高,遠優于并行口和串行口的CCD圖像采集系統。
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 通用串行總線(USB)外設隔離器電路
- 通用串行總線(USB)2.0資料手冊
- 音頻設備的通用串行總線設備類定義 0次下載
- 通用串行總線語言標識符英文版下載 0次下載
- 通用串行總線USB技術演進及測試方案 7次下載
- 通用串行總線USB2.0協議免費下載 1次下載
- 通用串行總線規范資料免費下載 13次下載
- 通用串行總線USB協議的詳細資料說明 2次下載
- 設計通用串行總線(USB)系統時鐘的示意性準則的詳細資料概述 13次下載
- TMS320VC5507和5509DSP通用串行總線(USB)模塊的詳細資料概述 4次下載
- 通用串行總線(USB)標準的演變 4次下載
- 基于MSP430F449單片機的USB通用串行總線設計 6次下載
- 通用串行總線的SD卡讀寫器的設計 489次下載
- Windows CE 下通用串行總線(USB)驅動程序開發
- USB通用串行總線技術規范簡介
- 硬件電路設計之USB電路設計 7921次閱讀
- USB讀卡器實驗 1530次閱讀
- 串行總線、驅動器和物理接口的特性及性能比較 3197次閱讀
- 基于PDIUSBD12芯片和ADuC812芯片實現串行總線接口設計 2160次閱讀
- 通用串行總線的傳輸方式_通用串行總線的電氣特性 3211次閱讀
- 采用通用串行總線USB技術的高速數據采集卡的設計方案 2867次閱讀
- USB3.1高速接口設計指南 1.2w次閱讀
- 通用串行總線USB用作USB外設的隔離元件實現隔離電纜功能的設計 1789次閱讀
- USB總線的總體結構和基本概念 1w次閱讀
- mini usb和micro usb的區別 15.2w次閱讀
- 通用串行總線控制器(介紹、目的及電腦如何查看) 1.9w次閱讀
- 一種基于USB與DSP的指紋識別系統設計方案 924次閱讀
- 通用串行總線(USB)集線器隔離器電路圖 7598次閱讀
- 通用串行總線(USB)外設隔離器電路圖 3746次閱讀
- CAN總線與USB的轉接技術 2499次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多