英飞凌
直播中

吴湛

9年用户 881经验值
擅长:417804
私信 关注

如何设置UVC探针结构中的dwClockFrequency值?

如何设置 UVC 探针结构中的 dwClockFrequency 值? 我有 clockConfig.setSysClk400 在我的 CyU3PSysClockConfig_t 配置中 = CyTrue,那么我是否只需使用 403200000 作为该值?
相关的,一旦我得到了 dwClockFrequency 值,我就可以使用 CyU3PGettime() 来获取 PTS 值,并将其插入我的 UVC 标头中。 这样做对吗?

回帖(1)

淡淡的爱

2024-5-27 17:23:26
设置UVC探针结构中的dwClockFrequency值需要遵循以下步骤:

1. 确定时钟频率:首先,您需要确定您的设备的时钟频率。在您的情况下,您已经设置了clockConfig.setSysClk400为CyTrue,这意味着您的时钟频率为403.2MHz(即403200000)。

2. 将时钟频率转换为UVC格式:UVC标准要求dwClockFrequency值以10MHz为单位。因此,您需要将403200000转换为40.32(即403200000 / 10000000)。

3. 设置dwClockFrequency值:在UVC探针结构中,设置dwClockFrequency字段为40.32。

关于使用CyU3PGetTime()获取PTS值并将其插入UVC标头的问题,以下是操作步骤:

1. 获取当前时间:使用CyU3PGetTime()函数获取当前时间。这个函数将返回自系统启动以来的时钟周期数。

2. 将时钟周期转换为PTS值:要将时钟周期转换为PTS值,您需要将其除以时钟频率。在您的情况下,时钟频率为403.2MHz,因此您需要将CyU3PGetTime()返回的值除以403200。

3. 插入PTS值到UVC标头:将计算出的PTS值插入到UVC标头的适当位置。

请注意,这种方法假定您的时钟频率在整个系统运行期间保持恒定。如果时钟频率发生变化,您需要相应地调整PTS值的计算方法。

总之,您需要将403200000作为dwClockFrequency值,并使用CyU3PGetTime()获取PTS值,然后将其插入UVC标头。这种方法应该是正确的,但请确保在整个过程中考虑时钟频率的稳定性。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分