这是电子科技大学(UESTC)_鸿鹄计划_天地一体化项目在2021.2->2021.11进行的发射机设计。
项目使用Xilinx ZYNQ 7020作为核心控制,使用由供应商提供的核心板与自主设计的发射底板连接。
目前(2021.12.9)版本仅使用了核心板上的FPGA部分,对应为CLK_TST_TOP.v的顶层。需要使用的文件为
- CLK_TST_TOP.v,顶层
- DA_SPI_TST.v,重构后的DA SPI信号生成顶层,包含
- DA_SPI_RE.v,重构后的DA SPI生成,相较于旧版的DA与ADRF同构SPI生成而言,优化了输出逻辑,加入了对于不等长寄存器的支持。
- 按键消抖
- ADRF_SPI.v,ADRF的SPI生成顶层。顶层中包含最初的基线版本中对于同构的DA_SPI模块以及ADRF_SPI模块的控制,后在DA SPI重构后删除。
- ADRF.v,最初始的通用SPI生成,
- FREQ_DOM_SHAPING.v,展示用波形生成的顶层,内部有功能选择按键的消抖、功能选择
- FREQ_SINGLE.v,单音
- FREQ_DOUBLE.v,双音
- FREQ_SWEEPING_2.v,第二版的扫频生成,第一版使用Config模式的相位控制,效果不佳,第二版中改用Data Streaming
- FREQ_ROLL.v,升余弦滚降生成,使用ROM生成,包含
- Roll_of_I.coe
- Roll_of_Q.coe
- DA_SPI_TST.v,重构后的DA SPI信号生成顶层,包含
- TST.xdc,约束
其余文件或为正在开发版本,或为已迭代版本。
由于目前工作重心又返回了系统仿真上,不是太有时间将代码放在本地进行维护,且难以给之后需要进行相似项目的人提供参考,所以估计着除非在2022.2月之内完成QPSI和EMMC启动Linux的工程,否则很难对当前工程进行迭代。
因为不确定完整工程丢进来会不会有什么奇妙的法律问题,暂且通过描述的方式介绍所需IP核。需要注意的是使用Vivado 2020.2作为开发平台,注意兼容性问题
- Clocking Wizard:将设计的底板100MHz时钟分频至两个12.5MHzSPI时钟(ADRF_SCLK与DA_SCLK)、两个100MHz(GCLK与DATA_CLK)、一个200MHz时钟供给ILA(Sample_CLK)。
- 4个DDS核。用于生成展示时所使用的波形。分为3个固定相位步进(对应单频与双频)、1个Data Streaming相位(对应扫频)。
- 2个ROM核。存储升余弦滚降的时域波形。
- 1个ILA核。可以根据实际调试时的需要进行更改Probe数量。
建议进行的修改主要集中在DA_SPI_RE与ADRF中,里面含有对于AD9788与ADRF6720-24的配置信息,具体请参考芯片手册。不过好像ADRF6720-24已经退出产品生命期了。
其次是可以将按键消抖作为新的模块加入顶层中,目前为了方便调试分散在各子模块中。
同样可以参考DA的模式对ADRF进行重构,当然当前也是能正常工作的。
主要是完成使用Linux进行数据生成、成帧、编码等等,目前进度仅仅是在板上打开了系统、完成了CRC的部分,而且当前底板SD电平转换被我自己画错了,所以得考虑将完整的系统存在EMMC里面,从QSPI进行引导。现在进行的系统仿真也和进一步的开发相关,所以之后应该进展会比较快。
建议邮箱:xyj114514@outlook.com。当然参考一下各种信息也是可以从其他方法找到我的。