XC-1203? 12位16路A/D? 12位4路D/A?
16路開關量輸入? 16路開關量輸出?
多功能綜合板說明書
一、概述
XC-1203板是為PC104工業計算機設計的一種多功能綜合接口板。板上有12位單端16路模擬量輸入A/D、4路12位獨立模擬量電壓輸出D/A、16路TTL電平開關量輸入、16路TTL電平開關量輸出等多項功能。本板適用于各種工業現場的數據測量及控制,集成度高,功能強大,可靠性好,數據采集穩定,且價格低廉,深受用戶歡迎。符合PC104總線標準,占用連續8個I/O地址。A/D轉換芯片采用高性能的AD774芯片,D/A芯片采用BB7625。A/D? D/A有多量程輸入輸出, 給用戶使用帶來極大的方便。板卡采用4層印制板,表貼芯片,從而進一步提高了可靠性。模擬量芯片采用系統電源,用戶無須外接電源。
XC-1203模擬量輸入輸出及脈沖信號由J1 26芯IDC型頭接入接出,通過改變跳線器就可選擇A/D? D/A不同的電壓輸入輸出范圍。16路開關量輸入輸出信號由J2? 40 芯IDC接頭與現場連接,輸入輸出為TTL電平。本板占用8個I/O端口地址。
XC-1203具有極高的性能價格比,深受用戶歡迎。出廠時提供DOS下的測試程序和源程序代碼(TC3)。并提供兩年的質保服務。
要求用戶從PC104總線上提供+5V、±12V系統電源。
二、技術指標
1、A/D
? 輸入通道:單端16路
??轉換時間:10μS/100KHz
??A/D轉換分辨率:12位,AD774
??輸入量程:
單極性:0~5V,0~10V*
雙極性:±2.5V,±5V,±10V
??輸入阻抗:>10MΩ
??轉換誤差:<0.20%
??輸出碼制:
單極性為二進制原碼
雙極性為二進制偏移碼?
??工作方式:軟件查詢
??最大差動輸入值:20V
??由J1? 26芯IDC型頭接入? ??
?? I/O地址:190H~191H *
2、D/A
? 輸出通道:獨立4 路
??輸出信號范圍:0~5V;0~10V*;±5V;±10V
??輸出阻抗:≤2Ω
??D/A轉換器件:DAC7625
??D/A轉換分辨率:12位
??D/A轉換碼制:二進制原碼(單極性)
二進制偏移碼(雙極性)
??D/A轉換時間:≤1uS
??D/A轉換綜合誤差:
電壓方式:≤0.2﹪ FSR
電流方式:≤1﹪ FSR
??電壓輸出方式負載能力:5mA/每路
??由J1? 26芯IDC型頭接出
??I/O地址:194~197H*
?
3、DI/DO
??16路TTL電平開關量輸入,輸入范圍:0~5V
??16路TTL電平開關量輸出,輸出范圍:0~5V
??輸出帶鎖存,輸出電流≤2mA
??由J2? 40芯IDC插座接入接出
??I/O地址:192~193H*
4.尺寸大?。?/strong>符合標準的PC104總線尺寸
5.功耗:≤350mA,系統電源供電,要求有:+5V,±12V
注:打“*”為出廠配制
三、工作原理
1、工作原理簡述
XC-1203板主要由A/D、D/A轉換、開關量輸入/輸出、地址譯碼及邏輯控制等幾大部分組成。
(1)A/D 轉換
??16路輸入信號由DG506(多選數據開關)進行通道切換
??通道選擇由數據位D0~D3來決定
??通道選通地址是:BASE+0(BASE:板選基地址,以下同)
??運算放大器OP07接收來自DG506的電壓信號
??A/D轉換工作由AD774完成,轉換時間為10μS
??啟動A/D轉換地址是:BASE+1
??零點和增益由電位器P1、P1、P2調整
??輸入模擬量為單端共地電壓信號
??A/D輸出的12位數據格式為:
LSB:低八位數據

HSB:高4位數據

