L9-輸入撲捉輸出比較_第1頁
L9-輸入撲捉輸出比較_第2頁
L9-輸入撲捉輸出比較_第3頁
L9-輸入撲捉輸出比較_第4頁
L9-輸入撲捉輸出比較_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、2007 2007 許輝許輝版權(quán)所有,未經(jīng)許可不得使用版權(quán)所有,未經(jīng)許可不得使用12007 2007 許輝許輝2輸入捕捉模塊用于在輸入引腳上有事件發(fā)生時,捕捉來自兩個可選時輸入捕捉模塊用于在輸入引腳上有事件發(fā)生時,捕捉來自兩個可選時基之一的定時器值?;坏亩〞r器值。輸入捕捉功能在需要進行輸入捕捉功能在需要進行頻率(時間周期)和脈沖測量的應(yīng)用頻率(時間周期)和脈沖測量的應(yīng)用中是相中是相當(dāng)有用的。當(dāng)有用的。輸入捕捉模塊有多種工作模式,可通過輸入捕捉模塊有多種工作模式,可通過ICxCON ICxCON 寄存器選擇。這些工寄存器選擇。這些工作模式包括:作模式包括: . . 在在ICx ICx 引腳輸

2、入電平的下降沿捕捉定時器值引腳輸入電平的下降沿捕捉定時器值 . . 在在ICx ICx 引腳輸入電平的上升沿捕捉定時器值引腳輸入電平的上升沿捕捉定時器值 . . 在在ICx ICx 引腳輸入電平的第引腳輸入電平的第4 4 個上升沿捕捉定時器值個上升沿捕捉定時器值 . . 在在ICx ICx 引腳輸入電平的第引腳輸入電平的第16 16 個上升沿捕捉定時器值個上升沿捕捉定時器值 . . 在在ICx ICx 引腳輸入電平的每個上升沿和下降沿捕捉定時器值引腳輸入電平的每個上升沿和下降沿捕捉定時器值輸入捕捉模塊有輸入捕捉模塊有4 4 級級FIFO FIFO 緩沖器。用戶可以選擇產(chǎn)生緩沖器。用戶可以選擇產(chǎn)

3、生CPU CPU 中斷所需中斷所需要的捕捉事件數(shù)量。要的捕捉事件數(shù)量。2007 2007 許輝許輝3dsPIC30F dsPIC30F 器件中的每個捕捉通道都有以下寄存器,器件中的每個捕捉通道都有以下寄存器, . ICxCON . ICxCON :輸入捕捉控制寄存器:輸入捕捉控制寄存器 . ICxBUF . ICxBUF :輸入捕捉緩沖寄存器:輸入捕捉緩沖寄存器2007 2007 許輝許輝4p 定時器選擇:定時器選擇:每個每個dsPIC30F dsPIC30F 器件可能有一個或多個輸入捕捉通道。每器件可能有一個或多個輸入捕捉通道。每個通道都可以選擇兩個個通道都可以選擇兩個16 16 位定時器之

4、一作為時基。位定時器之一作為時基??梢酝ㄟ^可以通過ICTMR ICTMR 控制位(控制位(ICxCONICxCON)實現(xiàn)定時器源的選擇。定時器可)實現(xiàn)定時器源的選擇。定時器可以被設(shè)置為使用內(nèi)部時鐘源(以被設(shè)置為使用內(nèi)部時鐘源(FOSC/4FOSC/4)或使用在)或使用在TxCK TxCK 引腳上外接的同引腳上外接的同步外部時鐘源。步外部時鐘源。p 輸入捕捉事件模式輸入捕捉事件模式當(dāng)當(dāng)ICx ICx 引腳上有事件發(fā)生時,輸入捕捉模塊捕捉所選的時基寄存器的引腳上有事件發(fā)生時,輸入捕捉模塊捕捉所選的時基寄存器的16 16 位值。可以被捕捉的事件分為下列位值。可以被捕捉的事件分為下列3 3 類:類:

5、1. 1. 簡單捕捉事件模式簡單捕捉事件模式 在在ICx ICx 引腳輸入電平的下降沿捕捉定時器值引腳輸入電平的下降沿捕捉定時器值 在在ICx ICx 引腳輸入電平的上升沿捕捉定時器值引腳輸入電平的上升沿捕捉定時器值 2. 2. 每個邊沿(上升和下降)都捕捉定時器值每個邊沿(上升和下降)都捕捉定時器值 3. 3. 預(yù)分頻捕捉事件模式預(yù)分頻捕捉事件模式 在在ICx ICx 引腳輸入電平的第引腳輸入電平的第4 4 個上升沿捕捉定時器值個上升沿捕捉定時器值 在在ICx ICx 引腳輸入電平的第引腳輸入電平的第16 16 個上升沿捕捉定時器值個上升沿捕捉定時器值通過設(shè)置相應(yīng)的輸入捕捉模式位通過設(shè)置相應(yīng)

