您如何确定新的微控制器是否有缺陷?

电器工程 微控制器 avr 大气压 爱特梅尔 生产测试
2022-01-31 16:39:36

我从来没有处理过 digikey 有缺陷的零件,但是我收到的 3 台新的 Atmel ATmega164A 表现出极其奇怪的行为。

我将其缩小到与时钟有关的范围内,结果发现来自所谓的“工厂校准”内部振荡器的时钟信号在 650-700 kHz 之间抖动,而不是应该的 1 MHz。我能够写入校准字节以使其非常接近 1 MHz(仍然有一些抖动)并且大多数事情都可以正常工作,但是 UART 行为不正常,它们似乎输出了连续的短脉冲流你要求他们做什么。

我之前处理过这个微控制器的低功耗版本(164P),问题为零,并决定将其放置到位并检查其时钟输出,它是稳定的 1 MHz,没有抖动。我倾向于得出这些 164A 芯片有缺陷的结论,但是我可以尝试其他任何测试来确认这一点吗?


编辑:只是想我会描述我测量时钟的过程。我启用了时钟输出保险丝位,并使用逻辑分析仪以非常高的速率采样测量了适当的引脚。我有一个写入校准寄存器的程序OSCCAL,我已经能够以我的方式试错到 1 MHz。


编辑#2:经过进一步调查,似乎微控制器在一定的程序大小后开始起作用临界点。带有闪烁 LED 的单个源文件的基本项目似乎没问题,但是在我的任何其他文件(比如 UART 库或其他文件)中编译和链接甚至没有对这些方法进行函数调用会导致微控制器在上述行为。电源连接良好,并进行了适当的去耦。我现在没有时间进一步调试这个,所以我们继续使用低功耗版本。我不确定问题到底出在哪里 1) 164A 和 164P 代码不兼容 2) 这两个 uC 的编程程序不同 3) 单元有缺陷。我对我们的电路板设计充满信心,并会排除电源问题。不幸的是,我真的不能选择正确的答案,所以我会留下这个问题 - 也许我' 将来会再次回到这个问题。感谢所有提供有见地的评论或答案的人,他们可能会对其他有开箱即用的 uC 问题的人有用。

2个回答

很少有这样的失败。您可能希望在引脚上看到更多噪音,或者该引脚完全不起作用。但是让它“有点工作,但不是以一种有用的方式”是很少见的。我怀疑存在导致问题的设计问题,并且与 164A 和 164P 之间的差异有关。由于抖动很高,我会看看与电源相关的事情。是否连接了所有电源/接地引脚?I/O 引脚是被驱动还是被拉高或拉低?等等。

但是仍然存在零件坏的可能性。这是罕见的,但并非闻所未闻。唯一真正的判断方法是从不同的供应商那里获得更多的零件,然后试一试。如果它们有效,那么您需要进一步调查,看看您是否在处理/焊接时杀死了它们,或者它们是否真的来自 Digikey 坏。

我曾经在基准 Microchip 部件上遇到过非常相似的问题。我们搞砸了 ICSP 编程,并正在寻找一种方法来擦除振荡器微调,从而导致内部时钟精度出现严重错误。确保您的编程夹具和/或编程工具连接正确并且使用正确。

如果不对部件进行编程,就没有简单的方法来验证振荡器的准确性,所以我只需要编写一个简单的端口切换程序(除了摆动 I/O 线什么都不做)并让其他人编程零件,最好使用不同的编程硬件。验证摆动后,您可以使用自己的代码重新刷新,看看问题是否仍然存在。