数字硬件设计调试压力大、耗时长,真的可以轻松自如?

发布时间:2022-04-7 阅读量:1263 来源: 我爱方案网整理 发布人: Aurora

数字硬件设计调试压力大、耗时长,真的可以轻松自如?英国工程与技术学会的研究员和特许工程师Adam Taylor说 “能”!

 

工程设计项目中最令人振奋的时刻之一就是第一次将硬件移到实验室准备开始集成测试的时候。开发过程中的这个阶段通常需要很长时间,也会对所有的项目工程师造成很大的压力。不过,现有的工具和方法能减轻压力,帮助推进项目进展。


让我们来看一下,如何在将设计推进到更高层面的过程中最大限度地减少可能发生的任何问题,以及如何快速顺利地通过调试阶段。


从第一天起就要设想如何进行测试

 

所有工程师都知道,随着开发进程的推进,修改问题的成本也会相应增加。一旦设计方案最终定型并投产,再修改引脚输出错误的成本必然高于早期设计评估时修改的成本。此外,在测试与集成方面也同样存在成本问题,越早考虑硬件、FPGA、系统等的测试问题并编写测试规范,就越便于工程设计团队考虑到必要的测试点、连接和功能性。此外,对设计验证模型进行编辑也是一种非常好的做法,能详细说明测试每项功能要求的方法,如具体的测试、分析或读取方法(条件是在另一个项目上较早明确或测试了相关要求)。


但是,在进行功能性测试之前,设计工程师还必须确保底层硬件的正确性。他们通常需要包含电源、性能和硬件基本验证等内容的硬件级测试规范,而硬件基本验证需在功能测试之前进行。

 

明确需要何种测试设备以及什么样的性能非常重要,例如需要分析信号发生器和逻辑分析器是否能提供足够的存储深度和工作频率?此外,还需明确是否需要更专业化的测试设备,如任意波形生成器、高稳定性频率参考等。


设计阶段应包括的内容

 

在硬件的设计过程中,或许应包括几项设计特性和功能,以使电路板的测试能够更方便。相关要求可能比较简单,也可能较有深度。


最简单也是最常见的测试规定是在所有电压源上放置测试点,这避免了探询焊接点时造成损坏的可能性。不过,还有一种比较好的办法,是让连接接地(0V)返回的焊盘靠近电压测试点,从而简化测试工作。 


边界扫描测试对在测试阶段早期减少硬件设计风险非常有用

 

此外,监控时钟和复位输出的功能至关重要。因此,在复位线路上放置测试点不矢为一种好办法。另外,还应确保正确端接不使用的时钟缓冲器并添加测试点,从而便于对时钟进行探询。


为了帮助原型设计达到功耗要求,如果可能,通常比较好的做法是在电压调整器的输出端串联低值电阻(10毫欧、100毫欧等),以便精确测量电源轨上的电流。


检查完印刷电路板上的各组件之后,下一步就是首次给电路板加电。对于任何工程师来说,这都是非常紧张的时刻。但是,在设计阶段(测试点、电流感测电阻等)编制的测试规定将在这时发挥很大的协助作用。


系统第一次到达实验室时,您要做的第一件事情就是确定硬件底层模块是否适合做进一步的测试。相关检查包括模块的初步通电测试,这是个紧张的过程。刚拿到模块,您希望确保其准确投产,能够成功实现首次通电启动。第一步就是确保所有的组件都各就其位,引脚“1”正确定位,而且任何带极性的组件都准确放置。


如果您确定所有电源轨都没有短路,那么下一步就该加电了。初次加电时,我倾向于采用分两个阶段进行的方案。第一个阶段是采用低电压(0.5V)和低电流,以确保不错过信号层或电压轨之间的任何短路情况;第二个阶段是用正确的工作电压在设定的电流限值内加电,看看是否获得预期电流(不要忘了突入电流问题)。


