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

正文內(nèi)容

基于usb總線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(doc畢業(yè)設(shè)計(jì)論文)(專業(yè)版)

  

【正文】 ,雖然程序的可讀性相對(duì)較好,但它的執(zhí)行效率卻不如匯編語(yǔ)言的執(zhí)行效率高。早在1995年,就已經(jīng)有PC機(jī)帶有USB接口了,但由于缺乏軟件及硬件設(shè)備的支持,這些PC機(jī)的USB接口都閑置未用。要編寫USB設(shè)備的驅(qū)動(dòng)程序,必須要有能夠編譯WDM驅(qū)動(dòng)程序的軟件環(huán)境,建議使用Visual C++來(lái)編制該驅(qū)動(dòng)程序?! Request:1字節(jié),用來(lái)指定請(qǐng)求。 在使用DriverWizard生成驅(qū)動(dòng)程序框架、模塊及部分程序源代碼后,開發(fā)者只需完成圖2中三個(gè)控制代碼所對(duì)應(yīng)的三個(gè)功能模塊的編程:模塊USBDIO_IOCTL_ID_CODE_Handler的功能是從控制端點(diǎn)0讀取數(shù)據(jù),模塊USBDIO_IOCTL_TEST_COMMAND_Handler的功能是向控制端點(diǎn)0發(fā)送一個(gè)控制命令,模塊USBDIO_IOCTL_DMA_COMMAND_Handler的功能是向控制端點(diǎn)0發(fā)送一個(gè)要求USB設(shè)備進(jìn)行DMA傳輸?shù)目刂泼?,下面是第一個(gè)模塊的編程實(shí)例。/* 數(shù)據(jù)采集子程序 */void adc_handler(void){ unsigned char ADC_DATA; ADC_DATA=IN_PORT; D12_WriteEndpoint(3, 1, amp。在ISR函數(shù)的入口固件使用ReadInterruptRegister()來(lái)決定中斷源,根據(jù)中斷源進(jìn)入相應(yīng)的子程序進(jìn)行處理。 圖45 數(shù)據(jù)采集系統(tǒng)的固件結(jié)構(gòu) 由于這種結(jié)構(gòu),主循環(huán)不關(guān)心數(shù)據(jù)是來(lái)自USB串口還是并口,它只檢查循環(huán)緩沖區(qū)內(nèi)需要處理的新數(shù)據(jù)。PDIUSBD12的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。Keil C51的工具包中,uVision是C51 for Windows的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。CLKOUT是D12的時(shí)鐘輸出,可以通過(guò)固件編程改變其頻率,在調(diào)試固件時(shí),可作為參考。對(duì)一個(gè)微控制器而言,PDIUSBD12看起來(lái)就像一個(gè)帶8位數(shù)據(jù)總線和一個(gè)地址(占用2個(gè)位置)的存儲(chǔ)器件,PDIUSBD12支持多路復(fù)用和非復(fù)用的地址和數(shù)據(jù)總線;支持主端點(diǎn)與本地共享RAM之間直接讀取的DMA傳輸;還支持單周期和突發(fā)模式的DMA傳輸。默認(rèn)狀態(tài)下不與VCC相連,其連接的建立是通過(guò)外部/系統(tǒng)微控制器發(fā)送命令來(lái)實(shí)現(xiàn)的。,它還符合大多數(shù)器件的分類規(guī)格:成像類、海量存儲(chǔ)器件、通信器件、打印設(shè)備以及人機(jī)接口設(shè)備。OE: 允許輸出端。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。單片機(jī)通過(guò)8位并行接口傳送經(jīng)過(guò)A/D轉(zhuǎn)換的采集數(shù)據(jù),存儲(chǔ)在FIFO存儲(chǔ)器中。某些設(shè)備的功能類似或者提供類似的服務(wù),USB協(xié)議就將它們歸為一類,并且定義了特定的請(qǐng)求,稱為類請(qǐng)求。接口描述符包含了與端點(diǎn)通信所需要的信息,它可以有零個(gè)或多個(gè)端點(diǎn)描述符。之后,主機(jī)會(huì)通過(guò)此通道向設(shè)備發(fā)送一系列的標(biāo)準(zhǔn)USB 請(qǐng)求以獲取所需的信息,設(shè)備必須響應(yīng)這些請(qǐng)求并且采取適當(dāng)?shù)膭?dòng)作。每一個(gè)控制傳輸都必須有設(shè)置與狀態(tài)階段,數(shù)據(jù)階段則是選擇性的。事務(wù)根據(jù)其數(shù)據(jù)流方向以及傳輸目的,可以分為3類:輸入、輸出與設(shè)置。為用戶使用該種型號(hào)的USB接口芯片進(jìn)行設(shè)備開發(fā)提供一個(gè)基礎(chǔ)和工作平臺(tái)。USB總線協(xié)議復(fù)雜等。USB從傳統(tǒng)I/O模式的栓桔中解放出來(lái),開辟了一條外設(shè)同PC機(jī)連接的方法。 課題的提出對(duì)于數(shù)據(jù)采集系統(tǒng)而言有兩個(gè)關(guān)鍵性問(wèn)題:一是控制A/D轉(zhuǎn)換和數(shù)據(jù)傳輸?shù)目刂破鳎皇遣杉到y(tǒng)與上位機(jī)PC的傳輸方式。軟件編程主要分為三部分:一是為滿足獲得最大傳輸速率和運(yùn)行效率的固件程序編程。該系統(tǒng)用傳統(tǒng)的USB總線取代了RS232串行總線,通過(guò)對(duì)USB協(xié)議和設(shè)備構(gòu)架的充分理解,對(duì)以單片機(jī)89C51和USB接口芯片D12為主的數(shù)據(jù)采集系統(tǒng)進(jìn)行了硬件設(shè)計(jì)和軟件編程,并在此設(shè)計(jì)的基礎(chǔ)上給出相應(yīng)的原理圖。價(jià)格昂貴。并加載適合的驅(qū)動(dòng)程序。采用常用的AT89C51作為系統(tǒng)的CPU: ADC0809芯片作為AD轉(zhuǎn)換芯片。通常情況下,設(shè)備端點(diǎn)是一個(gè)內(nèi)存區(qū)域,或者是控制芯片的一個(gè)緩存器,端點(diǎn)的作用是數(shù)據(jù)緩存。在控制傳輸、批量傳輸和中斷傳輸中都有一個(gè)相位是聯(lián)絡(luò)數(shù)據(jù)包,它包含的是聯(lián)絡(luò)信息。任何剩下的數(shù)據(jù)都作為剩余在最后的事務(wù)中被發(fā)送。④ 設(shè)備默認(rèn)狀態(tài)設(shè)備收到一個(gè)復(fù)位信號(hào)后,連接到主機(jī)的所有設(shè)備的地址為默認(rèn)地址(00H),主機(jī)會(huì)首先發(fā)送一個(gè)獲取設(shè)備描述符的請(qǐng)求,設(shè)備通過(guò)這個(gè)默認(rèn)地址向主機(jī)發(fā)送第一次設(shè)備描述符。當(dāng)主機(jī)請(qǐng)求獲取一個(gè)配置描述符的時(shí)候,與配置描述符相關(guān)的所有接口、端點(diǎn)描述符都會(huì)一并返回。bRequest表示USB設(shè)備請(qǐng)求值,標(biāo)準(zhǔn)請(qǐng)求有11個(gè)命令。從芯片大的構(gòu)架來(lái)分,市面上所有的USB控制器芯片可以分為不需要外接微控制器的芯片和需要外接微控制器的芯片。EOC為轉(zhuǎn)換結(jié)束信號(hào)。 (3)送通道的地址到A、B、C端口上。集合所有這些特性都為系統(tǒng)顯著節(jié)約了成本,同時(shí)使USB功能在外設(shè)上的應(yīng)用變得容易。GoodLinkTM:GoodLinkTM技術(shù)可提供可提供良好的USB連接指示。在該模式下,PDIUSBD12發(fā)出請(qǐng)求時(shí)開始傳輸,當(dāng)字節(jié)計(jì)數(shù)器減少為零時(shí)終止。其AO腳接高電平用于控制命令或數(shù)據(jù)輸入到PDIUSBD12,也就是編程中outportcmd()和outportdata()函數(shù)。 采用PDIUSBD12的固件設(shè)計(jì) 固件編程的主要工作固件是FIREWARE的對(duì)應(yīng)中文詞,它實(shí)際上是單片機(jī)的程序文件,其編寫語(yǔ)言可以采用C語(yǔ)言或是匯編語(yǔ)言。USB設(shè)備在正常使用以前,必須由主機(jī)配置設(shè)備。由于所有的標(biāo)準(zhǔn)器件級(jí)別和廠商請(qǐng)求都是在協(xié)議處理程序中進(jìn)行處理,ISR得以保持它的效率。 D12_INT_ENDP0IN) ep0_txdone(); if(i_st amp。USB總線驅(qū)動(dòng)程序已經(jīng)由操作系統(tǒng)提供,驅(qū)動(dòng)程序開發(fā)的重點(diǎn)是函數(shù)驅(qū)動(dòng)程序。  numData=*(PUCHAR)()。,即USB設(shè)備驅(qū)動(dòng)程序,對(duì)此程序只需稍做修改就能正常使用,具體是將類改為USB,即Class=USB,由于本驅(qū)動(dòng)程序使用符號(hào)鏈接名打開設(shè)備,所以刪除ClassGUID選項(xiàng),注意設(shè)備標(biāo)識(shí)符必需為:%DeviceDesc%=USBDIO_DDI, USB\VID_0471amp。在編程時(shí),首先要建立與外設(shè)的連接,然后才能實(shí)施數(shù)據(jù)的傳輸。分析了USB主機(jī)、USB設(shè)備、USB物理層以及USB連接,詳細(xì)說(shuō)明了USB的數(shù)據(jù)流。2007 IEEE International Workshop onHaptic Audio Visual Environments and their ApplicationsOttawa, Canada 1214 October 2007Extending Blender: Development of a Haptic Authoring ToolSheldon Andrews39。單個(gè)USB設(shè)備所能擁有的帶寬一般小于8Mbps。采樣線程負(fù)責(zé)將采集數(shù)據(jù)寫到應(yīng)用程序提交的內(nèi)存;而顯示存盤線程負(fù)責(zé)給應(yīng)用程序發(fā)送顯示和存盤消息。4)int DMARead(unsigned char usbSelect,unsigned char *rbuffer,int len,int waitTime),主要功能是計(jì)算機(jī)批量讀取ISP1581中的數(shù)據(jù),而ISP1581以DMA方式從外部RAM讀取數(shù)據(jù)?! elete pUrb。5)選擇自動(dòng)產(chǎn)生批量讀及批量寫程序代碼。在主循環(huán)中,MCU首先對(duì)其所有端口、存儲(chǔ)區(qū)、定時(shí)器和中斷服務(wù)程序進(jìn)行初始化,之后MCU將重新連接USB,包括將Softe Connect寄存器設(shè)置為ON。:協(xié)議層處理標(biāo)準(zhǔn)的USB器件請(qǐng)求和特殊的廠商請(qǐng)求。這樣,在發(fā)送配置聯(lián)合描述表時(shí),主機(jī)USBD可以根據(jù)描述類型標(biāo)識(shí)區(qū)分各種分描述表。單片機(jī)作它的前臺(tái)工作,等待中斷。在軟件編程時(shí),=0,A0、AA2給出被選擇的模擬通道地址和啟動(dòng)A/D轉(zhuǎn)換;執(zhí)行一條輸入指令,讀取A/D轉(zhuǎn)換結(jié)果。 接口硬件電路設(shè)計(jì)。作為一個(gè)診斷工具它對(duì)隔離故障的設(shè)備是很有用的。PLL的工作不需要外部元件。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。CLOCK: 時(shí)鐘輸入信號(hào)線。此類芯片的典型代表有:Cypress公司的EZarU SB系列芯片(內(nèi)嵌80C186), Atmel公司的AT76C711(內(nèi)嵌Atmel AVR), SIEMENS公司的C541U(內(nèi) 嵌80C51,8 0052)等等。在開發(fā)USB的外圍設(shè)備時(shí),需要有主機(jī)中主控制器對(duì)應(yīng)外設(shè)控制器和外設(shè)響應(yīng)軟件程序。除了端點(diǎn)0外,一個(gè)接口所使用的每一個(gè)端點(diǎn)都有它自己的描述符。當(dāng)被掛起時(shí),USB設(shè)備保留了包括其地址和配置信息在內(nèi)的所有的內(nèi)部狀態(tài)。同步傳輸沒(méi)有聯(lián)絡(luò)階段,所以不能保證傳輸?shù)耐耆煽啃?。⑤ERR(Error):表示在集線器和主機(jī)事務(wù)中,設(shè)備沒(méi)有傳回預(yù)期的聯(lián)絡(luò)信號(hào)。管道隨著主機(jī)和設(shè)備的連接的建立而建立,當(dāng)移除設(shè)備時(shí),管道也跟著被移除。 3. 用戶應(yīng)用程序: 應(yīng)用程序是采集到數(shù)據(jù)最終顯示、處理的地方。這使得USB總線適合多種外設(shè)的傳輸需要。使用到的軟件工具包括Prote199,K eilC 51,M icrosoftV isualSt udio6 .0,W in2000DDK:使用到的硬件工具包括單片機(jī)寫入器、萬(wàn)用表、示波器等等。完成“軟件既儀器”的理念.信息技術(shù)與電子技術(shù)的迅猛發(fā)展,使得計(jì)算機(jī)和外圍設(shè)備也得到飛速發(fā)展和應(yīng)用。目 錄 第一章 緒論 5 課題背景 5 課題的提出 5 USB串行總線優(yōu)勢(shì) 6 本課題研究的內(nèi)容和意義 7第二章 USB概要設(shè)計(jì) 9 USB傳輸要件 9 事務(wù)、信息包和聯(lián)絡(luò)信號(hào) 9 USB的傳輸結(jié)構(gòu) 10 USB總線枚舉過(guò)程 13 USB的設(shè)備描述符 14 USB請(qǐng)求 15第三章 數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì) 17 硬件系統(tǒng)的結(jié)構(gòu) 17 芯片選擇 17 ADC0809 18 AT89C51 20 PDIUSBD12 21 接口硬件電路設(shè)計(jì) 24 A/D與單片機(jī)接口電路 25 PDIUSBDI2與單片機(jī)接口電路 25第四章 數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì) 27 A/D轉(zhuǎn)換時(shí)序控制 27 固件的開發(fā) 27 采用PDIUSBD12的固件設(shè)計(jì) 28 驅(qū)動(dòng)的開發(fā)工具 28 PDIUSBD12固件程序的編寫 29 固件結(jié)構(gòu) 30 固件的編程實(shí)現(xiàn) 32 底層函數(shù) 32 命令接口 32 34 36第五章 USB設(shè)備驅(qū)動(dòng)及應(yīng)用程序設(shè)計(jì) 40 USB設(shè)備驅(qū)動(dòng)程序 40 USB設(shè)備應(yīng)用程序設(shè)計(jì) 46 第六章 結(jié) 論 49 參考文獻(xiàn) 50 附錄 51基于USB總線的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)摘要:本文介紹了一種基于通用串行總線USB(Universal Serial Bus)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)。通過(guò)數(shù)據(jù)采集系統(tǒng),可以簡(jiǎn)潔、通用化的硬件配合以相應(yīng)的軟件實(shí)現(xiàn)以往專用測(cè)試儀器的功能。課題主要完成四個(gè)方面的工作:數(shù)據(jù)采集系統(tǒng)硬件設(shè)計(jì)、固件設(shè)計(jì)、應(yīng)用程序及WDM設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)。USB支持四種傳輸類型,塊傳輸、同步傳輸、中斷傳輸和控制傳輸。 2. 主機(jī)設(shè)備驅(qū)動(dòng)程序: USB外設(shè)的驅(qū)動(dòng)程序只能為WDM(WindowsD riverM odle)形式的驅(qū)動(dòng),課題中采用以DDK2000為開發(fā)工具,編譯時(shí)直接在DDK2000的DOS窗口中編譯。管道管道是設(shè)備端點(diǎn)和主機(jī)控制器之間的連接,在一個(gè)傳輸發(fā)生之前,必須首先建立一個(gè)管道。④NYET(Not Yet):表示設(shè)備是否已準(zhǔn)備好接收數(shù)據(jù),只有高速設(shè)備使用。中斷傳輸?shù)膫鬏斀Y(jié)構(gòu)如圖23所示:圖23 中斷傳輸結(jié)構(gòu)示意圖同步傳輸同步傳輸?shù)囊饬x在于每一個(gè)幀或者微幀內(nèi)必須傳輸固定數(shù)目的字節(jié)數(shù)據(jù),它適用于固定速度或者特定時(shí)間的傳輸。A。端點(diǎn)描述符包含了主機(jī)用來(lái)確定一個(gè)端點(diǎn)帶寬要求的信息。 第三章 數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)如前所述 ,USB系統(tǒng)中的通信主要由主機(jī)控制,這里的主機(jī)是指計(jì)算機(jī)硬件與軟件的結(jié)合體,不是單純的硬件。即使用戶不熟悉這些芯片的結(jié)構(gòu),但是介紹這些微控制器的書籍和關(guān)于他們的范例程序、開發(fā)工具等都可以作為設(shè)計(jì)時(shí)的參考。 VREF(+),VREF(-)為參考電壓輸入。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。PLL鎖相環(huán):片內(nèi)集成了6MHz時(shí)鐘乘法PLL,這樣就可使用低成本的6MHz晶振,EMI也隨之降低。該特性為USB器件,集線器和USB通信狀態(tài)提供了用戶友好的指示。該過(guò)程持續(xù)到PDIUSBD12通過(guò)EOT_N接收到一個(gè)DMA終止信息,這時(shí)產(chǎn)生一個(gè)中斷指示本地CPU,DMA操作已經(jīng)完成。第四章 數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì) A/D轉(zhuǎn)換時(shí)序控制 采用延時(shí)等待A/D轉(zhuǎn)換結(jié)束方式,分別對(duì)8路模擬信號(hào)輪流采樣一次,并依次把結(jié)果存入存儲(chǔ)器。根據(jù)USB協(xié)議,任何傳輸都是由主機(jī)開始的。在其頭文件里需定義USB規(guī)范中的各種描述符格式,包括設(shè)備描述表、配置描述表、接口描述表、端點(diǎn)描述表、字符串描述表以及描述表類型。:主循環(huán)在初始化完單片機(jī)CPU和PDIUSBD12芯片后,檢查事件標(biāo)志,并進(jìn)入對(duì)應(yīng)的子程序進(jìn)行進(jìn)一步的處理,在開發(fā)套件中,它還包含人機(jī)接口的代碼。 D12_INT_ENDP2OUT) main_rxdone(); } = 0;}//A/D轉(zhuǎn)換中斷處理adc_isr() interrupt 1{ DISABLE; = 1; ENABLE;} 主循環(huán)檢查事件標(biāo)志并進(jìn)入對(duì)應(yīng)的子程序進(jìn)行進(jìn)一步的處理。4)在驅(qū)動(dòng)程序支持的功能項(xiàng)中選擇Read、Write、Device Control、Cleanup。  status=(pUrb,NULL,NULL,0)。3) int CTRLSend
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1