DR1 评估板 PL 端 FPGA 开发完全指南:基础案例与 ADC 采集模块详解(一)

前 言

本文为创龙科技编写的PL端案例开发的指引文档,对PL端开发案例进行简要介绍。

开发环境

Windows开发环境:Windows10 64bit

开发工具:TD_5.9.1_DR1_2025.1_NL、FD_2025.1_SP1

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

注意事项

(1)请先按照《开发环境搭建》文档安装TD、FD等软件以及进行JTAG驱动安装,使用下载器(厂家:安路科技,型号:AL-LINK-FT-V1.0)连接评估板JTAG接口至PC端USB接口。

(2)在进行本文操作前,请先参考《TD-FD工程编译与加载》,熟悉工程编译、镜像加载等方法。

(3)案例位于产品资料"4-软件资料\Demo\FPGA-demos\FPGA-HDL-demos\"目录下。案例包含bin目录和project压缩包,其中bin目录下含有案例可执行镜像文件,project压缩包内包含案例工程文件。案例目录详细说明见下表:

1 led_flash案例

1.1 案例说明

案例功能:控制评估底板LED3每隔0.5s将状态翻转一次。

管脚约束请查看案例工程"project\constraints\"目录下的.adc文件。

图 1

1.2 操作说明

请将工程镜像加载至PL端运行,即可看到评估底板的LED3进行闪烁。

1.3 关键代码

(1)使用DR1_PHY_OSCDIV原语提供的osc_clk(2MHz)作为LED的参考时钟。

(2)利用osc_clk(2MHz)进行计数,使LED实现间隔0.5s进行状态转换。

图 2

2 key_led案例

2.1 案例说明

案例功能:通过按键KEY4(USER2)控制评估底板的LED3状态。

管脚约束请查看案例工程"project\constraints\"目录下的.adc文件。

图 3

图 4

2.2 操作说明

请将工程镜像加载至PL端运行,按下KEY4按键,可看到评估底板的LED3状态翻转。

2.3 关键代码

(1)使用DR1_PHY_OSCDIV原语提供的osc_clk(2MHz)作为系统时钟。

(2)对按键按下时进行消抖处理。

(3)通过按键按下产生对应标志控制LED状态。

图 5

3 ad7606_capture案例

3.1 案例说明

案例功能:通过创龙科技TL7606P模块采集8通道数据(采样率为200KSPS),并使用TD软件的ChipWatcher工具,将采集的数据转换成电压值并保存为.csv文件。程序功能框图如下所示。

本案例使用创龙科技TL7606P-A1模块,硬件配置为并行模式,支持核芯互联CL1606(国产)和ADI AD7606采样芯片。

图 6

管脚约束请查看案例工程"project\constraints\"目录下的.adc文件。

3.2 操作说明

(1)硬件连接

请将TL7606P模块连接至评估板的EXPORT2接口,将TL7606P模块的VX通道正确连接至信号发生器A通道。同时使用下载器连接评估板JTAG接口至PC端USB接口。硬件连接如下图所示。

备注:本次演示通过TL7606P模块的V1通道进行数据采集,其他通道的数据采集方法同理。

图 7

信号发生器设置A通道输出频率为1KHz、峰峰值为5.0Vpp(即幅值为2.5V)的正弦波信号,如下图所示。TL7606P模块默认量程为±5V,待测信号电压请勿超过模块量程,否则可能会导致模块损坏。

图 8

(2)运行测试

打开案例对应的TD工程,在工程编译成功后,点击"Hierarchy Navigation"栏"ChipWatcher"选项下的.cwc文件。

图 9

将评估板上电,点击图标,直至"Device"栏出现器件信息。在"Bite File"栏中,选择案例对应的.bit镜像文件。

图 10

点击图标,加载.bit镜像文件。

图 11

图 12

点击图标,进行单次采集,并等待采集完成。

图 13

图 14

采集完成后,点击"Setup",选中要查看的数据,鼠标右键依次选择"Set Bus/Group Radix... -> signed DEC"设置波形格式为"signed DEC"(有符号十进制)。

图 15

