国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

分布式遠(yuǎn)程模擬量信號采集系統(tǒng)設(shè)計(jì)

2019-03-28 07:42:50崔永俊李康康楊衛(wèi)鵬喬帥雅
儀表技術(shù)與傳感器 2019年2期
關(guān)鍵詞:通信協(xié)議寄存器命令

崔永俊,張 祥,劉 坤,李康康,楊衛(wèi)鵬,喬帥雅

(1.中北大學(xué),電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西太原 030051;2.山西一建集團(tuán)有限公司,山西太原 030000)

0 引言

在工業(yè)生產(chǎn)和航天航空領(lǐng)域,大型自動化設(shè)備普遍被使用,作業(yè)環(huán)境的惡劣,往往會危及到設(shè)備的運(yùn)行和工作人員的人身安全,所以實(shí)時(shí)監(jiān)測一些外界的物理量參數(shù)如電壓、壓力、溫度、光強(qiáng)等是必不可少的。在某些測試環(huán)境中面臨大面積采集、長距離傳輸及精度要求高的問題,傳統(tǒng)的采集測試方案著重單一區(qū)域,其傳輸距離短,精度偏低,不足以適應(yīng)大型遠(yuǎn)程高精度測試的需求,為解決這類問題,本設(shè)計(jì)提出了以RS485總線為主線,總分結(jié)構(gòu)的方案,分布式的設(shè)計(jì)拓展了采集的節(jié)點(diǎn)數(shù),適合大范圍使用,其中一個節(jié)點(diǎn)采集通道數(shù)目的增多,也使單一區(qū)域數(shù)據(jù)采集面更詳細(xì)均勻,高精度前端模數(shù)轉(zhuǎn)換采集芯片ADS1258提高了采樣精度,其自循環(huán)通道掃描功能省去了傳統(tǒng)多通道的開關(guān)選通電路,簡化了電路設(shè)計(jì)[1]。另外,系統(tǒng)通過阻抗匹配提升了總線數(shù)據(jù)長距離傳輸抗干擾能力,實(shí)現(xiàn)了遠(yuǎn)距離穩(wěn)定傳輸。

1 整體方案設(shè)計(jì)

根據(jù)需求,設(shè)計(jì)的模擬信號輸入量程范圍為0~5 V,頻率范圍在1 kHz以內(nèi)的交流信號及直流信號,采集精度要求大于16位;每個節(jié)點(diǎn)的通道數(shù)大于12路。所以選用了AD轉(zhuǎn)換芯片ADS1258,其輸入量程范圍為0~5 V;精度24位;支持單節(jié)點(diǎn)16路通道;每通道采樣頻率23.7 kS/s滿足設(shè)計(jì)要求且冗余[2]。總線要求節(jié)點(diǎn)數(shù)為12個;傳輸速率20 Mbps,傳輸距離500 m。所以選用基于RS485總線搭建有線數(shù)據(jù)采集網(wǎng)絡(luò),最遠(yuǎn)傳輸距離1 200 m,隔離式收發(fā)器ISO1176T芯片作為RS485總線芯片,傳輸速率可高達(dá)20 Mbps以上,能支持32個節(jié)點(diǎn)。整體結(jié)構(gòu)框圖如圖1所示。

系統(tǒng)的工作流程:

(1)上位機(jī)通過W5300網(wǎng)口發(fā)送命令給背板,背板對命令進(jìn)行解析與重組后發(fā)送給總節(jié)點(diǎn);

(2)總節(jié)點(diǎn)接收到命令之后,將命令送至RS485總線上;

(3)12個分節(jié)點(diǎn)分別接收RS485總線上的命令并對其解析匹配;

(4)命令匹配成功的分節(jié)點(diǎn)配置數(shù)據(jù)轉(zhuǎn)換寄存器,并開始采集與轉(zhuǎn)換;

(5)采集轉(zhuǎn)換完一次,分節(jié)點(diǎn)將轉(zhuǎn)換結(jié)果打包成數(shù)據(jù)包發(fā)送至RS485總線上;