明确硬件特性的下一步就是确保能通过JTAG链看到硬件,这使我们不仅能对FPGA编程,而且还能执行边界扫描测试。边界扫描测试能帮助我们快速测试器件之间的互连,通过测试存储器可确保其正常工作,如开发回环接插件也可回转输入输出。


致力于简化RTL

 

如果您的设计在硬件和FPGA层面上都很复杂,那么简化版的RTL将有助于测试开发板以及FPGA和外设(图2)之间的接口。对高速接口设计而言,更是如此。


此外,您还应该充分利用FPGA提供的资源,尤其是赛灵思System Monitor和XADC,非常有利于监控芯片上的电压轨,进而还能有助于验证在设计阶段所执行的电源完整性分析。此外,上述技术还能方便地报告芯片温度,这对环境测试以及芯片温度的功耗关联等都有帮助。


多数情况下,简化RTL设计并采用FPGA提供的资源对精确定位未按预期工作的区域都有极大的帮助。


遇到问题怎么办?

 

在一步步推进测试计划的过程中,您可能会遇到一两个问题,如未能实现预期的功能,或在功能方面无法满足所需的性能水平。不要担心,我们能通过许多调查方法来确定问题根源和所需的纠正措施。


在上述情况下,不要急于马上做出修改。首先,要重新检查设计方案,特别是原理图和数据手册等设计信息。如果问题与FPGA有关,则应检查引脚约束文件是否适合设计需要,因为有可能文件与设计不同步。


如果一时找不出什么明显错误,则不妨发挥一下互联网的优势,去网上看看其他工程师是否也遇到过跟您同样的问题。网上有很多论坛,您可在那里向其他设计人员提问。

 

说到底,硬件调试是工程设计中极富挑战,但又极具收获的组成部分。若在设计早期阶段即考虑到测试问题,并在设计中包含测试所需的各元素,就能显著简化调试工作。


这里的优化代码是从连接输出的简单DAC接口到已知状态的代码片段,能够生成Fs/2的正弦波。此类代码的标准版可能有数百行的长度。


图2:这里的优化代码是从连接输出的简单DAC接口到已知状态的代码片段,能够生成Fs/2的正弦波。此类代码的标准版可能有数百行的长度。

 


220x90
相关资讯
晶振启动时间影响因素解析与优化方向

​晶振的启动时间,通常是指其通电后进入稳定振荡状态所需的时间。若启动时间过长,可从以下五个常见的影响因素方面进行优化。

解析RTC实时时钟芯片的工作原理

RTC(Real-Time Clock,实时时钟)芯片作为一种独立的专用计时器件,其核心功能包括提供稳定的日历时钟、在主电源断电后持续运行、支持定时中断以及输出高精度时间戳,为各类嵌入式系统提供可靠的时间基准。

无源晶振与有源晶振在MCU应用中的关联逻辑与选型指南

时钟系统是保障微控制器(MCU)稳定运行的核心,而晶振作为关键时钟源,主要分为无源晶振与有源晶振两种类型。下面将围绕工作原理、硬件接口、电气特性及其在MCU中的适配场景等维度,系统解析这两类晶振与MCU之间的关联逻辑。

VC-OCXO压控恒温晶振管脚功能定义解析

恒温晶振(Oven Controlled Crystal Oscillator,简称OCXO)是高精度频率源的核心组件,选用切型更优(如SC切、AT切高精度型)、封装应力极小的高Q值晶片,通过恒温槽的超精密控温,让晶振始终工作在零温度系数点,几乎消除温度引发的频率漂移。

晶振倍频干扰解决方案:从PCB布局优化到源头抑制与电路整改

晶振倍频干扰(即高次谐波辐射)是电磁兼容(EMC)设计中非常棘手的问题,通常表现为基频25MHz的5次、7次谐波(如125MHz、175MHz等)处辐射超标。该问题源于晶振输出方波信号包含丰富的高次谐波成分,若PCB布局不当,晶振及其走线极易构成高效辐射天线,导致电磁干扰增强。