表1? A/D轉換數據格式(X為有效位)
? 讀A/D轉換高4位數據地址和轉換狀態是:BASE+1
??讀A/D轉換低8位數據和轉換狀態地址是:BASE+0
??在啟動AD774進行轉換后,可用下列方式之一判斷
AD774轉換是否結束。
①由于AD774轉換時間基本上是固定的,所以用程序空循環等待10μS后,便可讀取A/D的數據
②當啟動AD774轉換后,讀取基地址+1 的數據,判斷HSB? STA位是否為零,為1(其它位為上次數據值)表示AD774正在轉換;為0表示AD774轉換結束??上茸x取本次轉換的低8位數據,后讀取高4位數據。
??A/D占用連續2個I/O端口地址
??A/D輸入信號由J1? 26芯IDC型插座接入
(2)D/A轉換
XC-1203 板上有1片 DAC7625,該芯片轉換時間短,工作穩定,可靠性高。DAC7625 內含有 4 路獨立D/A,芯片內部具有上電自動清零電路,可實現單極性清零??刂齐娐愤x中哪路D/A,該 D/A 即從數據線上讀取數據并啟動D/A開始轉換,經過運放輸出。
XC-1203 電壓輸出方式較多,每一路D/A轉換之后都有輸出方式選擇電路,這樣每一個通道可以同時或分別輸出不同或相同的模擬量值(電壓或電流),且保持到下次轉換之前。電壓輸出時,不需要外接電源。電壓出量程由跳線器JP4~JP10來選擇。D/A占用4個連續地址(BASE+4~+7)。讀操作為啟動D/A轉換,寫操作為輸出數據。
D/A 12位數據格式為:
HSB:高四位數據??

LSB:低八位數據

表2? D/A轉換數據格式(X為有效位)
(3)16路TTL開關量輸入/輸出(DI/DO)
16路TTL開關量輸入DI,16路開關量輸出DO由J2? 40芯IDC接頭輸入/輸出,輸出帶鎖存。讀寫操作地址BASE+2~BASE+3H。DI/DO八位數據格式是:

表3? DI/O數據格式(X為有效位)
(4)地址譯碼、邏輯控制
本板連續占用8個I/O地址口,其中地址線 A0~A2由板上的GAL譯碼器占用,產生板上所需控制口地址,其余地址線 A3~A9 提供給 688 芯片,通過板上撥碼開關SW,用戶可以在地址 00H~3F0H 之間自由選擇本板的8個I/O基地址,以避開和其它I/O設備的地址沖突。出廠為 190-197H。數據輸入輸出由 74LS245 總控。
2.工作原理框圖:(圖1)

圖1:邏輯方框圖
四、使用方法
1.板基地址選擇
板基地址由地址線A3~A9決定,通過跳線開關SW進行選擇,當短接時,相應位為0,斷開時對應位為1。

表4? SW跳線開關設定表(出廠地址:190~197H)
2.I/O端口地址定義
XC-1203 占用8個I/O端口地址(XC-1203板卡的基地址,可自由設定。出廠時定義 Base =190H),各端口功能定義
如表5:

表5? ?I /O端口地址功能分配表
3.接口插座定義
J1是26芯IDC型插座,它是16路A/D輸入信號、4路D/A輸出信號的插座,見表6;J2 為40芯雙列直插IDC插座,它是16路DI/DO信號插座,見表7。

J1 管腳說明:
? ? 1)A/D單端信號正端接AD0~AD15,負端接AGND上。
? ? 2)D/A四路電壓輸出定義為DA0~DA3。
4.跳線器定義
本板由于功能強大,跳線器較多,請用戶注意。JP4~JP10跳線器:關于D/A轉換;JP1~JP3跳線器:關于A/D轉換
(1)A/D轉換跳線器:JP1~JP3
XC-1203提供多種輸入量程選擇,有單極性的0~5V, 0~10V;雙極性的±2.5V,±5V,±10V。不同量程的選擇由板上跳線器JP1-JP3的決定。JP3為兩針跳線器,如下表:

表10:模擬信號輸入量程的設置
(2)D/A轉換跳線器:JP4~JP10
D/A輸出電壓(0~5V;0~10V;±5V;±10V),由JP4-JP10選擇不同的電壓輸出。其中JP5、JP6為三針跳線器,JP4、JP7-JP10為兩針跳線器,具體的使用如下:

