OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9145|回复: 6

请问dp83848的软键复位与硬件复位为什么不同?

[复制链接]

33

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
587
金钱
587
注册时间
2015-1-9
在线时间
80 小时
发表于 2015-4-1 15:28:12 | 显示全部楼层 |阅读模式
5金钱
看datasheet里有这样的叙述:
硬件复位时:This will reset the device such that all registers will be reinitialized to default values and the hardware configuration values will be re-latched into the device (similar to the power-up/reset operation).

软件复位时:The software reset will reset the device such that all registers will be reset to default values and the hardware configuration values will be maintained. Software driver code must wait 3 ?s following a software reset before allowing further serial MII operations with the DP83848C

区别在于the hardware configuration values will be re-latched 和the hardware configuration values will be maintained 

首先我不太明白all registers和the hardware configuration values 的区别。然后maintain是保持,re-latched从字面上看是重新锁存?
为什么不把软件复位和硬件复位做成效果一样的呢?还是因为软件复位和硬件复位有本质的区别?


君子性非异也,善假于物也
不知常,妄作,凶
纵浪大化中,不喜亦不惧,应尽便须尽,无复独多虑
路漫漫其修远兮,吾将上下而求索
菩萨畏因,凡夫畏果
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
587
金钱
587
注册时间
2015-1-9
在线时间
80 小时
 楼主| 发表于 2015-4-1 15:33:15 | 显示全部楼层
我遇到的实际问题是:开发板的复位按键同时连接了stm32f107和dp83848的复位引脚,所以通过按键硬件复位的时候什么毛病都没有。
但是由于板子最终会被封到一个盒子里,我不得不用软件复位。
软件复位之后,与板子连接的surface的上的软件会显示socket出问题了,要重启软件才能连上。板子通过网线插路由上,surface通过路由的WIFI与板子通信。
君子性非异也,善假于物也
不知常,妄作,凶
纵浪大化中,不喜亦不惧,应尽便须尽,无复独多虑
路漫漫其修远兮,吾将上下而求索
菩萨畏因,凡夫畏果
回复

使用道具 举报

33

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
587
金钱
587
注册时间
2015-1-9
在线时间
80 小时
 楼主| 发表于 2015-4-1 15:42:02 | 显示全部楼层
以太网部分我都是复制开发板带的例程,基本都是调用的库函数,代码出错的可能性很小。
下面是stm32软复位的代码:
void MCU_Reset(void)
{
        __disable_fault_irq();      // STM32 软复位  
        NVIC_SystemReset();
}

下面是以太网配置的部分代码:
进入:Ethernet_Configuration()
{
。。。。。。。。
。。。。。。。
。。。。。。
/* Reset ETHERNET on AHB Bus */
  ETH_DeInit();

  /* Software reset */
  ETH_SoftwareReset();
。。。。。。
。。。。。。
。。。。。。
。。。。。。
ETH_Init(Ð_InitStructure, HY_ADDRESS);
。。。。。。
。。。。。。
。。。。。



}
在ETH_Init(Ð_InitStructure, HY_ADDRESS)里
有如下代码:
 if(!(ETH_WritePHYRegister(PHYAddress, HY_BCR, HY_Reset)))
  {
    /* Return ERROR in case of write timeout */
    return ETH_ERROR;
  }
  
  /* Delay to assure HY reset */
  _eth_delay_(PHY_ResetDelay);


我相信ETH_WritePHYRegister(PHYAddress, HY_BCR, HY_Reset)这句就实现了DP83848的软复位。
头文件里有:
#define HY_BCR                          0          /*!< Tranceiver Basic Control Register */
#define HY_BSR                          1          /*!< Tranceiver Basic Status Register */
。。。。。
。。。。

#define HY_Reset                       ((u16)0x8000)      /*!< PHY Reset */
#define PHY_Loopback                    ((u16)0x4000)      /*!< Select loop-back mode */
#define PHY_FULLDUPLEX_100M             ((u16)0x2100)      /*!< Set the full-duplex mode at 100 Mb/s */
。。。。。。
。。。。。。
0x8000刚好把第15位置1,与手册中描述的软复位符合。
君子性非异也,善假于物也
不知常,妄作,凶
纵浪大化中,不喜亦不惧,应尽便须尽,无复独多虑
路漫漫其修远兮,吾将上下而求索
菩萨畏因,凡夫畏果
回复

使用道具 举报

33

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
587
金钱
587
注册时间
2015-1-9
在线时间
80 小时
 楼主| 发表于 2015-4-1 15:48:46 | 显示全部楼层
对于以太网的模块,协议我都是才听说的,底层代码也看不懂,面临这种问题有点越级打怪的感觉,真的感觉无从下手了。请大神指点一下。
君子性非异也,善假于物也
不知常,妄作,凶
纵浪大化中,不喜亦不惧,应尽便须尽,无复独多虑
路漫漫其修远兮,吾将上下而求索
菩萨畏因,凡夫畏果
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-2 00:09:04 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2016-3-8
在线时间
41 小时
发表于 2018-9-26 11:23:13 | 显示全部楼层
解决了吗,我现在也是PHY复位引脚连到了单片机的复位引脚,通讯不上,怀疑是PHY_Init函数中复位那里有问题,换成了软件复位
if(!(ETH_WritePHYRegister(PHY_ADDRESS, PHY_BCR, PHY_Reset)))//失败
  {
    return 1;
  }
  
  /* Delay to assure PHY reset */
  _eth_delay_(PHY_RESET_DELAY);
不知道是不是这个问题,现在板子没在手边,没法试。不知道软硬件复位效果一样不。望回复,多谢
回复

使用道具 举报

3

主题

130

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3132
金钱
3132
注册时间
2017-3-2
在线时间
324 小时
发表于 2018-10-18 02:12:16 | 显示全部楼层
我这儿也是,下载程序后以及按复位键,接收和传输数据都没问题,但是重新上电后,以太网连接状态移值返回2,表示发送了连接请求,但是没有应答,一直在那儿等待
坚持不懈的努力!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 00:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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