MSP430的HART從機控制器的設計
摘要:為了應對傳統現場儀表的功能升級需求,增強現場儀表與控制主機之間的通信能力,設計并實現了一款以MSP430單片機為主控芯片,使用HART調制解調器DS8500和環(huán)路供電型4~20 mA數/模轉換器AD421搭建HART通信協議物理層的HART從機控制器。
本文引用地址:http://www.ex-cimer.com/article/201610/306608.htm引言
現代工業(yè)生產活動的正常進行離不開現場設備和與之配套的控制主機,為了充分發(fā)揮現場設備的性能,控制主機和現場設備之間必須要有一套高效可靠的通信協議。傳統工業(yè)控制領域多使用4~20 mA模擬信號來完成現場設備與控制主機之間的通信,但是模擬信號傳輸數據具有傳輸方向單一、傳輸數據量少等諸多不足。為了解決這些問題,在20世紀80年代中期,美國Rosemount公司提出了高速可尋址遠程傳感器協議(Highway Addressable Remote Transducer,HART)用來增強現場設備與控制主機之間的通信能力。
HART協議是一種用于現場智能設備與控制主機或監(jiān)測系統之間的通過模擬線路傳輸數字信號的通信協議,在20世紀90年代初移交給HART基金會HCF,由其負責修訂更新并向外界發(fā)布。
與其他總線技術相比,由于HART協議無需額外的通信線路就能夠通過傳統的4~20 mA模擬通信線路提供數字信號,使得設備廠商花費很小的代價就能對傳統設備升級改造,為用戶提供更多的功能,因此HART協議在當前的工業(yè)控制領域中得到了廣泛的應用,發(fā)展至今已經成為全球智能儀表通用的工業(yè)標準。本文提出了一種基于TI公司的低功耗的MSP430處理器的HART從機控制器。
1 HART協議簡介
HART協議是一種雙路、半雙工、對傳統4~20 mA模擬通信網絡進行增強的向后兼容型通信協議,為儀表、控制和自動化系統制定了一個雙向現場通信協議標準。HART協議利用貝爾202頻移鍵控(FSK)技術,將低電平的數字通信信號疊加到傳統的4~20 mA模擬信號上,來實現雙向現場通信,數字通信與現存的模擬通信體制完全兼容,并支持點對點或多點模式的網絡配置,為用戶提供了一種易于使用和配置的低成本、高可靠性的現場通信解決方案。
HART協議目前參照并實現了OSI(開放系統互連)模型的1~4層和第7層。在本設計的實現中只需考慮簡化的3層模型,即第1層物理層、第2層數據鏈路層和第7層應用層。
HART協議物理層規(guī)定了HART信號的傳輸方法、信號電平、設備阻抗和傳輸介質等一系列指標。HART協議采用頻移鍵控(FSK)技術,在低頻的4~20 mA模擬信號上疊加幅度為0.5 mA的不同頻率的正弦電流調制波信號來實現數字通信,信號傳輸速率為1200 bps,頻率為1200Hz代表“1”,頻率為2200Hz代表“0”。如圖1所示。
由于數字FSK信號是相位連續(xù)的,正弦信號平均值為0,所以HART協議的數字通信不會對4~20 mA模擬信號造成干擾,在實現數字通信的同時,保證了對傳統模擬信號的兼容。因此HART協議在通信過程中可以提供兩個通信信道:4~20 mA模擬信號和數字信號,如圖2所示。
4~20 mA模擬信號可以利用4~20 mA電流回路快速地傳輸現場設備的主要測量值。此外,HART協議可以通過疊加在模擬線路上的數字信號來傳輸其他更為詳細的設備信息,如設備狀態(tài)、診斷信息、附加計算值等。兩個通信信道的結合大大提高了現場設備與主機之間的通信能力。
HART數據鏈路層定義了一項主從協議,正常使用時,現場設備只有接到主機的信號時才產生應答。最多可以有兩個主機,通常是控制系統為第一主機,手持控制器為第二主機,兩個主機通信互不干擾。同時,數據鏈路層規(guī)定了HART協議的通信數據結構,對HART協議在進行通信時的數據幀格式進行了詳細的定義,并采用縱向奇偶檢驗,根據檢錯碼結果采取自動重復請求發(fā)送機制,能夠有效地消除線路上的偶然噪聲干擾,為數據傳輸提供了一個可靠的通信路徑。HART協議通信數據幀的格式如圖3所示。
HART協議數據幀格式中每個字符包含一個8位的編碼數據以及一個起始位、一個奇偶校驗位和一個停止位,通常使用串口來完成字符的傳輸。現場儀表作為從機接收HART指令并產生響應時,要嚴格遵照HART協議的數據幀格式。由于HART協議數據幀的前導符長度不同、數據幀中包含數據長度不確定,因此 HART數據幀的總長度也是不固定的,最長為25字節(jié)。
HART協議應用層定義了協議所支持的命令、響應、數據狀態(tài)和狀態(tài)報告。在應用層,HART協議為用戶提供了HART命令集,命令集中的命令分為3大類,即通用命令、常用命令和設備特定命令。通用命令是所有支持HART協議的設備均支持的命令,最常見的如讀取產品生產廠商及型號等信息。常用命令對于大部分設備適用,這些命令提供的功能并不是所有設備都支持,如寫變量阻尼值、標定等。設備特定命令只針對某種具體設備的特殊性設立,由儀器制造商指定。
2 HART控制器硬件設計
HART協議是通過在傳統的4~20 mA電流環(huán)路上疊加±0.5 mA的電流波信號來進行數字通信,對于搭載了HART模塊的現場設備來說,只有整個設備的自身功耗控制在3.5 mA以下,才能夠保證模擬信號和數字信號均能正常進行通信,因此在設計系統時低功耗是首先要考慮的問題。MSP430系列單片機是TI公司的16位超低功耗單片機,為降低功耗專門為芯片設計了靈活的時鐘系統、多種低功耗模式、即時喚醒功能;同時,該系列單片機具有16位RISC結構,運算能力較強,并擁有豐富的片內外設,已經在工業(yè)控制領域得到了廣泛的應用。因此,在本設計中采用MSP430單片機系列中的MSP430F149作為HART從機控制器的主控芯片。
4~20 mA的模擬信號通過使用ADI公司的AD421搭建外圍電路來實現,AD421是一款完整的環(huán)路供電型4~20 mA數字轉換器,這款DAC采用∑-△結構,可保證16位分辨率和單調性,積分非線性只有±0.01%。同時,AD421完全兼容標準HART電路或者其他類似的FSK協議,與HART協議FSK通信電路結合使用時不會使額定性能受到影響,是一款非常適合用來實現HART協議的DAC。AD421及其外圍電路設計原理圖如圖4所示。
AD421通過鎖存線LATCH、時鐘線CLOCK、數據線DATA與MSP430的I/O口連接,MCU通過三線接口向AD421傳輸數據來調整輸出的 4~20 mA模擬信號值,AD421的C3引腳接收HART模塊耦合過來的FSK信號,再將信號疊加到電流輸出環(huán)路中完成數字信號傳輸,LOOP+和LOOP-分別為4~20 mA電流回路的兩個端口。
DS8500是一款由Maxim公司推出的單芯片HART兼容調制解調器IC,滿足HART協議物理層規(guī)范要求。該器件內部集成了1200 Hz/2 200 Hz FSK信號調制、解調功能和數字信號處理功能,僅需很少的外部器件就能完成HART通信電路的搭建,大大降低了電路設計難度。工作時,HART輸入信號首先通過ADC采樣,然后進行數字濾波、解調,保證在干擾環(huán)境下信號測量的可靠性。輸出DAC產生正弦波,并提供一路可以在1200 Hz和2200 Hz之間連續(xù)切換的低噪信號。接收時通過禁用發(fā)送電路實現低功耗,發(fā)送時同理,是一款理想的低功耗HART調制解調器。DS8500及其外圍電路設計原理圖如圖5所示。
DS8500的數字輸入腳D_IN、數字輸出腳D_OUT與MSP430的串口連接。載波檢測引腳OCD,發(fā)送請求引腳RTS與MCU的I/O口相連。接收數據時,MCU拉高RTS引腳,使能DS8500的解調模塊,環(huán)路上的HART信號經過外圍電路的濾波后從DS8500的FSK_IN引腳輸入,接收到有效HART信號后,DS8500的載波檢測引腳OCD輸出高電平,并將解碼后的數據通過D_OUT引腳串行輸出,MSP430通過串口中斷接收數據并進行處理。發(fā)送數據時,MSP430拉低RTS引腳電平,使能DS8500的調制模塊,MSP430將要發(fā)送的數據通過串口從D_IN引腳發(fā)送給 DS8500,調制后的HART信號由FSK_OUT引腳輸出,并通過一個電容耦合到AD421的C1引腳,最終疊加到4~20 mA環(huán)路路中完成通信。
3 HART控制器軟件程序設計
HART從機控制器軟件程序設計主要包括3大部分:AD421驅動程序實現、HART協議通信幀的正確接收與分析、HART應用層命令的應答實現。其中,AD421驅動程序比較簡單,官方網站已經提供相應驅動包。而HART命令的應答實現依賴于對數據幀的正確分析,因此整個控制器軟件程序的核心部分就是如何確保正確接收到完整的HART數據幀,并從數據幀中提取出有效的信息加以分析,生成相應的應答數據幀。
HART設備在進行通信時,首先由主機(上位機或手操器)向從機發(fā)送命令,從機(現場設備)接收到主機的命令后執(zhí)行相應動作并返回應答數據。由于HART 協議通信數據幀長度不定,最長為25字節(jié),只擁有固定的前導符而沒有固定的結束標識符,因此在本控制器的程序設計中使用MSP430的定時器來判斷主機不足25字節(jié)的一幀數據是否發(fā)送完畢,由于HART協議通信速率為1200 bps,傳輸每位數據的時間約為833μs,因此可以定義一個大于833μs的延時時間T,當從機最后一次接收到數據后,經過T時間沒有接收到新數據就可以認為已經接收完一幀完整的數據。
系統上電穩(wěn)定,經過一系列初始化操作后,MSP430控制DS8500打開解調模塊,處于接收等待狀態(tài)。當上位機有數據發(fā)送過來時,DS8500將解調后的數據通過串口發(fā)送給MSP 430,若接收到的第一個字符為0xFF(前導符開頭字節(jié))則啟動定時器,定時5ms(根據需要調整),并將接收字符送入接收緩沖區(qū),此后每接收到一個字符立刻將該字符存入接收緩沖區(qū),并重置定時器計數器,直到定時器溢出(5 ms沒有接到新數據)或者25字節(jié)的接收緩沖區(qū)已被填滿。此時,認為主機已經發(fā)送完一幀完整的數據,接下來調用HART數據處理函數,判斷接收者地址為本機后,對接收緩沖區(qū)內的數據進行校驗,校驗通過后提取出主機發(fā)送的命令和數據,根據命令執(zhí)行相應操作并生成應答數據存入發(fā)送緩沖區(qū)中。MSP 430打開DS8500的調制模塊,將應答數據從串口傳送給DS8500,經過調制后通過4~20 mA環(huán)路發(fā)送給主機,然后關閉DS8500的調制器,打開解調器,繼續(xù)等待下一次命令的到來??刂瞥绦蚝诵牟糠至鞒虉D如圖6所示。
HART協議應用層命令的實現依賴于具體的設備,不同的設備需要實現的命令不盡相同,本控制器軟件程序使用了一個switch結構來判斷從接收數據幀中提取出來的主機命令。因此,當本控制器應用于不同的設備時,應用層部分只需根據設備需求添加case判斷語句和動作執(zhí)行代碼,就可完成對新的命令的支持,具有很好的可復用性。
結語
與其他總線技術相比,HART協議并不能算是嚴格意義上的現場總線(模擬信號與數字信號混合),這使得難以為其開發(fā)統一的通信接口芯片,同時HART協議作為模擬系統向數字系統進行轉變的過渡協議,在智能化、通信速率等方面又與真正的現場總線存在一定的差距,但這些方面的不足并不影響HART協議在世界范圍得到廣泛的應用。
由于HART協議實現簡單、成本低廉、工作可靠,在未來的很長一段時間內,HART協議仍將作為事實上的工業(yè)標準活躍在工業(yè)領域,這也是本文提出該HART從機控制器設計的原因所在。
HART從機控制器在硬件上使用了很少的元件就完成了HART通信所必需的物理層搭建,具有電路結構簡單、成本低廉、穩(wěn)定性好等優(yōu)點。與現有設備結合時,可以利用MSP430單片機來實現設備原有功能,HART通信模塊實現HART協議通信,或者根據設備具體情況直接將HART模塊加載于原設備之上,軟件程序只需針對設備所使用的單片機型號更改相應的初始化代碼,并根據實際需要實現HART應用層的命令應答。目前,該設計已經應用在實際產品上,成功地將一款原本只支持4~20mA模擬通信的兩線制超聲波液位計升級改造,使其支持HART協議通信,并且經過一段時間的測試觀察,通信穩(wěn)定,完全滿足了低成本限制下對傳統現場設備升級改造的需求,具有一定的參考價值。
評論