<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于MAXQ微控制器構建增強型智能4-20mA變送器

基于MAXQ微控制器構建增強型智能4-20mA變送器

——
作者: 時(shí)間:2007-06-21 來(lái)源:maxim-ic.com.cn 收藏
簡(jiǎn)單的環(huán)路工作

  在電流環(huán)路中,傳感器的輸出電壓首先按比例轉換成電流,一般4mA表示傳感器的零電平輸出,20mA表示滿(mǎn)量程輸出。遠端接收器將4-20mA電流又轉換為電壓,利用計算機或顯示模塊做進(jìn)一步處理。

  典型的4-20mA電流環(huán)電路包括四個(gè)部分:傳感器/變送器、電壓-電流轉換器、環(huán)路電源和接收器/監視器。在環(huán)路供電的應用中,傳感器驅動(dòng)電壓-電流轉換器,其他三個(gè)部分串聯(lián)連接,構成閉環(huán)回路(圖1)。

4-20mA環(huán)路供電電路框圖

圖1. 4-20mA環(huán)路供電電路框圖

  智能型4-20mA變送器

  傳統上,4-20mA變送器包括一個(gè)安裝在現場(chǎng)的器件,該器件感測物理參數并產(chǎn)生4-20mA標準范圍內的比例電流。為適應工業(yè)需求,出現了稱(chēng)作“智能型變送器”的第二代4-20mA變送器,這種變送器采用微控制器(µC)和數據轉換器調理遠端信號。

  智能型變送器可以對增益和失調進(jìn)行校準,通過(guò)將傳感器模擬信號數字化(如RTD傳感器和熱電偶)實(shí)現線(xiàn)性化處理,用駐留在µC內部的數學(xué)算法處理信號,再將數字信號轉換回模擬信號,結果以標準電流的形式沿環(huán)路傳輸。

  最新的第三代4-20mA變送器(圖2)被認為是“增強型智能”變送器。它們增加了與4-20mA信號共享雙絞線(xiàn)的數字通信功能。所提供的通信通道在傳輸傳感器數據的同時(shí),還可傳輸控制和診斷信號。

4-20mA增強型智能變送器框圖

圖2. 4-20mA增強型智能變送器框圖

  智能型變送器所使用的通信標準是Hart協(xié)議,該協(xié)議基于Bell 202電話(huà)通信標準,采用頻移鍵控(FSK)方式。其數字信號1和0分別由1200Hz和2200Hz頻率表示。這些頻率的正弦波疊加在傳感器的直流模擬信號上,同時(shí)提供模擬和數字通信(圖3)。

模擬和數字信號同時(shí)通信

圖3. 模擬和數字信號同時(shí)通信

  因為FSK信號的平均值始終為零,4-20mA模擬信號在此過(guò)程中不受影響。數字狀態(tài)每秒鐘可以轉換兩到三次,而不會(huì )妨礙模擬信號。允許的最小環(huán)路阻抗為23。

  4-20mA增強型智能變送器對µC的基本要求

  要實(shí)現這種4-20mA電流環(huán)路應用,µC必須具備三種特定性能:

  串行接口,連接用于數據采集的ADC和用于設置環(huán)路電流的DAC。

  因為電流預算為4mA,所以要求低功耗。

  乘法-累加單元(MAC),既完成輸入信號的數字濾波,又同時(shí)編碼和解碼Hart協(xié)議中的兩種頻率。

  選擇µC

  MAXQ系列RISC µC具備上述所有必需的功能(圖4)。

MAXQ µC架構框圖

