847|1

19

帖子

0

TA的资源

一粒金砂(中级)

国产FPGA安路 高集成低功耗SF1系列FPSoC新品测评【使用SF1 FPGA 进行ADC转换】 [复制链接]

本帖最后由 Grayson__ 于 2023-3-25 17:40 编辑

        本期SF1测评使用 AD9280芯片与 SF1的 FPGA 部分进行模数转换,并将转换的数据通过uart IP核传输到电脑上。使用到的工具是安路的TD软件。

        首先介绍一下 AD9280 ,它是 ADI 公司生产的 8 bit 、最高采样率为 32MHz的 A/D 转换器,A/D 转换器输入信号电压范围是 0~2V 。本次实验中我们将输入 -5V~+5V 的模拟电压,通过电压衰减电路后转换为 0~2V 即可进行 A/D 转换。A/D 的工作频率采用晶振输入的 25MHz。

        本次实验中用到的 AD9280 转换器的转换图对应如下,这样8bit数据与输入电压的转换公式则为 y=25.5*x+127.5 (x为电压,y为量化后的8bit数据):

         image.png  

        下面进行工程的设计。首先新建工程,配置 uart ip 核,如下,uart ip核配置的注意事项可在前几期中查看:

image.png  

        新建 AD 转换模块,代码如下:

module AD_rec( 
	input				clk,		//FPGA输入25MHz时钟
    input				rst_n,		//低有效复位
    input		[7:0]	ad_data,	//AD输入数据
    output				ad_clk		//AD驱动时钟
);

assign ad_clk = clk;

endmodule

        新建AD_top顶层文件,例化 uart 与 AD 两个模块,设置 AD_top 为顶层模块,代码如下:

module AD_top( 
	//SYSTEM
	input			clk,
    input			rst_n,
    
    //AD
    input	[7:0]	ad_data,
    output			ad_clk,
    
    //uart
    output			txd
);



AD_rec AD_rec_u1( 
	.clk(clk),		//FPGA输入25MHz时钟
    .rst_n(rst_n),		//低有效复位
    .ad_data(ad_data),	//AD输入数据
    .ad_clk(ad_clk)		//AD驱动时钟
);

uart_interface uart_interface_u1(
  .clk(clk),
  .rst_n(rst_n),
  .tx_data(ad_data),
  .tx_en(1'b1),
  .txd(txd)
);



endmodule

        之后进行管脚约束:

set_pin_assignment	{ ad_clk }	{ LOCATION = B9; }
set_pin_assignment	{ ad_data[0] }	{ LOCATION = A10; }
set_pin_assignment	{ ad_data[1] }	{ LOCATION = A11; }
set_pin_assignment	{ ad_data[2] }	{ LOCATION = B10; }
set_pin_assignment	{ ad_data[3] }	{ LOCATION = B11; }
set_pin_assignment	{ ad_data[4] }	{ LOCATION = C10; }
set_pin_assignment	{ ad_data[5] }	{ LOCATION = C11; }
set_pin_assignment	{ ad_data[6] }	{ LOCATION = D10; }
set_pin_assignment	{ ad_data[7] }	{ LOCATION = D11; }
set_pin_assignment	{ clk }	{ LOCATION = D7; }
set_pin_assignment	{ rst_n }	{ LOCATION = H3; }
set_pin_assignment	{ txd }	{ LOCATION = A4; }

        编译无误后,进行AD转换器与FPGA的管脚连接,进行bit文件的下载。使用 TI 的 HPI-1000 口袋仪器发出范围为 -5V~+5V 的直流电。打开串口显示工具,当输入电压为0时,串口显示接收到的数据为 0x81 , 与前面公式转换一致; 当输入电压为 2V 时,串口接收到0xB4,符合公式;当输入电压为 3V 时,串口接收到0xCE,符合公式。

image.png  

image.png

 

     image.png  
image.png  

IMG_20230325_171552.jpg  

        DEMO板上可使用的 IO 较少,且只有一个uart串口,因此工程实现的功能无法做得大一些,测评结果验证的方法也比较局限。本想使用RISCV核进行AD读取,并在DEMO板上的OLED 显示所测电压值,但是RISCV可配置的功能引脚有限,无法支持实现。感兴趣的朋友可以测量正弦波,将串口输出的数据保存并在 matlab 上绘制图像。

        本次测评的工程如下:

AD9280.zip (613.29 KB, 下载次数: 1)

最新回复

国产FPGA安路看起来已经不错了   详情 回复 发表于 2023-4-7 19:58

回复

4917

帖子

0

TA的资源

五彩晶圆(中级)

国产FPGA安路看起来已经不错了


回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表