编辑: 芳甲窍交 | 2018-07-19 |
00 比较匹配输出
00 No change
01 Output low
10 Output high
11 Toggle
01 捕捉输入
00 Input capture at rising edge of PTP1I
01 Input capture at falling edge of PTP1I
10 Input capture at falling/rising edge of PTP1I
11 Input capture disabled
10 PWM 输出/单脉冲输出
00 PWM Output inactive state
01 PWM Output active state
10 PWM Output
11 Single pulse output
11 定时/计数 XX no effect _pt1oc 用来设置输出 Pin PTP1,PTP1B 对于比较匹配模式的初始行为,或者 PWM 输出模 式/单脉冲模式的波形是 Active high or low. 当定时/计数模式或捕捉输入模式, 该位无作用, 在本范例中_pt1oc 设为 1. [_pt1m1:_pt1m0] _pt1oc PTM1 output control
00 比较匹配输出
0 Initial low
1 Initial high
01 捕捉输入 X No effect
10 PWM 输出与单脉冲输出
0 Active low
1 Active high
11 定时/计数 X No effect _pt1pol 用来设置输出 Pin STP0,STP0B 输出极性是否要反转. _pt1pol PTM1 Output
0 Non-invert
1 Invert _pt1cks 用来设置 Capture 输入源的选定.在PWM 操作时,该位无作用. _pt1cks PTM1 Capture Trigger Source
0 PTP1I
1 PTCK1 HT8 MCU 内置 PTM PWM 应用范例 AN0425S V1.00
4 /
9 2016-03-30 PTM1 清除的设置 _pt1cclr 用来决定向上计数器的清除条件, 当设置为比较匹配输出或定时/计数模式时, 会根 据_pt1cclr 是0或1决定比较器 P 或A来自动清除计数器.当捕捉输入或 PWM 输出/单脉 冲输出时,该位无作用. [_pt1m1:_pt1m0] _pt1cclr PTM1 Clear Condition
00 比较匹配输出
0 Comparator P match
1 Comparator A match
01 捕捉输入 X No effect
10 PWM 输出与单脉冲输出 X No effect
11 定时/计数
0 Comparator P match
1 Comparator A match PTM1 PWM Period 和Duty Cycle 的设置与计算 Period 的计算与设置 PTM1 的PWM 周期时间 Tperiod 是由以下公式计算出: TCK TCK f rpl ptm rph ptm f CCRP Tperiod ]
1 _ :
1 [_ = = ……(1) 其中 [_ptm1rph:_ptm1rpl] 用来设置CCRP寄存器的内容, 由于有 10bits, 所以范围是 0~1023. fTCK指的是经由向上计数器前的多任务器所选择的工作频率. 在_ptm1c0 的[_pt1ck2: _pt1ck0] 定义了选择的范围如下表: [_pt1ck2:_pt1ck0] 选择频率对象 计数器实际工作频率 (以fSYS=8MHz为例)
000 fSYS/4 2MHz
001 fSYS 8MHz
010 fH/16 500kHz
011 fH/64 125kHz
100 fTBC 32kHz
101 fTBC 32kHz
110 PTCK1 以外部为准
111 PTCK1 以外部为准 上表中,fSYS的频率假设用户选择内定的工作频率 8MHz. HT8 MCU 内置 PTM PWM 应用范例 AN0425S V1.00
5 /
9 2016-03-30 以[_pt1ck2:_pt1ck0] = 001,fSYS = 8MHz为例,其计数时间如下: us CCRP M CCRP f CCRP T TCK
8 /
8 = = = 若CCRP=48,则Tperiod =
48 / 8?s = 6?s,[_ptm1rph:_ptm1rpl] = [0x00, 0x30] Duty Cycle 的计算与设置 PTM1 的PWM DUTY Cycle 由以下公式计算: %
100 x CCRP CCRA DutyCycle = CCRA由[_ptm1ah:_ptm1al] 来设置. 当CCRA >
CCRP 时, PWM 的Duty Cycle会固定为100%. PTM1 在PWM 输出模式的工作波形 Counter Value CCRP CCRA PTnON PTnPAU PTnPOL CCRP Int. Flag PTMPnF CCRA Int. Flag PTMAnF PTM O/P Pin (PTnOC=1) Time Counter cleared by CCRP Pause Resume Counter Stop if PTnON bit low Counter Reset when PTnON returns high PTnDPX = 0;
PTnM [1:0] =
10 PWM Duty Cycle set by CCRA PWM resumes operation Output controlled by other pin-shared function Output Inverts When PTnPOL =
1 PWM Period set by CCRP PTM O/P Pin (PTnOC=0) STM Compare Match Output Mode C STnCCLR=1 上图为 PTM1 操作在 PWM 输出模式的波形,当PT1ON 为1时,计数器执行到 CCRA 值PWM Output 翻转,当进一步执行到 CCRP 时,会清除计数器内容并重新计数,重复 PWM 输出. HT8 MCU 内置 PTM PWM 应用范例 AN0425S V1.00