一.板卡的分類 a. 按接口類型分類: 通用版板卡常見的接口總線為ISA總線和PCI總線。這兩種總線形式在通訊功能實現的方式上有區別,對於驅動開發來說,一般ISA總線通過直接操縱IO端口來完成通訊功能;PCI總線的板卡廠商大多提供DLL庫,設備驅動通過調用DLL庫來實現通訊功能。因為調用DLL庫的方式對硬件操作的細節已經屏蔽,DLL庫函數調用方式各不相同而且比較簡單,所以下文中有關板卡驅動開發和MCGSPORT的內容都是針對操縱IO端口的通訊方式而言的。 b. 按功能分類: 板卡的主要功能就是各種電信號采集和輸出。常見的包括:開關量輸入輸出(開入DI、開出DO)、模擬量輸入輸出(模入AI、模出AO)、繼電器輸出(輸出繼電器觸點的斷開閉合狀態)、T/C(定時/計數) ,一般來說一種型號的板卡都結合了上述功能中的一種或多種。 二.與板卡有關的知識點 a. 雙端輸入方式: 各路輸入信號各自使用自己的參考地電位,即各路輸入信號之間不共地。而這些信號源地參考地電位(地線)略有差異,可考慮使用這種接線方式,即差分輸入方式。(youyubenkashangshiyongdiduoluxuanzezhuanhuankaiguanzaineibuyoudianqishangdilianjie,jitongdaogelidianzubushiwuqiongda,yinciyoushizaishiyongshuangduanshurufangshishi,shuruxinhaorongyishouganrao。suoyiruguoyidingyaoxuanzeshuangduanshurufangshizeyingjiaqiangxinhaoxiandikangganraochuli,tongshihaiyingquebaomonidijiwaijieyiqijikejiedilianghao。erqietebiezhuyidishi,suoyoujierudixinhao,bulunshigaodianweihaishididianwei,qidianpingxiangduiyumonidianweiyingbuchaoguo±12V,以避免電壓過高造成器件損壞)。 b. 單極性信號: 輸入信號相對於模擬地電位來講,隻偏向一側,如輸入電壓位0―10V。 c. 雙極性信號: 輸入信號相對於模擬地電位來講,可高可低,如輸入電壓位-5V-+5V。 d. 碼製: 模擬量信號轉換為數字量後,形成一組由0kaishidilianxuzhengshu,meiyigeshuzhiduiyingzheyigetedingdimoniliangzhi,zhezhongduiyingguanxichengweibianmafangfahuomazhi。yijushuruxinhaodibutongfenweidanjixingyuanmayushuangjixingpianyima。danjixingshuruxinhaoduiyingzhedanjixingyuanma,shuangjixingxinhaoduiyingzheshuangjixingpianyima。 單極性原碼: 以12位A/D為例,輸入單極性信號0―10V。轉換後得到0-4095地數字量,數字量0對應地0對應模擬量0V,數字量4095對應的模擬量為10V,這種編碼方法稱為單極性原碼,其數字量值與模擬電壓值的對應關係可描述為: 模擬電壓值=數碼(12位)×10(V)/4096 (V) 即1LSB(1個數碼位)=2.44mV 雙極性偏移碼: 以12位A/D為例,輸入雙極性信號-5V-+5V。轉換後得到0-4095的數字量,數字量0對應的模擬量為-5V,數字量4095對應的模擬量為+5V,這種編碼方法稱為雙極性偏移碼,其數字量值與模擬電壓值的對應關係可描述為: 模擬電壓值=數碼(12位)×10(V)/4096-5 (V) 即1LSB(1個數碼位)=2.44mV 此時12位數碼的最高位(DB11)為0表示負,1表示正。偏移碼與補碼僅在符號位上定義不同,如果反向運算,可以先求出補碼再將符號位取反就可得到偏移碼。 e. A/D轉換速率: 表明A/D轉換芯片的工作速度。如對BB公司的ADS774來講,完成一次轉換所需要的時間是10微秒,則它的轉換速率為100KHz。檢查狀態字可以判定A/D轉換是否完成,也可以設定固定的延時而不去查詢狀態字。 f. 通過率: 指A/D采集卡對某一路信號連續采集時的最高采集速率。 g. 初始地址:(或稱板基地址): 使(shi)用(yong)板(ban)卡(ka)時(shi),需(xu)要(yao)對(dui)卡(ka)上(shang)的(de)一(yi)組(zu)寄(ji)存(cun)器(qi)進(jin)行(xing)操(cao)作(zuo),這(zhe)組(zu)寄(ji)存(cun)器(qi)占(zhan)用(yong)數(shu)個(ge)連(lian)續(xu)的(de)地(di)址(zhi),一(yi)般(ban)將(jiang)其(qi)中(zhong)最(zui)低(di)的(de)地(di)址(zhi)值(zhi)定(ding)為(wei)此(ci)卡(ka)的(de)初(chu)始(shi)地(di)址(zhi),這(zhe)個(ge)地(di)址(zhi)值(zhi)需(xu)要(yao)使(shi)用(yong)卡(ka)上(shang)的(de)撥(bo)碼(ma)開(kai)關(guan)來(lai)設(she)置(zhi)。 h. DI、DO IO地址操作方式: 通常對於開關量來說,每8個開關量需要占用1個地址,但是有的板卡對同一個地址,既可以提供輸入功能,也提供輸出功能。此時,8個開關量輸入和8個開關量輸出共同占用1個地址。 i. AI、AO IO地址操作方式: 常(chang)見(jian)的(de)情(qing)況(kuang)是(shi)板(ban)卡(ka)給(gei)每(mei)一(yi)個(ge)輸(shu)入(ru)提(ti)供(gong)一(yi)個(ge)單(dan)獨(du)的(de)地(di)址(zhi),一(yi)個(ge)模(mo)擬(ni)量(liang)輸(shu)入(ru)需(xu)要(yao)占(zhan)用(yong)兩(liang)個(ge)地(di)址(zhi),但(dan)是(shi)也(ye)有(you)一(yi)些(xie)板(ban)卡(ka),一(yi)個(ge)輸(shu)入(ru)隻(zhi)占(zhan)用(yong)一(yi)個(ge)地(di)址(zhi),通(tong)過(guo)高(gao)位(wei)和(he)地(di)位(wei)分(fen)別(bie)輸(shu)入(ru)的(de)方(fang)式(shi)完(wan)成(cheng)。甚(shen)至(zhi)有(you)時(shi)所(suo)有(you)的(de)模(mo)擬(ni)量(liang)輸(shu)入(ru)通(tong)道(dao)通(tong)過(guo)對(dui)一(yi)個(ge)地(di)址(zhi)循(xun)環(huan)讀(du)取(qu)輸(shu)入(ru)的(de)方(fang)式(shi)來(lai)完(wan)成(cheng),這(zhe)個(ge)需(xu)要(yao)具(ju)體(ti)看(kan)板(ban)卡(ka)的(de)說(shuo)明(ming)書(shu)才(cai)能(neng)確(que)定(ding)。 j. 板卡的接地問題: 某些開關量輸出板卡需要外供電源,開關量的狀態為1時,輸出電平與外供電源電壓相等;狀態為0時,輸出電平為零。此時外供電源的GND應該可靠接地,否則開關量狀態為0時,測得的輸出電平往往是浮動的,不是準確的零。 k. T/C(計時/計數器)常見工作模式(以8253芯片為例): MODE 0計數器方式: GATE升高後,開始按設入的16BIT數據做減法計數並OUT=0,直到零時OUT=1。 MODE 1可編程單穩: 16BIT數據設入後,GATE由0變為1時,OUT=0;當計數結束時,OUT=1,並可由GATE重新觸發。 MODE 2頻率發生器: GATE=1 時開始減法計數,OUT=1直到計為0時,OUT=0一個CLK周期, 然後OUT=1重複上述過程。 MODE 3方波發生器: 同 MODE 2,但輸出是方波而不是脈衝。 MODE 4軟件觸發選通信號: GATE=1並16BIT數據設定後,做減法計數OUT=1,等於0時OUT=0一個CLK周期,此後OUT=1。 MODE 5硬件觸發選通信號: 同MODE 4, 但由GATE控製,當GATE有一個低電平脈衝時(GATE=1 0 1,即一個負脈衝)TIMER 開始工作, 並可重新觸發。