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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C8051F410的精確信號模擬電路設(shè)計(jì)

          基于C8051F410的精確信號模擬電路設(shè)計(jì)

          作者: 時(shí)間:2011-12-26 來源:網(wǎng)絡(luò) 收藏

          引言

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

            在對某型發(fā)射裝置進(jìn)行檢測時(shí).需要提供三組以11.50伏為基準(zhǔn)的直流電壓。為配合測試流程,這三組需要在不同的時(shí)段取18個(gè)不同的直流電壓值,幅度分布在9.33-12.13伏范圍之內(nèi)。原有的測試儀采用22個(gè)精密電阻組成的分壓器,配合波段開關(guān)選擇來產(chǎn)生這18種不同的直流電壓。這種設(shè)計(jì)方法價(jià)格昂貴,并且不能實(shí)現(xiàn)自動(dòng)化檢測,需要通過手工撥動(dòng)波段開關(guān)來實(shí)現(xiàn)測試步驟的轉(zhuǎn)換。為了實(shí)現(xiàn)對發(fā)射裝置的自動(dòng)測試。采用微機(jī)技術(shù)設(shè)計(jì)了新型的檢測儀。新的檢查儀以CPU模塊為核心,通過程序控制D/A轉(zhuǎn)換器來產(chǎn)生這三組直流電壓信號,簡化了設(shè)計(jì),降低了成本,實(shí)現(xiàn)了測試步驟的自動(dòng)切換。但是在檢測儀的使用過程中發(fā)現(xiàn)經(jīng)常出現(xiàn)重測合格(RTOK)現(xiàn)象,即檢測儀測定某件裝備不合格,但是更換儀器或重新開機(jī)后再對該裝備進(jìn)行測試時(shí)結(jié)果良好.這種狀況嚴(yán)重影響裝備單位的使用和維護(hù)。后經(jīng)分析.認(rèn)為主要是檢測儀中產(chǎn)生這三組精確信號的電路存在工作點(diǎn)漂移問題,精度不高。電壓輸出不穩(wěn)定,從而導(dǎo)致測試狀態(tài)不正確。為了解決這個(gè)問題,本文單片機(jī)。采用PWM調(diào)制技術(shù)和負(fù)反饋測量技術(shù)設(shè)計(jì)了~種新的精確信號電路,有效抑制了工作點(diǎn)漂移問題提高了電路輸出精度.解決了裝備維護(hù)使用工作中存在的實(shí)際問題。

            1 電路結(jié)構(gòu)及原理

            采用了閉環(huán)控制結(jié)構(gòu),如圖l所示。電路以單片機(jī)為核心.通過程序設(shè)定需要輸出電壓的初始參數(shù),控制單片機(jī)內(nèi)部的可編程計(jì)數(shù)器陣列(PCA)產(chǎn)生適當(dāng)占空比的PWM波形,經(jīng)二級信號放大電路和推挽式輸出電路放大后得到精確直流電壓信號。為了抑制-亡作點(diǎn)漂移并保證足夠的輸出精度,將輸出信號經(jīng)分壓后引回至單片機(jī),利用單片機(jī)內(nèi)部的數(shù)/模轉(zhuǎn)換器測量該電壓,并與初始設(shè)定參數(shù)相比較.通過程序調(diào)節(jié)PWM波形的占空比.從而得到具有高可靠性和較高精度的直流電壓輸出信號。

          電路結(jié)構(gòu)框圖

          圖1電路結(jié)構(gòu)框圖

            本電路的基本思想就是利用單片機(jī)具有的PWM端口,在不改變PWM方渡周期的前提下.通過軟件的方法調(diào)整單片機(jī)的PWM控制寄存器來調(diào)整PWM的占空比,從而得到所需要的電壓信號。本電路所要求的單片機(jī)必須具有ADC端口和PWM端口這兩個(gè)必需條件,ADC的位數(shù)要求盡鼉高,單片機(jī)的工作速度要求盡量快。在調(diào)整輸出電壓前,單片機(jī)先快速讀取輸出電壓的大?。缓蟀言O(shè)定的輸出電壓與實(shí)際讀取到的輸出電壓進(jìn)行比較,若實(shí)際電壓值偏小,則向增加輸出電壓的方向調(diào)整PWM的占空比:若實(shí)際電壓偏大,則向減小輸出電壓的方向調(diào)整PWM的占空比。經(jīng)選型發(fā)現(xiàn),C8051F410單片機(jī)處理器最高運(yùn)行時(shí)鐘可達(dá)50MHz:具有6個(gè)PCM模塊.可實(shí)現(xiàn)PWM輸出;具有1個(gè)12位ADC模塊,滿足電壓測量精度要求。

            2 硬件設(shè)計(jì)

            整個(gè)電路的硬件設(shè)計(jì)主要包括C8051F410單片機(jī)的外圍、放大以及電壓反饋測量前置電路設(shè)計(jì)三個(gè)部分。如圖2所示。

          硬件電路示意圖

          圖2硬件電路示意圖

            整個(gè)電路以C805IF410單片機(jī)為核心。C805IF410單片機(jī)具有P0、P1、和P2數(shù)字/模擬可配置的I/0 口,所有的數(shù)字和模擬資源都可以通過這三組24個(gè)I/O引腳使用。輸出一路精確模擬信號,需要設(shè)置—個(gè)引腳作為PWM輸出口,一個(gè)作為ADC輸入口。在這里,我們設(shè)置PO.1為PWM輸出口,P0.2為ADC輸人口。

            C8051F410單片機(jī)外圍電路設(shè)計(jì)主要包括在線調(diào)試和下載電路、外部參考電壓電路和濾波電路設(shè)計(jì)。本文利用單片機(jī)提供的C2調(diào)試接口設(shè)計(jì)了在線調(diào)試和下載電路.如圖2左上側(cè)電路所示.通過計(jì)算機(jī)串口實(shí)現(xiàn)單片機(jī)的快速編程和系統(tǒng)在線調(diào)試。圖2下右側(cè)為外部參考電壓電路璉接到單片機(jī)的Vref引腳.為單片機(jī)ADC等模塊提供2.048伏電壓參考.可通過電位器進(jìn)行調(diào)校。

            放大電路包括二級電壓放大電路和推挽式功率輸出電路兩個(gè)部分.如圖2右側(cè)電路所示。二級信號放大電路和推挽式輸出電路均為經(jīng)典電路,在此不再贅述。

            電壓反饋測量前置電路如圖2右側(cè)上部所示,實(shí)質(zhì)為分壓電路。由于設(shè)定C8051F410單片機(jī)參考電壓為2.048伏,而輸出電壓最大值為12伏左右,因此選擇電阻R15=4.3K,R16=20K,電位器Pv1標(biāo)稱電阻為5K,并可通過調(diào)節(jié)電位器來改變電壓倍數(shù)。

            3 軟件設(shè)計(jì)

            本電路中運(yùn)用c語言編程來實(shí)現(xiàn)PWM控制,利用C8051F410芯片的可編程計(jì)數(shù)器陣列組成PWM發(fā)生器。C805IF410芯片的可編程計(jì)數(shù)器陣列由一個(gè)專用的16位計(jì)數(shù)器/定時(shí)器和3個(gè)16位捕捉/比較模塊組成.捕捉/比較模塊有六種工作方式:邊沿觸發(fā)捕捉、軟件定時(shí)器、高速輸出、頻率輸出、8位PWM和16位PWM。每個(gè)捕捉,比較模塊的丁作方式都可以被獨(dú)立配置。對PCA的配置和控制是通過系統(tǒng)控制器的特殊功能寄存器來實(shí)現(xiàn)的.主要有以下幾個(gè):

            1) PCAOCN可編程計(jì)數(shù)器陣列控制寄存器。該寄存器包括溢出標(biāo)志、運(yùn)行控制標(biāo)志以及捕捉/比較標(biāo)志。

            2) PCAOMD可編程計(jì)數(shù)器陣列方式寄存器。該寄存器用于設(shè)置可編程計(jì)數(shù)器陣列的工作模式及時(shí)鐘源。

            3) PCAOCPMn可編程計(jì)數(shù)器陣列捕捉/比較寄存器。該寄存器可進(jìn)行捕捉/比較模塊n的工作方式。

            4) PCAOCPn可編程計(jì)數(shù)器陣列捕捉,比較寄存器(高低字節(jié))。該寄存器用于設(shè)置捕捉/比較模塊n的高低字節(jié)。



          評論


          相關(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); })();