當前位置:恒泰聯測儀器儀表制造(蘇州)有限公司>>振動傳感器>>一體化振動變送器>> 一體化電機殼振變送器DDLL00121211
典型的4-20mA電流環電路包括四個部分:傳感器/變送器、電壓-電流轉換器、環路電源和接收器/監視器。在環路供電的應用中,傳感器驅動電壓-電流轉換器,其他三個部分串聯連接,構成閉環回路(圖1)。
圖1. 4-20mA環路供電電路框圖
智能型變送器可以對增益和失調進行校準,通過將傳感器模擬信號數字化(如RTD傳感器和熱電偶)實現線性化處理,用駐留在μC內部的數學算法處理信號,再將數字信號轉換回模擬信號,結果以標準電流的形式沿環路傳輸。
的第三代4-20mA變送器(圖2)被認為是“增強型智能"變送器。它們增加了與4-20mA信號共享雙絞線的數字通信功能。所提供的通信通道在傳輸傳感器數據的同時,還可傳輸控制和診斷信號。
圖2. 4-20mA增強型智能變送器框圖
智能型變送器所使用的通信標準是Hart協議,該協議基于Bell 202電話通信標準,采用頻移鍵控(FSK)方式。其數字信號1和0分別由1200Hz和2200Hz頻率表示。這些頻率的正弦波疊加在傳感器的直流模擬信號上,同時提供模擬和數字通信(圖3)。
圖3. 模擬和數字信號同時通信
因為FSK信號的平均值始終為零,4-20mA模擬信號在此過程中不受影響。數字狀態每秒鐘可以轉換兩到三次,而不會妨礙模擬信號。允許的小環路阻抗為23。
串行接口,連接用于數據采集的ADC和用于設置環路電流的DAC。
因為電流預算為4mA,所以要求低功耗。
乘法-累加單元(MAC),既完成輸入信號的數字濾波,又同時編碼和解碼Hart協議中的兩種頻率。
圖4. MAXQ μC架構框圖
模擬功能
MAXQ μC包含若干模擬功能。采用的時鐘管理方案只對當前使用的模塊提供時鐘。例如,如果一條指令用到數據指針(DP)和算術邏輯單元(ALU),那么只給這兩個模塊提供時鐘。這一技術降低了功耗和開關噪聲。
低功耗
MAXQ μC具有先進的電源管理功能,通過動態地將μC處理速度與需要的性能水平相匹配,可使功耗降至。例如,工作量減少的情況下,功耗較低。要投入更多的處理能力時,μC就需要提高工作頻率。
軟件可選的時鐘分頻操作,允許靈活地選擇1、2、4或8個振蕩器周期作為一個系統時鐘周期。通過軟件實現這一功能,因此μC在不需要增加額外硬件成本的情況下即可進入低功耗狀態。
還可為那些對功耗極其敏感的應用提供另外三種低功耗模式:
在PMM1模式下,一個系統時鐘周期等于256個振蕩器周期,μC降速工作,從而大大降低了功耗。在PMM2模式下,器件以32kHz振蕩器作為時鐘源,工作速度更低。使能的中斷源發生中斷時,可選的時鐘返回功能可使器件快速退出電源管理模式,并返回到更快的內部時鐘頻率上。這些使能的中斷源可以是外部中斷、UART和SPI模塊。所有這些功能使MAXQ μC的處理能力達到3MIPS/mA,性能遠遠超出接近的其它處理器(圖5)。
圖5. MAXQ與其他競爭產品的MIPS/mA性能比較。
PMM1: 256分頻電源管理模式
PMM2: 32kHz電源管理模式(PMME = 1,其中PMME是系統時鐘控制寄存器的第2位)
停止模式(STOP = 1)
信號濾波處理
MAXQ μC內部的MAC完成4-20mA應用所需的信號處理功能。模擬信號輸入到ADC,在數字域濾波采樣流。用以下等式可實現通用濾波功能:
y[n] = bix[n-i] + aiy[n-i]
式中,bi和ai分別表征系統的前饋和反饋響應特性。根據ai和bi的不同取值,數字濾波器可分為有限長沖激響應型(FIR)或無限長沖激響應型(IIR)。當系統不包含反饋(所有ai = 0)時,濾波器為FIR型:
y[n] = bix[n-i]
然而,如果ai和bi都不為零,則濾波器是IIR型。
從上面的FIR濾波器方程可以看出,主要的數學運算是將各輸入采樣乘以一個常數,然后將n個乘積累加。下面這段C程序可說明該運算:
y[n]=0;f(i=0; i<n; i++)="" y[n]="" +="x[i]" *="" b[i]=""
MAXQ2000含有32k字的閃存(適合原型設計和小批量生產)、1k字RAM、3個16位定時器,以及1或2個通用同步/異步收發器(UART)。為了靈活起見,微控制器內核電源(1.8V)與I/O子系統電源獨立。超低功耗的休眠模式使MAXQ2000成為便攜式和電池供電設備的理想選擇。
MAXQ2000評估板
功能強大的MAXQ2000 μC可以利用其評估板(EV)進行評估,該評估板提供了完整的MAXQ2000硬件開發環境(圖6)。
圖6. MAXQ2000評估板方框圖
MAXQ2000評估板具有下列特點:
板上MAXQ2000內核電源和VDDIO電源。
可調電源(1.8V至3.6V),可用作VDDIO或VLCD電源。
對應MAXQ2000所有信號和電源的插頭引腳。
獨立的LCD子板連接器。
LCD子板,裝有3V、3.5位靜態LCD顯示器。
連接串行UART (端口0)的RS-232電平驅動器,包括流量控制線。
外部中斷按鈕和微控制器系統復位按鈕。
MAX1407多功能ADC/DAC芯片,連接到MAXQ2000的SPI總線接口。
1-Wire接口和1-Wire EEPROM芯片。
條型LED顯示,指示端口引腳P0.7至P0.0的電平狀態。
JTAG接口,用于應用程序下載和在系統調試。
圖7. 基于MAXQ2000 μC的4-20mA變送器
要產生所需的正弦波形,可以利用下述差分方程描述的兩極點濾波器形式實現遞歸數字式諧振器:
Xn = k * Xn-1 - Xn-2,
式中,常數k等于2 cos(2*頻率/采樣率)。可以預先計算k的兩個值,并存在ROM中。例如,要用8kHz采樣率產生1200Hz頻率,該值為k = 2 cos(2*1200/8000)。
必須計算能使振蕩器開始振蕩的初始激勵。如果 Xn-1和 Xn-2都為0,接下來的每個Xn也都將為0。要啟動振蕩器,將 Xn-1設為0, Xn-2采用如下設置:
Xn-2 = -A*sin[2(頻率/采樣率)]
在本例中,假設采用單位幅度的正弦波,該式簡化為 Xn-2 = -1sin[(2(1200/8000)]。為進一步簡化編碼,首先,初始化兩個中間變量(X1, X2)。X1初始化為0,X2為初始激勵值(上面的計算結果),以啟動振蕩器。這樣,要產生一個正弦波的采樣,可進行下列運算:
X0 = kX1 - X2X2 = X1X1 = X0每個新的正弦值都需要一次乘法運算和一次減法運算。利用MAXQ μC的單周期硬件MAC,可以采用如下操作產生正弦波:
move DP[0], #X1 ; DP[0] -> X1move MCNT, #INIT_MAC ; Initialize MAC unitmove MA, #k ; MA = kmove MB, @DP[0]++ ; MB = X1, MC=k*X1, point to X2move MA, #-1 ; MA = -1move MB, @DP[0]-- ; MB = X2, MC=k*X1-X2, point to X1nop ; wait for resultmove @--DP[0], MC ; Store result at X0.因為我們只需要檢測兩種頻率,所以采用改進的Goertzel算法,這種算法可以用簡單的二階濾波器實現(圖8)。
圖8. 利用簡單的二階濾波器實現Goertzel算法
要使用Goertzel算法檢測特定頻率,編譯時要首先使用下式計算出常數:
k = tone frequency/sampling raa1 = 2cos(2k)隨后,將中間變量D0、D1和D2初始化為0,并對每個收到的采樣X進行下列計算:
D0 = X + a1*D1 - D2D2 = D1D1 = D0得到足夠多的采樣值以后(采用8kHz采樣率時,通常為205個采樣),用計算出的D1和D2值進行下列計算:
P = D12 + D22 - a1 * D1 * D2.這時,P包含了輸入信號中測試頻率的平方。
要對兩種頻率解碼,我們用兩個濾波器處理每個采樣。每個濾波器都有自己的k值和自己的一組中間變量,每個變量都是16位長,所以,整個算法需要48字節的中間存儲器空間。
move DP[0], #0000h ; set pointer to location 0000hmove A[0], @DP[0] ; read from data memorymove @DP[0], #55h ; write to data memory進行一次讀操作后,兩個數據指針中的任何一個都可以在操作完成后自動遞增或遞減。此外,任何一個數據指針都可以在寫操作之前預先遞增或遞減。使用下列語法規則:
move A[0], @DP[0]++; increment DP[0] after readmove @++DP[0], A[1]; increment DP[0] before writemove A[5], @DP[1]-- ; decrement DP[1] after readmove @--DP[1], #00h ; decrement DP[1] before write因為三個指針共享一個數據存儲器讀/寫口,所以用戶要使用特定指針進行數據存儲器讀操作前,必須有意識地激活該指針。如下所示,這可以通過使用數據指針選擇位(SDPS1:0;DPC.1:0)直接實現,或者通過寫DP[n]、BP或OFFS寄存器間接實現。
使用數據指針進行間接存儲器寫操作時會設置SDPS位,這隨后將激活寫指針,作為活動源指針。
move DPC, #2 ; (explit) selection of FP as the pointermove DP[1], DP[1] ; (implicit) selection of DP[1]; set SDPS1:0=01bmove OFFS, src ; (implicit) selection of FP; set SDPS1=1move @DP[0], src ; (implicit) selection of DP[0]; set SDPS1:0=00b一旦指針選定后,在發生下列事件之前該指針一直有效:
源數據指針選擇位通過上述直接或間接方法改變(即選用另一個數據指針),或者
活動源數據指針所尋址的存儲器被使能用于提取代碼,這是使用指令指針實現的,或者
使用一個當前活動源指針之外的另一個數據指針進行存儲器寫操作。
move DP[1], DP[1] ; select DP[1] as the active pointermove dst, @DP[1] ; read from pointermove @DP[1], src ; write using a data pointer; DP[0] is neededmove DP[0], DP[0]; select DP[0] as the active pointer為簡化數據指針的遞增/遞減操作,同時不影響寄存器數據,將系統模塊6內的7號寄存器為虛擬的NUL目標,用作位存儲桶。數據指針遞增/遞減操作可以通過如下操作完成,而不會改變任何其它寄存器的內容:
move NUL, @DP[0]++ ; increment DP[0]move NUL, @DP[0]-- ; decrement DP[0]
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業自行提供,信息內容的真實性、準確性和合法性由相關企業負責,化工儀器網對此不承擔任何保證責任。
溫馨提示:為規避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。