利用FPGA将收到的时码转换成B码输出(新增ZYNQ版本)

    最近做了一个模块,是通过网口将时码发送到模块,然后通过STM32转发给FPGA,最后在FPGA内部转换成标准的IRIG-B(DC)码输出。
    FPGA与STM32的通信使用了一个双口BRAM,利用STM32的FSMC功能进行通信。
    STM32会发送一个状态码,状态码保持不变的时候,FPGA在当前时码上自动加1秒,转换成B码发送;如果状态码改变,FPGA读取STM32发送的时码,转换成B码发送。

B码格式如下图。
在这里插入图片描述
FPGA工程附在后面,使用的VIVADO2018,FPGA用的7K325T。

另外工程还写了一个TESTBENCH,可直接进行形为仿真,仿真结果如下:
在这里插入图片描述

PS:工程这里上传不了,只能单独上传资源,有什么问题可以留言或者私信我,看到就回
直接点这里
或者:https://download.csdn.net/download/pp_0604/16064393

上面的链接版本有点BUG,可以下载新版的连接

https://download.csdn.net/download/pp_0604/47261490

2021.07.06
发现一个小BUG,初始化的默认时间发送的是30小时,超过了24小时,会导致接收设备识别错误。

2022.07.04
新做了一个ZYNQ开发板上使用的B码工程。
FPGA部分修改:
1.优化了部分代码。
2.增加了错误时标的输出格式,一共2种,一种是第5秒的时候会跳秒;第二种是一直发送秒全为0的时标。
3.增加了年的设置,同时发送军标格式的年和网标格式的年(因为有些设备识别军标格式,有些设备识别网标格式,并且可能会有冲突,会导致接收出错,需要根据对应设备进行修改代码)。
ARM部分修改:
1.使用ZYNQ内部的AXI总线进行通信,不再使用FSMC。
2.使用网口与PC进行通信。

资源链接见下,(因为ARM部分是我同事做的,我只负责了FPGA部分,所以是付费链接):
https://download.csdn.net/download/pp_0604/85893650

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pp_0604

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值