6、的輸入捕捉模式位 ICM ICM (ICxCON ICxCON )可以配置)可以配置上述輸入捕捉模式。上述輸入捕捉模式。2007 2007 許輝許輝5捕捉模塊能夠根據(jù)捕捉模塊能夠根據(jù)ICx ICx 引腳上輸入信號的邊沿選擇(捕捉模式定義的引腳上輸入信號的邊沿選擇(捕捉模式定義的上升沿或下降沿)捕捉定時器計數(shù)值(上升沿或下降沿)捕捉定時器計數(shù)值(TMR2 TMR2 或或TMR3 TMR3 )。)。這些模式可以通過分別設(shè)置這些模式可以通過分別設(shè)置ICMICM(ICxCON ICxCON )位為)位為“010010”或或“011011”來指定。在這些模式下,不使用預(yù)分頻計數(shù)器。來指定。在這些模式下,

7、不使用預(yù)分頻計數(shù)器。輸入捕捉邏輯電路根據(jù)內(nèi)部相位時鐘檢測和同步捕捉引腳信號的上升輸入捕捉邏輯電路根據(jù)內(nèi)部相位時鐘檢測和同步捕捉引腳信號的上升或下降沿。或下降沿。如果出現(xiàn)上升如果出現(xiàn)上升/ / 下降沿,捕捉模塊邏輯將會把當(dāng)前時基值下降沿,捕捉模塊邏輯將會把當(dāng)前時基值寫入捕捉緩沖器并發(fā)信號給中斷產(chǎn)生邏輯寫入捕捉緩沖器并發(fā)信號給中斷產(chǎn)生邏輯。當(dāng)發(fā)生的。當(dāng)發(fā)生的捕捉事件的數(shù)量捕捉事件的數(shù)量與與ICI ICI 控制位指定的數(shù)量匹配時,那么相應(yīng)的捕捉通道中斷標(biāo)志控制位指定的數(shù)量匹配時,那么相應(yīng)的捕捉通道中斷標(biāo)志位位ICxIF ICxIF 將會在捕捉緩沖器寫事件之后將會在捕捉緩沖器寫事件之后2 2 個指令周

8、期置個指令周期置1 1。如果捕捉時基在每個指令周期都加如果捕捉時基在每個指令周期都加1 1 的話,捕捉到的計數(shù)值將會是的話,捕捉到的計數(shù)值將會是ICx ICx 引腳有事件發(fā)生后引腳有事件發(fā)生后1 1 或或2 2個指令周期出現(xiàn)的值。這個延時是隨個指令周期出現(xiàn)的值。這個延時是隨ICx ICx 沿事沿事件而變化的,而實際上件而變化的,而實際上ICx ICx 沿事件與指令周期時鐘和輸入捕捉邏輯電沿事件與指令周期時鐘和輸入捕捉邏輯電路延時相關(guān)。如果到捕捉時基的輸入時鐘被預(yù)分頻,那么捕捉的值的路延時相關(guān)。如果到捕捉時基的輸入時鐘被預(yù)分頻,那么捕捉的值的延時將被消除。延時將被消除。2007 2007 許輝許

9、輝62007 2007 許輝許輝7捕捉模塊有兩個預(yù)分頻捕捉模式。預(yù)分頻模式分別由設(shè)置捕捉模塊有兩個預(yù)分頻捕捉模式。預(yù)分頻模式分別由設(shè)置ICM ICM (ICxCON ICxCON ) 位為位為“100100”或為或為“101101”來選擇。來選擇。在這些模式下,捕捉模塊每計數(shù)引腳的在這些模式下,捕捉模塊每計數(shù)引腳的4 4 或或16 16 個上升沿才發(fā)生一次個上升沿才發(fā)生一次捕捉事件。捕捉事件。捕捉預(yù)分頻計數(shù)器在每個捕捉引腳的有效的上升沿上增加。引腳上的捕捉預(yù)分頻計數(shù)器在每個捕捉引腳的有效的上升沿上增加。引腳上的上升沿有效地作為計數(shù)器的時鐘。上升沿有效地作為計數(shù)器的時鐘。當(dāng)預(yù)分頻計數(shù)器等于當(dāng)預(yù)分

