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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 采用I/O模擬多路復用器PSoC優(yōu)化傳感器控制設計

          采用I/O模擬多路復用器PSoC優(yōu)化傳感器控制設計

          作者: 時間:2012-05-12 來源:網絡 收藏

          本文引用地址:http://www.ex-cimer.com/article/149080.htm
          公式

            現(xiàn)在,電阻讀數的準確度僅受限于基準電阻器的準確度和ADC的分辨率。任何增益誤差都不會被帶入計算之中。

            然后,假設先前討論的應用在規(guī)格上有一個變化,即要求用熱敏電阻來代替LM35。所選的特定熱敏電阻具有10kW/25℃的標稱電阻,簡單的實現(xiàn)方法是把熱敏電阻布設于所需的位置并將它們各自連接至一個引腳。將一個多余的引腳連接至10kW基準電阻器,并設定電流DAC產生一個100μA的電流。通過將陣列配置為一個ADC,即可順序測量每個負載電壓并計算所有熱敏電阻的阻值,再利用合適的方程來把這些電阻值轉換為溫度值。

            

            圖3:具有放電電路的多路。

            有些類型的具有容性輸出,其中包括加速計和壓力。與產生DC負載電壓的阻性傳感器不同,當DC電流來激勵時,容性傳感器將產生一個斜坡電壓,斜率與激勵電流成正比,而與測量電容成反比。為了方便該轉換速率的測量,在CY8C21x34的總線上增設了一個放電開關。當被選擇時,該開關將把模擬總線放電至地電位???a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/采用">采用多種可配置資源來其操作。如欲測量斜坡,則把模擬模塊配置成采樣比較器。

            比較器的輸出負責放電開關。該拓撲結構形成了一個弛張振蕩器(relaxaTIon oscillator)。當斜坡電壓上升至跳變點(trip point)時,比較器將關閉放電通路并重新把模擬總線放電至地電位。然后,比較器釋放開關,電壓繼續(xù)上升。比較器輸出被饋送至配置了一個頻率計數器或周期定時器的數字部分。電容值可以從測量的數字信號推導出來。

            現(xiàn)在,假設一個需要測量壓力的控制應用。微加工技術的發(fā)展使得能夠利用固定在玻璃襯底上的硅薄膜來制作廉價的壓力傳感器。壓力的變化會使薄膜產生偏移,從而導致電容的改變。然而,熱膨脹也會引發(fā)電容的變化,使得這些傳感器容易受到溫度的影響。相應的解決方案是在相同的襯底上設置一個基準電容器,并測量兩個電容的比值。

            在測量壓力時,將兩個容性輸出均與引腳相連。模擬部分如今被配置為一個具有1.3V觸發(fā)電平的采樣比較器,并用于控制放電開關。電流源被設定為10μA。對于一個10pF的標稱電容,產生的電壓變化斜率為1V/μs。在該速率條件下,斜坡電壓將需要1300ns的時間才能達到1.3V的跳變點。數字部分計算出的頻率為769kHz。測量頻率與測量電容成反比。對每個電容進行順序測量,并計算一個比值。這兩個數值之比將消除任何由于電流源或用于計算頻率的系統(tǒng)時鐘的不精確性所引發(fā)的誤差。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();