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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 用COP820CJ實(shí)現(xiàn)可變輸入范圍的PWM A/D轉(zhuǎn)換

          用COP820CJ實(shí)現(xiàn)可變輸入范圍的PWM A/D轉(zhuǎn)換

          作者: 時(shí)間:2011-05-26 來(lái)源:網(wǎng)絡(luò) 收藏
          【摘 要】 介紹了8位單片機(jī)COP820CJ,并給出了一個(gè)用COP820CJ片上比較器設(shè)計(jì)的基于脈寬調(diào)制的A/D變換器,該A/D變換器可根據(jù)輸入電壓進(jìn)行軟件調(diào)整。
          關(guān)鍵詞:PWM,A/D,計(jì)數(shù)

          1 COP820CJ芯片介紹
            COP820CJ是美國(guó)國(guó)家半導(dǎo)體公司的一款8位單片機(jī),其主要數(shù)據(jù)有:64字節(jié)RAM,1K字節(jié)ROM,24個(gè)I/O口,時(shí)鐘頻率10MHz,工作電壓2.5V~6.0V。主要特性有:多輸入喚醒機(jī)制(MIWU),低壓復(fù)位的保護(hù)機(jī)制,片上模擬比較器,低電磁輻射設(shè)計(jì),I/O口可編程為三態(tài)、推挽輸出、弱上拉輸入等。下面僅就將要涉及的部分加以介紹。
            COP820CJ的端口分為L(zhǎng)/I/D/G四類。其中I口為4位輸入端口,D口為4位輸出端口,G口有6位I/O口和2位輸入口,L口為8位I/O口。L口也是芯片的喚醒端口,其中,L1和L2又是比較器輸入口,L3又是比較器輸出口。L口配有數(shù)據(jù)寄存器(LDATA〔0DOH〕)和配置寄存器(LCONF〔0D1H〕),兩寄存器共同決定該端口的狀態(tài)。具體關(guān)系見(jiàn)表1。

            COP820CJ的片上RAM、端口、寄存器均映射到00H~FEH的數(shù)據(jù)內(nèi)存空間,其中C0~CFH段主要是喚醒及看門(mén)狗控制寄存器,D0~DFH段有8個(gè)端口類寄存器,E0~EFH段為計(jì)時(shí)器和系統(tǒng)寄存器。00~2FH及F0~FFH為RAM地址。其中,F(xiàn)0~FEH段可用作寄存器,并包括B地址寄存器〔FCH〕、X地址寄存器〔FEH〕和SP堆棧指針〔FDH〕三個(gè)專用寄存器。
          2 工作原理
          2.1 基本原理
            利用COP820CJ芯片上的模擬比較器和脈沖寬度調(diào)制方式,可以構(gòu)成由軟件調(diào)控的可變輸入范圍的A/D轉(zhuǎn)換器。原理圖見(jiàn)圖1。圖中,L1和L2為比較器輸入端,如電容電壓小于輸入電壓,L3端輸出高脈沖,反之,L3輸出低脈沖,并對(duì)低脈沖減1計(jì)數(shù)。輸入電壓可通過(guò)L1、L2之間并聯(lián)的兩個(gè)背向二極管對(duì)電容C1快速充放電,使兩者電位迅速接近。
            比較器允許的輸入電壓為0.4V~1.5V(此時(shí)電容電壓與充電、放電時(shí)間之間為近似線性關(guān)系),實(shí)際輸入電壓范圍可能要更小一些。因此,我們可以通過(guò)設(shè)定高低脈沖的參數(shù),使電容電壓始終保持在測(cè)量范圍內(nèi)。設(shè)電源為5V,時(shí)鐘頻率為10MHz,脈沖周期為24個(gè)時(shí)鐘,即2.4微秒,輸入電壓范圍是


          1.0V~3.3V。我們可設(shè)置高脈沖為先低8個(gè)時(shí)鐘,再高16個(gè)時(shí)鐘;設(shè)置低脈沖為先高5個(gè)時(shí)鐘,再低19個(gè)時(shí)鐘。這樣,如果L3始終輸出高脈沖,電容電壓VH近似為16/24×VCC=3.30V;如果L3始終輸出低電平,電容電壓VL近似為5/24×VCC=1.04V。A/D轉(zhuǎn)換時(shí),L3根據(jù)比較結(jié)果輸出或高或低脈沖,當(dāng)脈沖數(shù)足夠多時(shí),計(jì)數(shù)器的值即代表了輸入電壓值,并可用下式表示:
            VIN=VL+(VH-VL)×(TON/TOTAL)其中,TON為計(jì)數(shù)器的值,TOTAL為總脈沖數(shù)。
          2.2 轉(zhuǎn)換時(shí)間及分辨率
            由上可知,脈沖周期為2.4微秒,如脈沖總數(shù)選為100,進(jìn)行兩次計(jì)數(shù),則轉(zhuǎn)換時(shí)間近似為2.4×100×2=480微秒。如輸入為高速變化信號(hào),只需減少脈沖總數(shù)即可。如脈沖總數(shù)為100,輸入電壓為1.0~3.3V,則分辨率為23mV。為提高分辨率,可先對(duì)輸入信號(hào)進(jìn)行粗測(cè),然后調(diào)整高低脈沖的占空比,使對(duì)應(yīng)電壓略超出測(cè)量結(jié)果的上下限值,這樣可以獲得更高的分辨率。
          3 軟件設(shè)計(jì)
          3.1 流程圖
            流程圖見(jiàn)圖2。
          3.2 相關(guān)信息
            控制寄存器2(CNTRL2〔CCH〕)的第三位是比較器允許位,第四位為比較器輸出。X指令為交換兩寄存器中的數(shù)據(jù)。SBIT(RBIT)i,n指令為將n寄存器的第i位置1(0)。IFBITi,n指令在n寄存器的第i位為1時(shí)執(zhí)行下一條指令,否則跳過(guò)。DRSZn指令先將寄存器n的值減1,如結(jié)果非零,則執(zhí)行下一條指令,否則跳過(guò)。
          要保證脈沖周期為24個(gè)時(shí)鐘,必須精確計(jì)算



          指令周期。以下指令周期的時(shí)鐘數(shù)為:NOP:1個(gè)時(shí)鐘;
            SBIT/RBIT/IFBIT(對(duì)B,X寄存器操作時(shí)):1個(gè)時(shí)鐘;
            DRSZ/JP:3個(gè)時(shí)鐘。
          3.3 匯編代碼





            
          參考文獻(xiàn)

          1 National Semiconductor Cor..COP820CJData Sheet.NationalSemiconductor,May 1999

          pwm相關(guān)文章:pwm原理




          評(píng)論


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