FPGA调试-问题定位(案例)

紫光同创FPGA调试问题定位案例

概要

本次记录是一个个人随笔,记录的是在FPGA调试过程中出现问题时对问题的定位以及调试的流程,大家有其他想法的我们可以评论区进行讨论;

----------------------------------------分隔------------------------------------------

本次做的产品是一个激光雷达类的产品,使用到的FPGA 是紫光同创的PGL22G,使用这款FPGA 主要是用来做sensor的信号采集,所以对资源要求不高,这边FPGA 采集完的数据会通过网口或者其他的一些接口给到下一端的数据处理板做数据计算;架构上会挂在一颗ddr3做数据缓冲;这里紫光的ddr3是一个硬核,有兴趣的小伙伴可以去了解一下;回到项目上,做数据采集时,采用的FPGA内部的片上ADC来做的应用,至于为啥要用片上ADC,一个是性能刚好可以满足需求另外一个就是从成本上来考虑,还有一个就是说PCB板卡的空间有限。综合选择下来片上adc就可以;

调试问题过程

1、打板回来我们在进行调试的时候,我们一定是会出现各种各样稀奇古怪的问题,那么这边这个时候我们就需要对这个问题进行定位,只有定位好了,才有方向去解决这个问题,不然没法搞了;当然在做原理图设计阶段我们就可以做一些操作,从而规避后续上板调试时出现的问题;比如在设计ddr、lvds、pcie这些接口的时候,在设计原理图阶段就要在相关的EDA软件里面约束好io位置跑一次,看能否跑通,跑不通就查看相关手册进行修改;

2、好了说了这么多,回到这个项目来哈哈哈;该项目打板回来后呢在使用ADC进行信号采集的时候出现了数据通道没数据输出的现象;我们这边也是第一时间对这个问题进行了跟进,工程师这边一共是使用了5个adc通道,其中有4个通道是没有数据输出的,使用示波器和内部在线调试工具都抓不到数据波形;通道没有数据输出这只是表象,先从硬件设计开始排除,(1)检查原理图ADC部分,是否在存在非法设计,经过检查原理图符合设计标准;这边可以排除是硬件设计上的问题;(2)使用万用表对模拟信号源到fpga的相关adc 管脚进行阻值测量,排查是否线路问题;经过测试,是属于正常值;(3)检查一下模拟信号源,使用了仪器进行测试,信号源没有问题;

3、好了到这里我们已经基本上把硬件上相关的都进行了检查测试,都是正常的;还是没有定位到问题所在,那么这个时候可能就需要换方向了,ADC 内部是不是需要什么配置或者使能开关打开什么的,adc才能正常工作呢;顺着这条思路我们查阅了这部分的手册(小伙伴儿们在设计的时候千万不要低估了手册的重要性,不要犯经验主义错误),跟工程师确认使用的什么工作模式,查阅手册,adc里面是有好几种工作模式的,工作模式配置有问题,出现的结果可能就不一样了,这边使用的是一个连续扫描模式,按道理来讲,这个模式应该是所有通道都能看到数据的;但现在的现象结果是只有一个通道的数据能看见,很诡异,这显然不对;在手册里找了一会线索,后面发现每个通道都会有一个通道使能开关,只有当开关打开后才能正常工作;赶紧向工程师进行了确认,工程师这里表示确实没有做这样的配置,后续对其开关进行了打开,再次进行抓取信号,几个通道的信号都有输出。

小结

本篇是一个帮客户做问题定位的思路流程,做一个记录,后面再遇到相关的问题可以回来找找思路灵感哈哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值