<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于TMS320F2812高精度數字頻率計的設計

基于TMS320F2812高精度數字頻率計的設計

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

單色液晶屏模塊

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

該液晶模塊的讀寫(xiě)周期最小為800ns。如果采用總線(xiàn)方式控制液晶模塊,讀、寫(xiě)周期最大值為200ns,不能滿(mǎn)足該液晶模塊的要求,故采用間接控制方式。為節約硬件成本,該系統選用通用GPIO來(lái)控制液晶屏的讀寫(xiě)信號。

鍵盤(pán)模塊

由于鍵盤(pán)是低速外設,與連接時(shí)存在速度匹配問(wèn)題。為此,設計時(shí)設置相應的全局變量實(shí)現與系統的同步。

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

軟件設計

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

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

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


捕獲中斷測頻

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

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

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

{
EALLOW;
SysCtrlRegs.HISPCP.all = 0x00;// 外設高速時(shí)鐘
EDIS;
EvaRegs.CAPCONA.bit.CAP1EDGE=1; //檢測上升沿,計算周期脈沖寬度
EvaRegs.CAPFIFOA.bit.CAP1FIFO=0; //CAP1FIFO空
EvaRegs.CAP1FBOT=0;//棧底清零
EvaRegs.CAP1FIFO=0;
EvaRegs.EVAIFRC.bit.CAP1INT=1;//清捕獲中斷1標志位
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位整數
*(Uint16 *)0x80008=a10x0ffff;//獲的低16位
*(Uint16 *)0x80009=(a10xffff0000)>>16;//獲的高16位
EvaRegs.EVAIFRC.bit.CAP1INT=1;//清捕獲中斷1標志位
EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕獲1中斷使能
PieCtrlRegs.PIEACK.bit.ACK3 = 1;//開(kāi)外設中斷應答
}

LCD顯示處理

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

實(shí)驗結果

本系統測試了如表1中的6組數據,并做出了誤差分析。輸入信號頻率與實(shí)測信號頻率如表1所示。

誤差分析:本系統的誤差主要來(lái)自如下兩個(gè)方面,即計數脈沖和門(mén)控信號不同步以及晶振不穩定。

結束語(yǔ)

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>