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