点击当前窗口右上角"File",选择"Export Wave Date",导出波形数据.csv文件。导出完成后,会弹出窗口显示导出文件的路径以及名称。

图 16

图 17

(3)结果验证

请将生成的.csv文件使用Excel打开,如下图所示。其中,第C列数据为TL7606P-A1模块V1通道的采集数据,第J列数据为TL7606P-A1模块V8通道的采集数据。

图 18

由于本次演示通过TL7606P-A1模块的V1通道进行数据采集,因此请选中表格中的第C列,点击"插入"选项,选择"折线图",将采集数据显示为更加直观的波形图,如下图所示。

图 19

图 20

根据折线图确定波峰值为:16179,波谷值为:-16321

图 21 波峰值

图 22 波谷值

根据以上波峰值和波谷值,套用计算公式:CODE = VIN x VREF / 2n,计算可得约为4.95V,与信号发生器设置峰峰值:5.00Vpp接近。

参数解析:

VIN:输入电压,即波峰值和波谷值之和,为16179 + 16321 = 32500;

VREF:量程电压值,即为:+5V - ( -5V ) = 10V;

n:数据有效位,此处为16位。

3.3 IP核配置说明

设置输入的时钟频率为50MHz。

图 23 PLL IP核配置

使能CLK0,配置输出频率为100MHz。

图 24 PLL IP核配置

3.4 关键代码

(1)顶层模块

顶层模块的源码位于案例目录"project\hdl\"下的"ad7606_capture.v"。

a)端口定义。

图 25

b)仿真调试信号定义。

图 26

c)实例化ad7606_capture_bd模块,该模块负责从PS端产生时钟,提供给PL端。

图 27

d)使用PLL IP核输出100MHz ADC时钟。

图 28

e)实例化AD7606模块。

图 29

(2)AD7606模块

AD7606模块的源码位于案例目录"project\hdl\"下的"ad7606.v"。

a)配置aAD7606时序信号线。

图 30

b)将采集到的数据分离给各通道。

图 31

(3)parallel_adc_capture模块

parallel_adc_capture模块的源码位于案例目录"project\hdl\"下的"parallel_adc_capture.v"。

a)生成AD7606的采样时钟和读取数据的时钟,其中采样时钟为200KSPS,读取数据的时钟为采样时钟的50倍。

图 32

b)控制convst、cs/rd的信号。

图 33

c)以100MHz时钟分频计数生成时序信号。

图 34

d)TL7606P模块每完成一次采样,则立刻依次读取出各通道AD数据。

图 35

相关推荐
Deepoch21 小时前
Deepoc 具身模型开发板在果蔬采摘机器人自主作业中的技术研究
机器人·开发板·采摘机器人·具身模型·deepoc
PLC无线1 天前
不花一分钱买PLC!电脑直接监控电磁流量计
工业控制·工业自动化
Deepoch2 天前
Deepoc 具身模型开发板赋能智能轮椅自主随行与安全控制技术研究
人工智能·科技·安全·开发板·deepoc·智能轮椅
weixin_399733623 天前
C语言教程
c语言·嵌入式开发·编程教程·谭浩强·c程序设计
俊基科技4 天前
FT-02 全双工语音通话测试底座:多场景语音质量验证解决方案
语音识别·硬件开发·语音处理模组
VOOHU-沃虎4 天前
强抗振、高可靠:RJ45卡侬自锁连接器在工业恶劣环境中的选型指南
网络·工业控制
Deepoch4 天前
Deepoc 具身模型开发板在农田植保机器人自主作业中的应用研究
人工智能·科技·机器人·开发板·农业机器人·deepoc·采摘
Tronlong创龙5 天前
RK3576 单板机嵌入式 Qt 界面与多屏异显开发手册(一)
开发板·嵌入式开发·硬件开发·工业控制
武汉唯众智创5 天前
唯众无人驾驶智能小车实训平台:从ROS开发到SLAM建图,一站式搞定无人驾驶实训
嵌入式开发·ai 实训平台·无人驾驶智能小车·高校实训装备·智能小车实训
Tronlong创龙6 天前
RK3576 单板机嵌入式 Qt 界面与多屏异显开发手册(二)
开发板·嵌入式开发·硬件开发·工业控制