phy6222芯片对外部晶振的检测问题
晶振的正常工作在芯片中是很重要的,在自己焊接的板子中,由于晶振的原因,导致板子抗干扰能力很差,一个是板子的地接万用表phy6222就重启了,一个是phy6222的P11引脚的电平与理论值不一样。
那么请问软件上有接口能检测外部16M晶振和外部32.768k晶振的起振吗?
晶振的正常工作在芯片中是很重要的,在自己焊接的板子中,由于晶振的原因,导致板子抗干扰能力很差,一个是板子的地接万用表phy6222就重启了,一个是phy6222的P11引脚的电平与理论值不一样。
那么请问软件上有接口能检测外部16M晶振和外部32.768k晶振的起振吗?
检测16MHz主频和外部低频晶振的方法如下:
外部低频晶振
测试内容:外部低频晶振的实际频率
测试接口:subWriteReg(0x40003808, 7, 7, 1);
subWriteReg(0x40003800, 9, 0, 0);
测试点位:GPIO_P25
测试注意事项:仅用于调试过程中确认外部低频晶振是否正常工作,请勿用于实际产品
主频
测试内容:将16MHz主频4分频出来为4Mhz
测试接口:subWriteReg(0x40003808, 2, 2, 1);
测试点位:GPIO_P01
测试注意事项:仅用于调试过程中确认主频是否正常工作,请勿用于实际产品
建议:如果是16M主频的晶振未正常起振,一定要在硬件上解决问题,因为如果主频无法正常工作,main函数中的主程序就无法正常运行。
那如果想实现产品在板子自测时,根据两个外部晶振是否起振,进而给出不同反应(比如灯光闪烁等),目前是难以实现的是吗?
16MHz的主频比较好判断,只要程序进入main函数了就可以说明16MHz的主频在工作了,可以在main函数里面闪灯之类的都可以;
32K的可以使用上面的方法让它输出,然后可以通过一些方法来检测这个输出来判断。