圖4. MAXQ µC架構框圖

  模擬功能

  MAXQ µC包含若干模擬功能。采用的時(shí)鐘管理方案只對當前使用的模塊提供時(shí)鐘。例如,如果一條指令用到數據指針(DP)和算術(shù)邏輯單元(ALU),那么只給這兩個(gè)模塊提供時(shí)鐘。這一技術(shù)降低了功耗和開(kāi)關(guān)噪聲。

 

 低功耗

  MAXQ µC具有先進(jìn)的電源管理功能,通過(guò)動(dòng)態(tài)地將µC處理速度與需要的性能水平相匹配,可使功耗降至最低。例如,工作量減少的情況下,功耗較低。要投入更多的處理能力時(shí),µC就需要提高工作頻率。

  軟件可選的時(shí)鐘分頻操作,允許靈活地選擇1、2、4或8個(gè)振蕩器周期作為一個(gè)系統時(shí)鐘周期。通過(guò)軟件實(shí)現這一功能,因此µC在不需要增加額外硬件成本的情況下即可進(jìn)入低功耗狀態(tài)。

  還可為那些對功耗極其敏感的應用提供另外三種低功耗模式:

  PMM1: 256分頻電源管理模式

  PMM2: 32kHz電源管理模式(PMME = 1,其中PMME是系統時(shí)鐘控制寄存器的第2位)

  停止模式(STOP = 1)

  在PMM1模式下,一個(gè)系統時(shí)鐘周期等于256個(gè)振蕩器周期,µC降速工作,從而大大降低了功耗。在PMM2模式下,器件以32kHz振蕩器作為時(shí)鐘源,工作速度更低。使能的中斷源發(fā)生中斷時(shí),可選的時(shí)鐘返回功能可使器件快速退出電源管理模式,并返回到更快的內部時(shí)鐘頻率上。這些使能的中斷源可以是外部中斷、UART和SPI模塊。所有這些功能使MAXQ µC的處理能力達到3MIPS/mA,性能遠遠超出最接近的其它處理器(圖5)。

MAXQ與其他競爭產(chǎn)品的MIPS/mA性能比較

圖5. MAXQ與其他競爭產(chǎn)品的MIPS/mA性能比較。

信號濾波處理

  MAXQ µC內部的MAC完成4-20mA應用所需的信號處理功能。模擬信號輸入到ADC,在數字域濾波采樣流。用以下等式可實(shí)現通用濾波功能:

  y[n] = bix[n-i] + aiy[n-i]

  式中,bi和ai分別表征系統的前饋和反饋?lái)憫匦?。根據ai和bi的不同取值,數字濾波器可分為有限長(cháng)沖激響應型(FIR)或無(wú)限長(cháng)沖 激響應型(IIR)。當系統不包含反饋(所有ai = 0)時(shí),濾波器為FIR型:

  y[n] = bix[n-i]

  然而,如果ai和bi都不為零,則濾波器是IIR型。

  從上面的FIR濾波器方程可以看出,主要的數學(xué)運算是將各輸入采樣乘以一個(gè)常數,然后將n個(gè)乘積累加。下面這段C程序可說(shuō)明該運算:

  y[n]=0;

  for(i=0; i

  y[n] += x[i] * b[i]

  MAXQ µC的MAC需要4 + 5n個(gè)周期完成此運算,代碼空間只有9個(gè)字(而傳統µC和MAC需要12個(gè)字)。

  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  &nbs

 
p;; 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架構的數據存儲器訪(fǎng)問(wèn)細節參見(jiàn)附錄)。

  注意:在MAXQ的MAC中,裝入第二個(gè)操作數時(shí),自動(dòng)執行被請求的操作,運算結果存入MC寄存器。還須注意:溢出前,MC寄存器寬度(40位)可以累加大量的32位乘法結果。該功能是對傳統方法的改進(jìn),傳統方法在每次基本操作后都要驗證是否溢出。

  MAXQ2000 µC的獨特性能

  低功耗、16位RISC微控制器MAXQ2000是Maxim MAXQ家族的第一個(gè)成員。它具有液晶顯示器(LCD)接口,可驅動(dòng)多達100 (-RBX)或132 (-RAX)段。MAXQ2000極為適合血糖監測應用,并且適合任何需要高性能、低功耗工作的應用。工作頻率最大為14MHz (VDD > 1.8V)或20MHz (VDD > 2.25V)。

  MAXQ2000含有32k字的閃存(適合原型設計和小批量生產(chǎn))、1k字RAM、3個(gè)16位定時(shí)器,以及1或2個(gè)通用同步/異步收發(fā)器(UART)。為了靈活起見(jiàn),微控制器內核電源(1.8V)與I/O子系統電源獨立。超低功耗的休眠模式使MAXQ2000成為便攜式和電池供電設備的理想選擇。

  MAXQ2000評估板

  功能強大的MAXQ2000 µC可以利用其評估板(EV)進(jìn)行評估,該評估板提供了完整的MAXQ2000硬件開(kāi)發(fā)環(huán)境(圖6)。

 MAXQ2000評估板方框圖

