FPGA调试问题记录(软件无线电)
创始人
2024-06-02 04:13:59
0
"欢迎各位大佬在评论区发表你们的调试问题与解决方式"

一、Vivado报错

【labtools 27-3403】
原因:JTAG频率过高。
解决:连接调试器时降低JTAG频率。

二、硬件调试

RS233、SPI等串口数据传输问题:
1.波特率不匹配、时钟频率不匹配。
2.RX、TX接反。
3.发送端与接收端未共地。
4.数据大小端
5.命令间隔时间太短
6.协议错误
7.需要先输入密码再发控制指令(真的是有毒,艹)

三、程序调试

1、200MHz时钟5ns的时钟周期控制信号定时发射时,需要将样点数据(200MHz时钟22相数据,232位)从200M的时钟域同步到100M的SerDes传输时钟域(100MHz时钟14相数据,164位),会造成时间刻度从5ns增加到了10ns。通过移动一个样点的方式可以将时间刻度恢复到5ns。

2、FPGA在软件打开后工作异常,调试器抓取时显示未找到时钟。原因是打开软件后将时钟切换为了外参考时钟,而外参考时钟不稳定造成时钟无法锁定,FPGA无工作时钟无法工作。需要自适应时钟在外参考时钟无法锁定时自动切换为内参考时钟。

3、算法实现时先在matlab中进行仿真,再使用verilog编写算法,再将verilog的实现步骤在matlab中实现,对比仿真的结果,结果完全匹配后再进行实现。对比时将verilog仿真结果的数据保存后导入到matlab中进行分析。

4、dds输出的频率不精确时需要频偏校正,比如驱动时钟是204.8MHz需要产生1MHz的正弦波形时如果相位的精度是32位,则每个时钟的相位增量就是(1M/204.8M)*(2^32) = 20,971,520 是一个整数,dds产生的正弦波频率为1MHz。如果驱动时钟是200MHz要产生1MHz的正弦波,则每个时钟的相位增量就是1/200*2^32=21,474,836.48 是一个小数,此时相位增量只能设置为21,474,836就会造成产生的正弦波频率约为0.9999999776MHz。此时就需要将丢失0.48的相位补偿回来补偿的周期为0.48与1的最小公倍数25(0.48*25=1*12),也就是第25时钟时相位的增量21,474,8367+12 (21,474,836.48*25==21,474,836*24+21,474,848*1)。

5、PCIE链路偶尔掉链逻辑无问题。增加PCIE的GT接口的驱动能力。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...