风化了的笑容 发表于 2024-3-25 14:53:08

使用PCA捕获功能的疑问

使用PCA捕获功能,CCAP寄存器会自动清零吗

梁工 发表于 2024-3-25 15:53:56

CCAPn是捕捉到的时刻,没有清零的说法。PCA的16位定时器(CH、CL)一直在计数,出现捕捉边沿,就将这一时刻对应的CH、CL值自动保存起来供用户读取。

风化了的笑容 发表于 2024-3-25 16:50:23

梁工 发表于 2024-3-25 15:53
CCAPn是捕捉到的时刻,没有清零的说法。PCA的16位定时器(CH、CL)一直在计数,出现捕捉边沿,就将这一时刻 ...

16位的定时器溢出了咋办,最高65535,是重新开始吗?
是否可以主动清零
(我想要通过pca捕捉模式来看2个上升沿之间的间隔时间,梁工看下这个是否可以实现啊)

梁工 发表于 2024-3-25 21:13:05

本帖最后由 梁工 于 2024-3-25 21:18 编辑

风化了的笑容 发表于 2024-3-25 16:50
16位的定时器溢出了咋办,最高65535,是重新开始吗?
是否可以主动清零
(我想要通过pca捕捉模式来看2个 ...
65535,下一个时钟就归0。
“我想要通过pca捕捉模式来看2个上升沿之间的间隔时间”,我们都有具体的例子、源码,请参考“03-PCA-3路捕获-串口1返回-C语言”或“03A-STC8G1K08A-8PIN-PCA-3路捕获-串口1返回-C语言”。


xj311 发表于 2024-6-27 13:51:17

PCA的CCP寄存器是定义的触发事件触发时刻记录的PCA计数器的值,最近有一个产品用的MCU的内部时钟温度稳定性不是太好,需要测试其串口数据的单bit时宽,用的就是C8051F120的PCA功能,用100M晶振作为时钟,测量精度可达10ns。PAC0CP0捕获串口数据流起始位的下降沿,PAC0CP1捕获串口数据流起始位的上升沿,把PCA0CP1-PCA0CP0赋值给unsigned int16变量,可以得到0-65535的结果,也就是可以测0-655.35us的范围。

xj311 发表于 2024-6-27 14:14:07

另外问下梁工,STC32好像没有PCA模块,有其它模块可以实现PCA的capture功能吗?

神农鼎 发表于 2024-6-27 16:38:10

xj311 发表于 2024-6-27 14:14
另外问下梁工,STC32好像没有PCA模块,有其它模块可以实现PCA的capture功能吗? ...
STC32G12K128, STC32G8K64 都有
144MHz 时钟支持的 PWM 测量外部信号









梁工 发表于 2024-6-27 17:26:43

本帖最后由 梁工 于 2024-6-27 17:29 编辑

xj311 发表于 2024-6-27 14:14
另外问下梁工,STC32好像没有PCA模块,有其它模块可以实现PCA的capture功能吗? ...
STC32没有PCA,使用PWM的捕捉功能实现,原理类似。可以下载下面帖子种我的例程测试,其中03、04的就是捕捉的。

STC32G-高级PWM范例程序下载
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=1778
(出处: 国芯技术交流网站)


xj311 发表于 2024-7-1 18:12:51

xj311 发表于 2024-6-27 13:51
PCA的CCP寄存器是定义的触发事件触发时刻记录的PCA计数器的值,最近有一个产品用的MCU的内部时钟温度稳定性 ...

https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=7427&pid=88855
100M频率的周期是不是10ns?与50%占空比有关系吗?我都已经测出10ns的精度了,不要误导群众。

梁工 发表于 2024-7-1 22:54:35

xj311 发表于 2024-7-1 18:12
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=7427&pid=88855
100M频率的周期是 ...

你还是没有搞懂精度与分辨率的概念!
100M的晶振,分辨率是10ns,但是精度可能是10ppm,即一秒误差10us。
你都已经测出10ns的精度了,那么,你用的是什么晶振?你用的是什么仪表作为标准测量的?精度总是相对值,你说的10ns精度,是在多长的时间内的精度?1秒?假设是1秒,精度10ns,那么你一个时钟的精度比GPS模块的时钟精度都要高了,GPS模块的秒脉冲精度一般是30ns。而一般价格大约30~50元的温补晶振,精度也就是0.1ppm的量级,超过100元的恒温晶振误差经过精确调整也才0.01ppm,也就是1秒误差10ns。
所以,能否告诉我,你用的是什么晶振?我查下其参数,

我在误导群众?我哪一句话误导群众,请指出来!
页: [1] 2
查看完整版本: 使用PCA捕获功能的疑问