10、頻計數(shù)器等于4 4 或或16 16 個計個計數(shù)(取決于所選擇的模式)時數(shù)(取決于所選擇的模式)時, , 計數(shù)器將輸出一個計數(shù)器將輸出一個“有效的有效的”捕捉事捕捉事件信號件信號,隨后將該信號與指令周期時鐘同步。,隨后將該信號與指令周期時鐘同步。該同步了的捕捉事件信該同步了的捕捉事件信號將觸發(fā)一個捕獲緩沖寫事件,同時向中斷產(chǎn)生邏輯電路發(fā)出信號號將觸發(fā)一個捕獲緩沖寫事件,同時向中斷產(chǎn)生邏輯電路發(fā)出信號。各個捕捉通道中斷狀態(tài)標(biāo)志各個捕捉通道中斷狀態(tài)標(biāo)志ICxIFICxIF,在捕捉緩沖寫事件后的,在捕捉緩沖寫事件后的2 2 個指令個指令周期后被置周期后被置1 1。如果捕捉時基在每個指令周期加如果捕捉時

11、基在每個指令周期加1 1,捕捉到的計數(shù)值將是同步捕捉事,捕捉到的計數(shù)值將是同步捕捉事件發(fā)生后件發(fā)生后1 1 或或2 2 個指令周期出現(xiàn)的值。個指令周期出現(xiàn)的值。2007 2007 許輝許輝8邊沿檢測模式通過設(shè)置邊沿檢測模式通過設(shè)置ICMICM(ICxCON ICxCON )位為)位為“001001”來選擇。來選擇。在該模式下,沒有使用捕捉預(yù)分頻計數(shù)器。在該模式下,沒有使用捕捉預(yù)分頻計數(shù)器。當(dāng)輸入捕捉模塊被配置成邊沿檢測模式時,該模塊將:當(dāng)輸入捕捉模塊被配置成邊沿檢測模式時,該模塊將: . . 在每個上升沿或下降沿將輸入捕捉中斷標(biāo)志置在每個上升沿或下降沿將輸入捕捉中斷標(biāo)志置1 1 (ICxIFI

12、CxIF)。)。 . . 沒有在這種模式中使用捕捉時中斷模式位沒有在這種模式中使用捕捉時中斷模式位ICIICI(ICxCON ICxCON )。)。每個捕捉事件都將產(chǎn)生中斷。每個捕捉事件都將產(chǎn)生中斷。 . . 不置位捕捉溢出位不置位捕捉溢出位ICOV ICOV (ICxCON ICxCON )。)。和簡單捕獲事件模式一樣,輸入捕捉邏輯電路根據(jù)內(nèi)部相位時鐘檢測和簡單捕獲事件模式一樣,輸入捕捉邏輯電路根據(jù)內(nèi)部相位時鐘檢測和同步捕捉引腳信號的上升和下降沿。和同步捕捉引腳信號的上升和下降沿。如果發(fā)生上升或下降沿,捕捉如果發(fā)生上升或下降沿,捕捉模塊邏輯電路將當(dāng)前的時基值寫到捕捉緩沖區(qū),然后向中斷產(chǎn)生邏輯

13、模塊邏輯電路將當(dāng)前的時基值寫到捕捉緩沖區(qū),然后向中斷產(chǎn)生邏輯電路發(fā)出信號。電路發(fā)出信號。相應(yīng)的捕捉通道中斷狀態(tài)標(biāo)志相應(yīng)的捕捉通道中斷狀態(tài)標(biāo)志ICxIFICxIF,在捕捉緩沖寫,在捕捉緩沖寫事件后的事件后的2 2 個指令周期后被置個指令周期后被置1 1。2007 2007 許輝許輝92007 2007 許輝許輝10輸出比較模塊有把所選時基值與一個或兩個比較寄存器的值(取決于輸出比較模塊有把所選時基值與一個或兩個比較寄存器的值(取決于所選的工作模式)作比較的功能。此外,它在比較匹配事件發(fā)生時能所選的工作模式)作比較的功能。此外,它在比較匹配事件發(fā)生時能產(chǎn)生單個輸出脈沖或一連串輸出脈沖產(chǎn)生單個輸出脈

14、沖或一連串輸出脈沖。如同大多數(shù)如同大多數(shù)dsPIC dsPIC 外設(shè)一樣,它在匹配事件發(fā)生時也能產(chǎn)生中斷。外設(shè)一樣,它在匹配事件發(fā)生時也能產(chǎn)生中斷。dsPIC30F dsPIC30F 器件可有至多八個輸出比較通道,以符號器件可有至多八個輸出比較通道,以符號OC1OC1、OC2 OC2 和和OC3 OC3 等表示。所有輸出比較通道在功能上是都相同的。等表示。所有輸出比較通道在功能上是都相同的。每個輸出比較通道可以使用兩個可選時基中的一個。使用每個輸出比較通道可以使用兩個可選時基中的一個。使用OCTSEL OCTSEL 位位(OCxCON OCxCON )選擇時基。)選擇時基。2007 2007

