掌握先進微處理器芯片結構、微型計算機實現技術、計算機主板構成、各種接口技術原理及其應用編程方法;掌握匯編語言程序的編寫方法,尤其掌握接口訪問的方法。了解微機技術新的發展趨勢,系統科學地獲得分析問題和解決問題的訓練;提高分析和設計接口的能力。不僅要學習微機各種接口電路的原理與作用,熟悉PC系列機接口電路,而且還要掌握常用接口的設計與分析方法,學會使用匯編語言和C語言對接口進行編程,并具有一定的動手實驗能力和接口應用程序的編寫能力,為微機的深入應用和嵌入式系統SOC設計等的學習與實踐打下良好基礎。同時有興趣的同學自學Windows 2000/XP驅動程序的編寫方法。一定要下載和打印或復印電子講義,課堂上注意聽講并及時記錄教師課堂上補充的內容,認真獨立完成作業,做好課程實驗和自修實驗、做好課前預習和課后復習。1)抓住IBM PC/XT機基本結構這條主線,分析其基本結構,掌握各接口電路及可編程接口芯片的應用。2)進一步擴展和延伸CPU—從8086~Core 2 Duo,從實模式~保護模式;匯編語言-CPU及接口直接控制,16位~32位匯編;總線—PCI,USB等; 中斷—從實模式下的中斷向量~保護模式下的中斷描述符;從傳統中斷~PCI中斷~串行中斷 芯片組—從中大規模集成電路(8237、8254、8255、8259等)~ 超大規模集成電路(82815EP、82801BA)。第1章—CPU與整機:CPU的信號與工作模式、PC結構第11章--軟件如何控制CPU和接口:指令系統和匯編編程(在教師講授重點的基礎上,通過預習、實驗與練習自學) 第2章--CPU如何與MEM或I/O設備通信:I/O接口與譯碼 第3章--總線如何工作:總線標準(PCI、USB) 第4章--I/O接口直接和MEM通信:DMA(8237,全自學) 第5章--I/O接口如何主動與CPU通信:中斷技術(8259) 第6章--I/O接口的定時與計數功能:(8254) 第7章--I/O接口的并行通信:8255與打印機接口標準 第8章--I/O接口的串行通信:串行通信協議與8250 第10章--I/O軟接口技術:保護模式存儲,WDM驅動程序編寫(全自學)
上傳時間: 2014-01-21
上傳用戶:徐孺
有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface( GUID* pClassGuid, DWORD instance, PDWORD pError){ CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; cout << "The device path is " << DevInterface.DevicePath() << endl; HANDLE hDev; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDev == INVALID_HANDLE_VALUE) *pError = GetLastError(); return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API DRIVER_FUNCTION_xxxIRP_MJ_xxx KDevice subclass member function CreateFile CREATE Create ReadFile READ Read WriteFile WRITE Write DeviceIoControl DEVICE_CONTROL DeviceControl CloseHandle CLOSECLEANUP CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method Input Buffer Parameter Output Buffer Parameter METHOD_BUFFERED KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING, NULL, // no input 注意,這里放的是包含有執行操作命令的字符串指針 0, FirmwareRev, //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize, NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){ ULONG fwLength=0; switch ( I.IoctlCode() ) { case IOCTL_MYDEV_GET_FIRMWARE_REV: fwLength = strlen(FIRMWARE_REV)+1; if (I.IoctlOutputBufferSize() >= fwLength) { strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV); I.Information() = fwLength; return I.Complete(STATUS_SUCCESS); } else { } case . . . } }
上傳時間: 2013-10-17
上傳用戶:gai928943
MSP430仿真器(機)接口電路圖-原理圖
上傳時間: 2013-11-05
上傳用戶:cjf0304
單片機實用接口技術介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打印機和顯示器接口及設計實例;模擬輸入通道接口技術;A/D、D/A、接口技術及在控制系統中的應用設計;V/F轉換器接口技術、串行通訊接口技術以及其它與應用系統設計有關的實用技術等。本書是為滿足廣大科技工作者從事單片機應用系統軟件、硬件設計的需要而編寫的,具有內容新穎、實用、全面的特色。所有的接口設計都包括詳細的設計步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設計實例都是作者多年來從事單片機應用和開發工作的經驗總結,實用性和工程性較強,尤其是對應用系統中必備的鍵盤、顯示器、打印機、A/D、D/A通訊接口設計、模擬信號處理及開發系統應用舉例甚多,目的是讓將要開始和正在從事單片機應用開發的科研人員根據自己的實際需要來選擇應用,一書在手即可基本完成單片機應用系統的開發工作。 MCS-51系列單片機實用接口技術目錄 第一章 MCS51系列單片機組成原理第二章 MCS-51單片機系統擴展第三章 MCS-51單片機應用系統的開發第四章 鍵盤及其按口技術第五章 顯示器接口設計第六章 打印機接口設計第七章 模擬輸入通道接口技術第八章 D/A轉換器與MSC-51單片機的接口設計與實踐第九章 A/D轉換器與MCS-51單片機的接口設計與實踐 第十章 V/F轉換器接口技術 第十一章 串行通訊按日技術第十二章應用系統設計中的實用技術附錄AMCS51單片機指令速查表附錄一常用EPROM固化電壓參考表
上傳時間: 2013-11-24
上傳用戶:hfnishi
摘要:TUSB3200 是由德州儀器日本公司推出的一款用于USB 接口連接的音頻數據控制芯片,該芯片內置8052MCU 微處理器,能實現多聲道的錄音和播放功能。文中介紹了TUSB3200 的內部工作原理、框圖及功能,并給出了用TUSB3200 設計的雙聲道輸入/輸出播錄的應用電路。關鍵詞:USB 音頻接口 單片機 TUBS3200 USB 音頻接口電路是帶USB 接口的音響設備和電腦多媒體外圍設備的必需器件。德州儀器公司推出的TUSB3200 是一款最適合于音響和電腦周邊設備的USB 接口用的音頻數據控制芯片。它采用52 腳扁平封裝,帶有內置微處理器,價格低,可實現多聲道播放和錄音等功能,因而具有廣泛的用途。
上傳時間: 2013-11-23
上傳用戶:dumplin9
MCS-51系列單片機實用接口技術全面、系統地介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打印機和顯示器接口及設計實例;模擬輸入通道接口技術;A/D、D/A、接口技術及在控制系統中的應用設計;V/F轉換器接口技術、串行通訊接口技術以及其它與應用系統設計有關的實用技術等。本書是為滿足廣大科技工作者從事單片機應用系統軟件、硬件設計的需要而編寫的,具有內容新穎、實用、全面的特色。所有的接口設計都包括詳細的設計步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設計實例都是作者多年來從事單片機應用和開發工作的經驗總結,實用性和工程性較強,尤其是對應用系統中必備的鍵盤、顯示器、打印機、A/D、D/A通訊接口設計、模擬信號處理及開發系統應用舉例甚多,目的是讓將要開始和正在從事單片機應用開發的科研人員根據自己的實際需要來選擇應用,一書在手即可基本完成單片機應用系統的開發工作。 MCS-51系列單片機實用接口技術目錄 第一章 MCS51系列單片機組成原理第二章 MCS-51單片機系統擴展第三章 MCS-51單片機應用系統的開發第四章 鍵盤及其按口技術第五章 顯示器接口設計第六章 打印機接口設計第七章 模擬輸入通道接口技術第八章 D/A轉換器與MSC-51單片機的接口設計與實踐第九章 A/D轉換器與MCS-51單片機的接口設計與實踐 第十章 V/F轉換器接口技術 第十一章 串行通訊按日技術第十二章應用系統設計中的實用技術附錄AMCS51單片機指令速查表附錄一常用EPROM固化電壓參考表
上傳時間: 2013-11-04
上傳用戶:3294322651
過程通道與人機接口 過程通道是在計算機和生產過程之間設置的信息傳送和轉換的連接通道,它包括模擬量輸入通道、模擬量輸出通道、數字量(開關量)輸入通道、數字量(開關量)輸出通道。計算機和操作人員之間常常需要互通信息 ,為此計算機和操作人員之間應設置顯示器和操作器,其中一種是CRT顯示器和鍵盤,另外一種是針對某個生產過程控制的特點而設計的操作控制臺等。通常把上述兩類設備簡稱為人機接口。 作用:顯示生產過程的狀況;供操作人員操作;三是顯示操作結果。數字量輸入輸出通道模擬量輸出通道模擬量輸入通道人機接口
上傳時間: 2013-10-16
上傳用戶:l銀幕海
8.1 模擬接口概述單片機的外部設備不一定都是數字式的,也經常會和模擬式的設備連接。 例如單片機來控制溫度、壓力時,溫度和壓力都是連續變化的,都是模擬量,在單片機與外部環境通信的時候,就需要有一種轉換器來把模擬信號變為數字信號,以便能夠輸送給單片機進行處理。而單片機送出的控制信號,也必須經過變換器變成模擬信號,才能為控制電路所接受。這種變換器就稱為數模(D/A)轉換器和模數(A/D)轉換器。CPU與模擬外設之間的接口電路稱為模擬接口。在這一章里將介紹單片機與 A/D及D/A轉換器接口,以及有關的應用。 8.2 DAC及其接口一、DAC介紹:1.DAC結構:DAC芯片上集成有D/A轉換電路和輔助電路。2.DAC的參數:描述D/A轉換器性能的參數很多,主要有以下幾個:分辨率(Resolution) 偏移誤差(OffsetError) 線性度(Linearity) 精度(Accuracy) 轉換速度(ConvemionRate) 溫度靈敏度(TemperatureSensitivity) 二、典型DAC芯片及其接口一、DAC介紹:1.DAC結構:DAC芯片上集成有D/A轉換電路和輔助電路。2.DAC的參數:描述D/A轉換器性能的參數很多,主要有以下幾個:分辨率(Resolution) 偏移誤差(OffsetError) 線性度(Linearity) 精度(Accuracy) 轉換速度(ConvemionRate) 溫度靈敏度(TemperatureSensitivity) 8.3 ADC及其接口DAC 0832的結構DAC 0832的引腳DAC 0832的接口DAC 0832的應用DAC0832是CMOS工藝,雙列直插式20引腳。① VCC電源可以在5-15V內變化。典型使用時用15V電源。② AGND為模擬量地線,DGND為數字量地線,使用時,這兩個接地端應始終連在一起。③ 參考電壓VREF接外部的標準電源,VREF一般可在+10V到—10V范圍內選用。
標簽: 模擬接口
上傳時間: 2013-10-10
上傳用戶:ukuk
微型打印機與單片機接口:是PDG格式的電子書.
上傳時間: 2013-10-18
上傳用戶:qingzhuhu
單片機的功率接口
上傳時間: 2014-04-28
上傳用戶:ca05991270