引言
HART(Highway Addressable Remote Transducer,可尋址遠(yuǎn)程
傳感器高速通道)通信協(xié)議由美國(guó)Rose-mount公司于20世紀(jì)80年代中期推出,之后又進(jìn)行了修訂和增補(bǔ),作為開放標(biāo)準(zhǔn)由HART通信基金會(huì)HCF向*發(fā)布,主要用于現(xiàn)場(chǎng)智能儀表和控制室系統(tǒng)間進(jìn)行數(shù)字通信。由于兼容傳統(tǒng)的4~20mA模擬系統(tǒng)的HART通信協(xié)議具有諸多優(yōu)點(diǎn),發(fā)展至今,它已被世界上三分之二以上的現(xiàn)場(chǎng)設(shè)備所采用,成為智能工業(yè)控制領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)。
在研制某
智能現(xiàn)場(chǎng)儀表的過程中,使用單片HART調(diào)制解調(diào)器A5191HRT和數(shù)模轉(zhuǎn)換器AD421設(shè)計(jì)實(shí)現(xiàn)了其中的HART協(xié)議遠(yuǎn)程通信模塊,具有高精度、低功耗、低成本、工作可靠性高的優(yōu)點(diǎn)。
HART協(xié)議簡(jiǎn)介 HART協(xié)議是一種兼容現(xiàn)行4~20mA模擬系統(tǒng)的過渡性現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),協(xié)議具備以下特點(diǎn):在4~20mA模擬信號(hào)上疊加數(shù)字信號(hào)進(jìn)行雙向數(shù)字通信,兼容現(xiàn)行模擬體制;可同時(shí)進(jìn)行點(diǎn)對(duì)點(diǎn)的4~20mA模擬和數(shù)字通信;可以使用多站方式進(jìn)行通信;可傳送被測(cè)變量、設(shè)備設(shè)置參數(shù)、設(shè)備檢測(cè)結(jié)果等多種信息;開放的體系結(jié)構(gòu),任何廠商和用戶都能夠免費(fèi)得到;數(shù)字響應(yīng)時(shí)間為500ms,突發(fā)方式為300ms。HART協(xié)議參考ISO/OSI,采用它的簡(jiǎn)化三層模型結(jié)構(gòu),包括*層物理層,第二層數(shù)據(jù)鏈路層和第七層應(yīng)用層。
物理層規(guī)定信號(hào)的傳輸方法、傳輸介質(zhì)。HART協(xié)議為實(shí)現(xiàn)模擬通信和數(shù)字通信同時(shí)進(jìn)行而互不干擾,采用基于Bell202標(biāo)準(zhǔn)的FSK頻移鍵控信號(hào),在低頻的4~20mA模擬信號(hào)上疊加音頻數(shù)字信號(hào)進(jìn)行雙向數(shù)字通信。音頻數(shù)字信號(hào)的幅度為0.5mA,數(shù)據(jù)傳輸率為1200bps,1200Hz代表邏輯“1”,2200Hz代表邏輯“0”,如圖1所示。
由于FSK信號(hào)的平均值為0,所以不影響傳送給控制系統(tǒng)的模擬信號(hào)的大小,保證了與現(xiàn)有模擬系統(tǒng)的兼容性。圖2所示為HART協(xié)議的數(shù)字和模擬信號(hào)疊加后同時(shí)傳輸?shù)氖疽鈭D。通信介質(zhì)的選擇視傳輸距離長(zhǎng)短而定,采用雙絞電纜傳輸時(shí)zui大傳輸距離可達(dá)1500m,線路總阻抗應(yīng)在230~1100Ω之間。
數(shù)據(jù)鏈路層規(guī)定HART協(xié)議幀的格式,實(shí)現(xiàn)建立、維護(hù)、終結(jié)鏈路通信的功能。HART協(xié)議根據(jù)冗余檢錯(cuò)碼信息,采用自動(dòng)重復(fù)請(qǐng)求發(fā)送機(jī)制,消除由于線路噪聲或其他干擾引起的數(shù)據(jù)誤碼,實(shí)現(xiàn)數(shù)據(jù)無差錯(cuò)傳送。HART協(xié)議信息幀的格式如表1所示。
現(xiàn)場(chǎng)儀表要執(zhí)行HART指令,操作數(shù)必須合乎的大小。每個(gè)獨(dú)立的字符包括:1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)奇偶校驗(yàn)位和1個(gè)停止位。由于數(shù)據(jù)的有無和長(zhǎng)短不恒定,所以HART數(shù)據(jù)的長(zhǎng)度也不一樣,zui長(zhǎng)的HART數(shù)據(jù)包含25字節(jié)。
應(yīng)用層即為HART命令集,用于實(shí)現(xiàn)HART指令。命令分為三類,即通用命令、普通命令和命令。
HART協(xié)議通信中,主要的變量或控制信息一般由4~20mA傳送,另外的諸多的測(cè)量數(shù)據(jù)、設(shè)備參數(shù)、校準(zhǔn)信息、診斷信息等通過HART協(xié)議傳輸,采用半雙工通信方式。
HART協(xié)議通信模塊的硬件設(shè)計(jì)
某智能現(xiàn)場(chǎng)儀表要求使用4~20mA傳統(tǒng)傳送zui主要的一個(gè)測(cè)量結(jié)果,使用HART協(xié)議數(shù)字通信的方式和控制設(shè)備交換儀表設(shè)置參數(shù)、中間測(cè)量數(shù)據(jù)、校準(zhǔn)參數(shù)等信息。所以HART協(xié)議通信模塊需要完成測(cè)量結(jié)果的數(shù)字碼到4~20mA模擬信號(hào)的DA轉(zhuǎn)換,以及上述諸多其他信息的HART協(xié)議數(shù)字通信。設(shè)計(jì)完成的HART通信模塊結(jié)構(gòu)框圖如圖3所示。
HART協(xié)議通信模塊主要由HART調(diào)制解調(diào)器A5191HRT和D/A轉(zhuǎn)換器AD421及其外圍電路實(shí)現(xiàn)。其中,AD421通過串行接口接收現(xiàn)場(chǎng)儀表內(nèi)部MCU傳送的數(shù)字信號(hào),轉(zhuǎn)換成4~20mA電流輸出,輸出主要的測(cè)量結(jié)果。A5191HRT則接收疊加在4~20mA環(huán)路上的信號(hào),對(duì)其帶通濾波和放大之后進(jìn)行載波檢測(cè),如果檢測(cè)到FSK頻移鍵控信號(hào),則將1200Hz的信號(hào)解調(diào)為“1”,2200Hz信號(hào)解調(diào)為“0”,并通過串口通信傳輸給MCU,MCU接收命令幀并作相應(yīng)的數(shù)據(jù)處理。之后,MCU產(chǎn)生要發(fā)回的應(yīng)答幀,應(yīng)答幀的數(shù)字信號(hào)由A5191HRT調(diào)制成相應(yīng)的1200Hz和2200Hz的FSK頻移鍵控信號(hào),并經(jīng)過發(fā)送信號(hào)整形電路進(jìn)行波形整形后,經(jīng)AD421疊加在環(huán)路上發(fā)送。
A5191HRT是AMISemiconductor公司推出的單片HART調(diào)制解調(diào)器,采用相位連續(xù)的FSK半雙工工作方式,數(shù)據(jù)率為1200bps。A5191HRT內(nèi)部集成了符合Bell202標(biāo)準(zhǔn)的調(diào)制器、解調(diào)器、接收濾波器、發(fā)送信號(hào)整形電路、載波檢測(cè)等電路,在+3.3V供電時(shí)工作電流330μA。由于A5191HRT的這些特點(diǎn),使設(shè)計(jì)者使用較少的外部無源元件就能夠構(gòu)建滿足HART協(xié)議物理層要求的電路。本設(shè)計(jì)中當(dāng)A5191HRT接收時(shí),從4~20mA環(huán)路上接收信號(hào),經(jīng)過帶通濾波、放大整形后提取出FSK信號(hào)并解調(diào)為數(shù)字信號(hào),傳送給MCU;發(fā)送時(shí),從MCU接收數(shù)據(jù),進(jìn)行調(diào)制和波形整形后耦合到AD421內(nèi)部,通過AD421疊加到環(huán)路上。A5191HRT和MCU通過后者的通用串行通信接口連接。
AD421是ADI公司推出的單片高性能數(shù)模轉(zhuǎn)換器,主要由電壓調(diào)整器、數(shù)模轉(zhuǎn)換器和電流放大器組成。電壓調(diào)整器由運(yùn)放、帶隙基準(zhǔn)和外接FET調(diào)整管組成,能夠從環(huán)路中獲取電流,為AD421和其他器件提供3.0V、3.3V、或5.0V可選擇的供電電壓。數(shù)模轉(zhuǎn)換器采用∑-ΔDAC結(jié)構(gòu),將16位數(shù)字碼轉(zhuǎn)換為4~20mA模擬電流。數(shù)字碼是通過和MCU的三線接口CLOCK、DATA和LATCH從MCU串行輸入。A5191HRT及其外圍電路設(shè)計(jì)的原理圖見圖4所示。
其中,與MCU的通用串行收發(fā)模塊UART的接口信號(hào)包括載波檢測(cè)OCD、HART解調(diào)輸出ORXD、來自UART的HART調(diào)制輸入ITXD和請(qǐng)求發(fā)送INRTS;Loop+為4~20mA環(huán)路輸入,經(jīng)過外部電阻電容和A5191HRT內(nèi)部電路完成接收信號(hào)的帶通濾波和放大,用于解調(diào);調(diào)制好的數(shù)據(jù)經(jīng)過內(nèi)部整形電路處理后由管腳OTXA輸出,通過電容耦合到AD421內(nèi)部,然后疊加到環(huán)路上傳輸;HART調(diào)制解調(diào)的時(shí)鐘信號(hào)源于外接的460.8kHz晶體產(chǎn)生的振蕩。AD421及其外圍電路設(shè)計(jì)的原理圖見圖5所示。
其中Loop+和Loop-分別是電流環(huán)路的兩個(gè)端口;從MCU輸入DAC的數(shù)字碼是通過三線接口實(shí)現(xiàn)的,分別是時(shí)鐘線CLOCK、數(shù)據(jù)線DATA和鎖存線LATCH。
HART協(xié)議通信模塊的軟件設(shè)計(jì)
HART協(xié)議通信模塊的軟件設(shè)計(jì)包括AD421的控制和HART通信協(xié)議的軟件程序設(shè)計(jì)。前者較為簡(jiǎn)單,后者包括HART協(xié)議數(shù)據(jù)鏈路層和應(yīng)用層的軟件設(shè)計(jì),是整個(gè)模塊軟件設(shè)計(jì)的主體和關(guān)鍵。
HART協(xié)議通信模塊的通信過程首先由主機(jī)(上位機(jī))發(fā)送命令幀發(fā)起,現(xiàn)場(chǎng)儀表作為從設(shè)備使用中斷調(diào)用子程序的方法完成接收和應(yīng)答?,F(xiàn)場(chǎng)儀表在上電或看門狗復(fù)位后,主程序首先對(duì)HART協(xié)議通信模塊進(jìn)行初始化,例如設(shè)定UART的工作方式、串行通信波特率、數(shù)據(jù)幀格式、清通信緩沖區(qū)、開中斷等,之后將其設(shè)置為等待狀態(tài)。上位機(jī)發(fā)送命令時(shí),A5191HRT的載波檢測(cè)輸出OCD變?yōu)榈碗娖剑|發(fā)UART中斷,程序進(jìn)入接收過程。MCU完成主機(jī)命令的接收、解釋并執(zhí)行相應(yīng)的操作后,按一定格式生成應(yīng)答幀并送入發(fā)送緩沖區(qū),完成發(fā)送后再次將HART協(xié)議通信模塊設(shè)置為等待狀態(tài)。圖6為HART協(xié)議通信模塊接收主機(jī)幀、回復(fù)應(yīng)答幀的程序流程圖。
HART協(xié)議通信模塊通過上圖所示的中斷調(diào)用子程序的方法,完成現(xiàn)場(chǎng)儀表和主機(jī)之間的通信,可以使主機(jī)完成對(duì)現(xiàn)場(chǎng)儀表的工作參數(shù)設(shè)置、測(cè)量結(jié)果讀取、儀表檢測(cè)等工作。
結(jié)論
實(shí)踐證明,上述的HART協(xié)議通信模塊的實(shí)現(xiàn)方法切實(shí)可行,具有電路設(shè)計(jì)簡(jiǎn)單、工作可靠性高的優(yōu)點(diǎn),具有很好的參考價(jià)值和實(shí)用性。HART技術(shù)在國(guó)外已經(jīng)很成熟,并以其自身突出的優(yōu)點(diǎn)而成為智能控制領(lǐng)域中應(yīng)用zui廣泛的現(xiàn)場(chǎng)通信協(xié)議,在今后的很長(zhǎng)一段時(shí)期內(nèi),HART技術(shù)將在我國(guó)現(xiàn)場(chǎng)儀表的智能化改造和研制中發(fā)揮重要的作用。