CCU 的CCPOS0 CCPOS1 CCPOS2 配置成输入引脚并进行测试

数据类型

 

 

IfxCcu6_PwmBc_Pins 数据类型的变量  pwm_pins

 

 

CCPOS0 输入引脚的配置

 

 

 

 

 

寄存器显示  

 

 现在

 

 

已经更改过来

 

 

第二步

 

现在CCU6的 CCPOS0  CCPOS1 CCPOS2  已经设置为输入了,

现在设置 同步事件  T12MSEL 的HSYNC 位阈是 100B  

表示在T12的周期匹配事件 采样HALL的CCPOS0  CCPOS1  CCPOS2 输入

还是改为4 

T12的周期匹配 而且在上升边沿计数 。

 

 

 

 

 

 

 

第三步骤 :

设置 T12MSEL 的值   均工作在霍尔模式 

 

 

 

 

 

在捕获模式或者比较模式 CC60ST 存放的是比较输出值  或者捕获输入值 

但是如果设置了通达是霍尔模式    

则只有在 HCRDY 到来的时候,才可以将CCPOS0  CCPOS CCPO2 的值导入到对应的位阈值中。  

 

 

 

而HCRDY 的信号的到来,还需要设值 DBYP=0 

 

而且需要设置一个延时   

 

 

 

 

设置了 10个 T12CLK 时钟周期

 

 

 

 

 

 

 

初步设置完成以后, 查看一个各个寄存器的配置  

 

 

 

 

T12DTC 寄存器  

 

 

 

 

现在我认为可以 改变一下 ccpos0 (P13.1 )   CCPOS1 (P13.2)   CCPOS2 (13.3) 

的电平值    

 

然后看一下    CMPSTAT 相应的CMPSTAT 的位阈

 

 

 

 

然后我给P13.1 接入一个高电平    发现他的值CMPSTAT 中CCPOS0 确实发生了变化

 

 

 

 

然后我现在改变 P13.2 接入一个高电平    发现CMPSTAT 的CCPOS1 变为了1  

 

 

 

 

然后我给P13.3 接入一个高电平  ,发现CMPSTAT 的CCPS2 变为了1  

 

 

 

至此我认为  当 CCPS0  CCPOS1  CCPOS2  用T12的通道1 的周期中断的方式进行 触发采样, 然后由 DTM 延时10个时钟周期以后, HCRDY信号有效  触发了CCPOS0 

CCPOS1  CCPOS2 的同步采样  并且把相应的状态更新写进入了 CPMSTAT 中对应的位阈值  CCPOS0  CCPOS1  CCPOS2 

 

为了进一步验证  如果我不设置T12的周期中断 会怎样  

 

 

 

发现改变任何一个P13.1  P13.2  P13.3 任何一个引脚的电平值

寄存器CMPSTAT 中对应的位阈都不会改变 。

 

为了进一步验证,霍尔输入CCPOS0  CCPOS1 CCPOS2 的评估条件改回 

T12周期触发    然后不用延时功能

 

 

 

 

 

 

 

发现可以正常检测 。

 

文章以及程序的百度网盘链接  百度网盘文件名   20220110CCU单元ccpos0配置为输入方法以及程序测试

 

posted @ 2022-01-11 12:31  STEVEN-SUN  阅读(336)  评论(0编辑  收藏  举报