15、許輝許輝11每個輸出比較通道均有下列寄存器:每個輸出比較通道均有下列寄存器:. OCxCON . OCxCON :通道的控制寄存器:通道的控制寄存器. OCxR . OCxR :輸出比較通道的數(shù)據(jù)寄存器:輸出比較通道的數(shù)據(jù)寄存器. OCxRS . OCxRS :輸出比較通道的輔助數(shù)據(jù)寄存器:輸出比較通道的輔助數(shù)據(jù)寄存器2007 2007 許輝許輝122007 2007 許輝許輝13 每個輸出比較模塊均有以下工作模式:每個輸出比較模塊均有以下工作模式: . . 單比較匹配模式單比較匹配模式 . . 雙比較匹配模式產(chǎn)生雙比較匹配模式產(chǎn)生 單個輸出脈沖單個輸出脈沖 連續(xù)輸出脈沖連續(xù)輸出脈沖 . .

16、簡單脈寬調(diào)制模式簡單脈寬調(diào)制模式 帶有故障保護輸入帶有故障保護輸入 不帶故障保護輸入不帶故障保護輸入2007 2007 許輝許輝14當(dāng)控制位當(dāng)控制位OCM OCM (OCxCON OCxCON )設(shè)置為)設(shè)置為“001001”、“010010”或或“011011”時,所選的輸出比較通道被分別配置為三種單輸出比較匹配模式中的時,所選的輸出比較通道被分別配置為三種單輸出比較匹配模式中的一種模式。一種模式。在單比較模式下,把在單比較模式下,把一個值裝入一個值裝入OCxR OCxR 寄存器,并將該值與所選的遞寄存器,并將該值與所選的遞增計數(shù)器寄存器增計數(shù)器寄存器TMRy TMRy 的值作比較的值作比較

17、。當(dāng)比較匹配事件發(fā)生時,將產(chǎn)生。當(dāng)比較匹配事件發(fā)生時,將產(chǎn)生下列事件之一:下列事件之一: . . 當(dāng)當(dāng)OCx OCx 引腳的初始狀態(tài)為低電平時,比較匹配事件強制該引腳為高電引腳的初始狀態(tài)為低電平時,比較匹配事件強制該引腳為高電平。在單比較匹配事件發(fā)生時,產(chǎn)生中斷。平。在單比較匹配事件發(fā)生時,產(chǎn)生中斷。 . . 當(dāng)當(dāng)OCx OCx 引腳的初始狀態(tài)為高電平時,比較匹配事件強制該引腳為低電引腳的初始狀態(tài)為高電平時,比較匹配事件強制該引腳為低電平。在單比較匹配事件發(fā)生時,產(chǎn)生中斷。平。在單比較匹配事件發(fā)生時,產(chǎn)生中斷。 . . 比較匹配事件使比較匹配事件使OCx OCx 引腳電平交替翻轉(zhuǎn)。翻轉(zhuǎn)事件是連

18、續(xù)的,且每次引腳電平交替翻轉(zhuǎn)。翻轉(zhuǎn)事件是連續(xù)的,且每次翻轉(zhuǎn)事件都會產(chǎn)生一次中斷。翻轉(zhuǎn)事件都會產(chǎn)生一次中斷。2007 2007 許輝許輝15p 比較模式輸出驅(qū)動為高電平比較模式輸出驅(qū)動為高電平設(shè)置控制位設(shè)置控制位OCM=OCM=“001001”。還應(yīng)該使能比較時基。還應(yīng)該使能比較時基。一旦使能,輸出引腳一旦使能,輸出引腳OCx OCx 將初始化驅(qū)動為低電平,并保持該低電平直到將初始化驅(qū)動為低電平,并保持該低電平直到TMRy TMRy 和和OCxR OCxR 寄存器之間發(fā)生匹配。寄存器之間發(fā)生匹配。. . 在比較時基與在比較時基與OCxR OCxR 寄存器發(fā)生比較匹配后的下一個指令時鐘,寄存器發(fā)生

19、比較匹配后的下一個指令時鐘,OCx OCx 引腳驅(qū)動為高引腳驅(qū)動為高電平。該電平。該OCx OCx 引腳將保持高電平直到改變模式或該模塊被禁止。引腳將保持高電平直到改變模式或該模塊被禁止。. . 比較時基將計數(shù)到相關(guān)的周期寄存器中包含的值后,在下一個指令時鐘復(fù)位為比較時基將計數(shù)到相關(guān)的周期寄存器中包含的值后,在下一個指令時鐘復(fù)位為0 x0000 0 x0000 。. . 在在OCx OCx 引腳驅(qū)動為高電平后再過兩個指令時鐘,相應(yīng)通道的中斷標(biāo)志位引腳驅(qū)動為高電平后再過兩個指令時鐘,相應(yīng)通道的中斷標(biāo)志位OCxIF OCxIF 被置被置1 1。2007 2007 許輝許輝16p 比較模式輸出驅(qū)動為

