智能電流變送器中HART調制解調器的實現方法
以MAXQ2000微處理器為核心的增強型智能4~20mA變送器的HART調制解調器如圖3所示。在MAXQ2000中,實現軟件濾波和頻率編碼/解碼等功能;低功耗的MAX1407實現A/D轉換,低功耗的MAX1102實現D/A轉換。

如果系統包含1 200 Hz和2 200 Hz(分別代表1和0)頻率編碼器,同時要對這些頻率進行檢測,可以采用MAXQμC內部的MAC實現HART調制解調器要求的這些功能。
3.2 頻率編碼器的實現
要產生所需的正弦波形,可以利用下述差分方程描述的兩極點濾波器形式實現遞歸數字式諧振器:
![]()
式中,常數k等于2 cos(2π×頻率/采樣率)。可以預先計算k的兩個值,并存在ROM中。例如,要用8 kHz采樣率產生1 200 Hz頻率,該值k=2 cos(2π×1 200/8 000)。必須計算能使振蕩器開始振蕩的初始激勵。如果Xn-1和Xn-2都為0,接下來的每個Xn也都將為0。要啟動振蕩器,將Xn-1設為0,Xn-2設置為:

為進一步簡化編碼,首先,初始化兩個中間變量(X1,X2)。X1初始化為0,X2為初始激勵值(上面的計算結果),以啟動振蕩器。這樣,要產生一個正弦波的采樣,可進行下列運算:

每個新的正弦值都需要一次乘法運算和一次減法運算。利用MAXQμC的單周期硬件MAC,可以采用如下操作產生正弦波:

因為只需要檢測兩種頻率,所以采用改進的Goertzel算法。這種算法可以用簡單的二階濾波器實現,如圖4所示。

要使用Goertzel算法檢測特定頻率,編譯時要首先使用下式計算出常數:
![]()
隨后,將中間變量D0、D1和D2初始化為0,并對每個收到的采樣X進行下列計算:

得到足夠多的采樣值以后(采用8 kHz的采樣頻率時,通常為205個采樣值),用最新計算出的D1和D2值進行下列計算:
![]()
這時,P包含了輸入信號中測試頻率的平方。要對兩種頻率解碼,用兩個濾波器處理每個采樣。每個濾波器都有自己的k值和自己的一組中間變量,每個變量都是16位長,所以,整個算法需要48字節的中間存儲器空間。
3.3 HART中斷程序
HART通信程序是HART協議數據鏈路層和應用層的軟件實現。由于HART通信采取的是主從方式,而像變送器這類的現場設備都是從機,因此在初始化中和每次回答完主機命令后,都要把接收中斷打開,一直等候主機命令。HART通信采用水平和垂直校驗的方法,當檢測到接收數據有差錯時,要等到主設備命令幀發完后,通知主設備數據接收有誤,主設備則重新發命令幀,從而保證通信的準確可靠。HART中斷子程序流程如圖5所示。由于HART通信為主從方式,HART幀中每個字節在物理層傳輸需要9 ms左右,為了保證通信的實時性,通信程序采用串行口終端接收/發送。該中斷所要完成的通信中的主要任務是,接收和發送幀、幀的拆分和打包。

結 語
HART協議作為一個開放性的協議,現已成為智能儀表事實上的標準,其特點是在現有的模擬信號傳輸上實現數字信號通信;嵌入式系統技術是目前電子產品設計領域最為熱門的技術之一。本文介紹了以MAXQ2000嵌入式處理器為核心的HART智能電流變送器,對HART協議的實現進行了較詳細的敘述。采用嵌入式技術的HART智能變送器,不僅能解決現場總線兼容原有的DCS(Distribute Control System)問題,而且使系統整體的實時性、穩定性、抗干擾性及低功耗等性能有了極大的提高。
電流變送器相關文章:電流變送器原理







評論