AD7606采样转串口发送

底层硬件

MA703FA板卡

FEP-DAQ7606-3V3采集卡

AD7606-8是16位8通道同步采样模数数据采集系统,采样率为200kSPS

信号发生器

若干接线

需求描述

创建一个FPGA项目,能够通过spi接口串行读来自AD7606芯片采集的模拟信号,然后通过串口发送到上位机

系统结构

ad_uart.png

项目主要的难点在于采样率和串口发送速率不匹配,采样率可达200kHz,串口使用115200波特率时,发送速率近似为1kHz(发送1个字节需要0.1ms,发送1个数据需要发送7个字节+两个数据的间隔时间≈1ms)

因此中间需要使用fifo来缓存数据

模块ad7606

功能描述:读取来自AD7606芯片的串行模拟信号,转换为16位信号输出

模块fifo

功能描述:实现跨时钟域传输,缓存ad7606采集的信号

模块uart_tx

功能描述:将fifo缓存的数据通过串口发送,内含子模块bcd,将16位信号转换为10进制bcd码,然后再转ascii码发送,一个16位信号经过转换后通过串口发送为5位十进制数,如1.0001V

注:16位数据无符号十进制表示范围为0-65535

功能测试

在fpga项目中使用了ILA(Integrated Logic Analyzer 集成逻辑分析器)

ILA通过一个或多个探针(Probe)来采集希望观察的信号,然后通过片内的JTAG 硬核组件,来将捕获到的数据传送给下载器,进而上传到Vivado IDE 以供用户查看

因此每项测试都是ILA和串口发送的数据经过excel处理绘图两项进行对比

500Hz方波

1.png 2.png

10Hz正弦波

3.png 4.png


本文章使用limfx的vscode插件快速发布