Franco Contadini
4-20mA電流環(huán)路是工業(yè)過程監(jiān)控應(yīng)用中傳輸傳感器信息的常用技術(shù)。(傳感器測量物理參數(shù),如溫度、壓力、速度和液體流速。電流環(huán)路信號對噪聲相對不敏感,其功率可以從遠(yuǎn)程供電的電壓中獲得。這使得電流環(huán)路在信息必須長距離傳輸?shù)竭h(yuǎn)程位置時特別有用。
簡單的循環(huán)操作
在電流環(huán)路中,傳感器的輸出電壓首先轉(zhuǎn)換為比例電流,其中4mA通常表示傳感器的零電平輸出,20mA表示滿量程輸出。遠(yuǎn)端的接收器將4-20mA電流轉(zhuǎn)換回電壓,該電壓可由計算機(jī)或顯示模塊進(jìn)一步處理。
典型的4-20mA電流環(huán)路電路由四個元件組成:傳感器/變送器、電壓-電流轉(zhuǎn)換器、環(huán)路電源和接收器/監(jiān)視器。在環(huán)路供電應(yīng)用中,傳感器驅(qū)動電壓-電流轉(zhuǎn)換器,其他三個元件串聯(lián)起來形成閉環(huán)(圖 1)。
圖1.4-20mA環(huán)路供電電路示意圖
智能4-20mA變送器
傳統(tǒng)上,4-20mA變送器包括一個現(xiàn)場安裝的器件,該器件感測物理參數(shù)并產(chǎn)生4-20mA標(biāo)準(zhǔn)范圍內(nèi)的比例電流。為了響應(yīng)行業(yè)需求,第二代4-20mA變送器,稱為“智能變送器”,使用微控制器(μC)和數(shù)據(jù)轉(zhuǎn)換器遠(yuǎn)程調(diào)節(jié)信號。
智能變送器可以歸一化增益和偏移,通過將模擬信號轉(zhuǎn)換為數(shù)字信號(例如RTD傳感器和熱電偶)來線性化傳感器,使用駐留在μC中的算術(shù)算法處理信號,轉(zhuǎn)換回模擬信號,并將結(jié)果作為標(biāo)準(zhǔn)電流沿環(huán)路傳輸。
最新的第三代4-20mA發(fā)送器(圖2)被認(rèn)為是“智能和智能”的。它們增加了數(shù)字通信,與4-20mA信號共享雙絞線。由此產(chǎn)生的通信通道可以傳輸控制和診斷信號以及傳感器數(shù)據(jù)。
圖2.智能和智能4-20mA變送器示意圖。
智能發(fā)射器使用的通信標(biāo)準(zhǔn)是Hart協(xié)議,該協(xié)議采用頻移鍵控(FSK),并基于貝爾202電話通信標(biāo)準(zhǔn)。數(shù)字信號的第 1 位和第 0 位分別由頻率 1200Hz 和 2200Hz 表示。這些頻率的正弦波疊加在傳感器的直流模擬信號上,以提供同步的模擬和數(shù)字通信(圖 3)。
圖3.同步模擬和數(shù)字通信。
4-20mA模擬信號在此過程中不受影響,因為FSK信號的平均值始終為零。數(shù)字狀態(tài)每秒可以改變兩到三次,而不會中斷模擬信號。允許的最小環(huán)路阻抗為23Ω。
智能、智能 4-20mA 發(fā)送器的基本 μC 要求
μC必須具備三種特定功能才能執(zhí)行這種4-20mA電流環(huán)路應(yīng)用。μC 需要:
一個串行接口,用于驅(qū)動用于數(shù)據(jù)采集的ADC,用于設(shè)置環(huán)路電流的DAC。
低功耗,因為當(dāng)前預(yù)算為4mA。
乘法累加單元(MAC),它既實現(xiàn)了應(yīng)用于輸入信號的數(shù)字濾波器,又對Hart協(xié)議的兩個頻率進(jìn)行編碼和解碼。
選擇微C
上述必要功能在MAXQ系列RISC μC中均有(圖4)。
圖4.MAXQ μC架構(gòu)示意圖
模擬功能 MAXQ μC實現(xiàn)多種模擬功能
。時鐘管理方案僅向當(dāng)前正在使用的塊提供時鐘。例如,如果指令涉及數(shù)據(jù)指針(DP)和算術(shù)邏輯單元(ALU),則時鐘僅應(yīng)用于這兩個塊。該技術(shù)可降低功耗并降低開關(guān)噪聲。
低功耗 MAXQ μC具有先進(jìn)的電源管理功能,通過動態(tài)匹配μC處理速度和所需的性能水平,將功耗降至最低。功耗較慢,例如,在活動減少期間。為了施加更大的處理能力,μC提高了其工作頻率。
PMM1:被 256 分頻電源管理模式
PMM2:32kHz 電源管理模式(PMME = 1,其中 PMME 是系統(tǒng)時鐘控制寄存器的 BIT 2)
停止模式(停止 = 1)
濾波信號處理
MAXQ μC內(nèi)部的MAC實現(xiàn)4-20mA應(yīng)用所需的信號處理。模擬信號被呈現(xiàn)給ADC,產(chǎn)生的采樣流在數(shù)字域中被濾波。可以使用以下公式實現(xiàn)通用篩選器:
y[n] = Σbix[n-i] + Σaiy[n-i]
其中 b我和我分別表征系統(tǒng)的前饋和反饋響應(yīng)。取決于我和 b我,數(shù)字濾波器可分為有限脈沖響應(yīng)(FIR)或無限脈沖響應(yīng)(IIR)。當(dāng)系統(tǒng)不包含反饋元素(所有我= 0),濾波器為 FIR 類型:
y[n] = Σbix[n-i]
如果兩者都我和 b我元素不為零,但是,過濾器是 IIR 類型。
從上面的FIR濾波器等式中可以看出,主要的數(shù)學(xué)運算將每個輸入樣本乘以一個常數(shù),然后將每個乘積累加到n個值上。這些操作由以下 C 片段說明:
y[n]=0; for(i=0; iMAXQ μC的MAC執(zhí)行該操作的執(zhí)行時間為4 + 5n個周期,代碼空間僅為9個字(而傳統(tǒng)μC和MAC需要12個字)。
move DP[0], #x ; DP[0] -> x[0] move DP[1], #b ; DP[1] -> b[0] move LC[0], #loop_cnt ; LC[0] -> number of samples move MCNT, #INIT_MAC ; Initialize MAC unit MAC_LOOP: move DP[0], DP[0] ; Activate DP[0] move MA, @DP[0]++ ; Get sample into MAC move DP[1], DP[1] ; Activate DP[1] move MB, @DP[1]++ ; Get coeff into MAC and multiply djnz LC[0], MAC_LOOP.在MAXQ的MAC中,請注意,當(dāng)?shù)诙€操作數(shù)加載到單元中并且結(jié)果存儲在MC寄存器中時,會自動發(fā)生請求的操作。另請注意,MC 寄存器寬度(40 位)在溢出之前可以累積大量 32 位乘法結(jié)果。這種能力改進(jìn)了傳統(tǒng)方法,在傳統(tǒng)方法中,每次原子操作后都必須測試溢出。
MAXQ2000 μC的獨特功能
ADI公司MAXQ系列的第一個成員是低功耗、16位RISC微控制器,稱為MAXQ2000。它集成了一個用于液晶顯示器 (LCD) 的接口,可驅(qū)動多達(dá) 100 個 (-RBX) 或 132 個 (-RAX) 段。MAXQ2000非常適合血糖監(jiān)測,適合于任何要求高性能和低功耗的應(yīng)用。它的最大工作頻率為 14MHz (VDD > 1.8V) 或 20MHz (VDD > 2.25V)。
MAXQ2000包括32k字閃存(用于原型設(shè)計和小批量生產(chǎn))、1k字RAM、16個1位定時器和8個或2000個通用同步/異步接收器/發(fā)送器(UART)。為提高靈活性,微控制器內(nèi)核 (<>.<>V) 和 I/O 子系統(tǒng)采用單獨的電源電壓。超低功耗休眠模式使MAXQ<>非常適合便攜式和電池供電設(shè)備。
MAXQ2000評估板
功能強(qiáng)大的MAXQ2000 μC可通過評估板(EV)進(jìn)行評估,評估板是MAXQ2000的完整硬件開發(fā)環(huán)境(圖6)。
圖6.MAXQ2000評估板框圖
MAXQ2000評估板具有以下特性:
用于MAXQ2000內(nèi)核和VDDIO電源軌的板載電源。
可調(diào)電源(1.8V至3.6V),可用于VDDIO或VLCD電源軌。
用于所有MAXQ2000信號和電源電壓的接頭引腳。
獨立的液晶子板連接器。
LCD子板,帶3V,3.5位靜態(tài)LCD顯示屏。
用于串行UART(線路232)的完整RS-0電平驅(qū)動器,包括流量控制線路。
用于外部中斷和微控制器系統(tǒng)復(fù)位的按鈕。
MAX1407多用途模數(shù)模數(shù)轉(zhuǎn)換器/DACIC,連接MAXQ2000 SPI總線接口。
1線接口和1線EEPROM IC。
條形圖 LED 顯示屏,用于顯示端口引腳 P0.7 至 P0.0 處的電平。
用于應(yīng)用程序加載和系統(tǒng)內(nèi)調(diào)試的JTAG接口。
因此,MAXQ2000評估板具有實現(xiàn)智能4-20mA發(fā)送器所需的全部功能:具有真正乘法累加單元的低功耗μC(用于濾波和音調(diào)編碼/解碼);用于傳感器讀數(shù)的 ADC;以及用于生成模擬輸出信號的DAC(圖7)。通過增加MAX1102等低功耗編解碼器,還可以實現(xiàn)HART調(diào)制解調(diào)器。
圖7.基于MAXQ4 μC的20-2000mA發(fā)送器
HART調(diào)制解調(diào)器實現(xiàn)
如果系統(tǒng)包括1200Hz和2200Hz(代表位1和0)的音調(diào)編碼器,則MAC可用于實現(xiàn)HART調(diào)制解調(diào)器請求的功能,以及這些頻率的音調(diào)檢測。
要生成所需的正弦波,您可以將遞歸數(shù)字諧振器實現(xiàn)為雙極點濾波器,由以下差分方程描述:
Xn= k * XN-1, yN-2,
其中常數(shù) k 等于 2 cos(2π*音調(diào)頻率/采樣率)。k的兩個值可以預(yù)先計算并存儲在ROM中。例如,以 1200kHz 采樣率產(chǎn)生 8Hz 音調(diào)所需的值為 k = 2 cos(2π*1200/8000)。
您還必須計算使振蕩器開始運行所需的初始脈沖。如果 XN-1和 XN-2都是零,然后每個后續(xù)的 Xn將為零。要啟動振蕩器,請設(shè)置 XN-1為零并設(shè)置 XN-2如下:
XN-2= -A*sin[2π(音調(diào)頻率/采樣率)]
假設(shè)我們的示例為單位正弦波,此方程簡化為 XN-2= -1sin[(2π(1200/8000)]。若要進(jìn)一步將其簡化為代碼,請首先初始化兩個中間變量(X1、X2)。X1 初始化為零;X2加載初始激勵值(上面計算)以開始振蕩。因此,要生成正弦波的一個樣本,請執(zhí)行以下操作:
X0 = kX1 - X2 X2 = X1 X1 = X0計算每個新的正弦值需要一次乘法和一次減法。利用MAXQ μC上的單周期硬件MAC,可以產(chǎn)生如下正弦波:
move DP[0], #X1 ; DP[0] -> X1 move MCNT, #INIT_MAC ; Initialize MAC unit move MA, #k ; MA = k move MB, @DP[0]++ ; MB = X1, MC=k*X1, point to X2 move MA, #-1 ; MA = -1 move MB, @DP[0]-- ; MB = X2, MC=k*X1-X2, point to X1 nop ; wait for result move @--DP[0], MC ; Store result at X0.因為我們只需要檢測兩個頻率,所以我們使用改進(jìn)的Goertzel算法,它可以作為簡單的二階濾波器實現(xiàn)(圖8)。
圖8.Goertzel 算法實現(xiàn)為一個簡單的二階濾波器。
要使用 Goertzel 算法檢測特定頻率,請在編譯時首先使用以下公式計算常量的值:
k = tone frequency/sampling rate a1 = 2cos(2πk)接下來,將中間變量 D0、D1 和 D2 初始化為零,并對收到的每個樣本 X 執(zhí)行以下操作:
D0 = X + a1*D1 - D2 D2 = D1 D1 = D0在收到足夠數(shù)量的樣本(205kHz采樣率通常為8個樣本)后,使用D1和D2的最新計算值計算以下內(nèi)容:
P = D12 + D22 - a1 * D1 * D2.P現(xiàn)在包含輸入信號中測試頻率的平方功率的度量。
為了解碼這兩種音調(diào),我們用兩個過濾器處理每個樣本。 每個篩選器都有自己的 k 值和自己的一組中間變量。每個變量的長度為 16 位,因此整個算法需要 48 字節(jié)的中間存儲。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7646瀏覽量
151952 -
傳感器
+關(guān)注
關(guān)注
2552文章
51383瀏覽量
756070 -
接收器
+關(guān)注
關(guān)注
14文章
2478瀏覽量
72136
發(fā)布評論請先 登錄
相關(guān)推薦
評論