集成电路SOC的时钟源震荡死机现象的分析与排除

问题描述:
交换芯片+主控cpu,cpu通过smi控制交换芯片,cpu提供复位信号和25mhz时钟给交换芯片,交换芯片与cpu数据报文交互通过rmii。主控cpu在boot汇编代码执行交换芯片的复位和25mhz时钟初始化。系统上电可以正常启动,并进入app。当反复热重启系统(同一台板子热重启次数固定),交换芯片死机(主控cpu通过smi访问交换芯片,没有任何响应)。断电重启,系统恢复正常。
问题分析:
交换芯片还没有准备好,已经开始读取或写交换芯片寄存器;
频繁复位交换芯片;
交换芯片复位时间不够;
复位信号异常;
复位信号和时钟时序问题;
排除:
断开mdio和mdc的连线,现象仍旧存在;
断开交换芯片和cpu的复位连线,现象消失;单独搭了交换芯片的最小系统,反复热重启,不存在死机现象;
修改boot代码,延长复位时间,现象仍旧存在;发现复位型号存在异常,复位信号不是固定低电平一段时间然后固定高电平,而是持续一段时间低电平之后,一段时间高电平,然后再一段低电平,最后再固定高电平;
检查代码,因为cpu的复位输出管脚上电默认是低电平,所以为了保证时钟输出和复位信号同步,才产生上边描述的信号,修改复位信号,现象仍旧存在。
到了这里,唯一能影响交换芯片工作的似乎就是时钟了。交换芯片支持两种时钟源:外部25mhz直接输入或者25mhz晶振。断开cpu和交换芯片的时钟连线,焊接上交换芯片预留的独立晶振,现象消失;
仔细检查电路,发现交换芯片使用cpu提供的25mhz时钟,但交换芯片的外部晶振引脚1却焊接了一只20pf的电容。修改20pf电容为下拉电阻,现象消失;拆掉20pf电容现象消失;
注:交换芯片资料已经提交当使用外部时钟是,晶振的引脚1需要接地,晶振的引脚2需要悬空。但是我们硬件工程师错误的认为引脚1的电阻仅是预留,并且错误的制作了bom。
总结:
当soc支持多时钟源时,一定要注意其他时钟源引脚的初始状态。对于影响soc工作的情况,需要首先着手进行下面的验证:电源是否稳定、电源启动时序、时钟和复位信号。

日本强震证实WiMax比3G蜂巢技术更稳固
华南慕展:NI将携手Bojay等企业一同参与
5G iPhone不会用上台积电A14芯片
空气弹簧的选用及对环境的要求
蓝牙骨传导耳机排名,目前最好用的骨传导耳机推荐
集成电路SOC的时钟源震荡死机现象的分析与排除
清算人在去中心化金融DeFi领域中的作用是什么
云计算的格局难以改变
电阻测量的10种方法图解
纳米压印光刻技术的详细介绍
信实计划与vivo合作在印度推出700元的4G手机
苹果博通欲推翻11亿美元的WIFI专利案
日本科学家利用太赫兹等离子体技术,开发出对生物组织可视化装置
AQI分析与预测-2
压力变送器常用输出信号选择
Tina Linux Display开发指南
Intel 12代酷睿处理器亮点汇总
漫途房屋结构安全监测方案,守护城市建筑的安全底线
云计算等下一代信息技术正在成为全球经济背后的新驱动力
中国3G用户到1.5亿户还差1亿 三大运营商任务艰巨