xmc芯片端口上电状态

xmc芯片端口上电状态,第1张

希望对你有帮助

1、首先怀疑复位电路出现问题,即由于电容容值小(10nF)导致复位时间不够。分别将复位电容更改为100nF、10uF,问题仍然存在。期间用示波器测量了3.3V电源和复位引脚,并查看XMC4500手册,100nF复位时间足够。

2、怀疑晶振没有起振,即复位结束后晶振才起振正常工作。同样用示波器观察3.3V电源、复位引脚、晶振输出,抓取上电时三者波形,发现有源晶振正常启动。

3、查看XMC4500的boot模式设置引脚,Normal模式TMS上拉,TCK下拉。核对电路,发现TCK没有下拉,于是加上下拉电阻5.1K。结果反而导致程序下载不成功。

结合自己的实际测试,下载接口TCK悬空,TMS接上拉电阻,程序下载运行正常。

4、在网上查找资料,发现有人说是因为外设上电后初始化需要时间。于是尝试在进入main()函数后立即加延时,发现程序可以正常运行了。 然后结合自己的电路板分析,板子上有外设DP83848,上电后XMC4500很快进入工作状态对其进行初始化,但是此时DP83848还处在自己的上电初始化状态,导致XMC4500初始化不成功,造成整个程序运行不正常。

查看DP83848手册,其自身上电稳定需要167ms的时间,因此进入main函数后立即加延时大约200ms,程序运行正常。

由RX0-RX3和CSR这几个脚组成PHYADDR0-4

芯片复位时,会锁存这5个脚的电平,作为芯片地址,以后就找这个作访问了。

所以,如果你是悬空的话,认为是0,一定要接1才认为是1.

DP83848的地址由PHYAD[4:0](总共是32个地址)决定,具体怎么决定请看芯片手册。当对PHY进行读 *** 作发现读出的值都是0xffff时,如果硬件没问题,那就可以看一下是不是PHY的地址弄错了。一个简单的办法就是对0-31地址进行轮训,看哪个地址能读出正确的值。

Table 6-5 PHY Address Mapping

PIN # PHYAD FUNCTION RXD FUNCTION

35    PHYAD0    COL  

36    PHYAD1    RXD_0  

37    PHYAD2    RXD_1  

38    PHYAD3    RXD_2  

39    PHYAD4    RXD_3  

The DP83848x can be set to respond to any of 32 possible PHY addresses through strap pins. The information is latched into the PHYCR register (address 19h, bits [4:0]) at device power up and hardware reset. The PHY Address pins are shared with the RXD and COL pins. Each DP83848x or port sharing an MDIO bus in a system must have a unique physical address.

来源:

http://www.ti.com.cn/product/cn/DP83848T/datasheet/detailed_description.html

http://blog.sina.com.cn/s/blog_64e5f47b0101fa8b.html

http://www.amobbs.com/thread-5149652-1-1.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12096146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存