HOLTEK HT66Fx0 HT66F40 Single Pulse function Application Note
বিজ্ঞাপন
বিজ্ঞাপন
如何使用 HT66F40 STM Single Pulse 功能
如何使用 HT66F40 STM Single Pulse 功能
文件編碼:HA0248T
簡介
HT66Fx0 系列 MCU 提供了一個新的功能單元 TM,即 Timer Modules,整合了 Timer 和 PWM
的功能,提供包括普通 Timer 定時、外部計數、可程式 Duty/Period PWM 輸出或單脈衝輸出、
輸入捕捉等豐富的功能。TM 依據功能可分爲簡單型 TM (CTM)、普通型 TM (STM) 和增強
型 TM (ETM)。
本文即以 HT66F40 為母體 , 通過具體範例說明 STM 中 Single Pulse 功能的使用。
工作原理
STM 的核心是一個向上計數的 16 位元計數器和兩個比較器,具體結構如下圖示:
C C R P
3 o r 8 - b i t C o m p a r a t o r P
C o m p a r a t o r P M a t c h
T n P F I n t e r r u p t
S Y S
/ 4
S Y S
/ 1 6
/ 6 4
T B C
R e s e r v e d
1 0 0
1 0 1
1 1 0
0 0 0
0 0 1
0 1 0
0 1 1
1 1 1 b 7 ~ b 9 o r b 8 ~ b 1 5
1 0 o r 1 6 - b i t C o u n t - u p C o u n t e r
C o u n t e r C l e a r
T n O C
O u t p u t
C o n t r o l
P o l a r i t y
C o n t r o l
T P n P i n
I n p u t / O u t p u t
T P n _ 0
T P n _ 1
T C K n
T n O N
T n P A U b 0 ~ b 9 o r b 0 ~ b 1 5
T n C C L R T n M 1 , T n M 0
T n I O 1 , T n I O 0
T n P O L
1 0 o r 1 6 - b i t
C o m p a r a t o r A
C o m p a r a t o r A M a t c h
T n A F I n t e r r u p t
T n I O 1 , T n I O 0
T n C K 2 ~ T n C K 0
C C R A
E d g e
D e t e c t o r
Standard Type TM Block Diagram
注意:本範例中的 n=2。
計數器的時鐘源可以通過設定 T2CK0~T2CK2 選擇為 f
SYS
/4、f
SYS
、f
H
/16、f
H
/64、f
TBC
或者為 TCK2
輸入。兩個內部比較器:CCRP 即 TM2RP 和 CCRA 即 TM2A,用於設定比較基準值,CCRP
有 8 位元寬,只對計數器的高 8 位元進行比較,而 CCRA 的位元數和計數器一樣,可以跟
計數器比較所有的位元。當設定好相關的暫存器 TM 開始運行後計數器向上計數,系統會
將預先寫入 CCRA 的值與計數器中的值進行比較。計數器在計數溢出或者與設定 CCRA 的
值相等時,可以自動清除為零並產生一個中斷信號,同時系統會根據程式設定產生相應的
輸出信號。計數器中 TM2DH/TM2DL 的值無法改變,但是可以讀出,只能通過設定 T2ON
位元由 0→1 才能清除為零計數器。T2POL 可以對 TP2 輸出邏輯進行控制,當被設定為 1,
可以強制對 TP2 輸出邏輯翻轉。
1
如何使用 HT66F40 STM Single Pulse 功能
HT66F40 輸出管腳介紹:
管腳
TP2_0
TP2_1
功能描述
CCRA/CCRP
匹配輸出管腳
CCRA/CCRP
匹配輸出管腳
TMPC0
T2CP0
1 : 使能 TP2 功能
0 : I/O 功能或者其他功能
T2CP1
1 : 使能 TP2 功能
0 : I/O 功能或者其他功能
PRM2
TP20PS
0 : Enable TP2_0 on PC3
1 : Enable TP2_0 on PD1
TP21PS
0 : Enable TP2_1 on PC4
1 : Enable TP2_1 on PD4
在 Single Pulse 模式中,有兩種方式觸發產生 Single Pulse。一種為軟體設定 T2ON 為 1,即
開啟 STM,可觸發 Single Pulse。另外一種為為 TCK2 輸入一上升緣,即可自動設定位元
T2ON,觸發 Single Pulse。無論是採用 TCK2 輸入一上升緣還是 T2ON 從 0 設定 1 的方式作
為觸發信號源,當觸發信號到來時,根據 T2OC 的狀態,TP2 翻轉,計數器開始計數直到與
CCRA 匹配,計數器清除為零,產生中斷旗標 T2AF。TP2 再次翻轉,產生 Single Pulse。TP2
產生 Single Pulse 的寬度由 CCRA 決定。注意,由於 CCRP 和 CCRA 匹配中斷的入口位元址
一樣,需要在進入中斷服務程式後,判斷中斷旗標,來區分兩種中斷。T2AF 和 T2PF 不能
自動清除為零,需要在中斷程式中,程式清除為零。否則不能響應下次中斷。
Single Pulse 模式時序圖:
注意:本範例中的 n=2
在設定 Single Pulse 模式前,可對 PRM2 暫存器設定相對應的位元,將 TP2 管腳設定在不同
的 I/O 管腳。再對 TMPC1 暫存器進行設定,選擇 I/O 相對應的 TP2 功能使能。對於 TCK2
作為觸發信號源,TCK2 Pin 對應的 I/O 要設定為輸入模式。
2
步驟
1
2
操作內容
設定時鐘源
設定 CCRA、CCRP 暫存器值
3
4
5
6
7
8
9
10
11
設定 STM 工作模式
選擇 STM 的輸出管腳
使能 STM 的輸出管腳
設定 TP2 輸出的初始電源準位
設定 TP2 的輸出功能
設定 TP10 的輸出極性
設定中斷允許位元
開啟 STM
如何使用 HT66F40 STM Single Pulse 功能
Single Pulse 模式的設定步驟如下表:
STM 停止功能
暫存器
TM2C0
TM2AH/TM2AL
TM2C1
PRM2
TMPC1
TM2C1
TM2C1
TM2C1
INTC1
MFI0
TM2C0
TCK2 (輸入模式)
TM2C0
設定位元
T2CK0~T2CK2
所有的位元
T2M1, T2M0=10 及
T2IO1, T2IO0=11
TP20PS :
0 : Enable TP2_0 on PC3
1 : Enable TP2_0 on PD1
TP21PS :
0 : Enable TP2_1 on PC4
1 : Enable TP2_1 on PD4
T2CP1, T2CP0
T2OC :
0 : 輸出低準位
1 : 輸出高準位
T2IO1/T2IO0 :
00 : TP2 輸出無效準位
01 : TP2 輸出有效準位
10 : TP2 為 PWM 輸出
11 : Single Pulse
T2POL :
1 : 輸出翻轉
0 : 輸出不翻轉
MF0E
T2AE, T2PE
功能描述
選擇 STM 的時鐘源
設定脈寛暫存器
選擇 STM 工作在 Single
Pulse 模式
選擇 STM 的 TP2_0 和 TP2_1 從
哪個 I/O 管腳輸出
使能 STM 的相應管腳功能
設定輸出低準位或是輸出高準
位
選擇 11: Single Pulse
TP2 的輸出翻轉控制
使能 STM 和多個功能的中斷
T2ON 0 → 1
Pin16 0 → 1
T2PAU 0 → 1
T2ON 1 → 0
Counter 與 CCRA 匹配
Software 啟動 Single Pulse
輸出
由 TCK2 觸發啟動
Single Pulse 輸出
STM 暫停工作,計數器值保持不
變
STM 停止工作,計數器
內容不變
STM 停止工作,計數器
內容不變
3
如何使用 HT66F40 STM Single Pulse 功能
Application Circuit
説明:
對 STM 而言在 Single Pulse 模式,可提供兩個 Pins (TP2_0/TP2_1) 輸出脈衝。
脈衝輸出可選擇從 TP2_0 (Pin 15) 輸出或從 TP2_1 (Pin 14 ) 輸出,或者 TP2_0 和 TP2_1 同時
輸出。
Single Pulse 產生的觸發信號可以有 T2ON 從 Low 到 High 產生,也可以通過 TCK2(pin16)
輸入上緣觸發。當 Single Pulse 在有效電平時,T2ON 要一直保存 High。一旦 T2ON 為 Low,
Single Pulse 的另外一個邊沿立即產生。然而,CCRA 匹配也會使 T2ON 為 Low。所以 CCRA
可以控制 Single Pulse 的寬度。
S / W C o m m a n d
S E T " T n O N "
T C K n P i n T r a n s i t i o n o r
L e a d i n g E d g e
T n O N b i t
0 ® 1
T r a i l i n g E d g e
T n O N b i t
1 ® 0
S / W C o m m a n d
C L R " T n O N " o r
C C R A M a t c h C o m p a r e
T M n O u t p u t P i n
P u l s e W i d t h = C C R A V a l u e
Single Pulse Generation
4
S/W Flowchart
如何使用 HT66F40 STM Single Pulse 功能
開始
將PC設置為輸出模式
循環跳轉
程式説明
本範例是使用 STM 的 Single Pulse 輸出程式,通過 STM 的 TP2_0 或 TP2_1 觀察 Single Pulse
輸出。
主程式流程介紹:程式首先所使用到的資料儲存器清除為零初始化。對 CP0C、CP1C 賦值
08H , 關閉比較器功能。對 ACERL 和 SCOMEN 清除為零,關閉模擬量輸入功能和 LCD 功
能。PC 埠設定為輸出模式,且 PC 需設定為低位元,否則 TP2 輸出邏輯相反。PRM2 [5:4]=00
為 TP2 從 PC4 和 PC3 輸出,TM2C0 [6:4]=000 為選擇 STM 的時鐘源為 f
SYS
/4,TM2C1[7:6]=10
為 STM 工作在 Single Pulse Mode,TM2C1[5:4]=11,為使能 Single Pulse 輸出,T2OC=1 設定
了 TP2 所產生的 Single Pulse 為高脈衝。TM2AH\TM2AL =6400H,為 Single Pulse 的脈寬寬度。
5
如何使用 HT66F40 STM Single Pulse 功能
程式範例
範例程式如附件 Single Pulse.zip 檔案。
實際輸出波形圖及說明。
TCK2 輸入
觸發信號
TP2 輸出 Single
Pulse,寬度為 25.6ms
結論
本文通過上面 STM Single Pulse Mode 的應用實例,對 STM Single Pulse Mode 的運用進行了闡
述,使用者可根據具體情況來設定所需要的 Single Pulse 脈衝。
6
ডাউনলোড
বিজ্ঞাপন