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ì)論文)(完整版)

  

【正文】 模型 USB設(shè)備驅(qū)動(dòng)程序是一種典型的WDM(Windows Driver Model)驅(qū)動(dòng)程序,其程序模型如圖1所示。 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)一步的處理。 D12_INT_BUSRESET) { bus_reset(); = 1; } if(i_st amp。:主循環(huán)在初始化完單片機(jī)CPU和PDIUSBD12芯片后,檢查事件標(biāo)志,并進(jìn)入對(duì)應(yīng)的子程序進(jìn)行進(jìn)一步的處理,在開(kāi)發(fā)套件中,它還包含人機(jī)接口的代碼。相似的控制端點(diǎn)在數(shù)據(jù)包處理時(shí)采用了同樣的概念。在其頭文件里需定義USB規(guī)范中的各種描述符格式,包括設(shè)備描述表、配置描述表、接口描述表、端點(diǎn)描述表、字符串描述表以及描述表類(lèi)型。單片機(jī)先給PDIUSBD12的命令地址發(fā)命令,根據(jù)不同命令的要求再發(fā)送或讀出不同的數(shù)據(jù)。根據(jù)USB協(xié)議,任何傳輸都是由主機(jī)開(kāi)始的。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。第四章 數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì) A/D轉(zhuǎn)換時(shí)序控制 采用延時(shí)等待A/D轉(zhuǎn)換結(jié)束方式,分別對(duì)8路模擬信號(hào)輪流采樣一次,并依次把結(jié)果存入存儲(chǔ)器。編程時(shí)注意啟動(dòng)AD0809后,EOC在一定時(shí)間才能變成低電平。該過(guò)程持續(xù)到PDIUSBD12通過(guò)EOT_N接收到一個(gè)DMA終止信息,這時(shí)產(chǎn)生一個(gè)中斷指示本地CPU,DMA操作已經(jīng)完成。使用DMA控制器,PDIUSBD12的主端點(diǎn)和本地共享存儲(chǔ)器間的數(shù)據(jù)傳輸可自主進(jìn)行,而不需要本地CPU的干預(yù)。該特性為USB器件,集線器和USB通信狀態(tài)提供了用戶友好的指示。USB總線連接可以重新初始化而不需要拔出電纜。PLL鎖相環(huán):片內(nèi)集成了6MHz時(shí)鐘乘法PLL,這樣就可使用低成本的6MHz晶振,EMI也隨之降低。PDIUSBD12 所具有的低掛起功耗連同LazyClock輸出可以滿足使用ACPI、OnNOW和USB電源管理的要求。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。當(dāng)OE=1時(shí),轉(zhuǎn)換所得數(shù)據(jù)出現(xiàn)在D7DO腳,當(dāng)OE=0時(shí)D7DO腳對(duì)外是高阻抗。 VREF(+),VREF(-)為參考電壓輸入。 ADC0809對(duì)輸入模擬量要求信號(hào)單極性,電壓范圍是0-5V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。即使用戶不熟悉這些芯片的結(jié)構(gòu),但是介紹這些微控制器的書(shū)籍和關(guān)于他們的范例程序、開(kāi)發(fā)工具等都可以作為設(shè)計(jì)時(shí)的參考?,F(xiàn)場(chǎng)電信號(hào)A / D轉(zhuǎn)換器USB接口芯片PC機(jī)MCU圖31 數(shù)據(jù)采集系統(tǒng)硬件組成框圖 芯片選擇USB數(shù)據(jù)采集系統(tǒng)硬件主要由微控制器AT89C51,A/D轉(zhuǎn)換芯片ADC0809,USB接口芯片PDIUSBDI2組成。 第三章 數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)如前所述 ,USB系統(tǒng)中的通信主要由主機(jī)控制,這里的主機(jī)是指計(jì)算機(jī)硬件與軟件的結(jié)合體,不是單純的硬件。所有的USB總線設(shè)備以缺省控制管道響應(yīng)主機(jī)發(fā)出的請(qǐng)求,這些請(qǐng)求是通過(guò)控制傳輸來(lái)完成的,請(qǐng)求及請(qǐng)求的參數(shù)通過(guò)Setup包發(fā)向設(shè)備,由主機(jī)負(fù)責(zé)設(shè)置Setup包內(nèi)的每個(gè)域的值。端點(diǎn)描述符包含了主機(jī)用來(lái)確定一個(gè)端點(diǎn)帶寬要求的信息。設(shè)備描述符總共有18個(gè)字節(jié),分為14個(gè)字段。A。總線枚舉的過(guò)程如下:① 設(shè)備連接USB設(shè)備通過(guò)USB總線與主機(jī)相連。中斷傳輸?shù)膫鬏斀Y(jié)構(gòu)如圖23所示:圖23 中斷傳輸結(jié)構(gòu)示意圖同步傳輸同步傳輸?shù)囊饬x在于每一個(gè)幀或者微幀內(nèi)必須傳輸固定數(shù)目的字節(jié)數(shù)據(jù),它適用于固定速度或者特定時(shí)間的傳輸。所有的數(shù)據(jù)階段里的事務(wù)都必須有相同的方向(即全部輸入或全部輸出)。④NYET(Not Yet):表示設(shè)備是否已準(zhǔn)備好接收數(shù)據(jù),只有高速設(shè)備使用。每個(gè)階段又可以分為一個(gè)或幾個(gè)相位(Phase),相位包含幾個(gè)或兩個(gè)事務(wù)信息包。管道管道是設(shè)備端點(diǎn)和主機(jī)控制器之間的連接,在一個(gè)傳輸發(fā)生之前,必須首先建立一個(gè)管道。但系統(tǒng)應(yīng)用的潛力并不局限與此,比如在增加與被測(cè)信號(hào)相適應(yīng)的傳感器、采樣保持、濾波和隔離電路后系統(tǒng)可以方便的應(yīng)用于家庭醫(yī)療護(hù)理方面,可以用于對(duì)人體的心率、脈搏、體溫等參數(shù)的測(cè)試。 2. 主機(jī)設(shè)備驅(qū)動(dòng)程序: USB外設(shè)的驅(qū)動(dòng)程序只能為WDM(WindowsD riverM odle)形式的驅(qū)動(dòng),課題中采用以DDK2000為開(kāi)發(fā)工具,編譯時(shí)直接在DDK2000的DOS窗口中編譯。 本課題旨在對(duì)USB總線的結(jié)構(gòu)、協(xié)議和系統(tǒng)體系進(jìn)行充分研究的基礎(chǔ)上,完成一個(gè)實(shí)際的USB數(shù)據(jù)采集系統(tǒng)軟硬件的構(gòu)架。USB支持四種傳輸類(lèi)型,塊傳輸、同步傳輸、中斷傳輸和控制傳輸。用戶也可以在任何時(shí)候斷開(kāi)USB設(shè)備,而不管計(jì)算機(jī)是否正在運(yùn)行,這都不會(huì)損壞計(jì)算機(jī)。課題主要完成四個(gè)方面的工作:數(shù)據(jù)采集系統(tǒng)硬件設(shè)計(jì)、固件設(shè)計(jì)、應(yīng)用程序及WDM設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)。這些單片機(jī)芯片優(yōu)勢(shì)在于價(jià)格低廉、結(jié)構(gòu)簡(jiǎn)單、接口擴(kuò)展能力強(qiáng)等,但是其數(shù)字運(yùn)算能力較差,所以目前出現(xiàn)了許多以DSP芯片作為數(shù)據(jù)采集系統(tǒng)控制器的數(shù)據(jù)采集系統(tǒng)。通過(guò)數(shù)據(jù)采集系統(tǒng),可以簡(jiǎn)潔、通用化的硬件配合以相應(yīng)的軟件實(shí)現(xiàn)以往專(zhuān)用測(cè)試儀器的功能。三是提供演示和測(cè)試的控制面板程序,并為系統(tǒng)提供了兩個(gè)應(yīng)用實(shí)例。目 錄 第一章 緒論 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 固件的開(kāi)發(fā) 27 采用PDIUSBD12的固件設(shè)計(jì) 28 驅(qū)動(dòng)的開(kāi)發(fā)工具 28 PDIUSBD12固件程序的編寫(xiě) 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ì)。除此之外,論文還介紹了設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā),并在文章結(jié)尾對(duì)USB的應(yīng)用前景進(jìn)行了探索。完成“軟件既儀器”的理念.信息技術(shù)與電子技術(shù)的迅猛發(fā)展,使得計(jì)算機(jī)和外圍設(shè)備也得到飛速發(fā)展和應(yīng)用。本課題為簡(jiǎn)化開(kāi)發(fā)難度,充分利用現(xiàn)有的工作環(huán)境采用較常用的AT89C52單片機(jī)作為系統(tǒng)控制器。使用到的軟件工具包括Prote199,K eilC 51,M icrosoftV isualSt udio6 .0,W in2000DDK:使用到的硬件工具包括單片機(jī)寫(xiě)入器、萬(wàn)用表、示波器等等。 2. 即插即用:USB實(shí)現(xiàn)了自動(dòng)配置,它不需要用戶手動(dòng)配置I/O地址和中斷請(qǐng)求(URQ)。這使得USB總線適合多種外設(shè)的傳輸需要。具體需要做的工作包括軟件和硬件兩部分。 3. 用戶應(yīng)用程序: 應(yīng)用程序是采集到數(shù)據(jù)最終顯示、處理的地方。在個(gè)人電腦逐步進(jìn)入家庭的當(dāng)今,這樣的系統(tǒng)應(yīng)當(dāng)具有一定的應(yīng)用前景。管道隨著主機(jī)和設(shè)備的連接的建立而建立,當(dāng)移除設(shè)備時(shí),管道也跟著被移除。信息包是一個(gè)區(qū)塊的固定格式信息,每個(gè)信息包由一個(gè)信息包標(biāo)示符(PID)開(kāi)頭,作為信息包的識(shí)別。⑤ERR(Error):表示在集線器和主機(jī)事務(wù)中,設(shè)備沒(méi)有傳回預(yù)期的聯(lián)絡(luò)信號(hào)。在數(shù)據(jù)項(xiàng)中要發(fā)送的數(shù)據(jù)的數(shù)量和其方向在建立階段被指定。同步傳輸沒(méi)有聯(lián)絡(luò)階段,所以不能保證傳輸?shù)耐耆煽啃?。?設(shè)備上電USB設(shè)備可以采用USB總線供電,也可以使用外部電源供電。當(dāng)被掛起時(shí),USB設(shè)備保留了包括其地址和配置信息在內(nèi)的所有的內(nèi)部狀態(tài)。配置、接口以及端點(diǎn)描述符是在主機(jī)得到設(shè)備描述符之后發(fā)送給主機(jī)的。除了端點(diǎn)0外,一個(gè)接口所使用的每一個(gè)端點(diǎn)都有它自己的描述符。Setup包格式如表21所示。在開(kāi)發(fā)USB的外圍設(shè)備時(shí),需要有主機(jī)中主控制器對(duì)應(yīng)外設(shè)控制器和外設(shè)響應(yīng)軟件程序。在實(shí)際開(kāi)發(fā)過(guò)程中使用USB D12 SMART開(kāi)發(fā)套件,使用其預(yù)留的擴(kuò)展口在試驗(yàn)板上搭建AID轉(zhuǎn)換電路,并對(duì)開(kāi)發(fā)板電路進(jìn)行相應(yīng)修改而實(shí)現(xiàn)此硬件系統(tǒng)。此類(lèi)芯片的典型代表有:Cypress公司的EZarU SB系列芯片(內(nèi)嵌80C186), Atmel公司的AT76C711(內(nèi)嵌Atmel AVR), SIEMENS公司的C541U(內(nèi) 嵌80C51,8 0052)等等。 通道選擇表如下表31所示。CLOCK: 時(shí)鐘輸入信號(hào)線。 ADC0809應(yīng)用說(shuō)明:(1)ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89C51單片機(jī)直接相連。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。低的操作功耗可以應(yīng)用于使用總線供電的外設(shè)。PLL的工作不需要外部元件。PDIUSBD12在連接可以建立之前會(huì)檢測(cè)USB規(guī)格的5%,但用于連接的VSE電壓規(guī)格仍然有足夠的余量。作為一個(gè)診斷工具它對(duì)隔離故障的設(shè)備是很有用的。要處理任何DMA傳輸,本地CPU從主機(jī)接收必要的SETUP信息,并對(duì)DMA控制器進(jìn)行正確的編程。 接口硬件電路設(shè)計(jì)。 PDIUSBDI2與單片機(jī)接口電路。在軟件編程時(shí),=0,A0、AA2給出被選擇的模擬通道地址和啟動(dòng)A/D轉(zhuǎn)換;執(zhí)行一條輸入指令,讀取A/D轉(zhuǎn)換結(jié)果。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)C51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。單片機(jī)作它的前臺(tái)工作,等待中斷。因此,可以將每種命令做成函數(shù),用函數(shù)實(shí)現(xiàn)各個(gè)命令,以后直接調(diào)用函數(shù)即可。這樣,在發(fā)送配置聯(lián)合描述表時(shí),主機(jī)USBD可以根據(jù)描述類(lèi)型標(biāo)識(shí)區(qū)分各種分描述表。ISR接收和保存數(shù)據(jù)緩沖區(qū)中的控制傳輸并設(shè)置相應(yīng)的標(biāo)志寄存器。:協(xié)議層處理標(biāo)準(zhǔn)的USB器件請(qǐng)求和特殊的廠商請(qǐng)求。 D12_INT_EOT) dma_eot(); if(i_st amp。在主循環(huán)中,MCU首先對(duì)其所有端口、存儲(chǔ)區(qū)、定時(shí)器和中斷服務(wù)程序進(jìn)行初始化,之后MCU將重新連接USB,包括將Softe Connect寄存器設(shè)置為ON。用戶應(yīng)用程序工作在Windows操作系統(tǒng)的用戶模式層,它不能直接訪問(wèn)USB設(shè)備,當(dāng)需要訪問(wèn)時(shí),通過(guò)調(diào)用操作系統(tǒng)的API(Application programming interface)函數(shù)生成I/O請(qǐng)求信息包(IRP),IRP被傳輸?shù)焦ぷ饔趦?nèi)核模式層的設(shè)備驅(qū)動(dòng)程序,并通過(guò)驅(qū)動(dòng)程序完成與UBS外設(shè)通信。5)選擇自動(dòng)產(chǎn)生批量讀及批量寫(xiě)程序代碼?! URB pUrb?! elete pUrb?! Length:2字節(jié),包含數(shù)據(jù)階段中接下來(lái)要傳輸?shù)臄?shù)據(jù)字節(jié)數(shù)目。4)int DMARead(unsigned char usbSelect,unsigned char *rbuffer,int len,int waitTime),主要功能是計(jì)算機(jī)批量讀取ISP1581中的數(shù)據(jù),而ISP1581以DMA方式從外部RAM讀取數(shù)據(jù)。設(shè)計(jì)USB設(shè)備應(yīng)用程序時(shí):一個(gè)是使用MFC(Microsoft Foundation Class),這樣工作量相對(duì)來(lái)說(shuō)要少得多,用戶也比較方便;另一個(gè)是使用底層的API函數(shù)編寫(xiě)程序,這樣雖然比較繁瑣,但是可以使編程人員看到許多使用MFC編程時(shí)看不到的東西,也能夠深入了解Windows系統(tǒng)更底層的知識(shí)。采樣線程負(fù)責(zé)將采集數(shù)據(jù)寫(xiě)到應(yīng)用程序提交的內(nèi)存;而顯示存盤(pán)線程負(fù)責(zé)給應(yīng)用程序發(fā)送顯示和存盤(pán)消息。在主機(jī)(host)端,最新推出的PC機(jī)幾乎100%支持USB;而在外設(shè)(device)端,使用USB接口的設(shè)備也與日俱增,例如數(shù)碼相機(jī)、掃描儀、游戲桿、磁帶和軟驅(qū)、圖像設(shè)備、打印機(jī)、鍵盤(pán)、鼠標(biāo)等等。單個(gè)USB設(shè)備所能擁有的帶寬一般小于8Mbps。只要在后續(xù)的研究中通過(guò)改善硬件環(huán)境和軟件算法解決好一系列存在的問(wèn)題,一定會(huì)得到充分體現(xiàn)USB總線簡(jiǎn)單易用、傳輸速度快等特點(diǎn)的數(shù)據(jù)采集系統(tǒng)。2007 IEEE International Workshop onHaptic Audio Visual Environments and their ApplicationsOttawa, Canada 1214 October 2007Extending Blender: Development of a Haptic Authoring ToolSheldon Andrews39。,這就從根本上限制了數(shù)據(jù)傳輸速度的提高。分析了USB主機(jī)、USB設(shè)備、USB物理層以及USB連接,詳細(xì)說(shuō)明了USB的數(shù)據(jù)流。此處需要注意的是采樣線程和顯示存盤(pán)線程在讀寫(xiě)應(yīng)用程序提交的內(nèi)存時(shí)要保持同步。在編程時(shí),首先要建立與外設(shè)的連接,然后才能實(shí)施數(shù)據(jù)的傳輸?! 〗Y(jié)語(yǔ)USB設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)是Windows編程中較難的一個(gè)方面,要求開(kāi)發(fā)者不但要有良好的Windows編程知識(shí),還要掌握USB控制芯片工作原理、USB傳輸協(xié)議、USB固件等相關(guān)知識(shí),本文所設(shè)計(jì)的USB設(shè)備驅(qū)動(dòng)程序,已經(jīng)應(yīng)用到某雷達(dá)的自動(dòng)測(cè)試設(shè)備中,驅(qū)動(dòng)程序在計(jì)算機(jī)應(yīng)用程序控制下可以順利的發(fā)送各種測(cè)試命令,批量輸入或者輸出大量數(shù)據(jù),達(dá)到設(shè)計(jì)要求。,即USB設(shè)備驅(qū)動(dòng)程序,對(duì)此程序
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1