该项目是基于小脚丫STEPV2.1做一个100Msps采样率的简易信号发生器,五向按键实现功能选择,OLED实现菜单显示,有信号输出和同步脉冲两个输出口。
100Msps单通道任意波形发生器3D视图(TopLayer)
100Msps单通道任意波形发生器3D视图(BottomLayer)
===== 板卡调试 ===== - 电路VCC、GND工作正常,AD5611能正常输出,AD9740能输出波形,滤波器滤波效果达到要求。 - 偏置电压与理论值偏差大,因此调试过程我们一直用的单端输出,后期改进方案可以在AD9740输出端加运放跟随,排除AD9740电路对偏置电压电路的影响。 - AD5611输出电压不稳,导致输出波形的幅值不稳定,最后改程序,当AD5611输入变化的时候才将改变值写入,这样AD5611的输出值一直会保持下去直到调节电压。 - AD9740的输出电流达不到20mA,10mA以上的输出测量值远大于理论值,因此AD9740的参考电压我们给定最高的1.65V,此时输出电流10.3mA,故电压调节范围比较窄。 ===== FPGA逻辑实现 ===== Debounce_uut:按键消抖模块,输出四路脉冲信号,一路状态信号。 keystateuut:按键信号处理模块,产生频率步进fincrement[25:0]、相位偏移pincrement[25:0]、参考电压vad5611[15:0]以及给软核用来显示的信号cntmenu[1:0]等。 ad5611uut:将参考电压vad5611[15:0]通过SPI时序串行发送出去。 ddsuut:构造相位累加器,调用sinerom表,给并行的AD9740输送数据,并提供其时钟。 mico8u:软核模块,调用OLED显示的C语言程序,将keystateuut传过来的显示信号cntmenu[1:0]、cnt_waveform[1:0]等显示成所对应的格式。 ===== 测试报告及说明 ===== 频率1HZ,峰峰值1.1V的方波,三角波,正弦波 频率1KHZ,峰峰值1.1V的方波,三角波,正弦波 频率5MHZ,峰峰值0.5V的三角波,正弦波 ===== 相关文档 ===== ^* 函数发生器FunctionGenerator|:https://zh.wikipedia.org/wiki/%E5%87%BD%E6%95%B0%E5%8F%91%E7%94%9F%E5%99%A8| ^* 信号发生器SignalGenerator |:https://zh.wikipedia.org/wiki/%E4%BF%A1%E5%8F%B7%E5%8F%91%E7%94%9F%E5%99%A8| ^* 数模转换器DAC |:https://zh.wikipedia.org/wiki/%E6%95%B8%E4%BD%8D%E9%A1%9E%E6%AF%94%E8%BD%89%E6%8F%9B%E5%99%A8| ^* 运算放大器OPA |:https://zh.wikipedia.org/wiki/%E8%BF%90%E7%AE%97%E6%94%BE%E5%A4%A7%E5%99%A8| ^* 低通滤波器LowPassFilter |:https://zh.wikipedia.org/wiki/%E4%BD%8E%E9%80%9A%E6%BB%A4%E6%B3%A2%E5%99%A8| ^* 有机发光二极管OLED |:https://zh.wikipedia.org/wiki/%E6%9C%89%E6%A9%9F%E7%99%BC%E5%85%89%E4%BA%8C%E6%A5%B5%E9%AB%94| ^* 现场可编程逻辑门阵列FPGA |:https://zh.wikipedia.org/zh-cn/%E7%8E%B0%E5%9C%BA%E5%8F%AF%E7%BC%96%E7%A8%8B%E9%80%BB%E8%BE%91%E9%97%A8%E9%98%B5%E5%88%97|