(6)總節(jié)點(diǎn)讀取總線上的數(shù)據(jù),再經(jīng)SPI總線發(fā)至背板;

(7)背板將數(shù)據(jù)重新組合,通過W5300網(wǎng)口上傳給上位機(jī)保存和顯示。在發(fā)送過程中,上位機(jī)每次只發(fā)命令給一個分節(jié)點(diǎn),在接收過程中,總節(jié)點(diǎn)一次只接收一個分節(jié)點(diǎn)的數(shù)據(jù),其他節(jié)點(diǎn)保持靜默,有效避免了RS485總線上的數(shù)據(jù)沖突的現(xiàn)象[3]。

2 硬件設(shè)計(jì)

2.1 模數(shù)轉(zhuǎn)換模塊設(shè)計(jì)

模數(shù)轉(zhuǎn)換芯片選用高精度芯片ADS1258。該芯片具有較高的轉(zhuǎn)換精度,快速的采樣轉(zhuǎn)換頻率,而且轉(zhuǎn)換通道多,采樣頻率可靈活配置。模數(shù)轉(zhuǎn)換芯片的電路連接如圖2所示。

將ADS1258模數(shù)轉(zhuǎn)換芯片的CLKSEL時(shí)鐘選擇引腳接3.3 V拉高,引腳XTAL1與XTAL2間不接外部晶振,而是從引腳CLKIO輸入FPGA控制芯片產(chǎn)生的16 MHz時(shí)鐘信號。ADS1258的SPI引腳AD_SCLK、AD_DIN、AD_DOUT、AD_CS引腳,經(jīng)22 Ω排阻后與FPGA控制芯片連接,用以配置其內(nèi)部寄存器,引腳AD_START、AD_RESET、AD_/DRDY、AD_PWDN經(jīng)22 Ω排阻與FPGA控制芯片連接,分別控制轉(zhuǎn)換開閉、復(fù)位、數(shù)據(jù)轉(zhuǎn)換完成及低功耗設(shè)置。在MUXOUTP、MUXOUTN與ADCINP、ADCINN間分別接運(yùn)放365用以控制其內(nèi)部轉(zhuǎn)換器的延時(shí)時(shí)間,目的是保證中途切換到一個新通道而新的轉(zhuǎn)換還沒開始的間隔時(shí)間[4]。

另外,ADS1258芯片有3處供電:

(1)數(shù)字部分是與FPGA連接,DVDD接3.3 V,DGND接數(shù)字地;

(2)模擬部分AVDD采用0~5 V供電,供電電壓與采集的模擬信號電壓范圍相關(guān),AVSS接模擬地;

(3)參考電壓:VREF=VREFP-VREFN,因?yàn)閰⒖茧妷旱姆€(wěn)定性關(guān)系到芯片采集精度,設(shè)計(jì)以高精度基準(zhǔn)穩(wěn)壓芯片AD586產(chǎn)生5 V電壓作為參考電壓輸入,精度達(dá) 2 mV,且具有較低的噪聲漂移性[5]。

2.2 RS485總線抗干擾與失效保護(hù)設(shè)計(jì)

2.2.1 抗干擾設(shè)計(jì)

在長距離通信傳輸時(shí),必須要采取避免信號反射的措施,否則信號抗干擾能力與可靠性會大大降低甚至無法通信。反射原因主要有2種:一種是阻抗不連續(xù)。電纜的阻抗突然變小甚至為0時(shí),信號會反射,其反射原理跟光線從一種媒介到另一種媒介會引起反射是類似的;另一種是阻抗不匹配。主要分為源端阻抗不匹配和負(fù)載端阻抗不匹配。由負(fù)載端反射系數(shù)公式:ρL=(ZL-ZO)/(ZL+ZO),當(dāng)負(fù)載端阻抗ZL大于傳輸線阻抗ZO,ρL>0,負(fù)載端不能全部吸收源端能量,多余能量將反射回源端,處于欠阻尼狀態(tài),此時(shí)易發(fā)生過沖甚至振鈴,這樣的電壓波動可能跨越邏輯電平的閾值電壓,致使接收端誤判;負(fù)載端阻抗ZL小于傳輸線阻抗ZO,ρL<0,負(fù)載會消耗比源端傳輸?shù)哪芰扛?,故通過反射向源端尋求更多能量,處于過阻尼狀態(tài),會引起環(huán)繞振蕩,造成時(shí)序沖突,使得傳輸鏈的數(shù)據(jù)發(fā)生紊亂。源端的阻抗分析同上。

