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ì)論文)-文庫(kù)吧在線文庫(kù)

  

【正文】 鐘頻率為1280kHz,主要管腳功能如下:地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。 該類芯片是廠商為開(kāi)發(fā)USB應(yīng)用設(shè)備而專門設(shè)計(jì)的,, CY7C6372等等。主要包括5個(gè)組成部分:中央處理器選用AT89C51芯片,完成各部分控制功能和USB傳輸協(xié)議;A/D轉(zhuǎn)換器和接口電路主要完成數(shù)據(jù)采集,并讀入MCU處理;復(fù)位電路完成對(duì)MCU的上電復(fù)位和電源電壓監(jiān)視;電源電路主要為各部分提供要求的電源;外設(shè)與主機(jī)間的通信電路采用USB接口。wLength表示長(zhǎng)度,如果傳輸?shù)氖且唤M數(shù)據(jù),則這個(gè)長(zhǎng)度的值表示要傳輸數(shù)據(jù)的字節(jié)數(shù)。USB規(guī)范定義了11種標(biāo)準(zhǔn)請(qǐng)求,所有設(shè)備都必須對(duì)這11種請(qǐng)求作出響應(yīng),即使當(dāng)主機(jī)沒(méi)有給設(shè)備分配一個(gè)地址或者沒(méi)有配置設(shè)備。接口描述符描述了一個(gè)配置中的特定接口。但每一個(gè)設(shè)備可以有幾個(gè)配置描述符,它包含了電源管理信息以及所支持的接口號(hào)碼。⑥ 讀取USB設(shè)備描述符主機(jī)分配給設(shè)備地址后,通過(guò)這個(gè)地址主機(jī)讀取該設(shè)備描述符,確認(rèn)USB設(shè)備的屬性。當(dāng)主機(jī)發(fā)現(xiàn)一個(gè)新的設(shè)備時(shí),會(huì)要求集線器建立與設(shè)備的通信通道,即設(shè)備的端點(diǎn)0,控制傳輸端點(diǎn)。如果需要雙向傳數(shù)據(jù),需要另建立一個(gè)管道。端點(diǎn)0只可以采用控制傳送的方式。USB定義的聯(lián)絡(luò)信號(hào)如下:①ACK(Acknowledge):表示主機(jī)或設(shè)備已成功接收數(shù)據(jù)。 事務(wù)、信息包和聯(lián)絡(luò)信號(hào)每一個(gè)USB傳輸包含一個(gè)或多個(gè)事務(wù),每一個(gè)事務(wù)又包含一到三個(gè)信息包。端點(diǎn)號(hào)可以是0—15,方向可以是IN(設(shè)備發(fā)送數(shù)據(jù)給主機(jī))或者OUT(主機(jī)發(fā)送數(shù)據(jù)給設(shè)備)。 Philips公司提供了PDIUSBD1 2的開(kāi)發(fā)包,包括軟件和硬件兩部分。軟件方面分如下幾部分: 1. 單片機(jī)固件: 本系統(tǒng)中的單片機(jī)固件采用C語(yǔ)言編寫,使用KeilC 51編譯器為開(kāi)發(fā)工具。USB總線傳輸距離有限。3. 共享式接口:USB端口支持多個(gè)外設(shè)的連接,通過(guò)USB集線器,一個(gè)USB主控制器可以連接多達(dá)126個(gè)外設(shè)?;赨SB的高速數(shù)據(jù)采集卡充分利用USB總線的上述優(yōu)點(diǎn),有效解決了傳統(tǒng)數(shù)據(jù)采集卡的缺陷。在一些電磁干擾性強(qiáng)的測(cè)試現(xiàn)場(chǎng),無(wú)法專門對(duì)其做電磁屏蔽,易導(dǎo)致采集的數(shù)據(jù)失真。驅(qū)動(dòng)程序以WDM為模型,以DDK為開(kāi)發(fā)工具,以IRP為消息傳播載體,來(lái)實(shí)現(xiàn)與Windows系統(tǒng)底層核心機(jī)制相交互的功能。軟件設(shè)計(jì)可分為三部分:一是充分了解D12的主要功能特點(diǎn),為滿足D12在USB上的最大傳輸速率而編寫固件程序,用C51語(yǔ)言編寫:二是了解USB的設(shè)備驅(qū)動(dòng)程序與應(yīng)用。硬件設(shè)計(jì)主要解決了控制器與主機(jī)通信問(wèn)題,數(shù)據(jù)采樣、模擬輸出、I/O擴(kuò)展等電路設(shè)計(jì)以及它們之間的接口。該系統(tǒng)采用USB總線取代傳統(tǒng)的數(shù)據(jù)采集總線,通過(guò)對(duì)USB協(xié)議和設(shè)備構(gòu)架的理解,對(duì)數(shù)據(jù)采集系統(tǒng)進(jìn)行了硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)主要解決的是D12與單片機(jī)的接口電路的設(shè)計(jì)。USB設(shè)備需要依據(jù)USB協(xié)議進(jìn)行數(shù)據(jù)的解包與打包,底層硬件設(shè)備與操作系統(tǒng)之間需要以驅(qū)動(dòng)程序?yàn)闃蛄?。受?jì)算機(jī)插槽數(shù)量、地址、中斷資源限制,可擴(kuò)展性差。該總線接口具有安裝方便、高帶寬、易于擴(kuò)展等優(yōu)點(diǎn),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)。對(duì)用戶來(lái)說(shuō),只需要等待幾秒鐘,USB外設(shè)的安裝就會(huì)完成。當(dāng)然 ,USB總線還存在許多缺陷。配合其它輔助芯片和單片機(jī)固件完成輸入模擬信號(hào)的采集、存儲(chǔ)和向PC主機(jī)的傳輸。具體的采樣數(shù)值也可以寫入“記事本”文件中,進(jìn)而可以用其它專門軟件進(jìn)行處理。每個(gè)USB設(shè)備有一個(gè)唯一的地址,這個(gè)地址是在設(shè)備連上主機(jī)時(shí)由主機(jī)分配的,而設(shè)備中的每個(gè)端點(diǎn)在設(shè)備內(nèi)部有唯一的端點(diǎn)號(hào),這個(gè)端點(diǎn)號(hào)是在設(shè)備設(shè)計(jì)時(shí)被給定的。控制傳輸是唯一使用雙向消息管道的傳輸,其他傳輸都是使用單方向的流管道。但是聯(lián)絡(luò)信號(hào)不是僅僅在聯(lián)絡(luò)數(shù)據(jù)包中,有些數(shù)據(jù)信息包中也包含聯(lián)絡(luò)信號(hào)。下面分別介紹一下4種USB傳輸類型的傳輸結(jié)構(gòu):控制傳輸控制傳輸用于在設(shè)備初次連接時(shí)對(duì)器件進(jìn)行配置,以及對(duì)設(shè)備的狀態(tài)進(jìn)行實(shí)時(shí)檢測(cè),還有在設(shè)備配置完成后用于特殊傳輸目的。批量傳輸批量傳輸包含一個(gè)或者多個(gè)傳輸事務(wù),其傳輸是單方向的,即所有的事務(wù)都必須是輸入或輸出事務(wù)。USB集線器負(fù)責(zé)監(jiān)測(cè)設(shè)備的連接情況,而USB主機(jī)會(huì)通過(guò)集線器輪詢地查詢?cè)O(shè)備。⑤ 地址分配當(dāng)主機(jī)接收到有設(shè)備對(duì)默認(rèn)地址(00H)來(lái)響應(yīng)的時(shí)候,就確認(rèn)有設(shè)備連接,主機(jī)對(duì)設(shè)備分配一個(gè)空閑的地址(如02H),以后設(shè)備就只對(duì)02H地址進(jìn)行響應(yīng)。設(shè)備描述符包含了整個(gè)設(shè)備的信息以及設(shè)備支持的配置號(hào)碼,每一個(gè)設(shè)備只能由一個(gè)設(shè)備描述符。配置描述符由9個(gè)字節(jié)組成,分為8個(gè)字段。 USB請(qǐng)求USB規(guī)范定義了3種請(qǐng)求,分別是標(biāo)準(zhǔn)請(qǐng)求(Standard Request)、類請(qǐng)求(Class Request)和廠商請(qǐng)求(Vendor Request)。wValue為值,它根據(jù)不同的請(qǐng)求,以字節(jié)來(lái)定義,例如,設(shè)備請(qǐng)求為Get Descriptor(06H),wValue為01H時(shí),表明要發(fā)送設(shè)備描述符。 硬件系統(tǒng)的結(jié)構(gòu)基于USB總線的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)硬件組成包括模擬開(kāi)關(guān)、A/D轉(zhuǎn)換器、單片機(jī)、USB接口芯片,該系統(tǒng)能夠?qū)崿F(xiàn)8路數(shù)據(jù)自動(dòng)采集。而不需要外接微控制器的芯片又可以分為專門為USB設(shè)計(jì)的芯片和嵌入通用微控制器內(nèi)核的芯片。但其優(yōu)點(diǎn)是用戶可以選擇任何一種己熟悉的微控制器,而且這種芯片價(jià)格也相對(duì)便宜。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。EOC: EOC為轉(zhuǎn)換結(jié)束信號(hào),當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。 (4)在ST端給出一個(gè)至少有100ns寬的正脈沖信號(hào)。這種實(shí)現(xiàn)USB接口的標(biāo)準(zhǔn)組件使得設(shè)計(jì)者可以在各種不同類型微控制器中選擇出最合適的微控制器。 D12芯片的主要特點(diǎn)包括:(1);(2)可與任何外部微控制器/微處理器實(shí)現(xiàn)高速并行接口(2MB/s);(3)采用GoodLink技術(shù)的連接指示器,在通信時(shí)使LED閃爍;(4)主端點(diǎn)的雙緩沖配置增加了數(shù)據(jù)吞吐量并輕松實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸;(5)在批量和等時(shí)模式下均可實(shí)現(xiàn)1Mb/s的數(shù)據(jù)傳輸率;(6)完全自治的直接內(nèi)存存取DMA操作。該模塊的功能包括:同步模式的識(shí)別;并行/串行轉(zhuǎn)換;位填充/解除填充;CRC校驗(yàn)/產(chǎn)生;PID校驗(yàn)/產(chǎn)生;地址識(shí)別和握手評(píng)估/產(chǎn)生。在枚舉中,LED指示根據(jù)通信的狀況間歇閃爍。這就允許微控制器以其自己的速率對(duì)USB信息包進(jìn)行讀寫。在DMA控制器編程之后,本地CPU在初始化傳輸時(shí),將PDIUSBD12中的DMA使能位置位。INT_N是USB中斷請(qǐng)求腳,發(fā)出USB中斷請(qǐng)求;GL_N是GooDLink指示燈,在調(diào)試過(guò)程中非常有用,在通信時(shí)會(huì)不停閃爍。此外89051的多位地址/數(shù)據(jù)復(fù)用總線PO可直接與PDIUSBD12的數(shù)據(jù)總線相連,CLKOUT時(shí)鐘輸出為89C51提供時(shí)鐘輸入。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。它的操作方式與硬件聯(lián)系緊密,包括USB設(shè)備的連接USB協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,開(kāi)發(fā)者需要對(duì)端口、中斷和硬件結(jié)構(gòu)非常熟悉。在USB單片機(jī)程序中,要完成對(duì)各種令牌包的響應(yīng),其中比較難處理的是SETUP包,主要是端口0的編程。主機(jī)一般會(huì)從USB設(shè)備獲取配置信息后再確定此設(shè)備有哪些功能。PDIUSBD12 的固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng),當(dāng)CPU處理前臺(tái)任務(wù)時(shí),USB的傳輸可在后臺(tái)進(jìn)行,這就確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),同時(shí)簡(jiǎn)化了編程和調(diào)試。:這是固件中的最底層代碼,它執(zhí)行對(duì)D12和硬件I/O相關(guān)訪問(wèn)。對(duì)應(yīng)的函數(shù)主要有:void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable); //設(shè)置地址使能void D12_SetEndpointEnable(unsigned char bEnable); //設(shè)置端點(diǎn)使能void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv); //設(shè)置模式unsigned short D12_ReadInterruptRegister(void); //讀中斷寄存器unsigned char D12_SelectEndpoint(unsigned char bEndp);//選擇端點(diǎn)unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp); //讀最后處理狀態(tài)unsigned char D12_ReadEndpointStatus(unsigned char bEndp); //讀端點(diǎn)狀態(tài)void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled); //設(shè)置端點(diǎn)狀態(tài)void D12_SendResume(void); //發(fā)送恢復(fù)unsigned short D12_ReadCurrentFrameNumber(void); //讀取當(dāng)前幀號(hào)unsigned short D12_ReadChipID(void); //讀D12芯片IDunsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf);//讀取端點(diǎn)數(shù)據(jù)unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf);//寫端點(diǎn)數(shù)據(jù)void D12_AcknowledgeEndpoint(unsigned char endp);//設(shè)置端點(diǎn)應(yīng)答 圖46 中斷處理流程圖這部分代碼處理由PDIUSBDI2產(chǎn)生的中斷,ISR從PDIUSBD12收集數(shù)據(jù),當(dāng)數(shù)據(jù)充足時(shí),通知主循環(huán)已經(jīng)準(zhǔn)備好等待處理。 D12_INT_ENDP0OUT) ep0_rxdone(); if(i_st amp。當(dāng)輪詢到了檢測(cè)建立包時(shí),它確認(rèn)建立標(biāo)志在之前是否被中斷服務(wù)程序所置位。8)定義應(yīng)用程序調(diào)用DeviceIoControl函數(shù)對(duì)WDM驅(qū)動(dòng)程序通信的控制命令。//設(shè)置讀取的數(shù)據(jù)個(gè)數(shù)  pUrb=(  (PUCHAR)(),//驅(qū)動(dòng)程序存放讀取的數(shù)據(jù)的內(nèi)存區(qū)  numData,//wLength,讀取的數(shù)據(jù)個(gè)數(shù)  0,  0x0c,//bRequest  0,//wValue  TRUE,//input  TRUE,  NULL,  0x0472,//wIndex,傳輸?shù)焦碳绦虻淖x數(shù)命令碼  URB_FUNCTION_VENDOR_ENDPOINT,  NULL  )?! ≡诔跏蓟疷RB時(shí)需要了解USB的傳輸方式及傳輸協(xié)議,該功能使用了USB的控制傳輸方式,該方式包括三個(gè)階段:設(shè)置階段、數(shù)據(jù)階段和狀態(tài)階段,其中數(shù)據(jù)階段可選,開(kāi)發(fā)者主要關(guān)注設(shè)置階段中的8個(gè)關(guān)鍵字節(jié)的定義,8字節(jié)分成了5個(gè)字段,定義了傳輸請(qǐng)求及相關(guān)信息,這8個(gè)字節(jié)的格式如圖3所示。PID_0821,其中0471是USB控制芯片的廠商識(shí)別碼,0821是USB設(shè)備標(biāo)識(shí)碼。 USB設(shè)備應(yīng)用程序設(shè)計(jì)USB設(shè)備應(yīng)用程序是實(shí)現(xiàn)PC機(jī)對(duì)USB接口芯片PDIUSBD12的接口控制和讀寫操作,提供友好的人機(jī)界面。用戶程序首先必須查找設(shè)備,打開(kāi)設(shè)備的句柄,然后進(jìn)行讀寫和控制操作,最后是關(guān)閉設(shè)備句柄。 第六章 結(jié) 論USB是英文Universal Serial Bus的縮寫,中文含義是“通用串行總線”。 c51開(kāi)發(fā)固件。它的工作主頻比較低,晶振太小,處理數(shù)據(jù)不夠迅速。, Mohamad Eid2, Atif Alamri2, and Abdulmotaleb El Saddik2Multimedia Communications Research Laboratory MCRLabSchool ofInformation Technology and Engineering University ofOttawaOttawa, Ontario, KIN 6N5, Canada39。雖然本設(shè)計(jì)還有許多缺陷,不足以完成大批量數(shù)據(jù)的高速傳送,但是它己經(jīng)是USB數(shù)據(jù)采集系統(tǒng)的雛形。當(dāng)添加或者刪除一個(gè)USB設(shè)備時(shí),連接的其它USB設(shè)備的資源要重新分配,以提高總線的利用率。這幾年,隨著大量支持USB的個(gè)人電腦的普及,USB逐步成為PC機(jī)的標(biāo)準(zhǔn)接口已經(jīng)是大勢(shì)所趨。另外,當(dāng)系統(tǒng)啟動(dòng)A/D模塊后,便會(huì)創(chuàng)建兩個(gè)線程:采樣線程和顯示存盤線程。因此在編寫設(shè)備應(yīng)用程序時(shí),可以使用可讀性和移植性很好的Visual C++,Visual Basic,Delphi等開(kāi)發(fā)環(huán)境來(lái)生成控制所需的交互界面,大大方便用戶使用。3) int CTRLSendDMACommand(unsigned char usbSelect,unsigned char dmaDirection,unsigned char ramSelect,unsigned long dmaLength),主要功能是發(fā)送DMA傳輸命令,變量dmaDirection定義數(shù)據(jù)傳輸方向,ramSelect定義將要操作的USB外設(shè)的存儲(chǔ)器,dmaLength定義了數(shù)據(jù)傳輸總數(shù)?! Index:2字節(jié),主機(jī)用來(lái)傳輸信息給設(shè)備,開(kāi)發(fā)者可以根據(jù)情況自己定義。  status=(pUrb,NULL,NULL,0)。  t Entering USBDIODevice::USBDIO_IOCTL_ID_CODE_Handler, I EOL。4)在驅(qū)動(dòng)程序支持的功能項(xiàng)中選擇Read、Write、Device Control、Cleanup。 USB設(shè)備驅(qū)動(dòng)程序的模型圖51 USB驅(qū)動(dòng)程序
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1