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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > uC/OS-II嵌入式系統(tǒng)在C8051F060上的應(yīng)

          uC/OS-II嵌入式系統(tǒng)在C8051F060上的應(yīng)

          ——
          作者: 時(shí)間:2010-01-13 來(lái)源:電子產(chǎn)品世界 收藏

            1 引 言

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

            超聲就是指頻率高出可聽(tīng)頻率極限(即在20 kHz以上的頻段)的彈性振動(dòng),這種振動(dòng)以波動(dòng)形式在介質(zhì)中的傳播過(guò)程就形成超聲波。超聲波技術(shù)應(yīng)用于流量測(cè)量的原理是:由超聲換能器產(chǎn)生的超聲波以某一角度入射到流體中,在流體中傳播的超聲波就載有流體流速的信息,利用接收到的超聲波信號(hào)就可以測(cè)量流體的流速和流量。上世紀(jì)70年代以后,由于集成電路技術(shù)的迅猛發(fā)展,高性能、高穩(wěn)定性的鎖相技術(shù)的出現(xiàn)與應(yīng)用,才使實(shí)用的超聲波流量計(jì)得以迅速發(fā)展。超聲波流量計(jì)結(jié)構(gòu)簡(jiǎn)單,壓力損失小,而且使用方便,因而得到了廣泛的應(yīng)用。

            根據(jù)超聲波聲道結(jié)構(gòu)類(lèi)型可分為單聲道和多聲道超聲波流量計(jì);根據(jù)超聲波流量計(jì)適用的流道不同可分為管道流量計(jì)、管渠流量計(jì)和河流流量計(jì);根據(jù)對(duì)信號(hào)的檢測(cè)原理,超聲波流量計(jì)非接觸測(cè)量方法分為:傳播時(shí)差法、多普勒法、波束偏移法及流動(dòng)超聲法等不同類(lèi)型,其中傳播時(shí)差法又分為直接時(shí)差法、相位差法和頻差法。 雙頻超聲波多普勒流量計(jì)能夠產(chǎn)生兩組異頻、相互獨(dú)立的超聲波信號(hào),兩種頻率用于識(shí)別和排除一系列的錯(cuò)誤信號(hào),他能有效去除噪聲信號(hào),并將準(zhǔn)確識(shí)別出的多普勒信號(hào)進(jìn)行平方放大。

            本文給出了一種雙頻超聲波流量計(jì)的硬件電路設(shè)計(jì)方法。

            2 總體的系統(tǒng)設(shè)計(jì)

            整個(gè)系統(tǒng)的硬件結(jié)構(gòu)可以分為兩太模塊:超聲波發(fā)射、接收探頭及濾波放大電路的設(shè)計(jì)和數(shù)字系統(tǒng)的設(shè)計(jì),如圖1所示。發(fā)射探頭發(fā)射兩個(gè)己知的固定頻率的獨(dú)立超聲波信號(hào),接收探頭負(fù)責(zé)接收含有流體的流速信息的超聲波。接收到的超聲波分別被前置放大電路、帶通濾波器放大器、混頻器及低通濾波器處理獲得含有流體流速信息的低頻模擬多普勒信號(hào),再送到數(shù)字系統(tǒng)部分的DSP(TMS320F2812)的模/數(shù)(A/D)轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換。TMS320F2812內(nèi)部定時(shí)中斷子程序進(jìn)行數(shù)據(jù)采樣,采集的數(shù)據(jù)送人環(huán)形數(shù)據(jù)緩沖區(qū)內(nèi),然后TMS320F2812對(duì)采樣數(shù)據(jù)進(jìn)行加窗處理、FFT變換求其功率譜、功率譜的延伸、疊加等處理得到多普勒頻偏值,求得流速。單片機(jī)C8051F236通過(guò)SPI從DSP中讀出流速的數(shù)據(jù),再根據(jù)輸入的儀表參數(shù)進(jìn)行流量、累計(jì)流量等所需要的數(shù)據(jù)量的計(jì)算,并通過(guò)液晶顯示器顯示。除了測(cè)量以外,還可以通過(guò)鍵盤(pán)選擇執(zhí)行安裝、測(cè)試、設(shè)置儀表和現(xiàn)場(chǎng)參數(shù)等多種操作。

            

           

            系統(tǒng)總電路圖如圖2所示。系統(tǒng)總共有6個(gè)模塊,分別是電源模塊、發(fā)射模塊(超聲波產(chǎn)生和功率放大)、接收模塊、DSP模塊、擴(kuò)展單元模塊和單片機(jī)模塊。

            

           

            3 超聲波的產(chǎn)生與功率放大

            多普勒超聲波測(cè)量中傳感器的激勵(lì)方式有單載頻脈沖激勵(lì)、連續(xù)正弦波激勵(lì)和偽隨機(jī)碼信號(hào)激勵(lì)等,由于連續(xù)正弦信號(hào)的采集較為容易,也適于作頻譜分析,因此選用這種方式。

            超聲信號(hào)的頻移反映了流速的信息,測(cè)準(zhǔn)頻移是保證測(cè)量精度的關(guān)鍵,愈少在頻譜中引入干擾分量愈好,因此我們需要源信號(hào)有較高的純度。一般的正弦振蕩電路會(huì)有很多諧波分量,而且頻率漂移較大,一旦調(diào)節(jié)好了頻率又不易修改,使系統(tǒng)適應(yīng)不同頻率傳感器的靈活性減低,但是DDS芯片可以解決這些問(wèn)題。

            DDS技術(shù)是一種把一系列數(shù)字量形式的信號(hào)通過(guò)DAC轉(zhuǎn)換成模擬量形式信號(hào)的合成技術(shù)。目前使用最廣泛的一種DDS方式是利用高速存儲(chǔ)器作查尋表,然后通過(guò)高速DAC產(chǎn)生已經(jīng)用數(shù)字形式存人的正弦波。

            本系統(tǒng)選用的DDS芯片是AD公司生產(chǎn)的COMS型DDS芯片AD9850,該芯片最高可支持125 MHz的時(shí)鐘頻率,32位頻率調(diào)節(jié)字可用并行或串行方式裝入。+3.3 V或+5 V供電,極低功耗,28腳SSOP封裝。AD9850有兩種裝載頻率調(diào)節(jié)字的方式,無(wú)優(yōu)劣之分。AD9850有32位調(diào)節(jié)字,分為W0,W1,W2,W3,W4五個(gè)字節(jié),每次只能寫(xiě)入一個(gè)字節(jié),當(dāng)W-CLK腳變高時(shí),寫(xiě)入有效。FQ-UD有效時(shí),AD9850讀取新的調(diào)節(jié)字,產(chǎn)生新的頻率輸出。RESET有效時(shí),清除調(diào)節(jié)字寄存器。

            74HC574是8D鎖存器,可將寫(xiě)入的數(shù)據(jù)保存在輸出端直到下次時(shí)鐘到來(lái)。AD9850的W-CLK,F(xiàn)Q-UD和RESET均通過(guò)74HC574連在DSP的GPIOA上,他們的時(shí)序是通過(guò)寫(xiě)入數(shù)據(jù)產(chǎn)生的。AD9850的工作時(shí)序如圖3所示。

            

           

            流體中有較高的顆粒含量,超聲波的衰減較大,發(fā)射信號(hào)要有一定功率,因此功率放大不可少。由于超聲波的頻率較高(640 k和1.0 M),進(jìn)行功率放大時(shí)一般的功率放大集成電路帶寬不夠,因此只好用功率晶體管搭放大電路。具體電路如圖4所示。該圖為推挽式放大電路,Q1為NPN管(3DDSA),Q2為PNP管(3CDSA)。DDS-IN接DDS的輸出,變壓器的輸出接發(fā)送傳感器。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();