為盡量減小信號反射,本設(shè)計(jì)提出了合理的解決方法,因本設(shè)計(jì)各個分節(jié)點(diǎn)的輸入阻抗都很大,故采取并聯(lián)電阻法,即在總節(jié)點(diǎn)與分節(jié)點(diǎn)的AB線間并聯(lián)阻抗匹配電阻,經(jīng)試驗(yàn)表明,當(dāng)負(fù)載阻抗與匹配電阻的阻抗之和等于傳輸線阻抗時(shí),信號反射最小[6]。因RS485總線的通信介質(zhì)是雙絞線,其特性阻抗大約是120 Ω,而且由于通信傳輸?shù)碾p向特性,總節(jié)點(diǎn)端和各分節(jié)點(diǎn)輸入端分別并聯(lián)一個120 Ω的匹配電阻,連接示意圖如下圖3所示。

2.2.2 失效保護(hù)設(shè)計(jì)

RS485總線標(biāo)準(zhǔn)設(shè)置接收器門限為 200 mV,這個值能提供比較良好的噪聲抑制能力,當(dāng)A比B高200 mV輸出正邏輯,當(dāng)B比A高為負(fù)邏輯[7]。但若總線空閑即沒有任何信號驅(qū)動總線時(shí),A與B之間壓差介于-200~200 mV,這種狀況會導(dǎo)致接收器輸出狀態(tài)不確定,分節(jié)點(diǎn)會認(rèn)為是一個新的啟動位,并開始讀取后續(xù)的字節(jié),因?yàn)橄蚝蟛粫型V刮?,所以會產(chǎn)生一個幀的錯誤結(jié)果,設(shè)備不再請求總線,通信網(wǎng)絡(luò)將進(jìn)入癱瘓狀態(tài)。除了AB兩線壓差低于200 mV情況外,開路或短路也會導(dǎo)致這種故障[8]。

為避免這種不確定狀態(tài),解決方法是將總線偏置在一個確定狀態(tài),即AB兩線的壓差大于-200 mV,將A接偏置電阻到地,B接偏置電阻到5 V,阻值選1 kΩ。具體見圖3。

3 軟件設(shè)計(jì)

3.1 數(shù)據(jù)采集轉(zhuǎn)換模塊的軟件設(shè)計(jì)

