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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320F2812高精度數(shù)字頻率計(jì)的設(shè)計(jì)

          基于TMS320F2812高精度數(shù)字頻率計(jì)的設(shè)計(jì)

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

          單色液晶屏模塊

          CM320240是一種圖形點(diǎn)陣液晶顯示器,主要采用動(dòng)態(tài)驅(qū)動(dòng)原理由行驅(qū)動(dòng)控制器和列驅(qū)動(dòng)控制器兩部分組成了320(列)×240(行)的全點(diǎn)陣液晶顯示,此顯示器內(nèi)含了硬件字庫,編程模式簡(jiǎn)潔方便。

          該液晶模塊的讀寫周期最小為800ns。如果采用總線方式控制液晶模塊,讀、寫周期最大值為200ns,不能滿足該液晶模塊的要求,故采用間接控制方式。為節(jié)約硬件成本,該系統(tǒng)選用通用GPIO來控制液晶屏的讀寫信號(hào)。

          鍵盤模塊

          由于鍵盤是低速外設(shè),與連接時(shí)存在速度匹配問題。為此,設(shè)計(jì)時(shí)設(shè)置相應(yīng)的全局變量實(shí)現(xiàn)與系統(tǒng)的同步。

          本系統(tǒng)將鍵盤分為二類:通道選擇鍵(3個(gè))與系統(tǒng)鍵(4個(gè))。通道選擇鍵主要完成系統(tǒng)單通道、雙通道、四通道模式的設(shè)定;系統(tǒng)鍵包括停止鍵(停止觀察顯示的頻率)、返回鍵(通道選擇的重新設(shè)定)、UP鍵和DOWN鍵(選擇捕獲單元硬件連接方式)。

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

          系統(tǒng)軟件設(shè)計(jì)是本系統(tǒng)的重點(diǎn),主要包括三部分內(nèi)容:捕獲中斷測(cè)頻子程序、鍵盤定時(shí)中斷掃描子程序和LCD顯示處理子程序。系統(tǒng)軟件總體流程圖如圖4所示。

          鍵盤定時(shí)中斷掃描

          為滿足系統(tǒng)實(shí)時(shí)性要求、完成鍵盤操作的實(shí)時(shí)響應(yīng),本系統(tǒng)設(shè)置了一個(gè)5ms的時(shí)基,采用事件管理器的EVB的time4定時(shí)周期中斷來完成。對(duì)鍵盤掃描、命令形成與標(biāo)志位設(shè)置功能,都在定時(shí)器中斷服務(wù)子程序完成。鍵盤定時(shí)中斷掃描流程圖如圖5所示。


          捕獲中斷測(cè)頻

          本系統(tǒng)使用事件管理器模塊的捕獲單元來測(cè)頻,捕捉被測(cè)信號(hào)的有效電平跳變沿,由內(nèi)部的計(jì)數(shù)器記錄一個(gè)周波內(nèi)標(biāo)頻脈沖個(gè)數(shù),并通過相應(yīng)的運(yùn)算來得到被測(cè)頻率的大小。此模塊主要包括捕獲與定時(shí)的初始化設(shè)置與捕獲中斷子程序兩部分。

          捕獲中斷測(cè)頻子程序的部分代碼如下:

          (1)void InitEv1(void)//捕獲1初始化設(shè)置

          {
          EALLOW;
          SysCtrlRegs.HISPCP.all = 0x00;// 外設(shè)高速時(shí)鐘
          EDIS;
          EvaRegs.CAPCONA.bit.CAP1EDGE=1; //檢測(cè)上升沿,計(jì)算周期脈沖寬度
          EvaRegs.CAPFIFOA.bit.CAP1FIFO=0; //CAP1FIFO空
          EvaRegs.CAP1FBOT=0;//棧底清零
          EvaRegs.CAP1FIFO=0;
          EvaRegs.EVAIFRC.bit.CAP1INT=1;//清捕獲中斷1標(biāo)志位
          EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕獲1中斷使能
          }

          (2)interrupt void CAPINT1_isr(void)//捕獲中斷1子程序

          {
          CAP1_t1=EvaRegs.CAP1FIFO;//
          CAP2_t1=EvaRegs.CAP1FIFO;
          if(CAP2_t1>CAP1_t1)
          temp1=CAP2_t1-CAP1_t1;
          else
          temp1=CAP2_t1+EvaTimer1InterruptCount*65535-CAP1_t1;
          f1= 1171875.0/(float)temp1;
          value=f1;
          fpart = modf(value, ipart);
          a1=(long)ipart;//獲得頻率的32位整數(shù)
          *(Uint16 *)0x80008=a10x0ffff;//獲的低16位
          *(Uint16 *)0x80009=(a10xffff0000)>>16;//獲的高16位
          EvaRegs.EVAIFRC.bit.CAP1INT=1;//清捕獲中斷1標(biāo)志位
          EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕獲1中斷使能
          PieCtrlRegs.PIEACK.bit.ACK3 = 1;//開外設(shè)中斷應(yīng)答
          }

          LCD顯示處理

          LCD的顯示分為信息區(qū)與顯示區(qū)兩部分。其中信息區(qū)包括固定信息(顯示煙臺(tái)大學(xué)DSP實(shí)驗(yàn)室等),顯示區(qū)包括通道號(hào)信息與各通道的頻率值信息的顯示。本模塊主要包括LCD的初始化設(shè)置與頻率值的顯示等子程序。

          實(shí)驗(yàn)結(jié)果

          本系統(tǒng)測(cè)試了如表1中的6組數(shù)據(jù),并做出了誤差分析。輸入信號(hào)頻率與實(shí)測(cè)信號(hào)頻率如表1所示。

          誤差分析:本系統(tǒng)的誤差主要來自如下兩個(gè)方面,即計(jì)數(shù)脈沖和門控信號(hào)不同步以及晶振不穩(wěn)定。

          結(jié)束語

          本文設(shè)計(jì)了一種具有和簡(jiǎn)單結(jié)構(gòu)特點(diǎn)的測(cè)頻系統(tǒng),由于在實(shí)現(xiàn)上簡(jiǎn)單,可以滿足低成本的要求,使測(cè)頻電路大為簡(jiǎn)化,便于工程應(yīng)用,具有較大的應(yīng)用價(jià)值。

          經(jīng)過反復(fù)測(cè)試后得出:系統(tǒng)的測(cè)頻誤差可達(dá)到0.1%,由于采用了實(shí)時(shí)的鍵盤定時(shí)中斷掃描,可以較好地滿足實(shí)時(shí)性要求。


          上一頁 1 2 下一頁

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