电路设计新人
冲击国奖,亮点要打在‘系统优化’和‘指标实测’上。单纯堆采样率意义不大,因为题目是‘简易示波器’,采样率可能有限制。但垂直分辨率是软指标,容易出彩。
我分享一个我们当年获奖的方案:我们用的ADC是AD9288,双通道8位100MSPS。我们在FPGA里用200MHz时钟去采样它(相当于2倍过采样),然后做一个16点的滑动平均滤波器。这样等效采样率降到12.5MSPS,但有效位数从8位提升到了接近10位。我们还在滤波后做了幅度的校准和补偿,用高精度信号源实测,在1Vpp输入下,垂直精度确实优于普通8位ADC的表现。这个‘数字提升’的过程在答辩时专门做了PPT和实测数据对比,评委很认可。
关于DDR3和显示,别自己写控制器,用Xilinx的MIG IP核,稳定可靠。重点优化的是‘采集到显示的延迟’。我们当时把触发位置检测、波形数据打包成AXI流,直接通过DMA写入DDR3中划出的一块波形缓存区。显示端从DDR3读数据时,不是读完整帧再送显示,而是读一小段就通过FIFO送给VGA/HDMI控制器,形成流水。关键是要计算好带宽,DDR3带宽要远大于(比如2倍以上)显示刷新所需带宽,这样才有余量处理触发、缩放等操作。一个常见的坑是DDR3的读写仲裁没做好,导致显示刷新的数据流被采集写入打断,造成波形卡顿。建议把读写优先级设好,或者用带QoS的AXI互联IP。
