当前位置 : 主页 > 大数据 > 区块链 >

IgH DC设置

来源:互联网 收集:自由互联 发布时间:2021-06-22
IgH设置DC接口说明 应用程序设置DC周期、偏移量、使能控制字。 void ecrt_slave_config_dc( ec_slave_config_t *sc, / Slave configuration. */ uint16_t assign_activate, /* AssignActivate word. / uint32_t sync0_cycle, / SYNC
  • IgH设置DC接口说明
    应用程序设置DC周期、偏移量、使能控制字。
    void ecrt_slave_config_dc(
    ec_slave_config_t *sc, /< Slave configuration. */
    uint16_t assign_activate, /*< AssignActivate word. /
    uint32_t sync0_cycle, /
    < SYNC0 cycle time [ns]. */
    int32_t sync0_shift, /< SYNC0 shift time [ns]. */
    uint32_t sync1_cycle, /*< SYNC1 cycle time [ns]. /
    int32_t sync1_shift /
    < SYNC1 shift time [ns]. */
    );
    ecrt_slave_config_dc(_G_pScServo[i], 0x300, PERIOD_NS, 1000000, 0, 0);
    assign_activate一般为0x0300,设置的是0x980~0x981寄存器,使能DC-SYNC0同步信号输出。

    图 1.1 同步信号寄存器
    sync0_cycle即为sync0的循环周期,和主栈的周期任务的循环周期保持一致。
    sync0_shift为启动sync0同步信号的偏移时间。
    一般不使用sync1同步信号,可设置为0。
  • sync0启动时间计算
    在从站间的系统时间同步后,还需要设置sync0产生的相位一致,从站间的sync0信号才能保持同步。
    设置sync启动时间在fsm_slave_config.c文件的 void ec_fsm_slave_config_enter_dc_cycle ()函数中。
    图 2.1 设置sync循环周期计算sync0启动时间在fsm_slave_config.c文件的ec_fsm_slave_config_state_dc_sync_check()函数中。
  • 网友评论