1 CS5530_F1簡(jiǎn)介
1.1 主要技術(shù)參數(shù)
主要技術(shù)參數(shù)為高精度,24 位數(shù)據(jù)輸出,0.0015%非線性誤差;Δ-Σ模/數(shù)轉(zhuǎn)換結(jié)構(gòu),噪聲小,抗干擾能力強(qiáng);三線制串行接口,可靈活與微處理機(jī)或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高不超過(guò)模擬電壓VA;內(nèi)設(shè)偏移、增益標(biāo)定寄存器。
1.2 外部管腳性能
CS5530_F1為20 腳DIP 封裝,引腳排列見圖1 。
圖1 CS5530_F1外部管腳圖
AIN1+,AIN1-為差分模擬信號(hào)輸入端;C1,C2為內(nèi)部測(cè)量放大器外接電容端;VA+,VA-為正負(fù)模擬電源端;A1,A0為外部通道開關(guān)選擇線;OSC1,OSC2為外部時(shí)鐘晶振連接端;SCLK為串行時(shí)鐘輸入端;SDO為串行數(shù)據(jù)輸出端;SDI為串行數(shù)據(jù)輸入端;CS為片選信號(hào)端,低電平有效;VD+為正數(shù)字電源端;DGND為數(shù)字信號(hào)地;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)換等五個(gè)寄存器。
圖2 CS5530_F1內(nèi)部結(jié)構(gòu)圖
命令寄存器為8 位,可讀/寫。每次對(duì)CS5530_F1的訪問(wèn)都必須先向此寄存器寫入命令字。寫入的命令字決定下一步操作是針對(duì)偏移、增益、數(shù)據(jù)轉(zhuǎn)換、功能設(shè)置中哪一個(gè)寄存器,是讀操作還是寫操作。通過(guò)該寄存器還可以完成偏移、增益的標(biāo)定,發(fā)送初始化所需要的脈沖序列。功能設(shè)置寄存器為32位,可讀/寫。該寄存器功能強(qiáng)大,負(fù)責(zé)A/D各種模式的設(shè)置。對(duì)其讀/寫必須先寫命令寄存器。偏移寄存器為32位,可讀/寫,芯片初始化時(shí)可完成數(shù)據(jù)偏移量的修正。增益寄存器為32位,可讀/寫,芯片初始化時(shí)完成模擬輸入數(shù)據(jù)增益的確定。數(shù)據(jù)轉(zhuǎn)換寄存器為32位,只讀,前24位為轉(zhuǎn)換的數(shù)據(jù),后8位為數(shù)據(jù)溢出標(biāo)志。
2 CS5530_F1在拉力試驗(yàn)機(jī)中的應(yīng)用
2.1 硬件電路
拉力試驗(yàn)機(jī)采用上、下位機(jī)結(jié)構(gòu),上位機(jī)采用PC機(jī)進(jìn)行數(shù)據(jù)處理和圖表制作。下位機(jī)采用單片機(jī)進(jìn)行力值、形變位移數(shù)據(jù)的實(shí)時(shí)采集及電機(jī)的正反轉(zhuǎn)速度控制,單片機(jī)與PC機(jī)之間采用RS 232通信。CS5530_F1負(fù)責(zé)載荷力和試樣變形量的智能化A/D采樣,要求具有比較強(qiáng)的實(shí)時(shí)數(shù)據(jù)采集能力,數(shù)據(jù)**可靠。CS5530_F1與力值傳感器有三種接法:0~5 V,-2.5~+2.5 V,-3~+3 V,每一種接法都有對(duì)應(yīng)的參考電壓VREF。為了消除輸入干擾信號(hào),在兩個(gè)差分輸入端接有RC濾波元件。由于CS5530_F1是串行A/D,與微處理機(jī)接口十分方便。CS5530_F1與Intel52系列單片機(jī)的接法如圖3所示,只需三線連接。時(shí)鐘信號(hào)由程序產(chǎn)生,P1.7口當(dāng)I/O口使用。
用圖3的連接方式,在程序編寫中要注意讀/寫的時(shí)序。寫寄存器時(shí),先寫入8位寫命令字,跟隨8個(gè)時(shí)鐘脈沖;然后再寫入32位數(shù)據(jù),跟隨32個(gè)時(shí)鐘脈沖。讀寄存器時(shí),先寫入8位讀命令字,此時(shí)輸出數(shù)據(jù)線SDO為高電平,然后再讀入32位數(shù)據(jù)。讀/寫數(shù)據(jù)都是高位在前,特別是在讀數(shù)據(jù)轉(zhuǎn)換寄存器時(shí),先寫入8位數(shù)據(jù)轉(zhuǎn)換方式,此時(shí)輸出線SDO為高電平;再將輸出線SDO拉低,輸入線SDI保持8個(gè)時(shí)鐘低電平,然后讀出32位數(shù)據(jù)。CS5530_F1的基本讀/寫時(shí)序如圖4所示。時(shí)鐘信號(hào)SCLK 在片選信號(hào)CS為低電平時(shí)才能控制串口數(shù)據(jù)的進(jìn)出,片選信號(hào)CS為高電平時(shí)輸出線SDO為高阻狀態(tài)。
圖3 CS5530_F1實(shí)際應(yīng)用硬件圖
圖4 CS5530_F1基本讀寫時(shí)序
2.2 軟件程序
CS5530_F1采集數(shù)據(jù)程序如圖5所示。
圖5 CS5530_F1采集數(shù)據(jù)程序流程圖
CS5530_F1沒(méi)有上電復(fù)位功能,這一點(diǎn)特別要注意,只能通過(guò)設(shè)置寄存器進(jìn)行軟件復(fù)位,復(fù)位分命令方式和設(shè)置方式兩種。用命令方式復(fù)位至少要發(fā)送15個(gè)SYNC1命令字(0XFF),一個(gè)SYNC0命令字(0XFE)。用設(shè)置方式復(fù)位,先要向設(shè)置寄存器RS位(Reset System)寫1,此時(shí)復(fù)位標(biāo)志位RV(Reset Valid)被置1;等待8個(gè)SCLKS再向RS位寫0,注意通過(guò)讀設(shè)置寄存器方能使復(fù)位標(biāo)志位RV被清零。復(fù)位工作完成后,才能進(jìn)行其他寄存器的讀/寫操作。CS5530_F1復(fù)位完成后,通過(guò)軟件程序設(shè)置內(nèi)部偏移、增益、方式等各寄存器的初始值,先寫進(jìn)入各寄存器的命令字,再寫32位初始值。完成初始化工作后,CS5530_F1開始工作,但為了采集數(shù)據(jù)的準(zhǔn)確性,必須通過(guò)編程完成數(shù)據(jù)偏移和數(shù)據(jù)增益的標(biāo)定工作,這樣讀出來(lái)的數(shù)據(jù)才不會(huì)有錯(cuò)誤。標(biāo)定程序則通過(guò)命令寄存器寫入標(biāo)定命令字即可。