摘 要:拉力試驗機的測量部分要求采集的數(shù)據(jù)精度高,模/數(shù)轉(zhuǎn)換速度快,針對這一要求,介紹了一種用于數(shù)據(jù)采集的芯片CS5530_F1。通過分析它的性能特點,設(shè)計了CS5530_F1在數(shù)據(jù)采集中的硬件電路,重點研究了用CS5530_F1采集數(shù)據(jù)的編程方法。實驗證明,CS5530_F1采集的數(shù)據(jù)精度高,速度快,效果好。這里采用24位的數(shù)據(jù)采集芯片,大大提高了數(shù)據(jù)精度和轉(zhuǎn)換速度。
關(guān)鍵詞:拉力試驗機;數(shù)據(jù)采集;CS5530_F1;數(shù)/模轉(zhuǎn)換
中圖分類號:TP368.1文獻標識碼:A
文章編號:1004-373X(2010)06-189-03
Application of A/D Converter CS5530_F1 in Studying Pulling Force Test Machine
CHEN Zhongmou,GAO Longqin
(Mechanical Engineering Institute,Yangzhou University,Yangzhou,225009,China)
Abstract:The collected data must be accurate,and analog to digital converts quickly,according to the measurement of pulling force test machine,it is recommended for dataacquisition chip of CS5530_F1.After analysing its functions,the hardware circuit of data acquisition is designed,the program is highly researched.It is proved that the data is accurate,quick,and very good.Using a 24 bits data acquisition chip,the accuracy and convertion speed are sthengthened.
Keywords:pulling force test machine;data acquisition;CS5530_F1;A/D conversion
拉力試驗機是通過拉伸來檢測金屬材料、非金屬材料、零部件、構(gòu)件的強度、剛度、彈性、塑性、韌性、延展性的基礎(chǔ)試驗裝置, 拉力試驗機所測定的試驗數(shù)據(jù)是從事工程設(shè)計和保證產(chǎn)品安全工作的依據(jù)。現(xiàn)代新型材料層出不窮,為了探索新型材料在各種復雜環(huán)境(高溫、高壓、真空、腐蝕等)下的具體參數(shù),需要進行精確的抗拉強度試驗,以便得到較好的機械性能、工藝性能、結(jié)構(gòu)強度,從而控制產(chǎn)品的質(zhì)量。模/數(shù)轉(zhuǎn)換器的選取和合理使用對于提高拉力試驗機測量材料中力值性能、變形性能的精度至關(guān)重要。在進行拉力試驗機測控系統(tǒng)的課題研究中,使用了24位數(shù)據(jù)采集模/數(shù)轉(zhuǎn)換芯片CS5530_F1。
1 CS5530_F1簡介
1.1 主要技術(shù)參數(shù)
主要技術(shù)參數(shù)為高精度,24 位數(shù)據(jù)輸出,0.0015%非線性誤差;Δ-Σ模/數(shù)轉(zhuǎn)換結(jié)構(gòu),噪聲小,抗干擾能力強;三線制串行接口,可靈活與微處理機或SPI連接;內(nèi)設(shè)濾波器和程控放大器,其放大器增益為64,可直接連接力值傳感器或應(yīng)變傳感器;字節(jié)傳輸速率從6.25~3 840 S/s;電源供電50或60 Hz,分別有三種供電方式:VA+=5V,VA-=0 V,VD+為3~5 V;VA+=2.5 V,VA-=-2.5 V,VD+為3~5 V;VA+=3 V,VA-=-3 V,VD+=3 V;參考電壓VREF最高不超過模擬電壓VA;內(nèi)設(shè)偏移、增益標定寄存器。
1.2 外部管腳性能
CS5530_F1為20 腳DIP 封裝,引腳排列見圖1 。
圖1 CS5530_F1外部管腳圖
AIN1+,AIN1-為差分模擬信號輸入端;C1,C2為內(nèi)部測量放大器外接電容端;VA+,VA-為正負模擬電源端;A1,A0為外部通道開關(guān)選擇線;OSC1,OSC2為外部時鐘晶振連接端;SCLK為串行時鐘輸入端;SDO為串行數(shù)據(jù)輸出端;SDI為串行數(shù)據(jù)輸入端;CS為片選信號端,低電平有效;VD+為正數(shù)字電源端;DGND為數(shù)字信號地;VREF+,VREF-為差分參考輸入端;NC為空端。
1.3 內(nèi)部結(jié)構(gòu)功能
CS5530_F1內(nèi)部結(jié)構(gòu)如圖2所示,芯片內(nèi)共有命令、功能設(shè)置、偏移、增益、數(shù)據(jù)轉(zhuǎn)換等五個寄存器。
圖2 CS5530_F1內(nèi)部結(jié)構(gòu)圖
命令寄存器為8 位,可讀/寫。每次對CS5530_F1的訪問都必須先向此寄存器寫入命令字。寫入的命令字決定下一步操作是針對偏移、增益、數(shù)據(jù)轉(zhuǎn)換、功能設(shè)置中哪一個寄存器,是讀操作還是寫操作。通過該寄存器還可以完成偏移、增益的標定,發(fā)送初始化所需要的脈沖序列。功能設(shè)置寄存器為32位,可讀/寫。該寄存器功能強大,負責A/D各種模式的設(shè)置。對其讀/寫必須先寫命令寄存器。偏移寄存器為32位,可讀/寫,芯片初始化時可完成數(shù)據(jù)偏移量的修正。增益寄存器為32位,可讀/寫,芯片初始化時完成模擬輸入數(shù)據(jù)增益的確定。數(shù)據(jù)轉(zhuǎn)換寄存器為32位,只讀,前24位為轉(zhuǎn)換的數(shù)據(jù),后8位為數(shù)據(jù)溢出標志。
2 CS5530_F1在拉力試驗機中的應(yīng)用
2.1 硬件電路
拉力試驗機采用上、下位機結(jié)構(gòu),上位機采用PC機進行數(shù)據(jù)處理和圖表制作。下位機采用單片機進行力值、形變位移數(shù)據(jù)的實時采集及電機的正反轉(zhuǎn)速度控制,單片機與PC機之間采用RS 232通信。CS5530_F1負責載荷力和試樣變形量的智能化A/D采樣,要求具有比較強的實時數(shù)據(jù)采集能力,數(shù)據(jù)精確可靠。CS5530_F1與力值傳感器有三種接法:0~5 V,-2.5~+2.5 V,-3~+3 V,每一種接法都有對應(yīng)的參考電壓VREF。為了消除輸入干擾信號,在兩個差分輸入端接有RC濾波元件。由于CS5530_F1是串行A/D,與微處理機接口十分方便。CS5530_F1與Intel52系列單片機的接法如圖3所示,只需三線連接。時鐘信號由程序產(chǎn)生,P1.7口當I/O口使用。
用圖3的連接方式,在程序編寫中要注意讀/寫的時序。寫寄存器時,先寫入8位寫命令字,跟隨8個時鐘脈沖;然后再寫入32位數(shù)據(jù),跟隨32個時鐘脈沖。讀寄存器時,先寫入8位讀命令字,此時輸出數(shù)據(jù)線SDO為高電平,然后再讀入32位數(shù)據(jù)。讀/寫數(shù)據(jù)都是高位在前,特別是在讀數(shù)據(jù)轉(zhuǎn)換寄存器時,先寫入8位數(shù)據(jù)轉(zhuǎn)換方式,此時輸出線SDO為高電平;再將輸出線SDO拉低,輸入線SDI保持8個時鐘低電平,然后讀出32位數(shù)據(jù)。CS5530_F1的基本讀/寫時序如圖4所示。時鐘信號SCLK 在片選信號CS為低電平時才能控制串口數(shù)據(jù)的進出,片選信號CS為高電平時輸出線SDO為高阻狀態(tài)。
圖3 CS5530_F1實際應(yīng)用硬件圖
圖4 CS5530_F1基本讀寫時序
2.2 軟件程序
CS5530_F1采集數(shù)據(jù)程序如圖5所示。
圖5 CS5530_F1采集數(shù)據(jù)程序流程圖
CS5530_F1沒有上電復位功能,這一點特別要注意,只能通過設(shè)置寄存器進行軟件復位,復位分命令方式和設(shè)置方式兩種。用命令方式復位至少要發(fā)送15個SYNC1命令字(0XFF),一個SYNC0命令字(0XFE)。用設(shè)置方式復位,先要向設(shè)置寄存器RS位(Reset System)寫1,此時復位標志位RV(Reset Valid)被置1;等待8個SCLKS再向RS位寫0,注意通過讀設(shè)置寄存器方能使復位標志位RV被清零。復位工作完成后,才能進行其他寄存器的讀/寫操作。CS5530_F1復位完成后,通過軟件程序設(shè)置內(nèi)部偏移、增益、方式等各寄存器的初始值,先寫進入各寄存器的命令字,再寫32位初始值。完成初始化工作后,CS5530_F1開始工作,但為了采集數(shù)據(jù)的準確性,必須通過編程完成數(shù)據(jù)偏移和數(shù)據(jù)增益的標定工作,這樣讀出來的數(shù)據(jù)才不會有錯誤。標定程序則通過命令寄存器寫入標定命令字即可。
所有準備工作完成后,才能進行數(shù)據(jù)采集,采集的數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換方能讀入單片機。A/D轉(zhuǎn)換方式有兩種,單個轉(zhuǎn)換和連續(xù)轉(zhuǎn)換,通過寫命令寄存器來完成這一程序。最后通過讀程序?qū)⒉杉降臄?shù)據(jù)存儲起來,在編寫讀程序時,先寫入8位數(shù)據(jù)轉(zhuǎn)換方式命令字,注意必須等待8個SCLKS后才能讀數(shù)據(jù)轉(zhuǎn)換寄存器,否則讀出來的數(shù)據(jù)會有差錯。遵循上述思路,編寫CS5530_F1在拉力試驗機數(shù)據(jù)采集中的程序框架如下,采用Franklin-C51編譯器支持的擴展C語言進行編寫 。
/* 主程序 */
void main( )
{ void CommandMode(void) /*命令方式復位程序 */
void ResetADC(void)/* 設(shè)置方式復位程序 */
void InitAdcForce(void) /* 初始化程序 */
void Calibration(void) /* 數(shù)據(jù)偏移、數(shù)據(jù)增益標定程序 */
void Start_AD_CC(void) /* 數(shù)據(jù)轉(zhuǎn)換啟動程序 */
void Read_AD_SC(void) } /* 讀轉(zhuǎn)換數(shù)據(jù)程序 */
/* 復位程序 */
void CommandMode(void)
{ idata int i;
SDI=1;
for(i=0;i<255;i++)
{ SCLK=1;
SCLK=0; }
SDI=0;
SCLK=1;
SCLK=0; }
void ResetADC(void)
{ /* 寫設(shè)置方式寄存器使RS=1 */
/* 寫設(shè)置方式寄存器使RS=0 */
/* 讀設(shè)置方式寄存器使RV被清零 */
}…
/* 讀數(shù)據(jù)程序 */
void Read_AD_SC(void)
{ idata int i;
do {{
}while(0!=SDO);
SDI=0;
SCLK =1;
for (i=0;i<8;i++)
{ SCLK=1;
SCLK=0; }
ReadDataReg( );/* 讀32位輸出數(shù)據(jù)*/ }
/* 讀8位串口輸出數(shù)據(jù)*/
uchar ReadByte(void)
{ bit bData;
uchar ucLoop;
uchar ucData=0x00;
for(ucLoop=0;ucLoop<8;ucLoop++)
{bData=SDO;
ucData<<=1;
if(bData)
{ucData=ucData+0x01;}
SCLK=1;
SCLK=0; }
return (ucData); }
/* 寫8位串口輸入數(shù)據(jù)*/
void WriteByte(uchar ucData)
{ uchar ucLoop;
SCLK=0;
for(ucLoop=0;ucLoop<8;ucLoop++)
{if((ucData0x80)==0)
SDI=0;
Else
SDI=1;
ucData<<=1;
SCLK=1;
SCLK=0; }
}
3 結(jié) 語
實驗結(jié)果證明,CS5530_F1作為一種24位高精度、快速度A/D轉(zhuǎn)換器,在研究拉力試驗機的測控系統(tǒng)中取得了較好的效果。
參考文獻
[1]張世兵,曹繼光,李頂根.液壓萬能材料試驗機油路部分改造和數(shù)據(jù)庫聯(lián)網(wǎng)功能實現(xiàn)[J].試驗技術(shù)與試驗機,2004(1):22-24.
[2]張小萍,張偉平,張偉東.電子試驗機調(diào)速系統(tǒng)的微機改造[J].新技術(shù)新工藝,2003(7):9-11.
[3]卞吉.實用型微控式電子拉力機[J].中國橡膠,2003,19(9):26-27.
[4]謝鋒,黃克強,吳明光,等.AD7715 模/數(shù)轉(zhuǎn)換器在分布式無紙記錄儀中的應(yīng)用[J].電子技術(shù)應(yīng)用,1999(1):61-63.
[5]王荍,王舉,勾穎.基于AD7703的力值測量與控制[J].中國炊具,2005(3):14-16.
[6]石磊,賀定球,王利猛.一種基于單片機的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].電測與儀表,2005,12(1):53-54,16.
[7]李彥偉,王殊.基于DSP和CPLD的低功耗多路數(shù)據(jù)處理系統(tǒng)設(shè)計[J].電子設(shè)計應(yīng)用,2006(12):133-135.
[8]馬忠梅.單片機的C 語言應(yīng)用程序設(shè)計[M].北京:北京航空航天大學出版社,2002.
[9]胡大可,李培弘,方路平.基于單片機8051的嵌入式開發(fā)指南[M].北京:電子工業(yè)出版社,2003.
[10]譚浩強.C程序設(shè)計[M].北京:清華大學出版社,2004.