上位機(jī)下發(fā)命令后,12個分節(jié)點(diǎn)分別接收總節(jié)點(diǎn)送至RS485總線的命令包,然后各自對命令包進(jìn)行解析,解析分節(jié)點(diǎn)地址,當(dāng)?shù)刂菲ヅ洳怀晒?,則丟棄該命令,準(zhǔn)備下一條命令的接收;當(dāng)?shù)刂菲ヅ涑晒?,校?yàn)有效數(shù)據(jù)位和CRC碼(循環(huán)冗余校驗(yàn)碼),校驗(yàn)不成功,只上傳一組固定數(shù)“AAH”,發(fā)送204800次,之后繼續(xù)等待命令狀態(tài);校驗(yàn)成功,則復(fù)位轉(zhuǎn)換模塊內(nèi)部的SPI接口,將SPI接口中的/CS引腳拉高或SCLK引腳保持不變約4096個總時(shí)鐘。配置寄存器時(shí),先發(fā)命令字,再配置寄存器,由上位機(jī)下發(fā)寄存器配置參數(shù)。配置過程由SPI接口串行輸入實(shí)現(xiàn),先發(fā)最高位,在/CS為低電平和SCLK為上升沿條件下,SPI的DIN引腳會將命令字與寄存器配置參數(shù)逐個送至ADS1258中,輸入過程中,DOUT引腳上會輸出無效的數(shù)據(jù),不作處理。因本設(shè)計(jì)使用單端輸入和自動掃描模式進(jìn)行數(shù)據(jù)采集,所以僅需對ADS1258的CONFIG1、MUXSG0和MUXSG1這3個內(nèi)部寄存器進(jìn)行配置,其它寄存器保持默認(rèn)值。其中CONFIG1寄存器用以配置數(shù)據(jù)采集系統(tǒng)的采樣頻率,最高采樣頻率23.739 kHz。配置MUXSG0、MUXSG1這兩個寄存器時(shí),控制字均是8位,每一位代表一個通道,16通道共16位控制字。高電平表示選中,芯片工作時(shí)就會采集轉(zhuǎn)換該通道,低電平則跳過。

寄存器配置好后,將START引腳拉高,開始模數(shù)轉(zhuǎn)換工作,接著判斷/DRDY信號是否變?yōu)榈碗娖剑羰莿t表示某通道數(shù)據(jù)已轉(zhuǎn)換完成,等待被讀取。此時(shí)將SPI總線的/CS引腳拉低,DIN數(shù)據(jù)線上的輸入輸出的前3位不變,即000或者111時(shí),以直接讀取通道數(shù)據(jù)的方式取走轉(zhuǎn)換好的數(shù)據(jù)。一次轉(zhuǎn)換完成的數(shù)據(jù)有效位為32位,其中第一個是8位狀態(tài)位,后是24位數(shù)據(jù)位,數(shù)據(jù)位的最高位代表采集量是否為正值,本設(shè)計(jì)采集的是0~5 V電壓量,故最高位始終為1。轉(zhuǎn)換次數(shù)達(dá)204 800次后,一次命令執(zhí)行完畢,停止轉(zhuǎn)換工作。芯片的16通道循環(huán)掃描周期小于700us,單通道以23.7 Ks/s的采樣率工作700 μs16×23.7 Ks/s≈1次。分節(jié)點(diǎn)執(zhí)行一次命令工作時(shí)間為204 80016×700 μs=8.96 s左右。數(shù)據(jù)采集轉(zhuǎn)換模塊的軟件設(shè)計(jì)流程如圖4所示。

3.2 通信協(xié)議設(shè)計(jì)

本系統(tǒng)中的通信協(xié)議分為2部分:系統(tǒng)通信協(xié)議;RS485總線通信協(xié)議。其中系統(tǒng)通信協(xié)議是下位機(jī)采集系統(tǒng)與上位機(jī)之間的通信約定,總線通信協(xié)議是指總分節(jié)點(diǎn)之間在總線上通信進(jìn)行的約定。

3.2.1 系統(tǒng)通信協(xié)議

系統(tǒng)通信過程包含發(fā)送與接收2個動作。發(fā)送:開啟分節(jié)點(diǎn)的數(shù)據(jù)采集工作;接收:命令背板,給上位機(jī)上傳數(shù)據(jù)。

背板接收到下發(fā)的命令后,將命令進(jìn)行解析與重新組合,若命令有效標(biāo)志為“25”,背板繼續(xù)識別命令要求是否為“A”,若是則下發(fā)命令到總節(jié)點(diǎn)直至總線上供各分節(jié)點(diǎn)讀取。ADD的低5位為分節(jié)點(diǎn)的地址位,最多可設(shè)置地址為32個,但本設(shè)計(jì)只用到12個節(jié)點(diǎn)地址,采樣頻率RATE和采樣通道AIN_0、AIN_1這3個字節(jié)的數(shù)據(jù)下發(fā)至指定分節(jié)點(diǎn)后,用以配置ADS1258模數(shù)轉(zhuǎn)換芯片的CONFIG1寄存器、MUXSG0寄存器和MUXSG1寄存器。若命令有效標(biāo)志為“25”且命令要求是“5”,此時(shí)背板轉(zhuǎn)為接收狀態(tài),等待接收分節(jié)點(diǎn)發(fā)給總節(jié)點(diǎn)再到背板的數(shù)據(jù)包,重組后上傳給上位機(jī)。系統(tǒng)通信協(xié)議結(jié)構(gòu)如表1所示。

