工具/软件:Linux
您好!
我尝试使用计时器作为脉冲发生器、它与分频的外部时钟同步。
当我按照如下方式配置 Timer1时、TIMO1不会生成脉冲信号。
请告诉我缺失的内容。 此外、我想知道 Timo 的边沿时序。 下文对这些问题进行了说明。
设备树:
k2g_pinctrl{
Timer1_Pins:pinmux_Timer1_Pins{
pinctrl-single、pins =<
K2G_CORE_IOPAD (0x1070)(buffer_class_B | pull_disable | MUX_Mode2)/* GPMC_CSn2.TIMI1 *
K2G_CORE_IOPAD (0x1074)(buffer_class_B | pull_disable | MUX_Mode2)/* GPMC_CSn3.TIMO1 *
>;
};
};
定时器引脚配置:
- BOOTCFG_TINPSEL0 0x026202D8
0x10101110 [10-08] TIPLSEL1输入选择 TIMER_1 LOW 1h = TIMI1
- BOOTCFG_TOUTPSEL0 0x026202F8
0x00000202 [13-08] TIMO1 2h = TOUTL1的 TOUTPSEL1输出选择
Timer1配置:
-停止定时器关闭、TCR = 0x00000000
-全局控制寄存器、TGCR = 0x00000003
TIMMODE = 0 (64位通用定时器)
TIMHRS = TIMORS = 1 (如 TRM 中描述的用作64位 GPTimer)
-设置周期、PRDLO/PRDHI
-启动定时器、TCR = 0x00000180
CLKSRC_LO = 1 (定时器引脚)
CP_LO = 0 (脉冲模式)
PWID_LO = 0 (1个定时器时钟周期)
采用上述配置时、TIMO1不会生成脉冲信号。
当 CP_LO = 1 (时钟模式)时、TIMO1生成时钟输出、周期由 PRDLO / PRDHI 设置。
在脉冲模式下、由于 CNTLO/CNTHI 被改变、定时器看起来工作正常。
我对这种情况有一些疑问。
问题:
1. TIMO1的输出脉冲信号是否缺少任何设置?
2. TIMO1信号边沿与内部时钟同步(也许 CHIP_CLK1/6?) 或外部定时器输入(TIMIP1)
对于每个脉冲模式(CP_LO = 0)和时钟模式(CP_LO = 1)情况。
在脉冲模式下,PWID_LO 中描述的“定时器时钟周期”是否表示内部时钟(可能是 CHIP_CLK1/6)?
此致、
Tommy