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

正文內容

usb接口在單片機通信中的設計應用畢業(yè)論文(文件)

2025-07-16 09:04 上一頁面

下一頁面
 

【正文】 示器,在通信時使LED閃爍 (13) 可編程的時鐘頻率輸出 (14) 符合ACPI OnNOW和USB電源管理的要求 (15) 內部上電復位和低電壓復位電路 (16) 有SO28和TSSOP28兩種封裝 (17) 工業(yè)級操作溫度40~+85℃ (18) 高于8kV的在片靜電防護電路減少了額外元件的費用 (19) 具有高錯誤恢復率(99%)的全掃描設計確保了高品質 (20) ,~ (21) 多中斷模式實現(xiàn)批量和同步傳輸 3) PDIUSBD12芯片功能框圖及其說明。這樣就可使用低成本的6M晶振。它能跟蹤USB規(guī)定范圍內的抖動和頻漂。(6) SoftConnectTM+(用于高速USB器件)置為高實現(xiàn)的。USB總線連接可以重新初始化而不需要拔出電纜。在枚舉中,LED指示根據通信的狀況間歇閃爍。作為一個診斷工具,它對隔離故障的設備是很有用的。(9) 并行和DMA接口[14]一個普通的并行接口定義成易于使用,快速而且可以與主流的微控制器直接接口。支持單周期和突發(fā)模式的DMA傳輸。片內有上電復位電路,此腳可以一直接高電平。多路復用地址/數(shù)據總線配置時,接高電平。該端口控制PDIUSBD12的命令和數(shù)據狀態(tài)。D12與單片機連接時可以給它加接6M的石英晶體,單片機的外部時鐘則由D12的CLKOUT引腳提供,時鐘輸出的頻率為12M[20]。從電路原理圖中可以清楚看到設備的單片機系統(tǒng)的構成,幾個外圍器件的數(shù)據端口都接在單片機系統(tǒng)的數(shù)據總線上,讀/寫使能信號也接在一起,而它們的片選端有效則由不同的地址組合確定。這兩個端口也可以用做串行通信口RXD和TXD,但是由于PS/2接口信號是類似I2C總線信號的形式工作的,不能與AT89S52單片機的串行口直接兼容,所以此系統(tǒng)中不使用單片機的串行通信功能。該Flash芯片采用NAND技術集成,與傳統(tǒng)的NOR技術相比性能優(yōu)越、集成度非常高,所以才能以低廉的成本獲得大的容量。為了給2808供電,附加了電壓轉換芯片1117。1117提供電流限制和熱保護。對于51單片機,2808最突出的特點在于它是針對8位微處理器設計的。這樣連接使得以2808為主的這個Flash存儲器模塊有如以下的地址分配:2808的命令口(只寫):21h; 2808的地址口(只寫):22h;2808的數(shù)據口(讀):24h; 2808的數(shù)據口(寫):20h。LPT接口模塊除了可以用做打印機擴展之外,還可以重新定義它的引腳功能作其他數(shù)據傳輸之用,前提是單片機固件中相應的描述符要更改為打印機之外的其它設備[9]。其中,USB設備中單片機控制器的固件程序的設計與實現(xiàn)是本章的重點。在ISR(中斷服務程序)中,固件讀取數(shù)據,并將數(shù)據保存值到循環(huán)數(shù)據緩沖區(qū),隨后置柏應事件的標志位,CPU繼續(xù)前臺程序,檢測事件標志,執(zhí)行完成相應的事件任務。其中,設備描述符(device descriptor),配置描述符(configuration descriptor),接口描述符(interface descriptor)和端點描述符(endpoint descriptor)為每個USB設備所必須有的,字符串描述符(string descriptor),各設備類不同的類描述符(class descriptor)及報告描述符(report descriptor)則可以根據不同的設備進行添加或刪減。對每個設備而言,可能會有一個或多個配置類型,其配置的數(shù)目由設備描述符的最后一個字段bNumConfigurations所設定的。每一個接口可能對應一個或多個端點,其端點數(shù)目由接口描述符的bNumEndpoints字段設定。在一個報告描述符中必須有以下項目:(1)輸入(input)、輸出(output)、特性(feature)或集合(collection);(2)用途(usage);(3)用途頁(usage page);(4)邏輯最大值(logical maximum);(5)邏輯最小值(logical minimum);(6)報告長度(report size);(7)報告記數(shù)值(report count)。主程序完成的工作是上電初始化PDIUSBD1給全局變量置初值、初始化中斷系統(tǒng),初始化完成之后進入死循環(huán),等待D12的中斷信號。每次PDIUSBD12接口芯片檢測到USB總線上主機發(fā)給這個設備的信號時候就觸發(fā)一次單片機的外部中斷。主程序中斷處理程序USB協(xié)議USB電氣接口驅動擴展功能 設備固件功能結構圖 2) USB電氣接口驅動()USB電氣接口驅動()實現(xiàn)的功能是與PDIUSBD12接口芯片之間的通信。該端口為只讀。D12delay()函數(shù)的原型為void d12delay(void),它的功能是在兩次對D12芯片的操作間加入一定的延時,這個函數(shù)只能在上面3個函數(shù)中使用。在只實現(xiàn)基本USB設備功能的本系統(tǒng)中,目前單片機的外部器件中只需要對D12進行初始化。以下是初始化D12的單片機語句:d12m(0xf3)。4) 中斷處理程序本系統(tǒng)的中斷處理程序()。讀中斷狀態(tài)寄存器判斷中斷類型端點0輸出端點0輸入端點2輸入輸出SOF包掛起總線重置接收SETUPBAO BAO 響應設備要求讀傳輸狀態(tài)寄存器自定義自定義 中斷處理程序流程圖注意:在對端點0、1和2的輸出/輸入引發(fā)中斷的處理時,必須要做這樣一步操作:讀上次傳輸狀態(tài)寄存器(40~45)。5) USB通信協(xié)議實現(xiàn)USB通信協(xié)議實現(xiàn)()的功能就是響應主機提出的設備要求。主機軟件開發(fā)在本系統(tǒng)中占很大的分量也是本系統(tǒng)設計的難點之一。設備驅動程序的任務是在應用層和硬件控制代碼之間進行轉換操作。應用程序必須運行在用戶模式下,一般不允許直接操作I/O端口,除非驅動預留了端口。驅動通信使用輸入/輸出請求包(IRP)結構。總線驅動按順序使用IRP與總線通信,最終總線直接驅動硬件,總線驅動為Windows系統(tǒng)提供不需要用戶編程的代碼。3) 處理Win32程序打開和關閉文件句柄的要求。7) 取消I/O請求。11) 處理Windows管理診斷(WMI)向系統(tǒng)管理員報告。使用DDK開發(fā)過程靈活,開發(fā)出的驅動程序的代碼效率高,與操作系統(tǒng)結合好。使用這類工具開發(fā)驅動程序不如使用DDK靈活,但大大減小開發(fā)者的工作量和難度,縮短了開發(fā)周期。打開Driver Wizard,建立一個新的工程,在彈出的Card Information窗口中,就可以看到要生成驅動程序的設備信息,有接口類型、生產廠商和Product ID 3個設備信息。之后就會發(fā)現(xiàn)設備的掃描已經暫時停止了(這時電路板的Good Link指示LED不再閃爍,計數(shù)器不顯示輸出)。本系統(tǒng)的應用程序的開發(fā)是為了更好的實現(xiàn)數(shù)據的傳輸,把USB設備中數(shù)據的傳輸過程動態(tài)地呈現(xiàn)出來,讓使用者能夠直觀地看到主機對設備的控制,即數(shù)據的接收和發(fā)送。當設備接入主機之后,從應用程序中可以開啟和關閉設備。為方便調試,硬件部分一開始只搭建了USB基本功能模塊,即由AT89S52和PDIUSBD12以及其外圍器件構成的模塊。對系統(tǒng)硬件調試,主要按以下步驟來實現(xiàn):1) 看板子是否通。由于本系統(tǒng)中單片機的外部時鐘輸入是由D12芯片的CLKOUT腳引入,所以在測試過程中,必須重新為單片機引入一個12M的時鐘脈沖。調試調試過程中我收獲很大。 系統(tǒng)軟件調試及系統(tǒng)測試系統(tǒng)軟件程序編寫完畢以后,我們需要對它進行調試。系統(tǒng)固件程序在wave6000中編譯通過后,我們就可以對它進行測試。主機也可以為計數(shù)器設置新的計數(shù)值,即主機向設備送1字節(jié)的報文,設備收到后立即用該值替換計數(shù)器的計數(shù)值,計數(shù)器以這個新值開始計數(shù)。在這里,利用Win Driver來觀察USB設備的工作情況。對USB設備來說,將在Resource窗口中看到2個管線:Pipe00—控制管線,Pipe81—數(shù)據管線(中斷方式)。在這個過程中要注意:這里的Setup包的Type、Request域為字節(jié)數(shù)據,wValue、wIndex、wLength域為字數(shù)據,Setup包傳輸?shù)膶嶋H內容可在輸入框下方的文本框中顯示。第二階段:系統(tǒng)硬件電路圖的設計和電路的測試。由于USB協(xié)議和底層驅動相當復雜,自己C語言運用能力也有限,在這個階段中,自己也需要通過不斷的學習,來完成本階段的工作。在該系統(tǒng)設計與開發(fā)過程中,我將大學五年學到的知識連接起來了,將它們運用到實際中。參考文獻[1] [M].北京:北京航空航天大學出版社,~160.[2] [M].西安: 西安電子科技大學出版社,~62.[3] 楊代華,葉敦范,[M].武漢:中國地質大學出版社,~105.[4](美)Jan [M].北京: 中國電力出版社,~157.[5] [M].北京:國防工業(yè)出版社,~53.[6] [M]. 北京: 電子工業(yè)出版社,~81.[7] 馬忠梅,馬巖,[M].北京: 北京航空航天大學出版社,~185.[8] [M].北京: 清華大學出版社,~128.[9] [M].北京: 北京航空航天大學大學出版社,~206.[10] [M].北京: 北京航空航天大學出版社,~97.[11] [M].北京: 人民郵電出版社,~104.[12] Chris WDM設備驅動程序開發(fā)指南[M].西安: 西安電子科技大學出版社,~70.[13] 莫林利,++實現(xiàn)與USB驅動程序的通信[J].電腦編程技術與維護,2003,1:1001~1004.[14] [M].西安: 西安電子科技大學出版社,~56.[15] [M].北京: 北京航空航天大學出版社,2000. 98~104.[16] TEXAS Circuit。限于自己的能力和開發(fā)條件,本系統(tǒng)還有待改進和完善的地方。第四階段:與PC機相連接的系統(tǒng)整機調試。第三階段:系統(tǒng)軟件模塊的設計。結論本文從硬件和軟件兩個方面詳細地介紹了USB接口在單片機通信中的設計應用過程以及相關技術要點。選中Pipe00時,點擊Read/Write To Pipe,將彈出一個PipeControl的窗口。Win Driver包含2個子窗口,Log和Resource。當設備能實現(xiàn)此功能時,說明系統(tǒng)固件程序編寫正確。該設備是一個人機接口設備,以中斷方式傳輸,查詢周期為10ms(接口描述符中定義為10ms),發(fā)送和接收的數(shù)據都只有1字節(jié)。固件程序的編寫運用的是單片機語言,它的編譯仿真用是在wave6000的輔助下進行的;由于驅動程序是在Win Driver下生成的,應用程序是基于驅動程序提供的接口上工作的,所以驅動程序和應用程序的調試是在Win Driver軟件輔助下進行的。后來檢測單片機模塊時,發(fā)現(xiàn)其沒有正常工作,經檢測發(fā)現(xiàn)復位電路有問題,原因是復位腳上的電容接反了方向,導致不能復位,單片機不能工作。D12芯片需要單片機程序控制才能正常工作,這里可以檢測D12芯片外圍的晶振是否工作,只要將時鐘信號輸入端接到示波器上,如果看到振動現(xiàn)象就說明晶振電路沒有問題。2) 看系統(tǒng)各部件是否正常工作。由于本系統(tǒng)的軟件調試過程,都是在軟件工具Win Driver的輔助下,在硬件的基礎上進行的,所以軟件的調試基本上可以稱為系統(tǒng)調試。單擊“監(jiān)聽管線”后,應用程序通過驅動程序對設備的中斷端點進行掃描,這時設備單片機內部的記數(shù)值就會發(fā)給主機,在應用程序的文本框中就會顯示出來[12]。在Build菜單中選擇Generate Code,Win Driver就會提示生成一個應用程序的工程源代碼,打開VC對所建工程編譯連接,就可以對得到一個控制臺的可執(zhí)行程序,這個程序運行同樣可以用來對設備的所有管線進行讀/寫。 系統(tǒng)應用程序開發(fā) 應用程序的實現(xiàn)的功能應用程序是基于驅動程序提供的接口工作的,所以本系統(tǒng)涉及的應用程序必須調用Win Driver提供的驅動程序接口。當設備初次接入時,將被系統(tǒng)識別為標準的人機接口設備HID,并自動為其安裝驅動程序,之后操作系統(tǒng)將對這個設備類似對鼠標鍵盤的方式不停查詢(電路板的Good Link指示LED不停閃爍,而且計數(shù)器的8位LED輸出也在不停的變化),這時用戶就無法對其與主機的數(shù)據傳輸進行監(jiān)控,所以就必須為其安裝專用的驅動程序。區(qū)別在于Driver Works等工具可以開發(fā)出獨立但是完整的驅動程序,而使用Win Driver軟件時工具只提供一個設備安裝信息文件(.inf),真正的驅動程序在安裝Win Driver時就已經加載了。另一種具有代表性的有VtoolsD和Driver Works等開發(fā)工具軟件。其中“初始化”模塊是一定不能少的,其它模塊可選。9) 調用其它驅動程序。5) 實現(xiàn)對設備的串行化訪問。 WDM設備驅動程序結構一個WDM設備驅動程序的功能模塊一般包括如下的幾個部分:1) 初始化。每個IRP請求或執(zhí)行一個獨立的輸入/輸出操作。在內核模式下,代碼運行在Ring0模式,不限制訪問系統(tǒng)資源,可以直接執(zhí)行內存管理指令和訪問I/O端口。在Windows操作系統(tǒng)中,程序代碼以以下兩種方式之一運行:用戶或內核。主機應用程序通過驅動程序與系統(tǒng)USBI(USB Device Interface)進行通信,其主要任務是根據所需處理功能的要求來完成各種基于Windows程序的處理[13]。注:固件程序的源代碼見附錄2。所以,中斷處理程序的功能就是從端點0(控制端點)輸出得到主機的各項設備要求,把設備要求發(fā)送USB協(xié)議層譯碼,得到相應的描述符,再把描述符按指定的包長打包,最后通過USB接口D12的端點0輸入送往主機。 讀中斷寄存器返回值位7 6543210初始值00000000說 明掛起狀態(tài)改變總線重置端點2輸入端點2輸出端點1輸入端點1輸出控制輸入控制
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1