主题中讨论的其他器件: LMK03328、 LMK04906
团队、
我们在 MTK 平台上遇到了编程问题,我们在参考设计方面赢得了胜利,然后将其扩展到我的客户面向中国最终客户的项目中。
让我尝试逐步列出我们所做的工作和结果。
-
由于易于管理、客户购买 LMK03318作为目录部件而没有 MTK 代码。
-
因此、它们尝试通过 I2C 接口由 CPU 在系统板上对 LMK03318进行编程。
他们如何获得设置:打开 Code Loader à 单击“File”à 单击“Restore”à 选择附加的文件 à 转到“Register”页面 à 将十六进制的寄存器值导出到文本文件
因此,我们复制所有寄存器值,然后将其保存到 Excel 文件“LMK03328 EEPROM programming……”中。
然后,软件小组按照 Excel 上的说明获取“非#”寄存器值,然后写入其主机。
然后、软件团队按照数据表上的编程指令将设置写入 LMK03318。
最后、将代码存储到 LMK03318中并将地址从0x53更改为0x03失败。 我们尝试使用0x03地址重新写入 GUI、然后再进行功耗回收。 地址将返回到0x53。
-
我们怀疑他们的 i2c 格式或时序错误导致这种奇怪的行为。 因此、我们尝试简化、就像只写入信号寄存器位来关闭一个通道一样。 我在 EVM 板上执行了该操作、然后测量 CLK 和数据波形以比较其主机执行的波形。
我们尝试通过设置 R30位[5]=1来关闭 CH7。 波形与 我们在 EVM 板上测量的波形相同。 我们仍然没有找到根本原因,为什么他们的主机将代码写入 lmk03318,即使更改 i2c 地址也会失败。
-
由于时间太紧、客户渴望在工厂(中国)进行小规模生产。 因此、我们尝试放弃上述方法、然后选择使用 GUI 对 lmk04906进行编程。 因此、我们发送下载内容、如冷加载程序所示、以及有关如何导入随附的设置文件的说明、然后通过 GUI 对 lmk03318进行编程。
-
现在、他们的中国团队反馈说、在编程和功耗回收之后、i2c 地址将从0x53变为0x03。 您可以在下面的客户屏幕截图中看到它。 在我的客户中、他们也会反馈他们也会遇到这一问题。
6.我再次怀疑系统主板上有问题。 可能还有其他因素会影响它、从而导致地址更改。 因此、我们将 LMK03318带入 了我的客户中、以便使用他们的笔记本电脑再次对其进行测试。 我们无法相信 EVM 板上的问题会重复出现。 我们只需使用 GUI、然后恢复产品线团队生成的设置。 我们 尝试使用我的笔记本电脑来执行同样的操作。 问题消失了。 看起来、并非每台笔记本电脑都可以使用 GUI 成功对 lmk03318进行编程。 我们使用相同的.mac 文件以及相同的版本代码加载器和 Windows 版本。
请帮助您快速找到尽快解决此问题的根本原因。 客户将提出关于糟糕体验的投诉、他们要求我们在生产线上待机、以便使用我的笔记本电脑在这种小型生产中手动对 lmk03318进行编程。