[STM32F4] stm32 IEEE1588问题

[复制链接]
1281|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

粉丝
快速回复 在线客服 返回列表 返回顶部