20、低電平比較模式輸出驅(qū)動為低電平設(shè)置控制位設(shè)置控制位OCM=OCM=“010010”。還必須使能比較時基。還必須使能比較時基。一旦使能,輸出引腳一旦使能,輸出引腳OCx OCx 將初始化驅(qū)動為高電平,并保持該高電平直到定時將初始化驅(qū)動為高電平,并保持該高電平直到定時器和器和OCxR OCxR 寄存器之間發(fā)生匹配。寄存器之間發(fā)生匹配。. . 在比較時基與在比較時基與OCxR OCxR 寄存器發(fā)生比較匹配后的下一個指令時鐘,寄存器發(fā)生比較匹配后的下一個指令時鐘,OCx OCx 引腳驅(qū)動為引腳驅(qū)動為低電平。該低電平。該OCx OCx 引腳將保持低電平直到改變模式或該模塊被禁止。引腳將保持低電平直到改變

21、模式或該模塊被禁止。. . 比較時基將計數(shù)到相關(guān)的周期寄存器中包含的值后,在下一個指令時鐘復(fù)位為比較時基將計數(shù)到相關(guān)的周期寄存器中包含的值后,在下一個指令時鐘復(fù)位為0 x0000 0 x0000 。. . 在在OCx OCx 引腳驅(qū)動為低電平后再過兩個指令時鐘,相應(yīng)通道的中斷標(biāo)志位引腳驅(qū)動為低電平后再過兩個指令時鐘,相應(yīng)通道的中斷標(biāo)志位OCxIF OCxIF 被置被置1 1。2007 2007 許輝許輝17p 單比較模式電平交替翻轉(zhuǎn)輸出單比較模式電平交替翻轉(zhuǎn)輸出請設(shè)置控制位請設(shè)置控制位OCM= OCM= “011 011 ”。此外,必須選擇并使能。此外,必須選擇并使能Timer 2 Timer

22、 2 或或Timer 3 Timer 3 。一旦使能,輸出引腳一旦使能,輸出引腳OCx OCx 將初始化驅(qū)動為低電平,并在隨后每一次當(dāng)將初始化驅(qū)動為低電平,并在隨后每一次當(dāng)定時器和定時器和OCxR OCxR 寄存器之間發(fā)生匹配事件時,交替輸出高低電平。寄存器之間發(fā)生匹配事件時,交替輸出高低電平。 . . 在比較時基與在比較時基與OCxR OCxR 寄存器發(fā)生比較匹配后的下一個指令時鐘,寄存器發(fā)生比較匹配后的下一個指令時鐘,OCx OCx 引引腳電平翻轉(zhuǎn)。該腳電平翻轉(zhuǎn)。該OCx OCx 引腳將保持此新狀態(tài)直到發(fā)生下一次翻轉(zhuǎn)事件、改引腳將保持此新狀態(tài)直到發(fā)生下一次翻轉(zhuǎn)事件、改變模式或該模塊被禁止。

23、變模式或該模塊被禁止。 . . 比較時基將計數(shù)到相關(guān)周期寄存器中的值后,在下一個指令時鐘復(fù)位比較時基將計數(shù)到相關(guān)周期寄存器中的值后,在下一個指令時鐘復(fù)位為為0 x0000 0 x0000 。 . . 在在OCx OCx 引腳電平翻轉(zhuǎn)之后再過兩個指令時鐘,相應(yīng)通道的中斷標(biāo)志位引腳電平翻轉(zhuǎn)之后再過兩個指令時鐘,相應(yīng)通道的中斷標(biāo)志位OCxIF OCxIF 被置被置1 1。注:器件復(fù)位時,內(nèi)部注:器件復(fù)位時,內(nèi)部OCx OCx 引腳輸出邏輯被設(shè)置為邏輯引腳輸出邏輯被設(shè)置為邏輯“0 0”。但是,。但是,在交替翻轉(zhuǎn)模式下,在交替翻轉(zhuǎn)模式下,OCx OCx 引腳的工作狀態(tài)可以通過用戶軟件設(shè)置。引腳的工作狀態(tài)

24、可以通過用戶軟件設(shè)置。2007 2007 許輝許輝182007 2007 許輝許輝19當(dāng)控制位當(dāng)控制位OCM =OCM =“100 100 ”或或“101101”(OCxCON OCxCON )時,所選的輸)時,所選的輸出比較通道被配置為如下兩種雙比較匹配模式之一:出比較通道被配置為如下兩種雙比較匹配模式之一: . . 單輸出脈沖模式單輸出脈沖模式 . . 連續(xù)輸出脈沖模式連續(xù)輸出脈沖模式在雙比較模式下,該模塊在處理比較匹配事件時使用在雙比較模式下,該模塊在處理比較匹配事件時使用OCxR OCxR 和和OCxRS OCxRS 寄存器。寄存器。 將將OCxR OCxR 寄存器的值與遞增計數(shù)器寄存

