资源简介
基于FPGA的数据采集系统。
主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。
该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、DAC驱动模块、ADC驱动模块、同步FIFO模块、FIFO控制模块、串口发送模块。各个模块的作用如下:
(1)串口接收模块(UART_Byte_Rx.v):完成串口数据接收,将串行数据转换成并行数据输出。
(2)按键消抖模块(key_filter.v):进行按键消抖,可输出一个脉冲按键按下标志和按键按下时间标志。
(3)按键控制模块(key_ctrl.v):当在DA一直输出模拟信号时,按下按键控制ADC转换100次。
(4)ROM模块(single_port_rom.v):存储DA转换的数据,可存放正弦波形数据。
(5)DAC驱动模块(dac_driver.v):数模转换驱动模块,与外部DAC芯片相连,提供DAC芯片时钟和数据信号等。
(6)ADC驱动模块(adc_driver.v):模数转换驱动模块,与外部ADC芯片相连,提供ADC芯片时钟和控制信号等。
(7)同步FIFO模块(sync_fifo.v):存放ADC转换后的数据。
(8)FIFO控制模块(fifo_ctrl.v):当FIFO中有数据时,将FIFO中的数据转换成可以UART串口发送的数据。
(9)串口发送模块(Uart_Byte_Tx.v):经过FIFO控制模块转换的数据通过串口发送模块发送到串口,显示在pc端。
(10)DAC控制模块(dac_ctrl.v):当接收串口指定的指令时,开始将ROM的正弦数据进行DAC转换。
代码片段和文件信息
i=0:2*pi/4095:2*pi;
y=(sin(i)+1)*4095/2;
k=dec2bin(round(y));
fid=fopen(‘F:\FPGA\fpga program\xiaomeige_Verilog\data_collection\par\simulation\modelsim\sin_12bit.txt‘‘wt‘);
for i=1:4096%1024行
for j=1:12%11列
fprintf(fid‘%s‘k(ij));%输出
if mod(j12)==0%判断是否输出了11个字符
fprintf(fid‘\n‘);%每输出11个字符也就是输出了一行,输出一个回车
end;
end;
end;
fclose(fid);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-05-10 22:18 data_collection\
目录 0 2020-05-22 17:01 data_collection\doc\
文件 65136 2020-05-17 13:48 data_collection\doc\adc.png
文件 133045 2020-05-16 11:17 data_collection\doc\dac仿真波形.png
文件 162785 2020-05-18 13:20 data_collection\doc\fifo写.png
文件 223745 2020-05-19 21:12 data_collection\doc\fifo控制器仿真波形.png
文件 168964 2020-05-18 13:21 data_collection\doc\fifo读.png
文件 177412 2020-05-18 13:22 data_collection\doc\fifo边读边写.png
文件 32667 2020-05-21 10:23 data_collection\doc\rtl视图.pdf
文件 241 2020-05-17 13:14 data_collection\doc\sin_12bit.asv
文件 439 2020-05-17 13:38 data_collection\doc\sin_12bit.m
文件 126699 2020-05-21 11:24 data_collection\doc\串口收到ADC采样数据.png
文件 31790 2020-05-22 15:37 data_collection\doc\系统框图.png
文件 19078 2020-05-10 22:21 data_collection\doc\绘图1.jpg
文件 63286 2020-05-22 17:01 data_collection\doc\绘图1.vsdx
目录 0 2020-05-23 11:06 data_collection\par\
文件 1322 2020-05-11 20:58 data_collection\par\data_collection.qpf
文件 6699 2020-05-23 12:43 data_collection\par\data_collection.qsf
文件 1070 2020-05-23 11:09 data_collection\par\data_collection_nativeli
目录 0 2020-05-23 12:43 data_collection\par\db\
文件 209 2020-05-21 17:33 data_collection\par\db\.cmp.kpt
文件 132717 2020-05-21 16:40 data_collection\par\db\altsyncram_6f24.tdf
文件 12555 2020-05-20 23:55 data_collection\par\db\altsyncram_9o81.tdf
文件 12555 2020-05-20 16:40 data_collection\par\db\altsyncram_cp81.tdf
文件 15953 2020-05-21 00:01 data_collection\par\db\altsyncram_dei1.tdf
文件 35688 2020-05-21 16:20 data_collection\par\db\altsyncram_ib24.tdf
文件 19765 2020-05-18 12:18 data_collection\par\db\altsyncram_lei1.tdf
文件 69342 2020-05-21 16:48 data_collection\par\db\altsyncram_se24.tdf
文件 1762 2020-05-21 16:20 data_collection\par\db\cmpr_ngc.tdf
文件 2084 2020-05-21 16:20 data_collection\par\db\cmpr_rgc.tdf
文件 3376 2020-05-21 16:20 data_collection\par\db\cntr_23j.tdf
............此处省略387个文件信息
相关资源
- STM32F407VET6互补SPWM+死区+PID +ADC+TFT LC
- 任意信号发生器FPGA,可调方波,三角
- Altera FPGA/CPLD设计 基础篇(第2版可搜
- 基于AXI4的可编程SOC系统设计
- 《FPGA CPLD设计工具──Xilinx ISE使用详
- cordic算法的仿真及FPGA实现说明
- OV5640_Nexys_Video_CSDN.7z
- ALTERA FPGA/CPLD设计 高级篇(第2版)
- FPGA与SOPC设计教程:DE2实践+光盘案例
- FPGA与SOPC设计教程:DE2实践
- FPGA设计 实战演练(逻辑篇) 光盘
- nexys3板子实验文件
- 高级FPGA设计 结构、实现和优化.pdf
- ADUC812数据采集芯片
- Xilinx FPGA设计与实践教程
- Miz702 ZYNQ开发教程
- QuartusII软件下的时序约束使用方法
- LCD1602显示 基于nios ii
- 自已写的FPGA使用SPI模式读写FLASH
- FPGA硬件逻辑资源实现UDP协议通信的开
- FPGA基于NIOS II的电子钟设计
- FPGA数字信号处理九Vivado FFT IP核实现
- xilinx FPGA开发实用教程第2版配套光盘
- xilinx ise 9.x fpga cpld设计指南(高清晰
- DAC8532_SPI_双通道verilog控制
- FPGA verilog例程+详细的注释
- 基于Quartus Prime Std 18.0的FPGA基础开发流
- Xilinx FPGA伴你玩转USB3.0与LVDS
- 基于NIOS内核的FPGA电路系统设计.pdf
- ADC信号采集STM32的demo代码
评论
共有 条评论