打印
[STM32F4]

stm32 IEEE1588问题

[复制链接]
1099|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
somedayz|  楼主 | 2015-10-13 19:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟在官方网站上下载的程序后,有一段关于从机时间调整的程序有些看不懂,求助。时间调整的频率调整模块中用到了PI控制器,哪位大神能解释一下这个的作用是什么啊
/* the PI controller */


        offsetNorm = ptpClock->currentDS.offsetFromMaster.nanoseconds;


        /* the accumulator for the I component */
        ptpClock->observedDrift += offsetNorm / ptpClock->servo.ai;         这个是干什么用的???

        /* clamp the accumulator to ADJ_FREQ_MAX for sanity */

        if (ptpClock->observedDrift > ADJ_FREQ_MAX)
            ptpClock->observedDrift = ADJ_FREQ_MAX;
        else if (ptpClock->observedDrift < -ADJ_FREQ_MAX)
            ptpClock->observedDrift = -ADJ_FREQ_MAX;

        /* apply controller output as a clock tick rate adjustment */
        if (!ptpClock->servo.noAdjust)
        {
            adj = offsetNorm / ptpClock->servo.ap + ptpClock->observedDrift;     这个是干什么用的啊???
            adjFreq(-adj);
        }


谢谢各位大神了啊~
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

24

帖子

0

粉丝