25、器的值與遞增計數(shù)器TMRy TMRy 的計數(shù)值作比較的計數(shù)值作比較,并且在,并且在比較匹比較匹配事件發(fā)生時,在配事件發(fā)生時,在OCx OCx 引腳上產(chǎn)生脈沖的前(上升)沿引腳上產(chǎn)生脈沖的前(上升)沿。 然后然后OCxRS OCxRS 寄存器與同一個遞增計數(shù)器寄存器與同一個遞增計數(shù)器TMRy TMRy 的計數(shù)值作比較,并且在的計數(shù)值作比較,并且在比比較匹配事件發(fā)生時,在較匹配事件發(fā)生時,在OCx OCx 引腳上產(chǎn)生脈沖的后(下降)沿引腳上產(chǎn)生脈沖的后(下降)沿。2007 2007 許輝許輝20p 單輸出脈沖單輸出脈沖設(shè)置控制位設(shè)置控制位OCM= OCM= “100 100 ”。另外,必須選擇并使

26、能比較時基。另外,必須選擇并使能比較時基。一旦使能,輸出引腳一旦使能,輸出引腳OCx OCx 將驅(qū)動為低電平,并保持該低電平直到時將驅(qū)動為低電平,并保持該低電平直到時基和基和OCxR OCxR 寄存器之間發(fā)生匹配。寄存器之間發(fā)生匹配。 . . 在比較時基與在比較時基與OCxR OCxR 寄存器發(fā)生比較匹配后的下一個指令時鐘,寄存器發(fā)生比較匹配后的下一個指令時鐘,OCx OCx 引引腳驅(qū)動為高電平。腳驅(qū)動為高電平。OCx OCx 引腳將保持為高電平直到時基和引腳將保持為高電平直到時基和OCxRS OCxRS 寄存器之寄存器之間發(fā)生下一次匹配事件。此時,該引腳將驅(qū)動為低電平。該間發(fā)生下一次匹配事件

27、。此時,該引腳將驅(qū)動為低電平。該OCx OCx 引腳將引腳將保持低電平直到改變模式或該模塊被禁止。保持低電平直到改變模式或該模塊被禁止。 . . 比較時基將計數(shù)到相關(guān)的周期寄存器中包含的值后,在下一個指令時比較時基將計數(shù)到相關(guān)的周期寄存器中包含的值后,在下一個指令時鐘復(fù)位為鐘復(fù)位為0 x0000 0 x0000 。 . . 如果比較時基周期寄存器包含的值小于如果比較時基周期寄存器包含的值小于OCxRS OCxRS 寄存器包含的值,那么寄存器包含的值,那么就不會產(chǎn)生脈沖的下降沿。就不會產(chǎn)生脈沖的下降沿。OCx OCx 引腳將保持高電平直到引腳將保持高電平直到OCxRS=PRy OCxRS=PRy

28、 、模、模式改變或復(fù)位條件產(chǎn)生。式改變或復(fù)位條件產(chǎn)生。 . . 在在OCx OCx 引腳被驅(qū)動為低電平后(單脈沖的下降沿)再過引腳被驅(qū)動為低電平后(單脈沖的下降沿)再過2 2 個指令時鐘,個指令時鐘,相應(yīng)通道的中斷標(biāo)志位相應(yīng)通道的中斷標(biāo)志位OCxIF OCxIF 被置被置1 1。2007 2007 許輝許輝212007 2007 許輝許輝22p 連續(xù)輸出脈沖連續(xù)輸出脈沖設(shè)置控制位設(shè)置控制位OCM= OCM= “101 101 ”。此外,還應(yīng)該選擇和使能比較時基。此外,還應(yīng)該選擇和使能比較時基。一旦使能,輸出引腳一旦使能,輸出引腳OCx OCx 將驅(qū)動為低電平,并保持該低電平直到比較將驅(qū)動為低電

29、平,并保持該低電平直到比較時基和時基和OCxR OCxR 寄存器之間發(fā)生匹配。寄存器之間發(fā)生匹配。 . . 在比較時基與在比較時基與OCxR OCxR 寄存器發(fā)生比較匹配后的下一個指令時鐘,寄存器發(fā)生比較匹配后的下一個指令時鐘,OCx OCx 引引腳驅(qū)動為高電平。腳驅(qū)動為高電平。OCx OCx 引腳將保持為高電平,直到發(fā)生下一次時基和引腳將保持為高電平,直到發(fā)生下一次時基和OCxRS OCxRS 寄存器匹配,此時引腳被驅(qū)動為低電平。在用戶不加干涉的情況寄存器匹配,此時引腳被驅(qū)動為低電平。在用戶不加干涉的情況下,在下,在OCx OCx 引腳上會重復(fù)產(chǎn)生從低到高邊沿和從高到低邊沿的脈沖序列。引腳上