3.2.2 RS485總線通信協(xié)議

總節(jié)點(diǎn)與分節(jié)點(diǎn)之間用RS485總線通信,傳輸速率20Mb/s。因?yàn)橄掳l(fā)的命令包與上傳的數(shù)據(jù)包大小不同,所以其協(xié)議也不一樣??偣?jié)點(diǎn)給分節(jié)點(diǎn)發(fā)送的命令共傳輸40位,命令格式中有32位有效數(shù)據(jù)位,1位起始位,4位CRC檢驗(yàn)碼及3位停止位。分節(jié)點(diǎn)回傳的模數(shù)轉(zhuǎn)換數(shù)據(jù)要求204 800組,每組數(shù)據(jù)有52位,含1位起始位、32位有效數(shù)據(jù)(8位狀態(tài)位,24位數(shù)據(jù)位)、16位幀計(jì)數(shù)及3位停止位,總節(jié)點(diǎn)接收到數(shù)據(jù)后,通過系統(tǒng)協(xié)議上傳到上位機(jī),傳送204 800次后,將總線置于發(fā)送狀態(tài),準(zhǔn)備發(fā)送下一條命令。在此協(xié)議的規(guī)定下,一個節(jié)點(diǎn)的16個通道以23.7 Ks/s采樣速率循環(huán)采樣需總線速率為1 s700 μs×16×52 b=1.13 Mb/s,所以20 Mb/s傳輸率完全符合要求。具體總線通信協(xié)議如表2所示。

4 測試結(jié)果與分析

4.1 轉(zhuǎn)換精度分析

從眾多通道中選取分節(jié)點(diǎn)8的2通道、5通道和9通道進(jìn)行ADS1258轉(zhuǎn)換精度分析,3個通道分別對3路直流模擬電壓進(jìn)行轉(zhuǎn)換。

利用式(1)得出輸出模擬電壓值

Vo=D2n·Vref

式中:D為轉(zhuǎn)換后的數(shù)字量;n為精度位數(shù);Vref為參考電壓。

由芯片24位精度可知,分母應(yīng)取=8M,根據(jù)轉(zhuǎn)換芯片手冊建議取值為7 864 320,是因?yàn)樾?zhǔn)后最小識別電壓為1LSB=Vref/780000H=Vref/7864320。分子取值因環(huán)境干擾等因素會對數(shù)據(jù)轉(zhuǎn)換精度產(chǎn)生一定影響,故忽略轉(zhuǎn)換數(shù)字量的低8位。每路從采集結(jié)果選10個數(shù)據(jù)取平均數(shù)代入計(jì)算,分子D取平均數(shù)的高16位,因最高位是符號位,取后15位計(jì)算。參考電壓為5 V。以通道2為例,去除最高位符號位與后8位得2B0DH,轉(zhuǎn)成十進(jìn)制為2821560,則轉(zhuǎn)化成模擬輸出電壓為Vo= 2 821 5607 864 320 ×5≈1.793 9。各通道轉(zhuǎn)換結(jié)果如表3所示。

由計(jì)算式:精度=(輸出值-輸入值)/輸入值。

2通道采樣精度:(1.793 9-1.792 5)/1.792 5=0.078%;

5通道采樣精度:(3.297 3-3.294 5)/3.294 5=0.085%;

9通道采樣精度:(2.499 4-2.497 3)/2.497 3=0.088%;

