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

正文內(nèi)容

基于pci總線的數(shù)據(jù)采集卡電路與軟件驅(qū)動(dòng)設(shè)計(jì)(參考版)

2025-06-25 01:17本頁(yè)面
  

【正文】 出口返回參數(shù)lData為該通道模擬量的數(shù)值,錯(cuò)誤返回碼errorLevel返回0時(shí)表示無(wú)錯(cuò)誤,函數(shù)返回值為0表示采集成功,1。圖52 AD定時(shí)方式采集程序框圖AD定時(shí)方式采集程序框圖如圖52所示,調(diào)用DLL文件中的模擬量采集函數(shù):long APIENTRY ZT8336AI (ZT_PCIBOARD* bs)對(duì)某一通道模擬量數(shù)據(jù)采集。使用定時(shí)方式AD采集,增益倍數(shù)為0,采樣頻率250KHz。測(cè)試中設(shè)定程序固定單通道采集,使用20號(hào)通道采集數(shù)據(jù),將信號(hào)發(fā)生器的的輸出探頭與對(duì)應(yīng)引腳相連。圖51 AD定時(shí)方式采集參數(shù)設(shè)定數(shù)據(jù)采集測(cè)試的參數(shù)設(shè)定程序框圖如圖51所示,程序中可以對(duì)單端/雙端信號(hào),固定單通道/多通道循環(huán)采集等模式進(jìn)行定。表51 插頭引腳與信號(hào)定義插座引腳號(hào)信號(hào)定義插座引腳號(hào)信號(hào)定義1AD0(AD0+)20AD16(AD0)2AD1(AD1+)21AD17(AD1)3AD2(AD2+)22AD18(AD2)4AD3(AD3+)23AD19(AD3)5AD4(AD4+)24AD20(AD4)6AD5(AD5+)25AD21(AD5)7AD6(AD6+)26AD22(AD6)8AD7(AD7+)27AD23(AD7)9AD8(AD8+)28AD24(AD8)10AD9(AD9+)29AD25(AD9)11AD10(AD10+)30AD26(AD10)12AD11(AD11+)31AD27(AD11)13AD12(AD12+)32AD28(AD12)14AD13(AD13+)33AD29(AD13)15AD14(AD14+)34AD30(AD14)16AD15(AD15+)35AD31(AD15)17AGND36DA018DA137DA219DA3 模擬信號(hào)數(shù)據(jù)采集和輸出測(cè)試本實(shí)驗(yàn)通過(guò)LabVIEW圖形化編程實(shí)現(xiàn)虛擬示波器,可以直觀的查看采集到的數(shù)據(jù)。ADX表示模擬量輸入的第X通道,括號(hào)外的為單端定義,括號(hào)內(nèi)的是雙端定義;AGND指模擬地,單端使用時(shí)為信號(hào)地;DAX表示計(jì)數(shù)器輸出的第X個(gè)通道。 PCI數(shù)據(jù)采集卡安裝好后將37芯D型插頭插到PCI數(shù)據(jù)采集卡的37芯D型插頭上,以方便信號(hào)發(fā)生器或示波器的探頭與數(shù)據(jù)采集卡相連。打開(kāi)和關(guān)閉設(shè)備的必備底層函數(shù)說(shuō)明如下:打開(kāi)設(shè)備函數(shù):long APIENTRY OpenDevicePlx(ZT_PCIBOARD* bs)入口有效參數(shù):lIndex PCI卡索引值出口返回參數(shù):hHandle PCI卡的操作句柄(只有涉及中斷時(shí),返回才有意義)調(diào)用此函數(shù)時(shí),不改變 errorLevel 的值函數(shù)返回值: 0 表示打開(kāi)設(shè)備成功,1表示打開(kāi)設(shè)備失敗關(guān)閉設(shè)備函數(shù):long APIENTRY CloseDevicePlx(ZT_PCIBOARD* bs)入口有效參數(shù):lIndex PCI卡索引值出口返回參數(shù):無(wú),調(diào)用此函數(shù)時(shí),不改變 errorLevel 的值函數(shù)返回值: 0 表示關(guān)閉設(shè)備成功,1表示關(guān)閉設(shè)備失敗 數(shù)據(jù)采集卡功能測(cè)試 數(shù)據(jù)采集卡的安裝將PCI數(shù)據(jù)采集卡插入計(jì)算機(jī)主板的PCI插口,開(kāi)機(jī)啟動(dòng)后系統(tǒng)將提示發(fā)現(xiàn)新硬件安裝驅(qū)動(dòng)程序,指定路徑到驅(qū)動(dòng)程序INF文件所在位置安裝好驅(qū)動(dòng)后,在設(shè)備管理器中可以查看到PCI數(shù)據(jù)采集卡已安裝好。/*輸入輸出數(shù)據(jù)指針,用于傳遞成批數(shù)據(jù)*/  long lCode。/*通道號(hào);默認(rèn)為0,表示通道號(hào)從0開(kāi)始;設(shè)為1,表示通道號(hào)從1開(kāi)始;不能設(shè)為0或1以外的數(shù)*/  long lData。/*PCI卡索引值,該值在安裝時(shí)被系統(tǒng)自動(dòng)分配*/  HANDLE hHandle。DLL不僅可以提高編程效率和多任務(wù)環(huán)境下的程序執(zhí)行效率,而且還可以在Windows應(yīng)用程序中實(shí)現(xiàn)代碼和資源共享[15]。由于測(cè)試界面程序不能直接訪問(wèn)硬件I/O 端口, 因此需要在程序中調(diào)用數(shù)據(jù)采集卡動(dòng)態(tài)鏈接庫(kù)(DLL)中的相關(guān)函數(shù)進(jìn)行數(shù)據(jù)采集了。與VC或VB編程相比,Labview將繁瑣復(fù)雜的語(yǔ)言編程簡(jiǎn)化成為以菜單提示方式選擇功能,并且用線條將各種功能連接起來(lái),提供了更簡(jiǎn)明、直觀易用的編程方式[14]。 第五章 數(shù)據(jù)采集卡功能編程與測(cè)試 數(shù)據(jù)采集卡的動(dòng)態(tài)連接庫(kù)LabVIEW本身是一個(gè)功能比較完整的軟件開(kāi)發(fā)環(huán)境,Labview是為替代常規(guī)的BASIC或C語(yǔ)言設(shè)計(jì)的。每次的分割傳輸都要獲取適配器資源,記錄已經(jīng)傳輸?shù)淖止?jié)數(shù),更新下次傳輸?shù)挠脩艟彌_區(qū)的虛擬地址和長(zhǎng)度,回調(diào)函數(shù)的最后應(yīng)啟動(dòng)總線設(shè)備上的直接存貯器存取通道(Direct Memory Access Channel,DMAC)J差行DMA傳輸。If(!NT_SUCCESS(status)){delete m_CurrentTransfer;//如果初始化失敗,釋放DMA傳輸控制對(duì)象}3)定義回調(diào)函數(shù)OnDmaReady0OnDmaReady0是用戶定義的回調(diào)函數(shù)。SerialRead0用來(lái)實(shí)現(xiàn)串行化讀操作,當(dāng)從隊(duì)列中取出IRP請(qǐng)求時(shí),如果是讀操作請(qǐng)求,則調(diào)用該例程,從而保證多個(gè)讀操作請(qǐng)求不被同時(shí)執(zhí)行。在DMA方式下,數(shù)據(jù)能夠達(dá)到PCI總線規(guī)范的最大數(shù)據(jù)傳輸速率,所以在PCI設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)過(guò)程中,實(shí)現(xiàn)DMA的工作方式成為驅(qū)動(dòng)程序的開(kāi)發(fā)的重點(diǎn)。4)煅用成員函數(shù)Disconnect斷開(kāi)鉤鏈。通常這些參數(shù)確定在設(shè)備類構(gòu)造體中實(shí)現(xiàn)。下面的函數(shù)可以聲明一個(gè)標(biāo)準(zhǔn)類型的ISR例程:BOOLEAN Isr(PKINTERRUPT InterrupL,PVOID ServieeContext);如果使用派生類成員函數(shù)實(shí)現(xiàn)ISR,必須使用宏MEM—BER—ISR在類中聲明這個(gè)函數(shù)。2)中斷服務(wù)例程ISR可以是標(biāo)準(zhǔn)函數(shù)或者是自定義的派生類成員函數(shù),如類KDeviee派生類的成員函數(shù)。通常使用在設(shè)備類中嵌人中斷類的方法產(chǎn)生中斷對(duì)象。由于ISR總是運(yùn)行在DIRQL上,因此在硬件中斷服務(wù)中,常使用DPC,即延遲過(guò)程調(diào)用,當(dāng)處理器處于DISPATCH—LEVEL層上時(shí),立即執(zhí)行相應(yīng)的DPC對(duì)象。為了實(shí)現(xiàn) PCI 中斷的共享,中斷服務(wù)程序必須迅速作出是否為自己板卡來(lái)的中斷的判定, 如果是則返回 TURE,否則返回 FALSE。對(duì)于 DriveWizard 生成的框架,它在 OnStartDevice(KIrpI)中對(duì)一個(gè)中斷對(duì)象調(diào)用 InitializeAndConnect(),完成初始化和連接。在系統(tǒng)實(shí)現(xiàn)中,各個(gè)設(shè)備可能連到一條中斷線上,這就要求 PCI設(shè)備驅(qū)動(dòng)程序能夠支持共享的中斷。首先初始化這個(gè)類的實(shí)例:KpeiConfiguration PeiConfig(());初始化完后就可以利用成員函數(shù)ReadBaseAddres/WriteBaseAddress讀寫基地址寄存器,ReadCommandRegister/WriteCommandRegister讀寫命令寄存器,ReadInterrupt/WriteInterrupt讀寫中斷寄存器。任何因設(shè)備而異的信息必須安置在64~255的地址空間。 設(shè)備的操作 配置空間的訪問(wèn)模塊PCI 設(shè)備是可以再定位的,設(shè)備的地址空間不是硬件固定的,PCI 設(shè)備驅(qū)動(dòng)程序及其它配置軟件應(yīng)當(dāng)用該設(shè)備配置空間中的映射信息來(lái)決定將設(shè)備映射到何處,這個(gè)可以在例程 OnStartDivce 中實(shí)現(xiàn)。INF文件包含了驅(qū)動(dòng)程序的名稱,驅(qū)動(dòng)程序應(yīng)該復(fù)制到的目錄以及在驅(qū)動(dòng)程序安裝時(shí)必須生成和修改的注冊(cè)表入口。對(duì)功能驅(qū)動(dòng)程序,一般調(diào)用AddDevice函數(shù)創(chuàng)建一個(gè)設(shè)備對(duì)象并把它連接到以PDO為底的設(shè)備堆棧中。驅(qū)動(dòng)程序入口程序向操作系統(tǒng)提供一個(gè)名稱為DriverEntry()的函數(shù),在啟動(dòng)驅(qū)動(dòng)程序的時(shí)候,操作系統(tǒng)將調(diào)用這個(gè)入口。驅(qū)動(dòng)程序類只要完成WDM的DriverEntry和AddDevice例程。圖41 Windows程序分層結(jié)構(gòu)模型驅(qū)動(dòng)程序的主要功能主要是完成設(shè)備初始化和讀寫定義,驅(qū)動(dòng)程序在初始化過(guò)程中利用器件識(shí)別號(hào)(DID)、廠商識(shí)別號(hào)(VID)和檢索號(hào)(Index)搜索PCI器件,通過(guò)調(diào)用PCI BIOS確認(rèn)其存在,然后利用總線號(hào)、器件號(hào)和功能號(hào)尋址該設(shè)備PCI配置空間(Configuration Space),獲得該硬件的參數(shù)。在FDO的上面和下面還會(huì)有一些過(guò)濾器設(shè)備對(duì)象FIDO(Filter Device Object)。處于堆棧最底層的設(shè)備對(duì)象稱為物理設(shè)備對(duì)象PDO(Physical Device Object),代表了設(shè)備和總線之間的連接。設(shè)備對(duì)象是系統(tǒng)為幫助軟件管理硬件而創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)。 驅(qū)動(dòng)程序框架設(shè)計(jì)和安裝文件Windows驅(qū)動(dòng)程序模型重新定義驅(qū)動(dòng)程序分層使用了如圖41所示的層次結(jié)構(gòu)。Driverstudio包括DriverWorks、DriverNetworks、SoftlCE和VToolsD等工具模塊。用WinDriver開(kāi)發(fā)雖然難度不大,但是它是針對(duì)PCI、ISA、 EISA 、US B等總線設(shè)備開(kāi)發(fā)的,通用性不強(qiáng),并且程序運(yùn)行效率不高。對(duì)于開(kāi)發(fā)WDM驅(qū)動(dòng)程序來(lái)說(shuō)有三個(gè)常用的開(kāi)發(fā)環(huán)境,Microsoft公司的Windows DDK,NuMega公司的Driverstudio、和Jungo公司的WinDriver等。在WDM驅(qū)動(dòng)程序中,即插即用(PnP)設(shè)備管理器告知何時(shí)向系統(tǒng)添加一個(gè)設(shè)備,或者從系統(tǒng)刪除設(shè)備。動(dòng)態(tài)構(gòu)造WDM驅(qū)動(dòng)程序堆棧是實(shí)現(xiàn)即插即用設(shè)備的關(guān)鍵。模塊化的WDM體系結(jié)構(gòu)中靈活統(tǒng)一的接口,是操作系統(tǒng)可以動(dòng)態(tài)地配置不同的驅(qū)動(dòng)程序模塊來(lái)支持特定的設(shè)備。WDM模型(Windows Driver Model)是微軟公司為當(dāng)前主流操作系統(tǒng)的驅(qū)動(dòng)程序設(shè)計(jì)的一種構(gòu)架,和傳統(tǒng)的VXD的驅(qū)動(dòng)是完全不同的的體系結(jié)構(gòu)。但是到了Windows時(shí)代,系統(tǒng)不可能讓程序隨意直接訪問(wèn)硬件,以免引起混亂導(dǎo)致系統(tǒng)崩潰。 第四章 驅(qū)動(dòng)程序編寫 Windows環(huán)境下的驅(qū)動(dòng)程序 WDM模型在設(shè)計(jì)和使用PCI設(shè)備時(shí),經(jīng)常要在軟件中對(duì)系統(tǒng)資源進(jìn)行訪問(wèn),因此只有編制設(shè)備驅(qū)動(dòng)程序才能實(shí)現(xiàn)對(duì)PCI總線設(shè)備的完全訪問(wèn)。149號(hào)引腳為CLK為時(shí)鐘信號(hào),做為PCI設(shè)備必須的輸入,提供時(shí)序可達(dá)33MHz。PCI9052的135號(hào)引腳LCLK由晶振源提供時(shí)鐘信號(hào),可與PCI時(shí)鐘異步??梢允孪韧ㄟ^(guò)編程器將配置信息寫入配置EEPROM中,也可在系統(tǒng)啟動(dòng)后用系統(tǒng)在線燒錄對(duì)EEPROM進(jìn)行操作。圖313給出了本設(shè)計(jì)中EEPROM(93CS46)和PCI9052的連接電路圖。PCI9052配置寄存器僅能由EEPROM或PCI主機(jī)處理器寫。在電源上電期間,PCI的RST信號(hào)復(fù)位PCI9052內(nèi)部寄存器。 PCI9052接口電路圖312 PCI9052接口示意圖PCI9052芯片的接口示意圖如圖312所示。該連接器中PRSNT1接地,而PRSNT2懸空,這樣,將該卡插入PCI插槽后,PCI數(shù)據(jù)采集卡將使用PCI板卡的最大允許功耗25W。 圖311 PCI接口連接器 芯片的電源布線必須遵循PCI規(guī)范,在電源層和地線層之間的的電容可為連接器上的電源引腳提供去耦作用。該連接器一共有124個(gè)引腳,對(duì)應(yīng)PCI接口的124個(gè)連接金手指。Ain引腳為模擬信號(hào)輸入引腳,DATA引腳為數(shù)字信號(hào)輸出引腳,時(shí)鐘信號(hào)引腳CLK和轉(zhuǎn)換啟動(dòng)引腳CONV分別與EP1C3T144的131和133號(hào)引腳相連,由FPGA控制ADC的工作狀態(tài),最終的數(shù)字輸出信號(hào)也傳輸?shù)?31號(hào)管腳,通過(guò)FPGA繼續(xù)傳輸。使用擴(kuò)展參考電壓時(shí),(接近盡可能ADS7835放置),可以提供更好的穩(wěn)定性。ADS7835是12位小尺寸、低功耗、高速模數(shù)轉(zhuǎn)換器,吞吐率達(dá)500kHz,ADS7825工作原理如圖310所示。OP2使用TL082C的兩個(gè)運(yùn)算放大器構(gòu)成兩個(gè)電壓跟隨器,用于提供固定電壓或穩(wěn)定其他芯片的參考電壓。TL081C為單路運(yùn)算放大器,TL082C為雙路運(yùn)算放大器,引腳如圖39所示。10號(hào)管腳即可用于參考電壓輸入,也可用于參考電壓輸出,當(dāng)選中內(nèi)部參考電壓時(shí)用于參考電壓輸出;當(dāng)使用外部擴(kuò)展參考電壓時(shí)用于參考電壓輸入,默認(rèn)情況下該引腳用于參考電壓輸入。AD5623R工作原理如圖38所示。模數(shù)轉(zhuǎn)換電路如圖37所示。當(dāng)WR引腳設(shè)置為VS時(shí)可以進(jìn)行編程控制增益,增益設(shè)置模式如表32所示。AD8250的增益用數(shù)字方式設(shè)定,A0和A1管腳必須被設(shè)為相對(duì)于地的高電平或低電平,由EP1C3T144的129和130引腳發(fā)出一個(gè)2 bit信號(hào)到A0和A1,選擇增益放大倍數(shù)。更小的封裝面積意味著可以在PCB上放置更多的器件,從而允許在產(chǎn)品增加額外的數(shù)據(jù)通道。AD8250適合與高性能ADC配套使用,可提供1,2,5和10的增益。精密直流性能與高速能力的結(jié)合則使AD8250成為數(shù)據(jù)采集應(yīng)用的絕佳選擇。采集到的信號(hào)在進(jìn)入模數(shù)轉(zhuǎn)換器件之前首先要進(jìn)行運(yùn)算放大,放大電路采用亞德諾半導(dǎo)體公司(ADI)的AD8250芯片。儀表放大器通常用于調(diào)理來(lái)自傳感器的差分信號(hào)。10V之間變化的滿量程輸出信號(hào)的各種傳感器連接。前端采樣電路和片選通道控制電路如圖35所示。ULN2003A是一個(gè)7路反相器,即當(dāng)輸入端為高電平時(shí)ULN2003A輸出端為低電平,當(dāng)輸入端為低電平時(shí)ULN2003A輸出端為高電平。SN54HCT245J芯片的引腳如圖34所示。得州儀器公司的(TI)SN54HCT245J是八進(jìn)制總線收發(fā)器,專為總線之間的異步雙向溝通設(shè)計(jì),由DIR輸入狀態(tài)決定是由A總線傳輸?shù)紹總線還是由B總線傳輸?shù)紸總線。輸入狀態(tài)接接通通道真值表如表31所示。CD4051引腳圖如圖33所示。三位二進(jìn)制信號(hào)選通8通道中的一通道,可連接該輸入端至輸出。這些開(kāi)關(guān)電路在整個(gè)VDDVSS和VDD
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1