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

正文內容

基于usb總線數據采集系統(tǒng)設計與實現(doc畢業(yè)設計論文)-預覽頁

2025-07-21 18:51 上一頁面

下一頁面
 

【正文】 如果設備所需的USB資源得以滿足,主機就會查找驅動,當正確找到驅動后,主機給設備發(fā)送配置命令,配置完畢后,這個USB設備就枚舉成功了。 USB的設備描述符標準的USB描述符包括設備(Device)描述符、配置(Configuration)描述符、接口(Interface)描述符、端點(Endpoint)描述符以及字符串(String)描述符,字符串描述符不是必須的。接口描述符包含了與端點通信所需要的信息,它可以有零個或多個端點描述符。配置描述符描述了一個特定的設備配置信息,主機使用Set_Configuration請求來選擇一個配置,用Get_Configuration請求來返回一個配置。接口描述符總是作為配置描述符的一部分被返回,主機不能通過Get_Descriptor請求直接獲取接口描述符。端點0不需要描述符,它也不能直接由Get_Descriptor請求來獲得。某些設備的功能類似或者提供類似的服務,USB協議就將它們歸為一類,并且定義了特定的請求,稱為類請求。表21 SETUP包格式大?。˙)11222域bmRequestTypebRequestwValuewIndexwLength,bmRequestType表示設備請求類型,D7:數據傳輸方向, 0=主機到設備,1=設備到主機;D6…5:類型,0=標準,1=類型,2=廠商,3=保留;D4…0:接收方,0=設備,1=接口,2=端點,3=其它;4…31=保留。本章介紹了USB協議的相關內容,包括USB傳輸要件,USB傳輸中的事務、信息包和聯絡信號,USB的傳輸結構,USB的總線枚舉過程,USB的設備描述符以及USB請求。其中硬件部分的收發(fā)器的作用是驅動和接收USB的差分數據,串行輸入引擎SIE的作用是前端硬件和USB標準中相關規(guī)定的協議內容,即包識別、數據編碼和譯碼、填充和去填充、CRC錯誤校驗、數據串并和并串轉換等。單片機通過8位并行接口傳送經過A/D轉換的采集數據,存儲在FIFO存儲器中。要實現一個USB設備,首先面對的問題就是選擇一種適合的USB控制芯片。 內嵌通用微控制器的USB控制芯片可以說是在通用微控制器的基礎上擴展了USB功能。 這些USB控制芯片只負責處理USB相關的通信工作,而且必須由外部微控制器的控制才能正常工作。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。表31CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7數字量輸出及控制線:11條 ST為轉換啟動信號:當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態(tài)。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ.START: 啟動脈沖輸入端。OE: 允許輸出端。 (2)初始化時,使ST和OE信號全為低電平。 (6)當EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉換的數據就輸出給單片機了。 圖33 AT89C51管腳圖主要特性:(1)4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán))(2)全靜態(tài)工作:0Hz24KHz(3)三級程序存儲器保密鎖定(4)128*8位內部RAM(5)32條可編程I/O線(6)兩個16位定時器/計數器(7)6個中斷源(8)可編程串行通道(9)低功耗的閑置和掉電模式(10)片內振蕩器和時鐘電路 PDIUSBD12介紹PDIUSBD12是一款性價比很高的USB器件,它通常用作微控制器系統(tǒng)中實現與微控制器進行通信的高速通用并行接口。,它還符合大多數器件的分類規(guī)格:成像類、海量存儲器件、通信器件、打印設備以及人機接口設備。此外它還集成了許多特性包括SoftConnetTM、GoodLinkTM、可編程時鐘輸出、低頻晶振和終止寄存器。圖34 PDIUSBD12內部結構說明:模擬收發(fā)器:集成的收發(fā)器接口可通過終端電阻直接與USB電纜相連。位時鐘恢復:位時鐘恢復電路使用4X過采樣規(guī)則,從進入的USB數據流中恢復時鐘,能跟蹤USB規(guī)定范圍內的抖動和頻漂。默認狀態(tài)下不與VCC相連,其連接的建立是通過外部/系統(tǒng)微控制器發(fā)送命令來實現的。SoftConnectTM是PHILIPS半導體一項尚未獲批準的專利技術。隨后與PDIUSBD12之間成功的傳輸(帶應答)將關閉LED。該特性降低了現場支持和熱線的成本。對一個微控制器而言,PDIUSBD12看起來就像一個帶8位數據總線和一個地址(占用2個位置)的存儲器件,PDIUSBD12支持多路復用和非復用的地址和數據總線;支持主端點與本地共享RAM之間直接讀取的DMA傳輸;還支持單周期和突發(fā)模式的DMA傳輸。典型的,對DMA控制器的傳輸模式,字節(jié)計數寄存器和地址計數器進行正確的編程。在單周期DMA中,DMREQ在每單個應答后直到被DMACK_N重新激活之前保持無效。多路地址/數據總線ALE接單片機的ALE腳,這樣使用傳送指令可以與D12接口,對D12操作就象對D12操作一樣,此時忽略A0(命令口和數據口地址線)的輸入。CLKOUT是D12的時鐘輸出,可以通過固件編程改變其頻率,在調試固件時,可作為參考。89C51的ALE和PD12的ALE相接,表示采用單獨地址和數據總線配置。設備應用程序從緩沖區(qū)里取數據顯示,通過數值來說明USB接口的采集速率比一般的串行總線速度高。指向通道0地址啟動A/D轉換延時等待A/D轉換結束讀A/D轉換值,存內存指向下一個通道地址8個通道轉換?完?繼續(xù)YESNO圖41 A/D轉換程序流程圖 固件的開發(fā)Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil C51的工具包中,uVision是C51 for Windows的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。因此,編寫固件程序的一個最主要的目的就時讓Windows可以檢測和識別設備。主機首先要發(fā)令牌包給USB設備(這里是PDIUSBD12),PDIUSBD12接收到令牌包后就給單片機發(fā)中斷。PDIUSBD12的命令字分為三種:初始化命令字、數據流命令字和通用命令字。 PDIUSBD12固件程序的編寫USB設備啟動流程如下:1. USB設備接入USB口,發(fā)出連接USB命令;2. 主機發(fā)出讀設備描述符兩次;3. 主機根據設備描述符—廠商ID、產品ID,啟動相應設備驅動程序;4. 設備驅動程序初始化USB設備;①讀設備描述符;②讀配置描述符;③選擇接口、端點(管道),確定傳輸方式。在發(fā)出連接USB命令后,主機先讀取設備描述符,然后發(fā)出設置USB地址SETUP包,設置USB地址后,進行主機客戶驅動與設備初始化。 固件結構本數據采集系統(tǒng)的固件有著如下圖42的積木式結構:主循環(huán):發(fā)送USB請求、讀入數據、采集通道和處理USB總線事件等等標準請求 廠商請求中斷服務程序PDIUSBD12 命令接口硬件提取層 數據采集系統(tǒng)固件結構圖42 數據采集系統(tǒng)固件結構 固件設計的目標就是使PDIUSBD12在USB上達到最大的傳輸速率。 圖45 數據采集系統(tǒng)的固件結構 由于這種結構,主循環(huán)不關心數據是來自USB串口還是并口,它只檢查循環(huán)緩沖區(qū)內需要處理的新數據。主循環(huán)向協議處理程序發(fā)出請求。:這部分代碼的處理由PDIUSBD12產生的中斷,在中斷服務程序中,它將數據從PDIUSBD12的內部FIFO取回到CPU存儲器并建立正確的事件標志,以通知主循環(huán)程序進行處理。 固件的編程實現 底層函數最底層為兩個面向硬件電路的函數:outportb( ),inportb( ),用以完成CPU和D12之間的數據傳輸,這是所有其它函數的基礎。在ISR函數的入口固件使用ReadInterruptRegister()來決定中斷源,根據中斷源進入相應的子程序進行處理。 D12_INT_SUSPENDCHANGE) = 1; if(i_st amp。 D12_INT_ENDP1OUT) ep1_rxdone(); if(i_st amp。這些過程是很重要的,它確保了在MCU準備好服務D12之前,D12不會進行操作。/* 數據采集子程序 */void adc_handler(void){ unsigned char ADC_DATA; ADC_DATA=IN_PORT; D12_WriteEndpoint(3, 1, amp。設備驅動程序包括兩層:函數驅動程序層和總線驅動程序層,函數驅動程序一方面通過IRP及API函數與應用程序通信,另一方面調用相應的總線驅動程序,總線驅動程序完成和外設硬件通信。2)在驅動程序類型中選擇WDM Driver,WDM Function Driver,在硬件設備所支持的總線類型中選擇USB(WDM Only),在USB Vendor ID(廠商識別碼)中填寫0741,在USB Product ID(產品識別碼)中填寫0821。6)在I/O請求IRP處理方式中選擇None,即IRP不排隊。 在使用DriverWizard生成驅動程序框架、模塊及部分程序源代碼后,開發(fā)者只需完成圖2中三個控制代碼所對應的三個功能模塊的編程:模塊USBDIO_IOCTL_ID_CODE_Handler的功能是從控制端點0讀取數據,模塊USBDIO_IOCTL_TEST_COMMAND_Handler的功能是向控制端點0發(fā)送一個控制命令,模塊USBDIO_IOCTL_DMA_COMMAND_Handler的功能是向控制端點0發(fā)送一個要求USB設備進行DMA傳輸的控制命令,下面是第一個模塊的編程實例?! LONG numData?! tatus=STATUS_INSUFFICIENT_RESOURCES?!   return status?! Request:1字節(jié),用來指定請求?! ∫陨献侄蔚膽靡呀浽诔绦蜃⑨屩袠顺觯诖瞬辉儋樖?。USB設備驅動程序的調用為了完成對驅動程序的調用,筆者使用VC++,程序包共由五個功能模塊組成,用戶通過調用這些模塊即可方便的完成對USB外設的控制及讀寫,這些模塊如下:1)int CTRLReadData(unsigned char usbSelect,unsigned char *rbuffer,unsigned char numData),主要功能是讀取ISP1581控制端點0發(fā)來的數據,數據存放在緩沖區(qū)rbuffer中。5)int DMAWrite(unsigned char usbSelect, unsigned char *rbuffer, int len, int waitTime),主要功能是計算機批量寫數據到ISP1581,而ISP1581將以DMA方式寫數據到外部RAM。要編寫USB設備的驅動程序,必須要有能夠編譯WDM驅動程序的軟件環(huán)境,建議使用Visual C++來編制該驅動程序。應用程序的實現用戶應用程序是系統(tǒng)與用戶的接口,它通過通用驅動程序完成對外設的控制和通信。 NNYY成功失敗檢測USB設備設置設備參數啟動A/D模塊請求上傳數據包報告數據丟失獲得有效數據包下組數據準備就緒顯示錯誤信息返回存儲、顯示數據延遲至下組數據包準備就緒啟動USB設備 圖54 應用程序流程圖 用戶應用程序的主要功能為:開啟或關閉USB設備、檢測USB設備、設置USB數據傳輸管道、設置A/D狀態(tài)和數據采集端口、實時從USB接口采集數據、顯示并分析數據。當應用程序接收到此消息后,便從它提交的內存中讀取數據并顯示和存盤。早在1995年,就已經有PC機帶有USB接口了,但由于缺乏軟件及硬件設備的支持,這些PC機的USB接口都閑置未用。本論文所完成的工作和分析可概括為以下幾點:。3. 。為了實現高速數據傳輸。,雖然程序的可讀性相對較好,但它的執(zhí)行效率卻不如匯編語言的執(zhí)行效率高。 參考文獻[1] [M].北京:人民郵電出版社,[2] 許永和,[M].北京:北京航空航天大學出版社,[3]李全利,[M].北京:高等教育出版社,[4] USB固件編程與驅動開發(fā)[M].北京:北京航空航天大學出版社,[5]邊海龍,[M].北京:人民郵電出版社,[6][M].西安:西安電子科技大學出版社,[7] WDM設備驅動程序開發(fā)指南[M].孫義,:機械工業(yè)出版社,[8]劉炳文,李鳳華編著Visual Basic Win32 API程序設計[M].北京:清華大學出版社,[9][M].西安:西安電子科技大學出版社,[10]Jan Axelson編著;[M].北京:中國電力出版社, 附錄英文原文HAVE39
點擊復制文檔內容
數學相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1