1605|1

20

帖子

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数据):

        

 

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

 

        新建 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,符合公式。

 

 

    

 
 

 

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

        本次测评的工程如下:

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

 

最新回复

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

回复
举报

6807

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

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

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表