30、會重復(fù)產(chǎn)生從低到高邊沿和從高到低邊沿的脈沖序列。 . OCx . OCx 引腳上將產(chǎn)生連續(xù)脈沖,直到改變模式或模塊被禁止。引腳上將產(chǎn)生連續(xù)脈沖,直到改變模式或模塊被禁止。 . . 比較時基將計數(shù)到相關(guān)周期寄存器中所包含的值,然后在下一個指令比較時基將計數(shù)到相關(guān)周期寄存器中所包含的值,然后在下一個指令時鐘復(fù)位為時鐘復(fù)位為0 x0000 0 x0000 。 . . 如果比較時基周期寄存器值小于如果比較時基周期寄存器值小于OCxRS OCxRS 寄存器值,就不會產(chǎn)生下降沿。寄存器值,就不會產(chǎn)生下降沿。OCx OCx 引腳將保持為高電平,直到引腳將保持為高電平,直到OCxRS = PR2 OCxRS

31、= PR2 、發(fā)生模式改變或器件復(fù)、發(fā)生模式改變或器件復(fù)位。位。 . . 在在OCx OCx 引腳被驅(qū)動為低電平后(單脈沖的下降沿)再過引腳被驅(qū)動為低電平后(單脈沖的下降沿)再過2 2 個指令時鐘,個指令時鐘,相應(yīng)通道的中斷標(biāo)志位相應(yīng)通道的中斷標(biāo)志位OCxIF OCxIF 置位。置位。2007 2007 許輝許輝232007 2007 許輝許輝void InitializeSys() INTCON1 = 0 x0000; /關(guān)中斷關(guān)中斷 INTCON2 = 0 x0000; IEC0 = 0 x0000; /IECx中斷禁止中斷禁止 IEC1 = 0 x0000; IEC2 = 0 x0000

32、;/*輸出比較模塊配置子程序輸出比較模塊配置子程序*/void ConfigOC3() OC3CON = 0 x0000; /Timer2是比較是比較3的時鐘源的時鐘源 OC3R = 0 x001a; /設(shè)置匹配值設(shè)置匹配值0 x001a T2CON = 0 x0000; /預(yù)分頻預(yù)分頻1,16位定時器,使用內(nèi)部時鐘位定時器,使用內(nèi)部時鐘 PR2 = 0 x003a; /周期寄存器賦值周期寄存器賦值0 x003a,TMR2在在0 x003a處復(fù)位處復(fù)位 TMR2 = 0 x0006; /TMR2初值初值0 x0006 IFS1bits.OC3IF = 0; /清除輸出比較中斷標(biāo)志位清除輸出比較

33、中斷標(biāo)志位 IEC1bits.OC3IE = 1; /使能輸出比較中斷使能輸出比較中斷 IPC4bits.OC3IP = 7; /設(shè)置中斷優(yōu)先級設(shè)置中斷優(yōu)先級7 IEC0bits.T2IE = 0; /不使能不使能Timer2定時器中斷定時器中斷242007 2007 許輝許輝/*中斷子程序:輸出比較中斷子程序:輸出比較3中斷,比較匹配時產(chǎn)生中斷中斷,比較匹配時產(chǎn)生中斷*/void _attribute_(_interrupt_) _OC3Interrupt() IFS1bits.OC3IF = 0;/清除輸出比較清除輸出比較3中斷標(biāo)志位中斷標(biāo)志位main() InitializeSys();

34、 ConfigOC3(); T2CONbits.TON = 1; /打開定時器打開定時器2 OC3CONbits.OCM = 3; /選擇單比較匹配模式,電平交替翻轉(zhuǎn)輸出選擇單比較匹配模式,電平交替翻轉(zhuǎn)輸出while(1); /可編寫其它程序可編寫其它程序252007 2007 許輝許輝什么是什么是PWMPWM? 脈沖寬度調(diào)制(脈沖寬度調(diào)制(PWMPWM)是英文)是英文“Pulse Width Modulation”Pulse Width Modulation”的縮寫,的縮寫,簡稱脈寬調(diào)制。它是利用微處理器的數(shù)字輸出簡稱脈寬調(diào)制。它是利用微處理器的數(shù)字輸出不同脈寬,改變信號占空比來控制對象的一

