一、评估板上电前调试
1.1 评估板图片
1.2 通断测试
略
二、评估板上电后调试
2.1 测试点电平测量
2.2 时序代码调试
2.2.1转接板调试
如下图2.1所示,通过调试后发现,所设计的转接板V1.0出现以下两个问题:
1)1处出现芯片U2短路,导致+12V电源输入与地短路;
2)2处时钟输入没有接到FPGA特定的时钟输入引脚。
由于上述两处问题的存在,导致需要重新设计新的FPGA-AD4630采集卡转接板,新的转接板2.0如下:
转接板PCB与原理图点击链接
2.2.2 使用ila核进行板级调试方法介绍
在转接板V2.0还未完成之前,进行了代码时序的板级调试,具体做法是将时序控制代码下载到FPGA中,然后使用Vivado环境自带的ila核进行FPGA中IO口的时序观察。ila核具体使用方法可以点击链接查看。
需要注意的是,在使用ila进行调试时,一定要使用大于被检测信号的2倍以上的信号进行采样,一般情况下可以使用FPGA的系统时钟作为采样信号去观察低于时钟信号频率的信号引脚,但是如果需要连同系统时钟一起观察,建议使用PLL核生成更高频率的采样时钟,PLL核生成方法可以点击链接查看。
2.2.3 always语句块触发方式
修改前:
触发方式为电平触发,代码烧写进入FPGA后的时序观察结果出现与仿真结果不一致的情况,而且多次观察结果也不一致,说明电平触发无法满足所需要的功能,因此将电平触发改为上升沿触发,如下所示。
随后将FPGA,AD4630采样板卡,转接板V2.0连接好,如下图所示:
通过ila核观察时序波形,如下所示:
通过观察后发现,该波形图与仿真波形基本一致,因此可以继续进行后续的调试。
2.2.4 上位机串口通讯
为了便于在上位机中获取采样结果,因此使用FPGA通过串口将数据发送至上位机中,在使用串口程序前,需要下载串口芯片对应的串口驱动,本系统中使用的FPGA开发板型号为AC7050,其串口芯片为CP2102GM,所以可以点击链接下载其串口驱动,部分串口发送代码如下:
在上述串口程序中,将FPGA采样后的24位十六进制数据通过串口发送,串口波特率为115200,每次发送一个字节,所以一次采样结果需要发送三次。在上位机中使用串口调试助手接收,输入浮空状态下,串口发送数据如下(每6个十六进制数据为1组):
2.2.4 上位机数据波形显示
为了方便直接观察采样结果,并将结果转换为10进制电压值,选择使用Python编写上位机程序,用于直观展示采样结果,部分python代码如下:
使用该代码所显示的波形如下(浮空状态):
至此系统调试完成,可以进行后续系统测试。