版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、www.qd-32位微機(jī)原理與接口實(shí)驗(yàn)指導(dǎo)書 啟東市東疆計(jì)算機(jī)有限公司目 錄第一章 概況11 硬件說明12 軟件說明第二章 系統(tǒng)介紹和安裝方法21 pci9054 性能簡(jiǎn)介22 結(jié)構(gòu)組成23 pci9054 主要寄存器的設(shè)置24 dj-598pci實(shí)驗(yàn)機(jī)與pci接口卡的連接25 驅(qū)動(dòng)程序的安裝26 使用plxmon軟件第三章 基本接口技術(shù)實(shí)驗(yàn)實(shí)驗(yàn)一 獲得pci設(shè)備配置空間3.1.1 實(shí)驗(yàn)要求3.1.2 實(shí)驗(yàn)?zāi)康?.1.3 實(shí)驗(yàn)原理3.1.4 實(shí)驗(yàn)內(nèi)容及說明3.1.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)二 基本io口擴(kuò)展實(shí)驗(yàn)3.2.1 實(shí)驗(yàn)?zāi)康?.2.2 實(shí)驗(yàn)內(nèi)容說明3.2.3 實(shí)驗(yàn)原理
2、圖3.2.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)三 pci中斷實(shí)驗(yàn)3.3.1 了解pci9054 中斷的工作方式3.3.2 實(shí)驗(yàn)?zāi)康?.3.3 實(shí)驗(yàn)內(nèi)容及說明3.3.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)四 可編程定時(shí)器/計(jì)數(shù)器8253 實(shí)驗(yàn)3.4.1 實(shí)驗(yàn)?zāi)康?.4.2 實(shí)驗(yàn)內(nèi)容及說明3.4.3 實(shí)驗(yàn)原理圖3.4.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)五 可編程并行接口8255 實(shí)驗(yàn)3.5.1 實(shí)驗(yàn)?zāi)康?.5.2 實(shí)驗(yàn)說明3.5.3 實(shí)驗(yàn)原理圖3.5.4 實(shí)驗(yàn)內(nèi)容3.5.5 實(shí)驗(yàn)步驟2實(shí)驗(yàn)六 8250通用串行通信實(shí)驗(yàn)3.6.1 實(shí)驗(yàn)?zāi)康?.6.2 實(shí)驗(yàn)說明3.6.3 實(shí)驗(yàn)原理圖3.6.4 實(shí)驗(yàn)內(nèi)容3.6.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)七 a/d轉(zhuǎn)換實(shí)驗(yàn)3.7.1 實(shí)驗(yàn)?zāi)?/p>
3、的3.7.2 實(shí)驗(yàn)內(nèi)容及說明3.7.3 實(shí)驗(yàn)原理圖3.7.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)八 d/a轉(zhuǎn)換實(shí)驗(yàn)3.8.1 實(shí)驗(yàn)?zāi)康?.8.2 實(shí)驗(yàn)說明3.3 實(shí)驗(yàn)原理圖3.8.4 實(shí)驗(yàn)內(nèi)容3.8.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)九 鍵盤顯示實(shí)驗(yàn)3.9.1 實(shí)驗(yàn)?zāi)康?.9.2 實(shí)驗(yàn)說明3.9.3 實(shí)驗(yàn)內(nèi)容3.9.4 實(shí)驗(yàn)原理3.9.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)十 16*16 led中文字幕實(shí)驗(yàn)3.10.1 實(shí)驗(yàn)?zāi)康?.10.2 實(shí)驗(yàn)內(nèi)容及說明3.10.3 實(shí)驗(yàn)原理圖3.10.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)十一 128*64 點(diǎn)陣式lcd實(shí)驗(yàn)3.11.1 實(shí)驗(yàn)?zāi)康?.11.2 實(shí)驗(yàn)內(nèi)容及說明3.11.3 實(shí)驗(yàn)原理圖3.11.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)十二 直流電機(jī)驅(qū)
4、動(dòng)實(shí)驗(yàn)3.12.1 實(shí)驗(yàn)?zāi)康?.12.2 實(shí)驗(yàn)內(nèi)容及說明3.12.3 實(shí)驗(yàn)原理圖3.12.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)十三 步進(jìn)電機(jī)驅(qū)動(dòng)實(shí)驗(yàn)3.13.1 實(shí)驗(yàn)?zāi)康?.13.2 實(shí)驗(yàn)內(nèi)容及說明3.13.3 實(shí)驗(yàn)原理圖3.13.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)十四 開關(guān)繼電器實(shí)驗(yàn)3.14.1 實(shí)驗(yàn)?zāi)康?.14.2 實(shí)驗(yàn)內(nèi)容及說明3.14.3 實(shí)驗(yàn)原理圖3.14.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)十五 電子音樂實(shí)驗(yàn)3.15.1 實(shí)驗(yàn)?zāi)康?3.15.2 實(shí)驗(yàn)內(nèi)容及說明3.15.3 實(shí)驗(yàn)原理圖3.15.4 實(shí)驗(yàn)步驟實(shí)驗(yàn)十六 重新定義pci設(shè)備的地址空間3.16.1 實(shí)驗(yàn)要求3.16.2 實(shí)驗(yàn)?zāi)康?.16.3 實(shí)驗(yàn)方法3.16.4 實(shí)驗(yàn)結(jié)論實(shí)驗(yàn)十七
5、8251可編程通訊接口與pc機(jī)通訊3.17.1 實(shí)驗(yàn)?zāi)康?.17.2 實(shí)驗(yàn)內(nèi)容3.17.3 實(shí)驗(yàn)接線圖3.17.4 實(shí)驗(yàn)編程指南3.17.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)十八 8279鍵盤接口顯示實(shí)驗(yàn)3.18.1 實(shí)驗(yàn)?zāi)康?.18.2 實(shí)驗(yàn)內(nèi)容3.18.3 實(shí)驗(yàn)接線圖3.18.4 實(shí)驗(yàn)框圖3.18.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)十九 32位輸入輸出實(shí)驗(yàn)3.19.1 實(shí)驗(yàn)?zāi)康?.19.2 實(shí)驗(yàn)內(nèi)容3.19.3 實(shí)驗(yàn)接線圖3.19.4 實(shí)驗(yàn)框圖3.19.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)二十 32位存儲(chǔ)器實(shí)驗(yàn)3.20.1 實(shí)驗(yàn)?zāi)康?.20.2 實(shí)驗(yàn)內(nèi)容3.20.3 實(shí)驗(yàn)接線圖3.20.4 實(shí)驗(yàn)框圖3.20.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)二十一 dma傳送實(shí)驗(yàn)
6、3.21.1 實(shí)驗(yàn)?zāi)康?.21.2 實(shí)驗(yàn)內(nèi)容3.22.3 實(shí)驗(yàn)接線圖3.22.4 實(shí)驗(yàn)框圖3.22.5 實(shí)驗(yàn)步驟實(shí)驗(yàn)二十二 存儲(chǔ)器讀寫實(shí)驗(yàn)3.23.1 實(shí)驗(yàn)?zāi)康?.23.2 實(shí)驗(yàn)內(nèi)容3.23.3 實(shí)驗(yàn)接線圖3.23.4 實(shí)驗(yàn)框圖3.23.5 實(shí)驗(yàn)步驟第四章 高級(jí)接口技術(shù)實(shí)驗(yàn)41 初識(shí)vxd4.1.1 了解虛擬設(shè)備驅(qū)動(dòng)程序(vxd)和虛擬機(jī)(vm)4.1.2 windows 9x/me的運(yùn)行及執(zhí)行環(huán)境4.1.3 在windows中實(shí)現(xiàn)虛擬環(huán)境4.1.4 vxd簡(jiǎn)介4.1.5 vxd開發(fā)工具簡(jiǎn)介42 基本vxd實(shí)驗(yàn)4.2.1 實(shí)驗(yàn)內(nèi)容4.2.2 實(shí)驗(yàn)原理4.2.3 實(shí)驗(yàn)步驟及程序參考43 win3
7、2 應(yīng)用程序和vxd之間的通信4.3.1 實(shí)驗(yàn)?zāi)康?.3.2 實(shí)驗(yàn)內(nèi)容4.3.4 實(shí)驗(yàn)原理4.3.4 實(shí)驗(yàn)步驟44 為pci總線擴(kuò)展卡設(shè)計(jì)vxd實(shí)驗(yàn)4.4.1 實(shí)驗(yàn)?zāi)康?.4.2 實(shí)驗(yàn)內(nèi)容4.4.3 實(shí)驗(yàn)原理. 4.4.4 實(shí)驗(yàn)步驟45 在windows 9x/me下獲取pci配置空間46 基本i/o輸入輸出4.6.1 i/o驅(qū)動(dòng)程序?qū)嵗?.6.2 ring3 層應(yīng)用程序調(diào)用qddjplx.vxd4.6.3 實(shí)驗(yàn)步驟47 存儲(chǔ)器的操作4.7.1 windows9x/me下映射存儲(chǔ)空間的處理4.7.2 映射與解映射vxd的范例4.7.3 ring3 層調(diào)用mem.vxd的范例. 4.7.4 實(shí)驗(yàn)
8、步驟48 在vxd中處理硬件中斷. 4.8.1 windows 9x/me下的中斷處理及在ring0 產(chǎn)生ring3 層指定窗口的消息4.8.2 中斷處理4.9 pci設(shè)備的wdm驅(qū)動(dòng)程序設(shè)計(jì)之ds篇4.9.1 開發(fā)工具安裝篇4.9.2 利用向?qū)沙绦蚩蚣芎驮O(shè)備配置信息4.9.3 pci設(shè)備的配置空間的訪問4.9.4 i/o端口的訪問4.9.5 內(nèi)存的訪問4.9.6 中斷的處理 4.9.7 驅(qū)動(dòng)程序的安裝4.9.8 驅(qū)動(dòng)程序的調(diào)試和調(diào)用4.9.9 應(yīng)用層調(diào)用wdm驅(qū)動(dòng)程序的方法4.9.10 pci資源配置的獲取4.9.11 應(yīng)用程序控制wdm驅(qū)動(dòng)程序以及進(jìn)行數(shù)據(jù)交換的方法。4.9.12 輸入
9、輸出處理4.9.13 怎樣從內(nèi)核驅(qū)動(dòng)程序向應(yīng)用程序發(fā)消息4.10 pci設(shè)備的wdm驅(qū)動(dòng)程序設(shè)計(jì)之ddk篇 帶*選配模塊不在基本配置中附錄附錄1 inf的標(biāo)準(zhǔn)段附錄2 pci bios函數(shù)附錄3 vtoolsd的安裝及vc+ 6.0 配置附錄4 vxd調(diào)用接口說明附錄5 debug調(diào)試軟件的使用附錄6 softice驅(qū)動(dòng)調(diào)試工具使用說明附錄7 turbo debugger調(diào)試器的使用第一章 概況dj-598pci 開發(fā)板是啟東市東疆計(jì)算機(jī)有限公司開發(fā)設(shè)計(jì)的高性能的pci 總線開發(fā)平臺(tái),采用了plx 公司的pci9054 芯片作為pci 的接口芯片,pci90xx 系列pci 接口芯片其低成本、
10、高性能的特點(diǎn)是舉世公認(rèn)的,用戶可放心使用。11 硬件說明硬件包括兩大部分:pci 接口卡一塊,dj-598pci 實(shí)驗(yàn)機(jī)。pci 接口卡主要由pci9054、93cs56l、組成。pci9054 是plx 公司的pci90xx系列芯片中的一款從模式橋芯片(其硬件與pci9050 相兼容),93cs56l(eerpom)用于存放pci9054初始化設(shè)置信息,在開發(fā)板上還提供了一個(gè)pci 總線擴(kuò)展插座,可提供8 位和16位,32 位的總線寬度??膳cplx 公司的開發(fā)軟件plxmon 聯(lián)合使用,用戶可重新定義總線寬度,io、memory 地址空間,中斷方式等。與dj-598pci 實(shí)驗(yàn)儀相連可實(shí)現(xiàn)以
11、下實(shí)驗(yàn):基 本 單 元 實(shí) 驗(yàn) 內(nèi) 容主控模塊1pci 轉(zhuǎn)8,16, 32 位接口1、 8,16, 32 位總線接口及系統(tǒng)電源輸出接口。2、 提供16 位地址數(shù)據(jù)總線,符合pci接口的控制插口3、 配有pci 接口轉(zhuǎn)換卡(plx9054 芯片)常用i/o 實(shí)驗(yàn)?zāi)K1、74ls244 與74ls273 基本輸入/輸出實(shí)驗(yàn)2、32位輸入輸出實(shí)驗(yàn)3、8253 定時(shí)器與計(jì)數(shù)器和分頻器實(shí)驗(yàn)4、8255 通用i/o 接口實(shí)驗(yàn)5、8250 通用串行口接口實(shí)驗(yàn),rs232 實(shí)驗(yàn),8251與pc 機(jī)通訊實(shí)驗(yàn)pci中斷1、 pci中斷實(shí)驗(yàn)2、 8259中斷實(shí)驗(yàn)(pci總線下無)ad/da1、 adc0809 并行
12、8位,tlc549串行 a/d轉(zhuǎn)換實(shí)驗(yàn)2、 dac0832 并行8位,tlc5615串行 da轉(zhuǎn)換實(shí)驗(yàn)dram實(shí)驗(yàn)?zāi)K1、pci訪問8,32位存儲(chǔ)器讀寫實(shí)驗(yàn)8位,32位dma傳送實(shí)驗(yàn)1、 pci9054 dma傳送驗(yàn)2、 8237 dma傳送實(shí)驗(yàn)(pci總線下無)鍵盤led 顯示模塊 、4*6 鍵盤與6 位led 八段顯示實(shí)驗(yàn)1、8255,8279組成的鍵盤顯示接口2、16*16 點(diǎn)陣led 中文字幕實(shí)驗(yàn)lcd 實(shí)驗(yàn)?zāi)K 1、128*64 陣式lcd 顯示實(shí)驗(yàn)(選配)2、1602字符顯示液晶控制與信號(hào)源模塊1、 配有帶驅(qū)動(dòng)的12 個(gè)led 發(fā)光極管顯示2、 8 路手動(dòng)電平控制3、 2 路手動(dòng)單
13、脈沖輸出4、 15路振蕩方波信號(hào)源:32khz,64khz,128khz,256khz,512khz,1mhz等,電機(jī)、喇叭1、 四相步進(jìn)電機(jī)2、 直流電機(jī)3、 音頻電路,喇叭,蜂鳴器.4、 單刀雙擲繼電器isp下載接口1、用于80s52,89s53在線下載系統(tǒng)電源1、 +5v/3a、±12v/0.5a2、 0-5v直流可調(diào)電壓32位接口定義12 軟件說明本實(shí)驗(yàn)的驅(qū)動(dòng)所采用的軟件有三種,分別是microsoft 的visual c+ 6.0、vtoolsd,driverstudio。所用的驅(qū)動(dòng)程序調(diào)試工具是drivermonitor或softice。使用這些軟件,可以在短期內(nèi)快速準(zhǔn)確
14、的構(gòu)成驅(qū)動(dòng)程序的框架,便于驅(qū)動(dòng)的編寫。同時(shí)調(diào)試工具能準(zhǔn)確的地了解驅(qū)動(dòng)的運(yùn)行情況,對(duì)驅(qū)動(dòng)進(jìn)行跟蹤,便于修改。用戶也可以用windriver來開發(fā)驅(qū)動(dòng),作前期的硬件快速測(cè)試,進(jìn)行基本的讀寫測(cè)試本實(shí)驗(yàn)的應(yīng)用程序全部采用visual c+ 6.0 開發(fā),其與驅(qū)動(dòng)的通訊方法將在之后介紹,因?yàn)轵?qū)動(dòng)是在vc 基礎(chǔ)上開發(fā)的,所以應(yīng)用程序也利用vc,其優(yōu)點(diǎn)是顯而易見的。1、3 開發(fā)環(huán)境的構(gòu)建 請(qǐng)安照如下順序安裝 <一>vc軟件包的安裝 運(yùn)行光盤上的vc+6。0安裝包,當(dāng)要求輸入系列號(hào)時(shí),請(qǐng)?jiān)谠摪惭b包中查找sn。txt文件 <二>ddk軟件包安裝 如果是在windows2000中開發(fā),請(qǐng)安
15、裝winddk2k,如果是在windowsxp中開發(fā),請(qǐng)安裝winxp的ddk,安裝不需要系列號(hào) <三>安裝完上述軟件包后,再安裝driverstudio2。7的軟件包,系列號(hào)在serial.txt的文件中,根據(jù)相應(yīng)提示完成安裝后重新啟動(dòng)計(jì)算機(jī). <四>編譯相關(guān)的源程序(1) 用vc6。0打開x:compuwaredriverstudiodriverworkssource文件夾下的vdwlibs.dsw(2) 設(shè)置vdwlibs為當(dāng)前工作程,編譯,出現(xiàn)如下提示時(shí),請(qǐng)?jiān)O(shè)置ddk實(shí)際安裝的路徑. <五>設(shè)置相關(guān)包含路徑(1) 打開vc中option 2)根據(jù)實(shí)際
16、的安裝路徑分別設(shè)置include ,lib,source include路徑路設(shè)置lib路徑路設(shè)置source路徑路設(shè)置<六> 驅(qū)動(dòng)程序的編譯 如果你當(dāng)前的操作系統(tǒng)是xp,請(qǐng)點(diǎn)擊如下圖的程序checked build envircoment表示checked版本,進(jìn)入該編譯環(huán)境后,再進(jìn)入到要編譯的工作目錄中,鍵入”build/a”進(jìn)行編譯,如果沒有錯(cuò)誤則在obj的文件夾中已生成sys的文件.1、4 實(shí)驗(yàn)儀設(shè)置 將jf置為p/e,jk置為系統(tǒng),插排線時(shí),排針一頭有白點(diǎn)的那側(cè)相對(duì)應(yīng)1、5 pc端設(shè)置 由于實(shí)驗(yàn)系統(tǒng)在用數(shù)碼管作為顯示時(shí),占用大量cpu時(shí)間,所以為了能正常顯示,建議關(guān)閉耗時(shí)
17、的程序,比如殺毒軟件等.第二章 系統(tǒng)介紹和安裝方法21 pci9054 性能簡(jiǎn)介pci9054 是plx 公司繼pci9050 之后推出的低成本pci 總線接口芯片,低功耗,pqfp176pins 封裝,可以使局部總線快速轉(zhuǎn)換到pci 總線上。其主要特點(diǎn):1、 符合pci2.1 規(guī)范,支持低成本從屬適配器;2、 支持pci 總線到isa 總線的單周期存儲(chǔ)器(8 位或16 位)讀寫和i/o 訪問及32位的存儲(chǔ)器和io讀寫;3、 支持來自局部總線的中斷及dma等中斷,可生成一個(gè)pci 中斷4、 pci9054 的局部總線與pci 總線的時(shí)鐘相互獨(dú)立運(yùn)行,局部總線的時(shí)鐘頻率范圍為040mhz,ttl
18、 電平,pci 的時(shí)鐘頻率范圍為033mhz;5、 可編程的局部總線配置,支持復(fù)用或非復(fù)用模式的816 或32 位的局部總線;6、 串行eeprom 提供pci 總線和局部總線的部分重要配置信息;7、 4 個(gè)局部設(shè)備片選信號(hào),各設(shè)備的基址和地址范圍及其映射可由串行eeprom或主機(jī)編程實(shí)現(xiàn);8、 4 個(gè)局部地址空間,基址和地址范圍及其映射可由串行eeprom 或主機(jī)編程實(shí)現(xiàn)。22 結(jié)構(gòu)組成如圖2-1 所示,pci9054 的接口是由pci 總線接口、局部總線接口和串行總線接口組成。器件功能:pci9054 作為總線目標(biāo)接口芯片,為非pci 設(shè)備與pci 總線提供數(shù)據(jù)通道,其功能如下:(1) 復(fù)
19、位及初始化上電時(shí),pci9054 的內(nèi)部寄存器由pci總線的rst#信號(hào)復(fù)位,在局部總線上輸出lreset#信號(hào)。pci 總線上的主控設(shè)備也可設(shè)置寄存器cntrl30=1,使pci9054 的寄存器復(fù)位,但是主設(shè)備只能訪問配置寄存器,而不能訪問局部總線。當(dāng)cntrl30=0 時(shí),清除pci9054 的復(fù)位狀態(tài)。 圖2-1 pci9054 結(jié)構(gòu)圖(2) 串行eeprom復(fù)位后,pci9054 總線上的主機(jī)可以對(duì)串行eeprom 進(jìn)行讀寫,寄存器cntrl29:24控制著pci9054 的管腳,對(duì)eeprom 的位進(jìn)行讀寫。將重載配置寄存器位cntrl29置1 可以用串行eeprom重新配置pci
20、9054。串行eeprom 是按重要性順序先后配置信息的。(3)內(nèi)部寄存器pci9054 的內(nèi)部寄存器為總線接口的設(shè)計(jì)與實(shí)現(xiàn)提供了最大的靈活性,這些寄存器可以分為兩類:pci 配置寄存器和局部配置寄存器。直接從(目標(biāo))操作:是指pci 總線上的主設(shè)備通過pci9054 來直接訪問局部總線上的從設(shè)備。pci接口的內(nèi)存空間和i/o 空間由計(jì)算機(jī)的bios 自動(dòng)設(shè)置。而且,局部總線寄存器允許將pci 地址空間轉(zhuǎn)換為局部總線地址空間。pci9054含有c,j,m模式,m模式主要為motola芯片提供無縫連接。plx9054支持8位,16位,32位的設(shè)備,可以是內(nèi)存映射或i/o 映射。j接口模式中主要將
21、pci9054配置為非復(fù)用模式。局部片選:pci9054沒有為設(shè)備提供片選信號(hào),對(duì)這些片選信號(hào)需在外部加上地址解碼邏輯都可以用來對(duì)局部地址空間進(jìn)行分配。pci/local 中斷與用戶i/o:pci9054 提供了一個(gè)局部中斷輸入,幾個(gè)內(nèi)部中斷和一個(gè)中斷控制/狀態(tài)寄存器位(intcsr).23 pci9054 主要寄存器的設(shè)置要使用好pci9054 就必須了解配置eeprom 中的各個(gè)寄存器的設(shè)置。在eeprom 中pci 寄存器是計(jì)算機(jī)自動(dòng)配置的,用戶無需干預(yù)。局部總線寄存器可由用戶根據(jù)個(gè)人的需要來自定義,在編輯eeprom時(shí)要注意各寄存器的設(shè)置不可前后矛盾,不然計(jì)算機(jī)將頻繁死機(jī)。下面介紹本次
22、實(shí)驗(yàn)的幾個(gè)主要的寄存器:設(shè)備識(shí)別(vid)供應(yīng)商代碼(did)00h狀態(tài)寄存器命令寄存器04h分類代碼修改版本08h內(nèi)含自測(cè)試 頭標(biāo)類型延時(shí)計(jì)數(shù)緩沖區(qū)大小0ch基地址寄存器010h基地址寄存器114h基地址寄存器2 18h基地址寄存器31ch基地址寄存器420h基地址寄存器5 24h保留28h保留 2ch擴(kuò)展rom 基地址寄存器30h保留 34h保留 38hmax_lat min_gnt中斷管腳中斷線3ch24 dj-598pci 實(shí)驗(yàn)機(jī)與pci 接口卡的連接通過一根62 芯的長(zhǎng)扁平電纜將實(shí)驗(yàn)機(jī)與dj-598pci 板相連。25 驅(qū)動(dòng)程序的安裝dj-598pci 在使用之前,無論操作匯編實(shí)驗(yàn)程
23、序還是vc實(shí)驗(yàn)程序,都必須安裝好dj-598pci板卡的驅(qū)動(dòng)程序。dj-598pci 驅(qū)動(dòng)程序位于附帶光盤的dj-598pci目錄下, win98/me 驅(qū)動(dòng)位于dj-598pciwinme 目錄下,winxp/win2000 驅(qū)動(dòng)位于dj-598pciwinxp 目錄下。二、winme/win98 系統(tǒng)驅(qū)動(dòng)的安裝。在pc 機(jī)pci 槽中插入pci9054 卡,開機(jī)進(jìn)入winme/win98 系統(tǒng),系統(tǒng)會(huì)提示發(fā)現(xiàn)新的設(shè)備,自動(dòng)進(jìn)入添加新硬件向?qū)?,查找?qū)動(dòng)程序,如下圖2-5-1 所示。 圖2-5-1 發(fā)現(xiàn)新硬件向?qū)D2-5-2 指定驅(qū)動(dòng)程序位置(1) 選擇“指定驅(qū)動(dòng)程序的位置”,點(diǎn)擊下一步,然后
24、選“指定位置”,圖2-5-2。(2) 按“下一步”。顯示選擇驅(qū)動(dòng)程序位置對(duì)話框,瀏覽找到驅(qū)動(dòng)程序所在的路徑,單擊“下一步”。(3) 圖2-5-3 顯示搜索到的設(shè)備和驅(qū)動(dòng)器位置,確定無誤后,單擊“下一步”。(4) 系統(tǒng)提示已經(jīng)安裝好設(shè)備驅(qū)動(dòng)程序,單擊“完成”。如圖2-5-4 所示。(5) 系統(tǒng)提示重新啟動(dòng)計(jì)算機(jī),單擊“是(y)”。(6) 重新啟動(dòng)計(jì)算機(jī)后,用鼠標(biāo)右鍵單擊桌面上“我的電腦”圖標(biāo),點(diǎn)擊“屬性”,在彈出的窗口點(diǎn)擊“設(shè)備管理器”標(biāo)簽,可以看到硬件列表中出現(xiàn)“東疆計(jì)算機(jī)pci卡”一項(xiàng),如圖2-5-5 所示。圖2-5-3 搜索到的設(shè)備和驅(qū)動(dòng)器位置圖2-5-4 驅(qū)動(dòng)程序安裝完成(7) 單擊“屬
25、性”,可以查看設(shè)備驅(qū)動(dòng)程序的狀態(tài)和設(shè)備所申請(qǐng)的資源。如圖2-5-6 所示。(8) 關(guān)閉系統(tǒng)屬性窗口,在任務(wù)欄的“開始”菜單中單擊“運(yùn)行”,在輸入框中鍵入“regedit”,單擊“確定”,在打開的注冊(cè)表編輯器中,可以找到已添加的pci 設(shè)備節(jié)點(diǎn)。至此,設(shè)備驅(qū)動(dòng)程序的安裝及查看完畢。圖2-5-3 搜索到的設(shè)備和驅(qū)動(dòng)器位置圖2-5-4 驅(qū)動(dòng)程序安裝完成圖2-5-5 查看設(shè)備管理器圖2-5-6 查看設(shè)備資源二、winxp 系統(tǒng)驅(qū)動(dòng)的安裝。在pc 機(jī)pci 槽中插入pci9054 卡,開機(jī)進(jìn)入winxp 系統(tǒng),系統(tǒng)會(huì)提示發(fā)現(xiàn)新的設(shè)備,自動(dòng)進(jìn)入“找到新的硬件向?qū)А保鐖D2-5-7 所示。圖2-5-7 找到
26、新硬件圖2-5-8 選擇安裝方式(1) 在圖2-5-7 中單擊“下一步”,進(jìn)入圖2-5-8,選擇“從列表或指定位置安裝(高級(jí))”,然后單擊“下一步”。圖2-5-9 搜索驅(qū)動(dòng)程序位置圖2-5-10 指定驅(qū)動(dòng)程序位置(2) 在圖2-5-9 中單擊“在搜索中包括這個(gè)位置”,然后單擊“瀏覽”,在彈出的對(duì)話框(圖2-5-10)中選擇驅(qū)動(dòng)程序所在位置。(光盤中“winxp driver”文件夾下的“p9054i.inf”),單擊“確定”。(3) 在圖2-5-10 中確認(rèn)驅(qū)動(dòng)程序位置正確后,單擊“確定”。(4) 系統(tǒng)開始進(jìn)行驅(qū)動(dòng)程序的安裝,如圖2-5-11 所示。(5) 安裝完成后,在圖2-5-12 中單擊
27、“完成”。圖2-5-11 正在安裝驅(qū)動(dòng)程序2-5-12 驅(qū)動(dòng)程序安裝完成26 使用plxmon 軟件plxmon 是plx 公司針對(duì)pci90xx 系列芯片的讀寫而開發(fā)的軟件(運(yùn)行dj-598pciplx 目錄下的setup.exe 來安裝此程序,安裝完成后需重新啟動(dòng)計(jì)算機(jī)才生效)。通過plxmon 用戶可方便的修改eeprom 中的各個(gè)寄存器來實(shí)現(xiàn)用戶的各種自定義功能。運(yùn)行plxmon 后,選擇“9050”芯片,進(jìn)入“edit value”,可觀察到當(dāng)前dj-598pci 板卡的pci 資源配置(如圖2-6-1)。你可根據(jù)需要修改pci 資源配置。點(diǎn)擊”eeprom”銨鈕,進(jìn)行配置工作.圖2
28、-6-1 板卡的pci 資源配置片選信號(hào)選擇范圍信號(hào)名稱 00h ,08h, 10h, 18h相對(duì)偏移 0007h, 080fh ,10h17h ,18h1fh第三章 基本接口技術(shù)實(shí)驗(yàn)32位匯編實(shí)驗(yàn)中,請(qǐng)用光盤中提供的p9054.dll和p9054.lib現(xiàn)個(gè)文件,方便用戶使用函數(shù)說明如下:1)用io方式向指定地址輸出指定數(shù)據(jù)outp8 proto :dword,:dword,:dword 8位方式寫outp32 proto :dword,:dword,:dword 32位方式寫 以下同參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為輸出的地址,參數(shù)3為要
29、輸出的數(shù)據(jù),函數(shù)成功返回true2)用io方式從指定地址讀出數(shù)據(jù)inp8 proto :dword,:dword,:dwordinp32 proto :dword,:dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為要讀出的地址,參數(shù)3為讀出的數(shù)據(jù),函數(shù)成功返回true3)用內(nèi)存方式向指定的地址寫入指定數(shù)據(jù)memwr8 proto :dword,:dword,:dwordmemwr32 proto :dword,:dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為輸出的地址,
30、參數(shù)3為要輸出的數(shù)據(jù),函數(shù)成功返回true4)用內(nèi)存方式從指定地址讀出數(shù)據(jù)memrd8 proto :dword,:dword,:dwordmemrd32 proto :dword,:dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為要讀出的地址,參數(shù)3為讀出的數(shù)據(jù),函數(shù)成功返回true5)打開中斷intopen proto :dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為注冊(cè)的中斷信號(hào)事件,函數(shù)成功返回true6)關(guān)閉中斷intclose proto ,:dword參數(shù)
31、1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為要關(guān)閉的已注冊(cè)的中斷信號(hào)事件,函數(shù)成功返回true7)打開本實(shí)驗(yàn)儀指定的guid值的設(shè)備openbyname proto函數(shù)成功返回設(shè)備句柄8)打開指定guid值的設(shè)備openbyguid proto:dword參數(shù)為指定的gud值,函數(shù)成功返回設(shè)備句柄9)從指定的設(shè)備中取得配置信息pciconfig proto :dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為傳入的本實(shí)驗(yàn)儀指定的數(shù)據(jù)結(jié)構(gòu),函數(shù)成功返回true10) write9054registe
32、r proto dword,:dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為要寫入的9054寄存器地址,參數(shù)3為要寫入的數(shù)據(jù)(32位)11) read9054register proto dword,:dword,:dword參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2為要讀出的9054寄存器地址,參數(shù)3為被讀出的數(shù)據(jù)(32位)12) blckdmapcitolocal proto :dword,:byte,:byte,:dword,:dword,:dword,:dword參數(shù)1為設(shè)備句柄,
33、用openbyname或openbyguid打開時(shí)返回的句柄,傳送方向pciàlocal參數(shù)2為要dma傳送通道號(hào),參數(shù)3為dma傳送的數(shù)據(jù)寬度參數(shù)4為傳送的起始地址參數(shù)5為傳送緩沖區(qū)地址參數(shù)6為傳送的字節(jié)數(shù)參數(shù)7為傳送時(shí)休眠時(shí)間13) blckdmalocaltopci proto :dword,:byte,:byte,:dword,:dword,:dword,:dword 參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄,傳送方向localàpci參數(shù)2為要dma傳送通道號(hào),參數(shù)3為dma傳送的數(shù)據(jù)寬度參數(shù)4為傳送的起始地址參數(shù)5為傳送緩沖
34、區(qū)地址參數(shù)6為傳送的字節(jié)數(shù)參數(shù)7為傳送時(shí)休眠時(shí)間14) setpcibuswidth proto dword,:byte,:byte參數(shù)1為設(shè)備句柄,用openbyname或openbyguid打開時(shí)返回的句柄參數(shù)2當(dāng)前總線寬度,可忽略參數(shù)3為要設(shè)置的總線寬度,參數(shù) 0:8位 ,1:16位 , 2:32位15) hexstrtoint proto dword,:dword 函數(shù)將十六進(jìn)制字符串轉(zhuǎn)換成十進(jìn)制數(shù)參數(shù)1為要轉(zhuǎn)換的十六進(jìn)制字符串參數(shù)2為轉(zhuǎn)換后的十進(jìn)制數(shù)據(jù)實(shí)驗(yàn)一 獲得pci 設(shè)備配置空間3.1.1 實(shí)驗(yàn)要求使用32 位匯編語言,使用io 端口查詢和中斷方式查找pci 板卡或者列出當(dāng)前系統(tǒng)
35、中所擁有的pci 設(shè)備的配置空間3.1.2 實(shí)驗(yàn)?zāi)康母鶕?jù)配置空間的原理使用中斷方式編寫一個(gè)pci 配置空間的程序,此程序可獲得pc 機(jī)上的dj-598pci 卡的硬件信息,如io 的起始地址,memory 的起始地址,當(dāng)前dj-598pci卡所占用的系統(tǒng)中斷號(hào)。根據(jù)配置空間的原理使用io 端口查詢方式編寫一個(gè)pci 配置空間的程序,此程序可獲得pc 機(jī)上的dj-598pci 卡的硬件信息,如io 的起始地址,memory 的起始地址,當(dāng)前dj-598pci卡所占用的系統(tǒng)中斷號(hào)。3.1.3 實(shí)驗(yàn)原理計(jì)算機(jī)有4 種資源,即io 空間,mem 空間,中斷、dma,用戶可通過windows 中的設(shè)備管
36、理器來查看它們的分配情況?,F(xiàn)在的計(jì)算機(jī)都支持pnp(即插即用技術(shù)),它的原理就是在每塊支持pnp 的板卡上都有一組稱為配置空間的寄存器,在其中保存有自己對(duì)系統(tǒng)資源的需求的參數(shù)。當(dāng)windows 啟動(dòng)時(shí),其bios 引導(dǎo)程序首先讀出這些參數(shù),然后綜合每塊的資源需求,統(tǒng)一對(duì)整個(gè)系統(tǒng)的資源進(jìn)行分配,從而避免用戶對(duì)其干預(yù)。為了bios 引導(dǎo)程序能夠正確的對(duì)板卡所需的資源進(jìn)行動(dòng)態(tài)分配,其配置空間寄存器中存儲(chǔ)的是物理空間大小等相對(duì)的信息,而不是絕對(duì)的物理地址。pci 配置空間是長(zhǎng)度256 個(gè)字節(jié)的一段內(nèi)存空間,其前64 個(gè)字節(jié)包括pci 接口的信息,我們可以通過它來訪問pci 接口。pci 配置寄存器pc
37、i 寄存器地址31 2423 1615 87 000h設(shè)備id(9054h) 制造商id(10bah)04hstatuscommand08class coderevision id0chbuilt-in self test header type pci buslatency timer cacheline size10h基址寄存器0,base address register#014h基址寄存器1,base address register#118h基址寄存器2,base address register#21ch基址寄存器3,base address register#320h基址寄存器4
38、,base address register#424基址寄存器5,base address register#528cardbus 卡信息結(jié)構(gòu)指針2chsubsystem idsubsystem vender id30hpci 擴(kuò)展rom 空間的基地址保留保留maximun latency優(yōu)先級(jí)請(qǐng)求minimun grant時(shí)間片請(qǐng)求interrupt pin中斷引腳interrupt line中斷號(hào) 這64 個(gè)字節(jié)中,第一個(gè)32 位的雙字包含了deviceid 和vendorid。deviceid 是一個(gè)16 位的數(shù),如果這個(gè)單元沒有安裝,在啟動(dòng)時(shí),計(jì)算機(jī)就會(huì)顯示ffffh;如果安裝了,在0
39、000h 和ffffh 之間就會(huì)有一個(gè)確定的數(shù)代表它。類代碼用來區(qū)分pci 接口類別,vendorid 由pcisig 來分配。頭標(biāo)區(qū)中比較重要的有base address,interrupt pin, interrupt line 它們主要用來指明設(shè)備所需的資源。base address: 即基址寄存器,是32 位寄存器,可以是ioase address 和mem base address。這是由第位決定的,第位由硬件強(qiáng)制置或。加電后,引導(dǎo)程序通過向基址寄存器中寫入全,并且讀返回值以獲得設(shè)備所需的地址空間大小,然后操作系統(tǒng)給它分配一塊i/o 內(nèi)存空間,并把基地址寫回到基址寄存器,然后驅(qū)動(dòng)程序
40、可以通過讀這個(gè)基址寄存器就可以得基地址,再加上設(shè)備寄存器的偏移就可以訪問這個(gè)寄存器了。interrupt line:中斷線寄存器,它是一個(gè)位寄存器,用來報(bào)告中斷的連接情況,它是一個(gè)可讀可寫的寄存器,并且凡是使用中斷引腳的設(shè)備必須實(shí)現(xiàn)它,系統(tǒng)引導(dǎo)程序在進(jìn)行初始化和配置時(shí)要將中斷連線的信息寫入該寄存器。這個(gè)寄存器的值表示設(shè)備的中斷引腳與系統(tǒng)中斷控制器的哪個(gè)輸入端相連。設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)可以利用這個(gè)信息來確定中斷優(yōu)先級(jí)和向量。該寄存器的值要受系統(tǒng)體系的支配。對(duì)于體系結(jié)構(gòu),該寄存器的值和標(biāo)準(zhǔn)8259 配置中的irq 編號(hào)(0-15)相對(duì)應(yīng)。255 表示沒有連到任何中斷控制器。15-255 之間的值
41、為保留值。interrupt pin , 中斷引腳寄存器。該寄存器是一個(gè)只讀寄存器,用來表示設(shè)備使用了那一根中斷線。其值的1,2,3,4 分別對(duì)應(yīng)inta,intb,intc,intd#。表示沒有使用任何中斷。pci 配置機(jī)構(gòu)采用兩個(gè)32 位io 端口,位于地址xcf8 和0xcfc。這兩個(gè)端口是:() 32 位配置地址端口,占用計(jì)算機(jī)io 地址的xcf8 到0xcfb() 32 位配置數(shù)據(jù)端口,占用計(jì)算機(jī)io 地址的xcfc 到0xcff訪問配置寄存器的步驟為:() 將目標(biāo)總線編號(hào),設(shè)備編號(hào),功能編號(hào)和雙字編號(hào)寫配置地址端口,并設(shè)置使能位為() 讀或?qū)懪渲脭?shù)據(jù)寄存器,北橋?qū)⒅付ǖ哪繕?biāo)總線與p
42、ci 總線范圍做比較,如果目標(biāo)總線在此范圍內(nèi),則啟動(dòng)pci 配置讀或?qū)懖僮鳌?在不同的操作系統(tǒng)下,對(duì)配置空間有不同的存取方法,在dos 下我們只需要使用簡(jiǎn)單的匯編指令in、out 命令就可了。讀寫配置數(shù)據(jù)寄存器還可以調(diào)用pci bios 函數(shù)的中斷int 1ah 來實(shí)現(xiàn)。中斷調(diào)用參數(shù):配置地址口的格式(配置地址口)3130 2423 1615 1110 87 2101=enable0=disablereservedbusnumberdevicenumberfunctionnumberregisternumber00pci bios 功能調(diào)用列表功 能 說 明intahalpci bios 存在
43、查詢1ah0b1h01h查找pci 設(shè)備1ah0b1h02h查找pci 設(shè)備的類代碼1ah0b1h03h產(chǎn)生特殊周期1ah0b1h06h讀配置寄存器-單字節(jié)操作1ah0b1h08h讀配置寄存器-單字操作1ah0b1h09h讀配置寄存器-雙字操作1ah0b1h0ah寫配置寄存器-單字節(jié)操作1ah0b1h0bh寫配置寄存器-單字操作1ah0b1h0ch寫配置寄存器-雙字操作1ah0b1h0dh取得中斷線路選項(xiàng)1ah0b1h0eh設(shè)置pci 中斷1ah0b1h0fhpci bios 功能調(diào)用返回值列表返 回 值 說 明ah成功調(diào)用 00h不支持的功能 81h錯(cuò)誤的廠商號(hào)83h未找到設(shè)備86h錯(cuò)誤的寄
44、存器號(hào)87h設(shè)置失敗88h緩沖區(qū)太小89h3.1.4 實(shí)驗(yàn)內(nèi)容及說明編寫一實(shí)驗(yàn)程序,應(yīng)用pci bios提供的調(diào)用接口,顯示實(shí)驗(yàn)裝置獲得的系統(tǒng)資源,顯示內(nèi)容主要包括:所有的基地址寄存器及中斷請(qǐng)求線內(nèi)容。在dos 下獲取pci 配置空間的程序框圖如下圖3-1-1:3.1.5 實(shí)驗(yàn)步驟(1)按實(shí)驗(yàn)內(nèi)容中的要求,實(shí)驗(yàn)流程及參考實(shí)驗(yàn)程序片斷編寫實(shí)驗(yàn)程序;(2)確認(rèn)無誤后編譯、連接;(3)運(yùn)行程序,觀察屏幕顯示,是否與“我的電腦”屬性中分配的硬件資源相同。( 4 ) 參考程序清單請(qǐng)看 pciconf文件夾.實(shí)驗(yàn)程序說明:用如下函數(shù)打開設(shè)備句柄handle openbyname()handle hdev;
45、dword perror;dword instance=0;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;hdev = createfile(devinterfac
46、e.devicepath(),generic_read | generic_write,file_share_read | file_share_write,null,open_existing,file_attribute_normal,null);if (hdev = invalid_handle_value)messagebox(null,"請(qǐng)檢查板卡和驅(qū)動(dòng)程序","出錯(cuò)信息",mb_iconquestion);return hdev;下面的程序用于顯示相關(guān)的配置資源 hdevice = openbyname();if(invalid_handle
47、_value=hdevice)afxmessagebox("無法打開設(shè)備");this->onok();pci=(pci_cfg*)malloc(sizeof(pci_cfg);bool status = deviceiocontrol(hdevice, ioctl_pdc4000_pcicfg, pci, sizeof(pci_cfg), pci, sizeof(pci_cfg), &nret, null); if(!status) afxmessagebox("無法取得設(shè)備配置!");this->onok(); m_irq=pci
48、->irq; iobase1.format("%x", pci->iobase0); iolength1.format ("%x",pci->ioportlength0); iobase2.format("%x", pci->iobase1); iolength2.format ("%x",pci->ioportlength1); membase0.format("%x",pci->membase0); memlength0.format("%x&q
49、uot;,pci->memlength0); membase1.format("%x",pci->membase1); memlength1.format("%x",pci->memlength1); updatedata(false); free(pci);實(shí)驗(yàn)二 基本io 口擴(kuò)展實(shí)驗(yàn)3.2.1 實(shí)驗(yàn)?zāi)康牧私鈚tl 芯片擴(kuò)展簡(jiǎn)單i/o 口的方法,掌握數(shù)據(jù)輸入輸出程序編制的方法。3.2.2 實(shí)驗(yàn)內(nèi)容說明74ls244 是一種三態(tài)輸出的8 總線緩沖驅(qū)動(dòng)器,無鎖存功能,當(dāng)g 為低電平時(shí),ai 信號(hào)傳送到y(tǒng)i,當(dāng)為高電平時(shí),yi 處于禁止高阻
50、狀態(tài)。74ls273 是一種8d 觸發(fā)器,當(dāng)clr 為高電平且clk 端電平正跳變時(shí),d0d7 端數(shù)據(jù)被鎖存到8d 觸發(fā)器中。本實(shí)驗(yàn)利用74ls244 作為輸入口,讀取開關(guān)狀態(tài),并將此狀態(tài)通過74ls273 驅(qū)動(dòng)發(fā)光二極管顯示出來。圖3-2-1 74ls244 與74ls273 擴(kuò)展i/o 口原理圖3.2.3 實(shí)驗(yàn)流程圖: 程序初始化置讀寫端口地址讀入輸入端口數(shù)據(jù)輸出讀入端口數(shù)據(jù) 3.2.4 實(shí)驗(yàn)步驟(1) 實(shí)驗(yàn)連線:1 ) 244 的cs譯碼單元模塊的i00h,y7y0開關(guān)k1k8。2 ) 273 的cs譯碼單元模塊的i08h,q7q0發(fā)光二極管l1l8。3 ) 該模塊的wr、rd 分別連到
51、總線接口模塊的iowr、iord。(系統(tǒng)已連接好)4 ) 該模塊的數(shù)據(jù)(ad0ad7)連到j(luò)x0. 地址線(la0la7)系統(tǒng)已連接好。(2) 運(yùn)行程序:io.exe(3) 撥動(dòng)開關(guān),觀察發(fā)光二極管的變化。圖3-2-2 擴(kuò)展i/o 口連線圖在程序初始化時(shí)創(chuàng)建一個(gè)線程,線程要執(zhí)行的程序如下:uint comd(lpvoid pparam)while(isstart) for(int i=0;i<10000;i+)inp8(hdevice,(ulong)ls244,prd.data);outp8(hdevice,(ulong)ls273,prd.data); sleep(50);return
52、 0;用到的兩個(gè)函數(shù)分別為:bool outp8(handle hdevice,ulong addrs,ulong m_data)prd.address=addrs;prd.data=m_data;dword nret;bool status=deviceiocontrol(hdevice,ioctl_pdc4000_write_io_u8,&prd,sizeof(buffers),null,0,&nret,null);if (!status) afxmessagebox("無法寫入!");return 0;return 1;bool inp8(handle
53、 hdevice,ulong addrs,ulong &data)prd.address=addrs;dword nret;bool status=deviceiocontrol(hdevice,ioctl_pdc4000_read_io_u8,&prd,sizeof(buffers),&prd,sizeof(buffers),&nret,null);if (!status) afxmessagebox("無法讀出!");return 0; data=(byte)prd.data;return data;實(shí)驗(yàn)三 pci 中斷實(shí)驗(yàn)3.3.1 了解pci9054 中斷的工作方式在eeprom 中0x68 地址就存放著中斷控制、狀態(tài)寄存器。pci9054 提供了多個(gè)中斷源(local interrupt dma0,dma1等),通過讀寫此寄存器來實(shí)現(xiàn)中斷。pci 接口卡已經(jīng)設(shè)置了,中斷處理過程:(1) 設(shè)置bit8 11=1 開中斷;(2) 進(jìn)入中斷服務(wù)程序后,設(shè)置bit8 11 =0 關(guān)閉中斷,(3) 處理數(shù)據(jù);(4) 清除標(biāo)志位,設(shè)置bit8 11 =1 開中斷來響應(yīng)下一次中斷;3.3.2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關(guān)抵押借款合同范文
- oem委托加工合同協(xié)議常用范本年
- 變電站安裝工程承包合同模板
- 2024年高考英語 (全國(guó)甲卷)真題詳細(xì)解讀及評(píng)析
- 個(gè)人商品購銷合同
- 2025年外研版九年級(jí)歷史下冊(cè)月考試卷含答案
- 貨物運(yùn)輸合同、法規(guī)與保險(xiǎn)
- 2025年外研版九年級(jí)歷史下冊(cè)階段測(cè)試試卷
- 造紙機(jī)購買合同
- 民政局離婚的協(xié)議書范本
- 印度與阿拉伯的數(shù)學(xué)
- 口腔科院感知識(shí)培訓(xùn)針刺傷
- 會(huì)陰切開傷口裂開的護(hù)理查房
- 《鋼鐵是怎樣煉成的》選擇題100題(含答案)
- 2024年國(guó)新國(guó)際投資有限公司招聘筆試參考題庫含答案解析
- 食堂餐廳服務(wù)方案投標(biāo)方案(技術(shù)標(biāo))
- Creo-7.0基礎(chǔ)教程-配套課件
- 六年級(jí)人教版上冊(cè)數(shù)學(xué)計(jì)算題練習(xí)題(及答案)100解析
- 超聲科質(zhì)量控制制度及超聲科圖像質(zhì)量評(píng)價(jià)細(xì)則
- 初中物理滬粵版八年級(jí)下冊(cè)《第六章 力和機(jī)械》章節(jié)練習(xí)(含答案)
- 金礦管理制度
評(píng)論
0/150
提交評(píng)論