wpf2053 发表于 2012-11-21 20:15:41

STM32F107+83848 网络RTT,先上电后插网线,TCP服务端不能正常

本帖最后由 wpf2053 于 2012-11-21 20:21 编辑

现象描述:
   硬件平台 STM32F107 + DP83848 + RTthread操作系统。采用RMII Mode方式。
当硬件模块先上电。过10秒以上,后连接网线。此时TCP服务不能正常工作。STM32为TCP服务端。
    通过printf监测RTT程序的运行过程。当不插网线时,初始化部分的运行时间明显加长。如果网线连接好,初始化部分运行时间短。
目前采用的解决办法是:判断初始化使用时间,如果时间过长,就软复位程序。感觉这样是把问题绕过去了,但没有最终解决。
    不知道哪位高人能否对本人的疑问解答一下。

   

aozima 发表于 2012-11-21 21:45:29

实际应用中要根据硬件情况加PHY中断的。
rt-thread lwip组件PHY中断的添加

wpf2053 发表于 2012-11-22 10:23:57

感谢aozima的回复,您描述的情况,应该是在网络连接状态发生变化时,采用PHY中断来解决吧。我刚刚查看了ETH_Init函数,其中有对PHY_Linked_Status状态的判断。
while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO));
我把它修改为while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status));这样就无限的等待Linked_Status,成功后,才进行下一步初始化了。
谢谢。我用的是RT-Thread 0.4.0。好像新的版本,ETH_Init有不小的改动。还没有尝试新的RTT版本。

qftek 发表于 2012-11-29 17:30:29

STM32 FSMC总线 连接DM9000A bus总线扩展网络接口
STM32 EMAC接口连接 DM9162N 扩展网络接口

提供STM32 网络接口芯片,软件及硬件设计咨询,lwTCPIP移植等服务。

深圳市侨峰科技有限公司 (DAVICOM中国区总代理)
嵌入式以太网络接口芯片供应商,软件及硬件设计服务与咨询
联络方式:Jonny.chu@qftek.com电话:13554902206
DM9000ADM9000CDM9161ADM9161C DM8203 DM9620 DM9162N

wpf2053 发表于 2012-12-8 20:46:44

aozima 发表于 2012-11-21 21:45 static/image/common/back.gif
实际应用中要根据硬件情况加PHY中断的。
rt-thread lwip组件PHY中断的添加

谢谢aozima的帮助,已经加入了PHY中断。解决了硬件连接不确定时,网络初始化的问题。

aozima 发表于 2012-12-8 20:52:37

共同学习。
页: [1]
查看完整版本: STM32F107+83848 网络RTT,先上电后插网线,TCP服务端不能正常