35、項技術(shù),尤其對模擬電路進行控制非常有效,對模擬電路進行控制非常有效,廣廣泛應(yīng)用于測量,通信,功率控制與變換泛應(yīng)用于測量,通信,功率控制與變換等許多領(lǐng)域。等許多領(lǐng)域。脈沖寬度調(diào)制(脈沖寬度調(diào)制(PWMPWM)是一種對模擬信號電平進行數(shù)字編碼的方法。)是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。擬信號的電平進行編碼。PWMPWM信號仍是數(shù)字的,因在給定的任何時刻,信號仍是數(shù)字的,因在給定的任何時刻,滿幅值的直流供電要么完全有滿幅值的直流供電要么完全有(ON)(O

36、N),要么完全無,要么完全無(OFF)(OFF)。電壓或電流電壓或電流源是以一種通源是以一種通(ON)(ON)或斷或斷(OFF)(OFF)的重復(fù)脈沖序列被加到模擬負載上去的的重復(fù)脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用開的時候。只要帶寬足夠,任何模擬值都可以使用PWMPWM進行編碼。進行編碼。262007 2007 許輝許輝 作為一個具體的例子,我們來考察一種用作為一個具體的例子,我們來考察一種用PWMPWM控制的制動器??刂频闹苿悠?。 簡單

37、地說,制動器是緊夾住某種東西的一種裝置。許多制動器使用模簡單地說,制動器是緊夾住某種東西的一種裝置。許多制動器使用模擬輸入信號來控制夾緊壓力擬輸入信號來控制夾緊壓力( (或制動功率或制動功率) )的大小。加在制動器上的電的大小。加在制動器上的電壓或電流越大,制動器產(chǎn)生的壓力就越大。壓或電流越大,制動器產(chǎn)生的壓力就越大。 可以將可以將PWMPWM控制器的輸出控制器的輸出連接到電源與制動器之間的一個開關(guān)。要產(chǎn)生更大的制動功率,只需連接到電源與制動器之間的一個開關(guān)。要產(chǎn)生更大的制動功率,只需通過軟件加大通過軟件加大PWMPWM輸出的占空比就可以了。如果要產(chǎn)生一個特定大小輸出的占空比就可以了。如果要產(chǎn)

38、生一個特定大小的制動壓力,需要通過測量來確定占空比和壓力之間的數(shù)學(xué)關(guān)系的制動壓力,需要通過測量來確定占空比和壓力之間的數(shù)學(xué)關(guān)系( (所所得的公式或查找表經(jīng)過變換可用于控制溫度、表面磨損等等得的公式或查找表經(jīng)過變換可用于控制溫度、表面磨損等等) )。 例如,例如,假設(shè)要將制動器上的壓力設(shè)定為假設(shè)要將制動器上的壓力設(shè)定為100psi100psi,軟件將作一次反向查找,以,軟件將作一次反向查找,以確定產(chǎn)生這個大小的壓力的占空比應(yīng)該是多少。然后再將確定產(chǎn)生這個大小的壓力的占空比應(yīng)該是多少。然后再將PWMPWM占空比占空比設(shè)置為這個新值,制動器就可以相應(yīng)地進行響應(yīng)了。如果系統(tǒng)中有一設(shè)置為這個新值,制動器

39、就可以相應(yīng)地進行響應(yīng)了。如果系統(tǒng)中有一個傳感器,則可以通過閉環(huán)控制來調(diào)節(jié)占空比,直到精確產(chǎn)生所需的個傳感器,則可以通過閉環(huán)控制來調(diào)節(jié)占空比,直到精確產(chǎn)生所需的壓力。壓力。272007 2007 許輝許輝p 當(dāng)控制位當(dāng)控制位OCMOCM(OCxCONOCxCON)= 110= 110或或111111時,所選輸出比較通時,所選輸出比較通道配置為道配置為PWM PWM 工作模式。當(dāng)配置為工作模式。當(dāng)配置為PWM PWM 工作模式時,工作模式時,OCxR OCxR 是主鎖存是主鎖存器(只讀),器(只讀),OCxRS OCxRS 是輔助鎖存器。這樣能使是輔助鎖存器。這樣能使PWM PWM 信號跳變時不會產(chǎn)信號跳變時不會產(chǎn)生毛刺。生毛刺。p 為將輸出比較模塊配置為為將輸出比較模塊配置為PWM PWM 工作模式,用戶必須執(zhí)行以下步驟:工作模式,用戶必須執(zhí)行以下步驟:1. 1. 通過寫適當(dāng)?shù)闹芷诩拇嫫?,設(shè)置通過寫適當(dāng)?shù)闹芷诩拇嫫?,設(shè)置PWM PWM 周期。周期。2. 2. 通過寫通過寫OCxRS OCxRS 寄存器,設(shè)置寄存器,設(shè)置PWM PW

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論