本来想写幅度测试,但是一想没有什么可写,就是简单的模拟量转化为数字量,自己进行一个简单算法就出来了。然后,我要将该项目最难的地方记录下来,也是关于该项目的最后一篇博客。
先说我的思路,我的灵感来源于之前做摄像头模块时,采用SDRAM进行两帧缓存,这样就不会造成一帧画面同时有两帧数据。第一步,我们将VGA整个画面写进蓝色底色。第二步,将采取的像素点写进对应的坐标。横坐标是时间,纵坐标是幅值。
整体过程,将AD采集的数据利用FIFO到SDRAM到FIFO到VGA 的流程。对SDRAM的使用比较复杂,网上有很多例程,如果讲SDRAM的使用,会加大篇幅,所以在此不进行阐述。重点讲解算法实现。
我采用的640*480的分辨率,所以一帧数据我采集400个像素点,前面不是说过,用SDRAM缓存两帧数据,一帧数据在读取时,另一帧数据就在缓存,当缓存结束,显示的帧也显示结束时,就切换两页。如果随意读取400个像素点,就会导致两帧像素不能连续,让人感觉一直在闪烁,所以采集数据时,要进行判断,保证数据时连续的(因为我们的周期性的)。
切记,每写入一帧数据要将底色写进蓝色,消除上一帧的数据,否则,会一直打点,很快全屏白色。
差不多了,今天一天写了三篇,都有一点语无伦次,终于将这个项目,草草收尾,实在不好意思,最近比较忙,以后我还不知道有没有时间,不能烂尾。如果有什么问题,可以联系,等我把代码优化好了,一定上传。企鹅号:1757334763
基于FPGA数字示波器的显示
最新推荐文章于 2024-02-21 16:30:00 发布