- 相關推薦
PC/104模塊Diamond-MM-AT的原理與應用
摘要:介紹了12位模擬I/O PC/104模塊Diamond-MM-AT的主要參數(shù)、內(nèi)部結構、引腳功能及特性,給出了Diamond-MM-AT與PC/104及傳感器的硬件連接關系?同時給出了它們的一個成功的A/D轉(zhuǎn)換應用程序。關鍵詞:Diamond-MM-AT模塊;A/D轉(zhuǎn)換; PC/104; 數(shù)據(jù)采集
1 主要特點
隨著數(shù)字信號處理技術及各種故障分析技術的快速發(fā)展,在一些由工控機構成的較小系統(tǒng)中,對信號進行實時采集與處理已越來越受到人們的重視。PC104系統(tǒng)模塊以其結構緊湊,體積小,可擴展性強等特點,在信號采集和故障分析中得到了廣泛的應用。Diamond-MM-AT 是一個高性能12bit模擬量I/O口輸入輸出PC/104模塊,它包括A/D,D/A轉(zhuǎn)換通道和定時/計時器,其標準模板結構可與PC/104處理器進行模塊組合。
Diamond-MM-AT模塊的主要功能如下:
A/D轉(zhuǎn)換精度為12位,可支持的最大采樣頻率為100kHz;具有16條模擬量輸入通道和2條12位D/A轉(zhuǎn)換通道;有8個數(shù)字輸入口和8個數(shù)字輸出口;帶有32位可編程控制計數(shù)/定時器;可編程設置D/A轉(zhuǎn)換量程。
2 插口及引腳功能
圖1所示是Diamond-MM-AT模塊的外形簡圖。其中J1、J2為擴展總線端口,主要用于與PC/104處理器總線相連接。U7為A/D轉(zhuǎn)換器。J4是為A/D設置跳線器,用來設置模擬量是單極或雙極輸入以及輸入的量程。J5是D/A設置跳線器,用于設置模擬量是單極或雙極輸出以及輸出的參考電壓值。U15是D/A轉(zhuǎn)換器。J6是設置DMA(直接存儲器存。藴实闹袛嗉壓突刂吩O置跳線器,模塊默認基地址為:0x300。J3為50針的I/O端口,它的具體排列如圖2所示,各端口定義如下:
Vin7/7+~Vin0/0+:單極模式模擬量A/D輸入端口7~0;同時可用作雙極模式模擬量A/D正極輸入端口7~0;(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
Vin15/7-~Vin8/0-:單極模式模擬量A/D輸入端口15~8;也可用作雙極模式模擬量A/D負極輸入端口7~0;
Vout0?Vout1:分別為D/A轉(zhuǎn)換輸出端口0和1;
Vref Out:+5/-5V精確參考電壓輸出端口;
Vref In0?Vref In1:自定義D/A轉(zhuǎn)換參考電壓量程輸入端口;
Dout7~Dout0:數(shù)字輸出端口0~7,兼容TTL/CMOS電平;
Din7~Din0:數(shù)字輸入端口0~7,兼容TTL/CMOS電平;其中Din2/Gate0 ?數(shù)字輸入端口2?還可作為計數(shù)器0的控制門,并當該端口為高電平時計數(shù);而Din0/Gate1/2?數(shù)字輸入端口0?則可作為計數(shù)器1和2的控制門,并可由控制寄存器11來進行設定;
In0-:計數(shù)器0輸入端(下降沿觸發(fā));
Out0?Out2:分別為計數(shù)器0和2的輸出端口;
+15V?模擬電源;
+5V:與PC/104擴展總線電源相連,用來提供+5V電源;
Agnd:模擬地;
Dgnd:數(shù)字地;
Diamond-MM-AT模塊通常占用16位地址空間。
3 硬件連接關系
Diamond模塊與PC/104處理器及傳感器的硬件連接框圖如圖3所示。 圖中?當傳感器測取待檢測信號并輸入調(diào)理板進行放大濾波處理后,即可將其調(diào)制到合適的電壓信號范圍,并輸入到Dia-mond-MM-AT模塊相應的I/O端口,然后由Dia-mond-MM-AT模塊將其轉(zhuǎn)換為所需要的數(shù)據(jù)量或模擬量,最后由PC/104處理器通過擴展總線控制讀寫數(shù)據(jù)的處理、顯示和存儲。其電源由PC/104總線提供,在Diamond-MM-AT模塊端口J1中,B1為GND,B3為+5V,B5為-5V,B7為-12V,B9為+12V。
4 數(shù)據(jù)采集應用程序
下面是以PC/104作處理器和Diamond-MM-AT模塊進行組合,以對檢測的模擬量信號進行A/D轉(zhuǎn)換的讀寫程序及對各控制寄存器的配置方法。筆者已在實踐中對該程序進行了測試,并已成
功運用到某測試工程設計中。
#define Base 0x300
Main Void{
union ?{ unsigned int m; unsigned char n[2];}T;
int dat[3000];?
int i, cd;
int freq=2000; 。 設定采樣頻率為2kHz;
outportb(Base+9, 0x83);。 允許中斷,由計數(shù)器觸發(fā);
outportb(Base+10, 0x08);?。 計數(shù)器1產(chǎn)生1MHz方波
outportb(Base+11, 0x05);? // A/D輸入范圍為0~5V
T.m=(int)(500000/ freq); // 0.5MHz/Freq求寫入記數(shù)器值;
outportb(Base+15,0x54);。 設定計數(shù)器1讀/寫低字節(jié);
outportb(Base+13,0x01);?。 向計數(shù)器1寫低字節(jié)(二分頻);
outportb(Base+15,0xb4);?。 設定計數(shù)器2先讀/寫低字節(jié),再讀/寫高字節(jié);
outportb(Base+14,T.n[0]);? // 向計數(shù)器2寫低字節(jié);
outportb(Base+14,T.n[1]);??// 向計數(shù)器2寫高字節(jié);
outportb(Base+2,0xcc); // 設定測取通道為C通道(即第12通道);
for(i=0;i<3000;i++) // 循環(huán)采集3000個數(shù)據(jù);
{
outportb(Base+1,0xff);? // 清除FIFO;
outportb(?Base+8,0xff); // 設定中斷寄存器8,等計數(shù)器觸發(fā);
while((inportb(Base+8)&0x10)==0x00); 。 等待A/D轉(zhuǎn)換結束;
cd=inportb(Base+0))// 讀取低八位數(shù)據(jù);
cd=cd/16; 。 數(shù)據(jù)右移四位,除去右四位的通道標志;
dat[i]=inportb(Base+1); // 讀取高八位數(shù)據(jù);
dat[i]=dat[i]*16; // 高八位數(shù)據(jù)左移四位;
dat[i]=dat[i]+cd; // 高八位與低四位相加即得A/D轉(zhuǎn)換結果12位數(shù)據(jù);
}
……
5 結束語
Diamond-MM-AT是標準的PC/104連接模塊,具有體積小,結構緊湊等優(yōu)點,并具有A/D、D/A、I/O轉(zhuǎn)換等多種功能。由于PC/104可支持高級語言編程,因此,程序開發(fā)和設計非常方便,可在很大程度上縮短開發(fā)時間?梢灶A見:隨著電子技術的發(fā)展,這種模塊化器件必將有著廣闊的發(fā)展應用前景。
【PC/104模塊Diamond-MM-AT的原理與應用】相關文章:
基于PC/104的多串口通訊的設計08-06
基于PC104總線的故障診斷裝置的設計08-06
VxWorks下PC/104-CAN驅(qū)動程序設計08-06
一種PC104溫度采集卡的設計08-06
NOKIA移動電話液晶顯示模塊LPH7366原理及其應用08-06
PC在程控鋸切機中的應用08-06
電解原理及其應用08-17