表11:模擬信號輸出量程的設置
5.A/D轉換
? 通道選擇(寫BASE+0)
? ?板上的通道選擇由寫基地址+0給出,使用數據線的D0~D3位,單端為0~15,16路,相應的數據對應相應通道號。
? ?OUT (BASE+0),N;選通第N通道,N為0-15
??
??啟動A/D轉換(寫BASE+1)
? ?向地址BASE+1寫操作,啟動A/D轉換
? ?OUT (BASE+1),0
??
??讀數據高4位,并判斷A/D轉換是否完成(讀BASE+1)
? ?IN? ?AH,(BASE+1)
? ?AH八位二進制數據中,第八位判斷A/D轉換是否完成:
? ?=0:A/D轉換完成;=1:A/D轉換未完成。
? ?第一至第四位是A/D轉換的高四位數據。
??讀A/D轉換低八位數據(讀BASE+0)
? ?IN? AL,(BASE+0)
? ?AL中是A/D轉換的高八位數據
??A/D轉換碼制及對應關系
? ?A/D的電壓量程為單極性,其對應關系為:
? ?0~5V: 模擬電壓值=數碼(12位) × 5 / 4095 (V)
? ?0~10V:模擬電壓值=數碼(12位) × 10 / 4095 (V)
? ?A/D的電壓量程為雙極性,對應關系為:
? ?±2.5V:模擬電壓值=數碼(12位) ×5 / 4095 - 2.5(V)
? ?±5V:? 模擬電壓值=數碼(12位) ×10 / 4095 - 5 (V)
? ?±10V: 模擬電壓值=數碼(12位) ×20 / 4095 -10(V)
??零點及增益調節?
電位器P2、P3用于調整雙極性和單極性增益,P1用于調整零點,調整順序是先調零點,后調增益。每次改變量程后應重新調整零點和增益。
??雙極性調節
先調零點:將輸入信號正負端接地,運行采集程序,調節P1,使輸出結果在07FEH-0801H之間。再調增益:將輸入信號接上一個穩定的電壓信號(如干電池),運行采集程序,調節P2使輸入信號電壓值與對應的顯示結果相吻合。建議選擇3/4滿度或常出現的電壓區間內的點來調整增益。
??單極性調節
調零點:將輸入信號端接地,運行采集程序,調節P1,顯示結果在0000H-0002H之間。調增益P3:方法與雙極性調增益方法相同。應注意的是輸入信號必須接在正端,負端都接地。單端輸入信號為16路,信號的正端接在AD(00~15)上,所有信號的負端接在AGND上。
注:未用的A/D通道不可懸空,應接地。
6.D/A轉換
? 零點及增益調節
本板出廠前,已按照單極性0~10V輸出調整好,一般情況下用戶不需要進行調節。如果用戶改變了工作方式及范圍,可按本節所述方法進行調整。調整時應開機3分鐘左右,待各部分電路處于穩定工作狀態之后再調整,并選擇4 ?位以上的數字萬用表。
各電位器功能說明:
P12 為-2.5V基準源輸出精度調節;
P4 為D/A0零點調節;P5 為D/A0滿度調節;
P6 為D/A1零點調節;P7 為D/A1滿度調節;
P8 為D/A2零點調節;P9 為D/A2滿度調節;
P10 為D/A3零點調節;P11 為D/A3滿度調節;
??模出調整
凡改變模出的工作方式和量程范圍后,如果輸出結果誤差加大時,需對模出進行調整。調整時需要注意,一般情況下不需要調整零點,應該首先進行滿度調整。尤其是由0~10V方式改變為0~5V方式時,更應該進行此項調整。待滿度調整零點完畢后在觀察零點情況并決定是否進行調整。具體調整方式如下:
a.基準源的調整:LM336 基準是為雙極性電壓方式提供偏移基準的。如果用戶采用±5V或±10V方式輸出時,可用電壓表測量OP07的OUT端(第六腳),調節P12使該腳等于-2.5V。
b.零點調整:在單極性方式或雙極性輸出方式時,分別測量調整P4、P6、P8、P10使其偏差最小。
c. 電壓輸出方式滿度調整:在零點調整正常情況下,如果滿度偏差較大,可分別調整P5、P7、P9、P11,使滿度符合要求。
??寫D/A轉換數據格式
D/A轉換二進制寫數據格式見下表(‘×’代表任意值)

