我从未处理过来自数码相机的故障部件,但是我收到的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问题可能对其他人很有用。