查看: 8200|回复: 8

[其他] MCF52235以太网的问题。

[复制链接]

该用户从未签到

2

主题

10

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
发表于 2010-6-28 10:33:55 | 显示全部楼层 |阅读模式
       前段时间做了一块52235的板子,只焊了最小系统和RJ45接口。以太网调试程序是在苏州大学飞思卡尔嵌入式系统实验室下载的,非常感谢他们的无私奉献。现在的问题是刚开始能够实现正常的通信,过了几天之后就不行了,板子一直复位。在单步调试下,走到MCF_PHY_EPHYCTL0 = (uint8)(MCF_PHY_EPHYCTL0 | MCF_PHY_EPHYCTL0_EPHYEN);
    while(!(MII_read(0x00, PHY_REG_CR, &regData)));
就会出现异常,按下STEPINTO,会直接跳到 
for (timeout = 0; timeout < FEC_MII_TIMEOUT; timeout++)
    {
        if (MCF_FEC_EIR & MCF_FEC_EIR_MII)
            break;
    }
提示address error,程序一直卡在break后。
现在花了几天时间找问题,一直没找出来。希望懂这个的大侠能帮帮忙,谢谢!
我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2010-6-28 15:36:52 | 显示全部楼层

RE:MCF52235以太网的问题。

首先检查下硬件,供电有没有问题,然后是片子的引脚有没有虚焊.初始化程序建议使用飞思卡尔的官方的初始化程序。以前也用过王宜怀老师的程序,经常出bug就放弃了。

该用户从未签到

2

主题

10

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2010-6-28 15:42:18 | 显示全部楼层

回复:MCF52235以太网的问题。

回复第 2 楼 Garfield于2010-06-28 07:36:52发表:
首先检查下硬件,供电有没有问题,然后是片子的引脚有没有虚焊.初始化程序建议使用飞思卡尔的官方的初始化程序。以前也用过王宜怀老师的程序,经常出bug就放弃了。 

谢谢,我检查下。

该用户从未签到

6

主题

45

帖子

0

新手上路

Rank: 1

积分
105
最后登录
1970-1-1
发表于 2010-6-29 12:38:51 | 显示全部楼层

RE:MCF52235以太网的问题。

这是你读PHY的寄存器出现错误,没有读到正确的值,FEC跟PHY之间通信不正常。
你看你MII_read()读出来的值是不是0xFF
很可能是硬件上的问题,或MII时钟没设对。

该用户从未签到

2

主题

10

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2010-6-29 19:45:01 | 显示全部楼层

回复:MCF52235以太网的问题。

回复第 4 楼 冷火团队_小木匠于2010-06-29 04:38:51发表:
这是你读PHY的寄存器出现错误,没有读到正确的值,FEC跟PHY之间通信不正常。
你看你MII_read()读出来的值是不是0xFF
很可能是硬件上的问题,或MII时钟没设对。
 

 
  用官方的工程模板,单步调,跑的EPHY初始化:
  MCF_EPHY_EPHYCTL1 = MCF_EPHY_EPHYCTL1_PHYADD(FEC_PHY0); // FEC_PHY0 from m52235evb.h
  //Enable EPHY module with PHY clocks disabled
  //Do not turn on PHY clocks until both FEC and EPHY are completely setup (see Below)
  MCF_EPHY_EPHYCTL0 = (uint8)(MCF_EPHY_EPHYCTL0_DIS100 | MCF_EPHY_EPHYCTL0_DIS10);
 
  //Enable auto_neg at start-up
  MCF_EPHY_EPHYCTL0 = (uint8)(MCF_EPHY_EPHYCTL0 & (MCF_EPHY_EPHYCTL0_ANDIS));
  //Enable EPHY module
  MCF_EPHY_EPHYCTL0 = (uint8)(MCF_EPHY_EPHYCTL0_EPHYEN | MCF_EPHY_EPHYCTL0);
  //Let PHY PLLs be determined by PHY
  MCF_EPHY_EPHYCTL0 = (uint8)(MCF_EPHY_EPHYCTL0  & ~(MCF_EPHY_EPHYCTL0_DIS100 |      MCF_EPHY_EPHYCTL0_DIS10));
看寄存器的值前两句是正确的,这一句MCF_EPHY_EPHYCTL0 = (uint8)(MCF_EPHY_EPHYCTL0_EPHYEN | MCF_EPHY_EPHYCTL0);
会出现异常,access error
应该是硬件问题吧,不知道出在哪。
 

该用户从未签到

6

主题

45

帖子

0

新手上路

Rank: 1

积分
105
最后登录
1970-1-1
发表于 2010-6-29 21:52:48 | 显示全部楼层

RE:MCF52235以太网的问题。

才注意到,
52235的PHY是集成在片内的,跟我用的不太一样。
这块要好好看它的手册了。

该用户从未签到

2

主题

10

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2010-6-30 10:02:31 | 显示全部楼层

回复:MCF52235以太网的问题。

回复第 6 楼 冷火团队_小木匠于2010-06-29 13:52:48发表:
才注意到,
52235的PHY是集成在片内的,跟我用的不太一样。
这块要好好看它的手册了。 

谢谢你的回复,现在找到原因了,出了问题,出来电压只有4v,转3.3v的时候出了问题,换另一个好的电源就没问题了。

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2010-7-2 21:30:00 | 显示全部楼层

回复:MCF52235以太网的问题。

回复第 7 楼 cnewer于2010-06-30 02:02:31发表:
回复第 6 楼 冷火团队_小木匠于2010-06-29 13:52:48发表:
才注意到,
52235的PHY是集成在片内的,跟我用的不太一样。
这块要好好看它的手册了。 

谢谢你的回复,现在找到原因了,出了问题,出来电压只有4v,转3.3v的时候出了问题,换另一个好的电源就没问题了。
 
 
你该谢谢我的!!!!!!!!!!!!!!
 

该用户从未签到

2

主题

10

帖子

0

新手上路

Rank: 1

积分
34
最后登录
1970-1-1
 楼主| 发表于 2010-7-6 09:46:58 | 显示全部楼层

回复:MCF52235以太网的问题。

回复第 8 楼 Garfield于2010-07-02 13:30:00发表:
回复第 7 楼 cnewer于2010-06-30 02:02:31发表:
回复第 6 楼 冷火团队_小木匠于2010-06-29 13:52:48发表:
才注意到,
52235的PHY是集成在片内的,跟我用的不太一样。
这块要好好看它的手册了。 

谢谢你的回复,现在找到原因了,出了问题,出来电压只有4v,转3.3v的时候出了问题,换另一个好的电源就没问题了。
 
 
你该谢谢我的!!!!!!!!!!!!!!
 

 

谢谢你,呵呵
 
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-27 15:32 , Processed in 0.105348 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表