端口地址D7D6D5D4D3D2D1D0定義
BASE+4DB7DB6DB5DB4DB3DB2DB1DB0低八位數據
BASE+5XXXXDB11DB10DB9DB8高四位數據
??D/A轉換碼制及對應關系
A.單極性方式工作時,寫12位數碼為二進制原碼。其數碼與模擬量電壓值的對應關系為:
模擬電壓值=數碼(12位)×RANGE(V)/4095 (V)
說明:0~10V量程時RANGE等于10;
0~5V量程時RANGE等于5V
B.雙極性方式工作時,寫12位數據時,數碼為二進制偏移碼。此時12位數碼的最高位為符號位,‘0’表示負,‘1’表示正。其數碼與模擬電壓值之間的對應關系為:
模擬電壓值=數碼(12位)×RANGE1(V)/4095-RANGE2(V)
說明:-10~10V量程時RANGE1=20? ?RANGE2=10;
-5~5V量程時RANGE1=10? ?RANGE2=5;
五、windows軟件(面向對象編程)
XC-1203的軟件包括XC-1203驅動程序,動態連接庫及調用例程。
5.1、驅動安裝
雙擊運行批處理win.bat(路徑均為:光盤\XC1203\driver),安裝非常簡單,安裝完成后請重啟計算機。如果在同一臺機器插有我方的兩塊或多塊板卡,驅動也只需要安裝一次。但要確保各板卡的地址不要沖突。
5.2、驅動的卸載
雙擊運行批處理winunstall.bat(路徑均為:光盤\XC1203\driver),卸載非常簡單,完成后請重啟計算機。
5.3、測試程序
提供測試程序為VB編寫,可對XC-1203卡的所有功能進行測試。用戶可參照例程自行編程。
5.4、函數調用說明
提供動態鏈接庫作為調用接口,它所封裝的函數可以在應用程序運行時調用。任意一種可以調用DLL 鏈接庫的編程工具均可進行編程。下列函數為 DLL函數原型,請注意數據格式的匹配及函數的返回類型。
5.5.1 設備操作部分
初始化設備:
函數:int? WINAPI xc1203init()
功能:初始化XC1203卡?
參數:無
返回值: +1? 返回+1,表示初始化設備成功
? ? ? ? ? ? ? ?-1? 返回-1,表示初始化設備失敗
關閉設備:
函數:void? WINAPI xc1203close()
功能:關閉XC1203卡
參數:無
返回值:無
5.5.2、AD轉換函數
函數:int WINAPI xc1203ad(int port,UCHAR adch);//port為首地址
功能:AD轉換
參數:port首地址。
參數:adch通道(0-15)。
返回值:0-4095
5.5.3、DA轉換函數
函數:void? WINAPI xc1203da(int port,int dadata,UCHAR dach)
功能:DA轉換
參數:port首地址。
參數:dadata 要送的數據。
參數:dach通道(0-3)。
無返回值
5.5.4、數字量輸入函數
函數:int? WINAPI xc1203di(int port,UCHAR dich)
功能:數字量輸入
參數:port首地址。
參數:dich通道(0-1)。
返回值:0-255
5.5.5、數字量輸出函數
函數:void? WINAPI xc1203do(int port,int dodata,UCHAR doch)
功能:數字量輸出
參數:port首地址。
參數:dodata 要送的數據。
參數:doch通道(0-1)。
無返回值
5.5.6、微秒延時函數
函數:void WINAPI DelayUs(int dly)//微秒延時函數
功能:微秒延時
參數:dly? ?指定需要延時的微秒數。
無返回值
5.5.7、獲得DLL版本號函數
函數:double? WINAPI? xc_GetVersion( )??
//功能:獲得DLL版本號,
//返回版本號
5.5.7 直接讀寫函數
int? WINAPI xcpcread(int port)
void? WINAPI xcpcwrite(int port,int data)
參數意義同上。高級用戶可利用這兩個函數直接對XC1203進行I/O操作!使用之前也需要先初始化板卡,使用后也要調用關閉函數關閉板卡。
5.8、函數調用注意事項
調用函數的正確順序為:
1.初始化,注冊設備。
2.對板卡進行訪問,可進行D/A輸出操作。
3.關閉設備。
4.? DLL函數全部是WINAPI調用約定的,即__stdcall接口
在使用各種編程語言時應注意選擇,
Visual C++/C++ Builder/Delphi
可以使用兩種類型的調用約定。要在函數定義中明確指出__stdcall 還是__cdecl;
Visual Basic/PowerBuilder等語言
應該使用__stdcall調用接口。
六、維修服務
6.1 產品完整性
XC1203產品應包括以下內容,請檢查其完整性
1.XC1203卡一塊。(貼有出廠日期)
2.40芯、26芯IDC壓線頭各1個。
3.軟件光盤一張(含驅動軟件及說明書)。
6.2 維修
本產品自售出之日起兩年內,凡用戶正確使用下,出現產品質量問題的,免費維修。(出廠日期的貼條撕毀無效)因違反操作規定和要求而造成損壞的,收取元器件成本費和維修費。
6.3 服務
當您購買XC1203之后,軟、硬件及其它技術上使用問題均可通過電話或E-mail與我們聯系,我們將提供令您滿意的服務。
七、PC機端口分布圖
