示波器带宽

STM32简易示波器开发总结

試著忘記壹切 提交于 2020-02-26 12:38:28
考研失利不用准备复试了,有了空闲时间做了个示波器,带宽80Khz,输入幅度0-3.3V,带有触发功能,接近实时的波形显示和FFT计算,不过存储深度太小了只有1024个点。最近要准备工作的面试了之后有时间再完善。简单总结一下设计思路,一些疑问和今后要完善的地方,采用的基本上都是固件库开发怎么配置网上都有就不细说了。 (ps:大四辣鸡一个,半瓶水晃荡着做的,有很多知识和理解受制于自己的视野,也还有许多地方设计的不合理欢迎大家交流,家里没有杜邦线剪了一截导线大家将就看8(狗头)) 一.STM32内部DA作为信号源 二.STM23内部AD不间断采样 总线72MHz,6分频,55.5个周期的采样时间,大概有160KHz的采样频率(不知道现在数字示波器还是不是和模拟的一样用扫描信号,没有仔细去找相关资料,但是感觉完全可以用足够的采样率和存储深度恢复波形) 三.DMA总线传输(单次、不循环) 总共传输1024个数据,可以设置更多点,不过本次用的是32内部的SRAM,如果想做更多点的使用外挂RAM不知道速度够不够 四.处理数据 1.触发:设置了俩种,(1)达到触发电平触发、(2)达到触发电平且为上升沿触发。T_point为触发位置,ADC_ConvertedValue为DMA传输的数据,T_value触发电平。 电平触发 int Trigger ( ) { for ( T_point = 0 ;