新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機捕捉模塊的設(shè)計思路

PIC單片機捕捉模塊的設(shè)計思路

作者: 時間:2013-03-15 來源:網(wǎng)絡(luò) 收藏
單片機配置了兩個CCP(捕捉/比較/脈寬調(diào)制)模塊,即CCP1和CCP2。它們各白都有獨立的16位寄存器CCPR1和CCPR2。兩個模塊的結(jié)構(gòu)、功能、操作方法基本一樣,區(qū)別僅在于它們各自有獨立的外部引腳和特殊事件觸發(fā)器。CCP模塊的功能包括外部信號捕捉、內(nèi)部比較輸出以及PWM輸出,它往往與定時器/計數(shù)器配合使用。

  CCP模塊可工作在3種模式下:捕捉方式、比較方式和脈寬調(diào)制方式。

  · 捕捉方式是指檢測引腳上輸入信號的狀態(tài),當(dāng)信號的狀態(tài)符合設(shè)定的條件時(信號上升沿或下降沿出現(xiàn)時)產(chǎn)生中斷,并記錄當(dāng)時的定時器/計數(shù)器值,當(dāng)CCP模塊工作在捕捉方式時,TMR1控制寄存器必須工作在定時器或同步計數(shù)方式下。

  · 比較方式是指將事先設(shè)定好的值與定時器方式或同步計數(shù)方式下的值相互比較,當(dāng)兩個值相等時,產(chǎn)生中斷并驅(qū)動事先設(shè)定好的動作。

  · 脈寬調(diào)制功能適用于從引腳上輸出脈沖寬度隨時可調(diào)的PWM信號,來實璣直流電機的調(diào)速、D/A轉(zhuǎn)換和步進(jìn)電機的步進(jìn)控制。

  本設(shè)計應(yīng)用單片機的CCP模塊的捕獲工作方式進(jìn)行頻率計的設(shè)計,具體設(shè)計要求如下。

  測量對象為100~1000Hz的TTL電平信號,待測量的參數(shù)有:

  · 頻率,測量誤差小于0.1%;

  · 周期,測量誤差小于0.1%;

  · 脈沖寬度(高電平持續(xù)時間),脈沖寬度大于100μs,測量誤差小于1%;

  · 占空比,占空比的變化范圍為10%~90%,測量誤差小于1%。

  頻率計的設(shè)計原理如下。

  在t1時刻之前把CCP1設(shè)置為捕捉脈沖上升沿。當(dāng)信號上升沿到來時,產(chǎn)生CCP中斷,在中斷服務(wù)程序中捕捉該時刻TMR1寄存器中16位的值time1,將CCP1設(shè)置為捕捉脈沖的下降沿。

  當(dāng)該信號下降沿到來時,產(chǎn)生CPP中斷,在中斷服務(wù)程序中捕捉該時刻TMR1寄存器中16位的值time2,而后再把CCP1設(shè)置為捕捉脈沖的上升沿。

  當(dāng)信號的下一個上升沿來到時,又產(chǎn)生CCP中斷,在中斷服務(wù)程序中捕捉此刻TMR1寄存器中的16位的值time3,則信號的周期T=(time3-time1)μS,信號頻率f=1/T,脈沖寬度P=(time2-time1)μS,占空比D=P/T×100%。

  考慮到CCP捕捉方式可能發(fā)生的最大誤差為±1μs,為滿足誤差要求,可把上述過程多進(jìn)行幾次,將各次測試的平均值作為最后的測量值。

  圖 頻率計設(shè)計原理示意圖

  如果需要測量的最高頻率為1000Hz,周期只有1000μs,且占空比的變化范圍為10%~90%,則高低電平持續(xù)的最短時間都為100μs,可以有充分的時間執(zhí)行中斷服務(wù)程序。

  如果實際應(yīng)用中發(fā)現(xiàn)兩次捕捉中斷的時間間隔小于1次中斷服務(wù)時間,則可以通過適當(dāng)設(shè)置寄存器CCPICON的值,使CCP模塊每4個脈沖上升沿捕捉1次或每16個脈沖上升沿捕捉一次,這樣兩次中斷的時間間隔就增大了。如果還不能達(dá)到要求,則可用分頻器對輸入頻率信號分頻處理后,再由CCP1引腳輸入。



關(guān)鍵詞: PIC單片機 捕捉模塊 PIC16F877

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