MSP430F5529 (七)定時(shí)器B
7.2.5捕獲/比較控制寄存器TB0CCTL0-TB0CCTL6:
CM:捕獲模式設(shè)定 00不捕獲
01上升沿捕獲
10下降沿捕獲
11上升和下降沿都捕獲
CCIS:捕獲源的選擇 00CCIxA
01CCIxB
10GND
11VCC
SCS:同步捕獲源,設(shè)定是否與時(shí)鐘同步
0異步捕獲
1同步捕獲
CLLD:比較寄存器緩沖裝載模式選擇。
00 TB0CCRn的值(改變時(shí))立即裝載到TB0CLn
01當(dāng)TB0R的值計(jì)到0時(shí),進(jìn)行裝載
10增模式或者連續(xù)模式下,TBR0值計(jì)到0時(shí),進(jìn)行裝載;
增減模式下,TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
11TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
CAP: 0-比較模式 1-捕獲模式
OUTMOD:輸出模式控制位。同TA一模一樣
CCIE:中斷使能,該位允許相應(yīng)的CCIFG標(biāo)志中斷請(qǐng)求。
0-中斷禁止 1-中斷允許
CCI:捕獲比較輸入,所選擇的輸入信號(hào)可以通過該位讀取
OUT:對(duì)于輸出模式0,該位直接控制輸出狀態(tài)。
0-輸出低電平 1-輸出高電平
COV:捕獲溢出位。該位表示一個(gè)捕獲溢出發(fā)出,COV必須由軟件復(fù)位。
0-沒有捕獲溢出發(fā)生1-有捕獲溢出發(fā)生
CCIFG:捕獲比較中斷標(biāo)志位。
0-沒有中斷掛起 1-有中斷掛起
7.2.6 中斷向量寄存器TB0IV
同TAIV一樣,里面存放一個(gè)數(shù)字編號(hào)。
7.3重點(diǎn)講TB和TA的不同之處
7.3.1沒有再把CCI信號(hào)鎖存了
TA作捕獲器的時(shí)候,CCI為捕獲信號(hào),然后CCI被鎖存輸出 為SCCI;
但是,TB沒有鎖存。也就是說只能從CCI位查看輸入信 號(hào)了。
7.3.2計(jì)數(shù)值位數(shù)可調(diào)了(其實(shí)無所謂,都可以16位那干嘛不用)
TA的計(jì)數(shù)值寄存器TAR只能是16位(0XFFFFh);
TB的計(jì)數(shù)值寄存器TBR可以選擇是16、12、10、8位;
7.3.3兩級(jí)緩沖比較器(比較模式下)
TA里面,我們?cè)赥ACCRn中寫入要比較的數(shù)值,然后讓TAR中的計(jì)數(shù)值和TACCRn比較,如果相等了,相應(yīng)的標(biāo)志位就會(huì)置位;
TB里面,不僅有TB0CCRn,還多了一個(gè)二級(jí)緩存器TB0CLn。TB0CLn不能被直接進(jìn)行操作,它的值只能來源于TB0CCRn。計(jì)數(shù)的時(shí)候,TB0R中的計(jì)數(shù)值不和TB0CCRn比較,而是和TB0CLn進(jìn)行比較。
二級(jí)緩沖是為了防止我們?cè)谛薷腡B0CCRn的值的時(shí)候,對(duì)計(jì)數(shù)產(chǎn)生影響。因?yàn)橛?jì)數(shù)器不直接和TB0CCRn比較,而是TB0CCRn把值賦給TB0CLn,由TB0CLn去和TB0R進(jìn)行比較。所以也就有了CLLD位控制比較寄存器緩沖裝載模式:(當(dāng)向TB0CCRn中重新寫數(shù)時(shí))
00TB0CCRn的值立即裝載到TB0CLn
01當(dāng)TB0R的值計(jì)到0時(shí),進(jìn)行裝載
10增模式或者連續(xù)模式下,TBR0值計(jì)到0時(shí),進(jìn)行裝載;
增減模式下,TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
11 TBR0計(jì)數(shù)到TBCL0時(shí),開始裝載;
7.3.4比較器可以被分組
TA沒有二級(jí)緩沖寄存器,而且本來的TACCRn也只能被單 獨(dú)使用。
對(duì)于TB:
TBCLGGRP:TB0CLn二級(jí)緩沖寄存器分組控制
00:每個(gè)TB0CLn獨(dú)立使用
01:TB0CL1+TB0CL2作為一組(TB0CCR1的CLLD位控制整組數(shù)據(jù)更新)
TB0CL3+TB0CL4作為一組(TB0CCR3的CLLD位控制整組數(shù)據(jù)更新)
TB0CL5+TB0CL6作為一組(TB0CCR5的CLLD位控制整組數(shù)據(jù)更新)
10:TB0CL1、2、3一組,(TB0CCR1的CLLD位控制整組數(shù)據(jù)更新)
TB0CL4、5、6一組,(TB0CCR4的CLLD位控制整組數(shù)據(jù)更新)
11:TB0CL0、1、2、3、4、5、6整合為一組,
(TB0CCR1的CLLD位控制整組數(shù)據(jù)更新)
所謂的分組,就是該組的數(shù)據(jù)要同時(shí)更新。
以10模式下的TB0CL1、2、3這組為例:
TB0CCTL1中的CLLD設(shè)置為01,即TB0R計(jì)數(shù)到0時(shí),TB0CCR1就會(huì)把值裝載(更新)到TB0CL2中,同時(shí)TB0CCR2就會(huì)把值裝載(更新)到TB0CL2中,同時(shí)TB0CCR3也會(huì)把值裝載(更新)到TB0CL3中。無論TB0CCRn中的值有幾個(gè)發(fā)生了變化,但它們都只會(huì)同時(shí)更新TB0CLn。
一個(gè)重要的應(yīng)用:
如圖,增減模式下,可以用來產(chǎn)生有死區(qū)時(shí)間(dead time)的信號(hào)。
我們知道有一種H橋電路結(jié)構(gòu),該電路有一般有兩個(gè)輸入端,而且這兩個(gè)輸入端(1和2)嚴(yán)禁同時(shí)輸入高電平。那么該怎么產(chǎn)生驅(qū)動(dòng)該電路的信號(hào)呢:
但是,如果我們想要在系統(tǒng)運(yùn)行的時(shí)候,修改死區(qū)時(shí)間怎么辦。那只有修改
比較器里面的數(shù)值了。這樣就有問題了,如果兩個(gè)比較器數(shù)值沒有同時(shí)修改,那么就有可能產(chǎn)生同時(shí)為高電平的情況,這就很危險(xiǎn)了。所以,我們把比較器分組,這樣數(shù)據(jù)同時(shí)更新,就不會(huì)有這樣的擔(dān)心了。
關(guān)鍵詞:
MSP430F5529定時(shí)器
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論