24口交换机SYNC模块学习

IEEE1588实现时间统一和软件实现最佳主时钟选择。

已实现:FPGA实现时间统一和软件实现最佳主时钟选择。

新需求:原软件实现的最佳主时钟选择由FPGA实现。

(1)单一子网主时钟方法

     最佳主时钟算法?后文是否会有?

硬件实现时间同步

(1)主设备模式

周期性发一次SYNC帧,自身设备信息存放在BRAM。

发完SYNC帧后开始接受其他设备的SYNC帧,先判断接受的SYNC帧是否与自身的时钟ID相等,若相等,直接丢掉该SYNC帧。然后判断该SYNC帧;是否为优先级最高的主时钟。若是,转发该SYNC帧,然后进行时间同步,并更新BRAM表。若不是,则转发该SYNC帧并更新BRAM表项。

(2)从设备模式

相比主设备模式少了周期性发送SYNC这一项。其余步骤相同。

(3)系统主时钟无法工作

      (a)300ms计时,超出未收到SYNC认为失效,并从BRAM中选出优先级最高的时钟作为主时钟。

      (b)当主时钟恢复正常,先与BRAM表中优先级最高的时钟进行时间同步然后周期性发送自身的SYNC帧。

系统框图:

每个设备有19个端口接受FIFO中的SYNC帧,先有数据调度模块负责调度,进入时间同步模块,时间同步模块进行转发SYNC帧(发送SYNC模块)。

 

 

软件配置寄存器(需要注意的寄存器):

sync_id_reg:优先级最高的device_id。原设计中这个寄存器由上位机配下来,现由FPGA维护,上位机能够读取。

config_finish_reg:默认0x00000000,软件配置为0xCCCCCCCC,使得FPGA识别配置。FPGA识别后清空0x00000000.在配置改变时软件可以进行二次配置,此时模块将被重置。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值