圖6. MAXQ2000評估板方框圖

  MAXQ2000評估板具有下列特點(diǎn):

  板上MAXQ2000內核電源和VDDIO電源。

  可調電源(1.8V至3.6V),可用作VDDIO或VLCD電源。

  對應MAXQ2000所有信號和電源的插頭引腳。

  獨立的LCD子板連接器。

  LCD子板,裝有3V、3.5位靜態(tài)LCD顯示器。

  連接串行UART (端口0)的RS-232電平驅動(dòng)器,包括流量控制線(xiàn)。

  外部中斷按鈕和微控制器系統復位按鈕。

  MAX1407多功能ADC/DAC芯片,連接到MAXQ2000的SPI總線(xiàn)接口。

  1-Wire接口和1-Wire EEPROM芯片。

  條型LED顯示,指示端口引腳P0.7至P0.0的電平狀態(tài)。

  JTAG接口,用于應用程序下載和在系統調試。

  因此,MAXQ2000評估板具備了構建智能型4-20mA變送器需要的所有功能:具有真正乘法-累加單元(用于濾波和頻率編碼/解碼)的低功耗µC;轉換傳感器信號的ADC;產(chǎn)生模擬輸出信號的DAC (圖7)。加上一個(gè)低功耗Codec,如MAX1102,就可以實(shí)現一個(gè)HART調制解調器。

 MAXQ2000評估板方框圖

圖7. 基于MAXQ2000 µC的4-20mA變送器


 

  HART調制解調器的實(shí)現

  如果系統包含1 200Hz和2200Hz (分別代表1和0)頻率編碼器,同時(shí)要對這些頻率進(jìn)行檢測,可以采用MAC實(shí)現HART調制解調器要求的這些功能。

  要產(chǎn)生所需的正弦波形,可以利用下述差分方程描述的兩極點(diǎn)濾波器形式實(shí)現遞歸數字式諧振器:

  Xn = k * Xn-1 - Xn-2,

  式中,常數k等于2 cos(2*頻率/采樣率)??梢灶A先計算k的兩個(gè)值,并存在ROM中。例如,要用8kHz采樣率產(chǎn)生1200Hz頻率,該值為k = 2 cos(2*1200/8000)。

  必須計算能使振蕩器開(kāi)始振蕩的初始激勵。如果 Xn-1和 Xn-2都為0,接下來(lái)的每個(gè)Xn也都將為0。要啟動(dòng)振蕩器,將 Xn-1設為0, Xn-2采用如下設置:

  Xn-2 = -A*sin[2(頻率/采樣率)]

  在本例中,假設采用單位幅度的正弦波,該式簡(jiǎn)化為 Xn-2 = -1sin[(2(1200/8000)]。為進(jìn)一步簡(jiǎn)化編碼,首先,初始化兩個(gè)中間變量(X1, X2)。X1初始化為0,X2為初始激勵值(上面的計算結果),以啟動(dòng)振蕩器。這樣,要產(chǎn)生一個(gè)正弦波的采樣,可進(jìn)行下列運算:

  

 
X0 = kX1 - X2

   X2 = X1

   X1 = X0

  每個(gè)新的正弦值都需要一次乘法運算和一次減法運算。利用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算法,這種算法可以用簡(jiǎn)單的二階濾波器實(shí)現(圖8)。

利用簡(jiǎn)單的二階濾波器實(shí)現Goertzel算法

圖8. 利用簡(jiǎn)單的二階濾波器實(shí)現Goertzel算法

  要使用Goertzel算法檢測特定頻率,編譯時(shí)要首先使用下式計算出常數:

   k = tone frequency/sampling rate

   a1 = 2cos(2k)

  隨后,將中間變量D0、D1和D2初始化為0,并對每個(gè)收到的采樣X(jué)進(jìn)行下列計算:

   D0 = X + a1*D1 - D2

   D2 = D1

   D1 = D0

  得到足夠多的采樣值以后(采用8kHz采樣率時(shí),通常為205個(gè)采樣),用最新計算出的D1和D2值進(jìn)行下列計算:

   P = D12 + D22 - a1 * D1 * D2.

  這時(shí),P包含了輸入信號中測試頻率的平方。

  要對兩種頻率解碼,我們用兩個(gè)濾波器處理每個(gè)采樣。每個(gè)濾波器都有自己的k值和自己的一組中間變量,每個(gè)變量都是16位長(cháng),所以,整個(gè)算法需要48字節的中間存儲器空間。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>