<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 使用HART兼容性簡化模擬電流環(huán)路設(shè)計

          使用HART兼容性簡化模擬電流環(huán)路設(shè)計

          作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏



          圖4:HART消息頻譜。

          由圖4可以看出,HART消息的一部分(尤其在較低頻率處)依然可以出現(xiàn)在A/D輸出數(shù)據(jù)中。也就是說,可以輕松更改數(shù)字濾波器設(shè)置,以便實現(xiàn)HART FSK采樣輸入速度和抑制之間的正確平衡。圖5顯示了系統(tǒng)性能,其測量值在4mA至20mA滿量程范圍內(nèi)以百分比誤差表示,同時比較模擬濾波器(圖1)和SINC3數(shù)字濾波器(圖2)的系統(tǒng)速度。


          圖5:SINC3濾波器與模擬濾波器。

          模擬濾波器在硬件中固定,并具有固定的建立時間。對于系統(tǒng)輸入端的快速變化模擬信號而言,模擬濾波器輸出誤差由其較慢的建立時間決定。例如,如果系統(tǒng)輸入每40ms改變滿量程,則濾波器輸出不會建立至正確值1%以內(nèi)。對于較慢的輸入信號而言,模擬濾波器輸出誤差由其抑制HART FSK信號低頻分量的能力決定。對于典型HART命令3消息而言,該誤差測量值約為4mA至20mA滿量程的0.09%。

          此外,數(shù)字SINC3濾波器的建立時間是一個用戶設(shè)置的參數(shù),濾波器輸出誤差是由于HART FSK調(diào)制對應(yīng)的濾波器設(shè)置決定的。例如,400 Hz陷波的SINC3濾波器對應(yīng)7.5ms建立時間,當(dāng)傳輸HART命令3時,A/D上測得的擾動不足4mA至20mA滿量程的0.4%。在具有四個模擬輸入的系統(tǒng)中,SINC3濾波器在通道之間順序切換。同樣的400Hz陷波SIN3濾波器現(xiàn)在需要4×7.5= 30ms才能掃描全部四個通道。這便是四通道系統(tǒng)的曲線在30ms處均顯示出約為0.4%誤差的原因。

          對于更精確的4mA至20mA輸入而言,SINC3濾波器可設(shè)為30ms建立時間,該設(shè)置對應(yīng)100Hz陷波且將HART信號抑制在不足滿量程的0.1%。如果速度更為重要,則6ms建立時間(約500Hz陷波)的SINC3濾波器依然可以將HART通信信號抑制在4mA至20mA輸入的0.5%以下。此外,如果只要求速度且無需進行HART通信,則前文提及的AD7173能夠以每通道161μs的建立時間達到3 ksps的采樣速率。

          傳統(tǒng)的模擬低通濾波器較容易理解,而某些情況下,每通道略為增加幾個元器件可在多通道系統(tǒng)中實現(xiàn)較好的模擬輸入性能。另一方面,Σ-Δ型ADC的集成數(shù)字SINC濾波器具有極大的靈活性,而這種靈活性是一路直到終端系統(tǒng)用戶都可提供的。數(shù)字解決方案所需硬件較少,并且若設(shè)置得當(dāng),則其在HART FSK信號濾波性能方面優(yōu)于單通道系統(tǒng)中的模擬解決方案,而與最多四通道的系統(tǒng)相比具有接近或更佳的性能。

          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();