結(jié)果表明,各通道精度均達(dá)到了0.1%的設(shè)計(jì)精度需求。

4.2 阻抗匹配驗(yàn)證

在500 m傳輸距離條件下,輸入4 V高速信號來驗(yàn)證分節(jié)點(diǎn)匹配電阻的效果。從圖5中看出同一輸入信號,不同匹配阻值有著不同的輸出情況。負(fù)載并聯(lián)60 Ω匹配電阻時(shí),曲線有明顯的滯后現(xiàn)象,這是因信號到末端遇阻抗突然變小,末端要消耗更多能量引發(fā)回波反射所導(dǎo)致;負(fù)載并聯(lián)180 Ω匹配電阻,曲線有下沖現(xiàn)象,這是因輸出信號遇阻抗突然變大,能量不能完全被吸收反射回去所導(dǎo)致;匹配120 Ω電阻情況下,經(jīng)485總線傳輸后的輸出與輸入變化基本一致。從而驗(yàn)證了只有匹配電阻與負(fù)載的阻抗之和等于傳輸線阻抗時(shí),即匹配120 Ω并聯(lián)幾MΩ負(fù)載的輸入端阻抗后合并阻抗約120 Ω,恰好接近傳輸線120 Ω的阻抗,此時(shí)反射現(xiàn)象最小,信號傳輸效果最好[9]。

4.3 上位機(jī)讀取與顯示

用2.5 V中心電壓、振幅為1 V的正弦波測試本設(shè)計(jì)的整體性能,此處選分節(jié)點(diǎn)6的通道1與通道9進(jìn)行測驗(yàn),在圖6所示的上位機(jī)界面上,選中節(jié)點(diǎn)6與對應(yīng)通道1、9之后,按下開始采集按鈕,上位機(jī)讀取采集的數(shù)據(jù)并顯示出波形,從結(jié)果可以看出采集到的正弦信號波形經(jīng)恢復(fù)后很光滑,沒有雜波成分與畸變形態(tài)出現(xiàn),說明系統(tǒng)在長距離傳輸后很平穩(wěn),有效避免了可能的外界干擾與內(nèi)部阻抗因素引起的信號反射,滿足分布式遠(yuǎn)程多點(diǎn)采集平穩(wěn)傳輸?shù)囊骩10]。

5 結(jié)束語

本設(shè)計(jì)利用分布式總分結(jié)構(gòu)思想,以FPGA,RS485總線,ADS1258為主要芯片設(shè)計(jì)出下位機(jī),以上位機(jī)完成實(shí)時(shí)控制、存儲、顯示功能,可以采集大區(qū)域里的多個頻率范圍在1 kHz以內(nèi)的交流或直流模擬信號,遠(yuǎn)距離傳輸具備很強(qiáng)的抗干擾性。設(shè)計(jì)工作彌補(bǔ)了目前數(shù)據(jù)采集領(lǐng)域的不足,在高速發(fā)展的工業(yè)領(lǐng)域有實(shí)用。

猜你喜歡
通信協(xié)議寄存器命令
只聽主人的命令
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
移防命令下達(dá)后
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計(jì)與實(shí)現(xiàn)
電測與儀表(2016年2期)2016-04-12 00:24:52
這是人民的命令
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實(shí)現(xiàn)技術(shù)簡介
藍(lán)色命令
九寨沟县| 武定县| 博兴县| 泸定县| 闵行区| 工布江达县| 汉阴县| 微山县| 察哈| 浮梁县| 大荔县| 阿鲁科尔沁旗| 桃园市| 尚志市| 蕲春县| 深水埗区| 宣城市| 沂源县| 利川市| 神农架林区| 天祝| 日喀则市| 姚安县| 怀化市| 建德市| 博客| 资兴市| 梅河口市| 喀喇| 茌平县| 武威市| 金阳县| 宜章县| 邢台县| 潍坊市| 黔东| 南京市| 云浮市| 佛学| 八宿县| 伊吾县|