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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 微控制器/模擬應(yīng)用中電源、接地和噪聲的解決方案

          微控制器/模擬應(yīng)用中電源、接地和噪聲的解決方案

          作者: 時間:2010-02-25 來源:網(wǎng)絡(luò) 收藏

          在數(shù)字部分,微產(chǎn)生稱重值的數(shù)字表示。微的作用之一是在LED陣列上顯示測量結(jié)果。微還利用RS-232連接端口把數(shù)據(jù)傳送到臺式電腦。臺式電腦從微控制器得到測量數(shù)據(jù),并以柱狀圖形式顯示這個數(shù)據(jù)。最后,數(shù)字部分還包括風(fēng)扇的PWM驅(qū)動器輸出。

          這個設(shè)計(jì)包括敏感的電路、大功率LED顯示器以及與筆記本電腦相連的一個潛在的數(shù)字接口。其中的難點(diǎn)在于設(shè)計(jì)一個可以使這些沖突單元共存的電路和布局。我們將從設(shè)計(jì)這個電路的部分開始,然后繼續(xù)討論與布局有關(guān)的問題。

          模擬電路設(shè)計(jì)

          這個電路的模擬部分有一個稱重傳感器、構(gòu)成一個儀器放大器的雙運(yùn)放(MCP6022)、一個12位100 kHz SAR ADC(MCP3201)和一個參考電壓。ADC的SPI端口直接連接到一個微控制器(見圖2)。

          稱重傳感器的滿幅輸出范圍為± 10mV。儀器放大器的增益(A1和A2)為153V/V。這個增益可使儀器放大器電路的滿幅輸出擺動與ADC的滿幅輸入范圍相匹配。SAR ADC有一個內(nèi)部輸入采樣機(jī)制。有了這種功能,每次的轉(zhuǎn)換就可以采用單次取樣。微控制器從轉(zhuǎn)換器采集數(shù)據(jù),并把數(shù)據(jù)轉(zhuǎn)換成可用于LED顯示器或PC接口等任務(wù)的格式。

          如果這個系統(tǒng)所實(shí)現(xiàn)的電路和布局設(shè)計(jì)有缺陷(沒有層、沒有旁路電容器和膺頻濾波器),肯定會出現(xiàn)問題。有缺陷的實(shí)現(xiàn)方案會導(dǎo)致ADC數(shù)字輸出的不確定性令人難以容忍。假定發(fā)生了這種狀況,很明顯是信號鏈中最后的器件出現(xiàn)了問題。但是,事實(shí)上,帶有噪聲的轉(zhuǎn)換結(jié)果的根源是PCB布局的問題。

          在最壞的情況下,在沒有采取抑制噪聲的預(yù)防措施時,圖2所示的12位系統(tǒng)對DC輸入信號的輸出代碼分布很散。圖3顯示了從轉(zhuǎn)換器輸出的數(shù)據(jù)。

          圖3 轉(zhuǎn)換器輸出的數(shù)據(jù)。

          模擬布局的原測

          層布局的實(shí)現(xiàn)是設(shè)計(jì)低噪聲的關(guān)鍵。利用模擬和/或混合信號器件而忽略接地層是一種危險(xiǎn)的做法。接地層可以解決偏移誤差、增益誤差和電路噪聲等問題。由于模擬信號通常是以地為基準(zhǔn)的,當(dāng)缺少了接地層時,誤差將更為嚴(yán)重。

          稱重傳感器相關(guān)文章:稱重傳感器原理


          評論


          相關(guān)推薦

          技術(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); })();