freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)和usb接口技術(shù)的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 數(shù)據(jù)采集系統(tǒng)的硬件及固件 PDIUSBD12 程序設(shè)計(jì)方案。USB 設(shè)備需要依據(jù) USB 協(xié)議進(jìn)行數(shù)據(jù)的解包與打包,底層硬件設(shè)備與操作系統(tǒng)之間需要以驅(qū)動(dòng)程序?yàn)闃蛄?。USB 技術(shù)雖然出現(xiàn)的時(shí)間并不長(zhǎng),但是由于它的種種優(yōu)點(diǎn),被越來(lái)越多的廠商和用戶所接受,出現(xiàn)了 USB 打印機(jī)、攝像頭等產(chǎn)品。現(xiàn)在研究通用的高速數(shù)據(jù)采集卡一般多是 PCI 卡, A/D 卡及 42485 卡或 ISA 卡,存在以下缺點(diǎn):安裝麻煩、價(jià)格昂貴、受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源限制、可擴(kuò)展性差,同時(shí)在一些電磁干擾性強(qiáng)的測(cè)試現(xiàn)場(chǎng),可能無(wú)法專門對(duì)其做電磁屏蔽,從而導(dǎo)致采集的數(shù)據(jù)失真。 隨著時(shí)代的發(fā)展,1995 年康柏、微軟、IBM、DEC 等公司為解決傳統(tǒng)總線不足而推廣的一種新型的通信標(biāo)準(zhǔn),就是通用串行總線 USB。給出了高速模數(shù)轉(zhuǎn)換及 USB 接口的電路原理,實(shí)現(xiàn) USB 數(shù)據(jù)傳輸?shù)纳?、下位機(jī)的程序設(shè)計(jì)??刂葡到y(tǒng)的硬件模塊主要是由 A/D 轉(zhuǎn)換器、D/A 轉(zhuǎn)換器、微處理器、USB 接口控制芯片、串行口控制芯片、放大器等組成。第二章對(duì)本次畢業(yè)設(shè)計(jì)的總體方案與選擇的論證進(jìn)行了說(shuō)明。第四章對(duì)研究設(shè)計(jì)進(jìn)行分析,對(duì)內(nèi)容中的創(chuàng)新,改進(jìn)及實(shí)際意義進(jìn)行說(shuō)明。我們最終選用了 ATMEL 公司的 AT89C52 單片機(jī)。在選定 USB 控制器以后,如果是帶 USB 接口的單片機(jī),則是一般單片機(jī)應(yīng)用系統(tǒng)的開發(fā)。另一類是帶有 USB 接口芯片的單片機(jī)(也稱 USB 主控制器) 。純粹的 USB外設(shè)接口芯片僅處理 USB 總線相關(guān)事務(wù),必須有一個(gè)外部微處理器來(lái)進(jìn)行協(xié)議處理和數(shù)據(jù)交換。一個(gè)端點(diǎn)的緩沖區(qū)可以儲(chǔ)存到 128 個(gè)字節(jié),而雙緩沖區(qū)可以到 256 個(gè)字節(jié)。另外,該芯片還集成了許多特性,包括 SoftConnect, GoodLink、可編程時(shí)鐘輸出、低頻晶振和終止寄存器集合,簡(jiǎn)化 USB 功能在外設(shè)上的應(yīng)用。為此,我們利用 89C52 中豐富的軟件資源和 USB 總線技術(shù)即插即用、熱插拔特性來(lái)完成高速數(shù)據(jù)采集系統(tǒng)。該芯片集成度高,與 51 單片機(jī)兼容。 而 USB 主機(jī)及顯示部分則通過(guò)輸出接口在 PC 機(jī)上顯示,采用軟件來(lái)模擬顯示輸入信號(hào)的波形。其功能為:USB 收發(fā)器負(fù)責(zé)處理所有與 USB 總線事務(wù)有關(guān)的任務(wù),如總線喚醒、數(shù)據(jù)接受/發(fā)送、打包、CRC校驗(yàn)等,但該收發(fā)器不負(fù)責(zé)解釋這些數(shù)據(jù)的意義。當(dāng)系統(tǒng)從掛起狀態(tài)退出以后,狀態(tài)監(jiān)控器就產(chǎn)生一個(gè)正脈沖以復(fù)位/喚醒整個(gè)系統(tǒng)。A/D 轉(zhuǎn)換器位數(shù)越多,精度越高,波形保真性越高 。連接的建立通過(guò)外部 MCU 發(fā)送命令來(lái)實(shí)現(xiàn),這就允許設(shè)備在決定與 USB 總線建立連接之前完成初始化時(shí)序。當(dāng)成功枚舉和配置后,LED 指示將一直點(diǎn)亮。(5)多中斷模式實(shí)現(xiàn)批量和同步傳輸。圖 2 指示了高速 USB 設(shè)備在集線器的終端位置及其所連的功能設(shè)備,從中可以看出在電纜的下行端的電阻 Rpu 是接在 D+線上的,在低速設(shè)備中, Rpu 電阻是接在 D線上的。可選擇 D12 提供的帶有上拉電阻的軟件連接技術(shù)。(5)串行接口引擎(SIE): 串行接口引擎實(shí)現(xiàn)了全部的 USB 協(xié)議層,完全由硬件實(shí)現(xiàn)而不需要固件的參與。一系列相互獨(dú)立的端點(diǎn)在一起構(gòu)成了 USB 邏輯設(shè)備。缺省控制通道支持了對(duì)控制的傳送,一旦設(shè)備接上,并加電,且又收到一個(gè)總線復(fù)位命令,端點(diǎn) 0 就是可訪問(wèn)的了。非 0 端點(diǎn)在被配置前處于未知狀態(tài),在設(shè)備配置以后才能使用。模式 0 配置下的端點(diǎn)緩沖區(qū)如表 所示??梢院蛯?duì)其它端點(diǎn)的正常 I/0 操作交叉進(jìn)行。表 端點(diǎn)緩沖區(qū)配置(模式 0)端點(diǎn)號(hào) 端點(diǎn)索 引傳輸類型 端點(diǎn)類型 方向 緩沖區(qū)長(zhǎng)度(字節(jié))0 0 控制輸出 默認(rèn) 輸出 160 1 控制輸出 默認(rèn) 輸入 161 2 普通輸出 普通 輸出 161 3 普通輸出 普通 輸入 162 4 普通輸出 普通 輸出 642 5 普通輸出 普通 輸入 64 PDIUSBD12 的指令集 PDIUSBD12 有自己的專用指令集,用于設(shè)置 USB 芯片、讀取 USB 芯片的狀態(tài)和控制 USB 總線傳輸。表 初始化命令指令集命令名 接收者 編碼 數(shù)據(jù)設(shè)置地址使能 器件 D0h 寫 1 字節(jié)設(shè)置端點(diǎn)使能 器件 D8h 寫 1 字節(jié)設(shè)置模式 器件 F3h 寫 2 字節(jié)設(shè)置 DMA 器件 FBh 寫/讀 1 字節(jié)(2)數(shù)據(jù)流命令數(shù)據(jù)流命令用于管理 USB 端點(diǎn)和外部微控制器之間的數(shù)據(jù)傳輸,D12 通過(guò)微控制器中斷初始化大量的數(shù)據(jù)流。(3)普通命令:包括發(fā)送恢復(fù)、讀當(dāng)前幀數(shù)目?jī)蓚€(gè)命令。ADC0809 只有在時(shí)鐘脈沖信號(hào)的同步下才能進(jìn)行 A/D 轉(zhuǎn)換時(shí)鐘頻率越高轉(zhuǎn)換得越快。在時(shí)鐘脈沖頻率為 640kHz 時(shí),START 脈寬應(yīng)大于100ns200ns。OE:允許輸出端。編程時(shí)注意啟動(dòng) AD0809 后,EOC 在一定時(shí)間才能變成低電平。此外89C52 的多位地址/數(shù)據(jù)復(fù)用總線 PO 可直接與 PDIUSBD12 的數(shù)據(jù)總線相連,CLKOUT 時(shí)鐘輸出為 89C52 提供時(shí)鐘輸入。 系統(tǒng)的軟件設(shè)計(jì) PDIUSBD12 的固件編程思想PDIUSBD 12 的固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng)。其原理圖如圖 所示圖 前后臺(tái)工作原理 由于這種結(jié)構(gòu),主循環(huán)不關(guān)心數(shù)據(jù)是來(lái)自 USB 串口還是并口,它只檢查循環(huán)緩沖區(qū)內(nèi)需要處理的新數(shù)據(jù)。主循環(huán)向協(xié)議處理程序發(fā)出請(qǐng)求。 unsigned char busreset:1。 unsigned char in_isr:1。 unsigned char epl_rxdone:1。 unsigned short value}EPPFLAGS。 unsigned short windex。 unsigned short wLength unsigned short wCount。在 ISR 的入口固件使用 D12_ Read Interrupt Register( )來(lái)決定中斷源,然后將進(jìn)入相應(yīng)的子程序進(jìn)行處理。ISR 與前臺(tái)主循環(huán)通過(guò)事件標(biāo)志 EPPFLAGS 和數(shù)據(jù)緩沖區(qū) CONROL_ XFER 進(jìn)行通信。然后在 STATUS 階段結(jié)束。如果控制端點(diǎn)為滿,MCU 將從緩沖區(qū)讀出內(nèi)容并Yyyy無(wú)數(shù)據(jù)控制返回狀態(tài)空閑接收發(fā)送輸入輸出將其存入存儲(chǔ)區(qū)。MCU 需要設(shè)置一個(gè)標(biāo)志以指示 USB 設(shè)備現(xiàn)在正處于傳輸模式,即準(zhǔn)備在主機(jī)發(fā)送請(qǐng)求時(shí)發(fā)送數(shù)據(jù)。如果包是送往控制端點(diǎn),MCU 要通過(guò)讀 D12 的最后處理狀態(tài)寄存器進(jìn)一步確定數(shù)據(jù)是否是一個(gè)建立包,第一個(gè)包必須是建立包。由于 D12 的控制端點(diǎn)只有 16 字節(jié) FIFO,如果傳輸?shù)拈L(zhǎng)度大于 16 字節(jié),MCU 在傳輸階段就必須控制數(shù)據(jù)的數(shù)量。如果己經(jīng)沒(méi)有數(shù)據(jù)要發(fā)送,MCU 需要發(fā)送一個(gè)空的包以指示主機(jī)數(shù)據(jù)已經(jīng)發(fā)送完畢。流程現(xiàn)在處于 Control_ Out 處理程序的右端。普通輸出端點(diǎn)配置為從主機(jī)接收數(shù)據(jù)包。Generic_ In 標(biāo)志是在發(fā)送完數(shù)據(jù)后才產(chǎn)生的,當(dāng)還有數(shù)據(jù)要發(fā)送時(shí)可以在中斷程序里接著繼續(xù)發(fā)。這些過(guò)程是很重要的,因?yàn)樗_保了在 MCU 準(zhǔn)備好服務(wù) D12 之前 D12 不會(huì)進(jìn)行操作。1ms定時(shí)器用于激活該子程序以檢測(cè)在評(píng)估板上的任何按鍵。前者能夠開發(fā)Windows95/98/Me/NT 下的 VxD, KMD 和 WDM 驅(qū)動(dòng)程序,后者可以開發(fā)Windows98/Me/NT/2022 下的 KMD 和 WDM 驅(qū)動(dòng)程序。 WinDriver 是美國(guó) KRFTech 公司出品的用于編寫驅(qū)動(dòng)程序的另一種工具包。使用 WinDriver 的優(yōu)點(diǎn)是:開發(fā)者并不需要熟悉任何內(nèi)部操作系統(tǒng)或kernel programming 或 DDK 及任何驅(qū)動(dòng)程式。當(dāng) USB 設(shè)備插入 USB 集線器時(shí),USB 集線器驅(qū)動(dòng)程序會(huì)檢測(cè)到一個(gè)新設(shè)備的插入。 在編寫驅(qū)動(dòng)程序時(shí),需要包含以下幾個(gè)頭文件: :包含有 USB 設(shè)備驅(qū)動(dòng)程序中所用到的各種常量和結(jié)構(gòu) 。在編譯驅(qū)動(dòng)程序時(shí),build 將會(huì)在欲編譯的驅(qū)動(dòng)程序所在的目錄中尋找一個(gè)叫sources 的文件,這個(gè)文件將告訴編譯程序,應(yīng)該怎么做。 (4)TARGETLIBS:表示編譯過(guò)程中需要那些庫(kù)。 USB_ D 12_pnp():處理即插即用的操作。 USB_ D 12_closeHandle():當(dāng)用戶關(guān)閉文件時(shí),調(diào)用它清掃系統(tǒng),卸載驅(qū)動(dòng)程序。設(shè)備插上主機(jī)后,主機(jī)發(fā)現(xiàn)新硬件并提示安裝驅(qū)動(dòng)程序。URB 允許發(fā)出多個(gè)功能調(diào)用給 USB系統(tǒng),通過(guò) URB 進(jìn)行與 USB 設(shè)備的大多數(shù)交互。采用這種分層驅(qū)動(dòng)程序的方法有兩個(gè)優(yōu)點(diǎn):(1)多個(gè) USB 設(shè)備可以通過(guò) USB 總線驅(qū)動(dòng)程序來(lái)協(xié)調(diào)它們的工作。編程時(shí)注意啟動(dòng) AD0809 后,EOC 在一定時(shí)間才能變成低電平。在該數(shù)據(jù)采集系統(tǒng)中,用 ADC0809 采集 05V 的電壓信號(hào),經(jīng) A/D 轉(zhuǎn)換后將數(shù)字量存入預(yù)先設(shè)定的緩沖區(qū)里,利用接口芯片 D12 將數(shù)據(jù)送至 USB 總線上。這樣,PDIUSBD12 的中斷輸出才能變回高電平。[4]讀完數(shù)據(jù)后,一定要調(diào)用 Clear Buffer(命令 F2H),以保證可以接收新的包。 [2] Set Endpoint Enable(此時(shí) LED 亮)。 [6]Read Interrupt Register。USB 功能驅(qū)動(dòng)程序接收到這個(gè) IRP 以后,根據(jù) IRP 中包含的具體操作代碼,構(gòu)造相應(yīng)的 USB 請(qǐng)求塊 把該 URP 放到一個(gè)新的 IRP 中,并通過(guò)USBDI 傳送給 USB 驅(qū)動(dòng)程序(USBD), USBD 驅(qū)動(dòng)程序根據(jù) IRP 包含的不同傳輸類型將 IRPs 分解開來(lái),并調(diào)用主控制器驅(qū)動(dòng)程序來(lái)處理 IRPs,同時(shí)將處理結(jié)果返還給I/O 管理器,并最終返還給應(yīng)用程序,從而實(shí)現(xiàn)了應(yīng)用程序?qū)υO(shè)備的讀寫操作。 本次設(shè)計(jì)的創(chuàng)新與改進(jìn)本次設(shè)計(jì)沒(méi)有采用以往以 AVR 單片機(jī) ATmegal28 作為主控制器,通過(guò)基于CH375 的 USB 接口實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)姆绞?,而是采?AT89C52 單片機(jī)和 Philips 公司的 PDIUSBD12 ()接口芯片配合的方式。PDIUSBD12 可使設(shè)計(jì)者選擇最合適的微控制器,減少開發(fā)時(shí)間、風(fēng)險(xiǎn)及費(fèi)用,是最實(shí)用最快捷的方法實(shí)現(xiàn)最經(jīng)濟(jì)的 USB 外設(shè)的方案。在硬件設(shè)計(jì)時(shí),只需把串口控制芯片或并口控制芯片換成 USB 接口芯片即可。將 AD 轉(zhuǎn)換的內(nèi)核做到 FPGA 當(dāng)中,將采集設(shè)備中的數(shù)字器件集成到FPGA 中,會(huì)大大的簡(jiǎn)化電路,并且有利于將來(lái)系統(tǒng)的升級(jí)。這個(gè)聯(lián)盟包括 7 家有相當(dāng)實(shí)力的業(yè)界巨擎:Agere Systems 惠普,英特爾,微軟,NEC,飛利浦半導(dǎo)體和韓國(guó)三星。如同有線的 USB技術(shù)一樣,無(wú)線的 WUSB 將會(huì)提供一些 USB 所不能提供的功能。就是再忙,陳老師也經(jīng)常對(duì)我進(jìn)行悉心教導(dǎo)。在此對(duì)他們表示誠(chéng)摯的謝意。只有不斷學(xué)習(xí)才能不斷的進(jìn)步。最后,對(duì)陳雪嬌老師的耐心指導(dǎo)再次表示感謝!并祝老師在今后的工作里工作愉快! 合家歡樂(lè)! 參考文獻(xiàn)[1] .[M].南京:東南大學(xué)出版社,2022, 1314.[2] [M].武漢:華中科技大學(xué)出版社,2022,1514.[3] .電子技術(shù)基礎(chǔ)數(shù)字部分[M].北京:高等教育出版社,2022,1536.[4] .MCS51/96 系列單片機(jī)原理及應(yīng)用 [M].北京:北京航空航天大學(xué)出版社,1996,1409.[5] [M].武漢:華中科技大學(xué)出版社,2022,1384.[6] .IBMPC 匯編語(yǔ)言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,1991,1482.[7] date sheets[OL] .[8] 位微型計(jì)算機(jī)原理及應(yīng)用[M].北京:北京郵電大學(xué)出版社,1992,1404.附錄 AAt89c52 date sheetsAT89C52 Chip explains Compatible with MCS51TM Products 8 Kbytes of InSystem Reprogrammable Flash Memory Endurance: 1,000 Write/Erase Cycles Fully Static Operation: 0 Hz to 24 MHz ThreeLevel Program Memory Lock 256 x 8Bit Internal RAM 32 Programmable I/O Lines Three 16Bit Timer/Counters Eight Interrupt Sources Programmable Serial Channel Low Power? Idle and Power Down ModesDescriptionThe AT89C52 is a lowpower, highperformance CMOS 8bit microputer with 8
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1