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