精华内容
下载资源
问答
  • DP83848中文数据手册 DP83848中文文档 全篇翻译无排版 DP83848C / I / VYB / YB PHYTER™QFP单端口10/100 Mb / s以太网物理层收发器 从–40°C到105°C的多个温度范围•IEEE 802.3 ENDEC,10BASE-T收发器和 • 低...
  • DP83848JSQ.pdf

    2020-05-03 15:12:10
    DP83848JSQ.pdf
  • DP83848 资料

    2014-07-17 19:31:52
    DP83848的资料
  • DP83848YB中文资料.pdf

    2021-04-07 10:22:57
    DP83848YB中文资料.pdf
  • 本文的目的是定义美国国家半导体的DP83848和DP83849以太网收发器系列的100Mb发送和收传输时延,以及阐述时延在MII和RMII工作模式下对端和端信息包传输的影响。  点此下载全文PDF资料:DP83848和DP83849 100Mb数据...
  • PHY DP83848 中文文档

    2018-09-17 17:52:53
    TI的DP83848 中文文档 非常好用的PHY。支持10Mb/s 和 100Mb/s
  • DP83848C.pdf

    2018-06-22 11:24:50
    详细的DP83848C用户手册,可以根据资料进行设计芯片,原厂手册
  • DP83848官方原理图示例

    2018-09-17 18:05:32
    DP83848官方原理图示例 使用独立接口模式的网络模块。
  • DP83848相关软硬件资料

    2019-01-11 16:25:07
    包含了DP83848-Ethernet-Board的相关硬件电路设计,及其芯片的数据手册等
  • 以太网DP83848K模块详细资料.pdf
  • STM32 DP83848 网络驱动程序 ,已经跑通,并且长期测试无问题,如果你使用的是RL-TCP NeT 此代码可以无缝移植。
  • STM32_DP83848网卡

    2017-09-14 09:52:51
    STM32_DP83848网卡,这款资源是经过测试的网卡驱动程序,可以拿来直接用,里面介绍了资源的用法,适用于STM32
  •  本文详细提供了把基于美国国家半导体公司的以太网物理层(PHY)器件DP83843的10/100Mb/s以太网产品设计升级至基于全新的DP83848PHYTERTM的产品而应该考虑的要点信息。尽管这些器件的基本功能相近,但具体差辊仍然...
  • 在ucosiii+lwip系统下,实现dp83848的驱动配置
  • udp_echoserver DP83848网络服务函数库,配合教程完美实现数据的收发,测试平台STM32F407,其他同理
  • DP83848CVV.pdf

    2020-09-19 10:30:24
    The DP83848C pins are classified into the following inter- All DP83848C signal pins are i/o cells regardless of the face categories(each interface is described in the sections particular use. The ...
  •  本文详细提供了信息,是将基于美国国家半导体公司的以太网物一层(PHY)器件DP83846的现有的10/100Mbs以太网产品设计升级至基于全新的DP83848C/I/YB PHYTERTM的产品而应该考虎的要点。尽管这些器件的基本功能相近...
  • 该例程是stm32+LWIP+DP83848的一个移植完成的TCP/IP server的无操作系统服务例程。实现了TCP/IP数据的收发。硬件方面,没有使用外部内存,更大众化,只要一块407+DP83848就可以实现。压缩包里面有具体说明文件。
  • 与STM32F4x7VGT6-DP83848 demo原理图;对应的pdf格式PCB参考文件,可查看位号,布局位置等
  • 介绍了美国国家半导体公司的PHY芯片DP83848C的功能特性;给出了在RMII(Reduced Medium Independent Interface,精简的介质无关接口)模式下的硬件电路及软件设计,以及在PCB布局布线过程中的注意事项。该设计为嵌入式...
  • 介绍  美国国家半导体公司的DP8384810/100Mb/s单路物理层...本应用注释详细解释了DP83848能量检测模式的原理和工作过程。   查看详细文章:DP83848 - 单路10/100 Mb/s以太网收发器能量检测模式.pdf 来源:ddcode
  • 电子-LWIP带UCOS操作系统移植DP83848.rar,单片机/嵌入式STM32-F3/F4/F7/H7
  • PHY控制器DP83848中文资料

    热门讨论 2012-03-17 12:03:59
    PHY控制器DP83848中文资料
  • STM32F407_DP83848_Lwip移植方法
  • stm32f407+adau1701+dp83848原理图,stm32f407通过IIC写ADAU1701启动程序和通信
  • STM32F407+DP83848网口设计电路,demo板电路图纸,含有网口,SD卡,USB等相关外围接口电路
  •  根据精简介质无关无关接口RMII规范,美国国家半导体的DP83848 10/100 Mb/s单端物理层器件结合了低引脚数目的RMII。在10/100 Mb/s系统中将DP83848 的物理(PHY)层连接到媒体存取控制(MAC)层,RMII提供了引脚数目...
  • STM32F4+DP83848以太网通信指南系列

    千次阅读 2019-04-11 10:03:27
    转自 ... DP83848 Ethernet Boardhttp://www.waveshare.net/wiki/DP83848_Ethernet_Board STM32F4+DP83848以太网通信指南系列(一):知识储备 https://blog.csdn.net/m0_37...

    转自 https://blog.csdn.net/m0_37777700/article/details/83620671

    DP83848 Ethernet Board http://www.waveshare.net/wiki/DP83848_Ethernet_Board

    STM32F4+DP83848以太网通信指南系列(一):知识储备 https://blog.csdn.net/m0_37777700/article/details/83620671

    STM32F4+DP83848以太网通信指南系列(二):系统时钟 https://www.hexcode.cn/article/show/stm32-ethernet2

    STM32F4+DP83848以太网通信指南系列(三):中断向量 https://www.hexcode.cn/article/show/stm32-ethernet3

    STM32F4+DP83848以太网通信指南系列(四):PHY配置 https://www.hexcode.cn/article/show/stm32-ethernet4

    STM32F4+DP83848以太网通信指南系列(五):MAC+DMA配置 https://www.hexcode.cn/article/show/stm32-ethernet5

    STM32F4+DP83848以太网通信指南系列(六):Wireshark使用 https://www.hexcode.cn/article/show/stm32-ethernet6

    STM32F4+DP83848以太网通信指南系列(七):发包流程 https://www.hexcode.cn/article/show/stm32-ethernet7

    STM32F4+DP83848以太网通信指南系列(八):收包流程 https://www.hexcode.cn/article/show/stm32-ethernet8

    STM32F4+DP83848以太网通信指南系列(九):自己写一个ARP协议 https://www.hexcode.cn/article/show/stm32-ethernet9

     

    展开全文
  • STM32之DP83848

    2019-10-08 13:56:33
    /****************************************************************************** ...* 文件功能概述:实现DP83848的接口 * 文 件 作 者:xxx * 版 本:V1.0.0.0 * 修 订 记 录:2017-6-30创建 *************...
    /******************************************************************************
    * 文 件  名 称:BspDp83848.c
    * 文件功能概述:实现DP83848的接口
    * 文 件  作 者:xxx
    * 版        本:V1.0.0.0
    * 修 订  记 录:2017-6-30创建
    ******************************************************************************/
    #include "BspDp83848.h"
    
    /*
     * 用于记录DP83848的地址信息
     */
    static uint16 stDP83848Addr = 0xFFFF;
    
    /*
     * 用于记录DP83848的连接速度 :10M或100M
     */
    static uint16 stDP83848LinkSpeed = 0;
    
    /*
     * 用于记录DP83848的工作模式:半双工或全双工
     */
    static uint16 stDP83848Mode = 0;
    
    #define DP83848_DelayMs DelayMs
    /*******************************************************************************
     * 函 数 名:static void DP83848_DelayMs(uint16 Ms)
     * 参    数:uint16 Ms : 延时单位
     * 返    回:无
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:DP83848使用的延时函数
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    //static __inline void DP83848_DelayMs(uint16 Ms)
    //{
    //  DelayMs(Ms);
    //} 
    
    /*******************************************************************************
     * 函 数 名:static sint8 DP83848_AutoDiscover(void)
     * 参    数:uint16 *pPhyAddr:phy芯片地址指针
     * 返    回:0:正常返回 非0:发生错误
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:自动发现PHY芯片的地址
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    static sint8 DP83848_AutoDiscover(void)
    {
      uint16 ChipAddr = 0;
      uint16 ChipData = 0;
      
      for(ChipAddr=0; ChipAddr<0xff; ChipAddr ++)
      {
        MiiRead(ChipAddr, PHY_PHYIDR1, &ChipData);
        if((0xFFFF!=ChipData) && (0x0000!=ChipData))
        {
          DP83848_Print("The DP83848's addr read is 0x%x\r\n", ChipAddr);
          stDP83848Addr = ChipAddr;
          break;     
        }
      }
      
      if(ChipAddr >= 0xff)
      {
        return -1;
      }
      else
      {
        return 0;
      }
    }
    
    /*******************************************************************************
     * 函 数 名:sint8 DP83848WireIsLinked(uint16 chip_addr)
     * 参    数:uint16 chip_addr   : PHY芯片地址
     * 返    回:0:未建立连接  1:已经建立连接
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:判断phy芯片是否已经建立连接
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    
    sint8 DP83848WireIsLinked(uint16 chip_addr)
    {
      uint16 result = 0;
      
      MiiRead(chip_addr, PHY_STS, &result);
      
      if(result & PHYx_LINK_STATUS)
      {
        return 1;
      }
      else
      {
        return 0;
      }
        
    }
    
    /*******************************************************************************
     * 函 数 名:sint8 DP83848Init(void)
     * 参    数:无
     * 返    回:0:正常返回  非0:发生错误
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:完成PHY芯片的初始化
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    sint8 DP83848Init(void)
    {
      sint8 ret = 0;
      
      MiiInit();
      
      if(0 == DP83848_AutoDiscover())
      {
        uint8 counter=0;
        uint16 ChipData = 0;
        uint16 ChipAddr = stDP83848Addr;
        
        /* 复位DP83848,发出复位命令后延迟100ms才去读取复位状态 */
        MiiWrite(ChipAddr, PHY_BMCR, PHY_BMCR_RESET);
        DP83848_DelayMs(100);        
        for(counter=0; counter<10; counter ++)
        {
          MiiRead(ChipAddr, PHY_PHYIDR1, &ChipData);
          if((ChipData!=0xFFFF) && (ChipData!=0x0000))
          {
            DP83848_Print("The DP83848 0x%x Reset OK\r\n", ChipAddr);
            break;
          }
          DP83848_DelayMs(10);            
        }
        
        /* 判断复位超时 */
        if(counter < 10)
        {
          /* 使能DP83848自动协商功能 */
          DP83848_Print("DP83848 0x%x start auto-negotiation!\r\n", ChipAddr);
          
          MiiWrite(ChipAddr, PHY_BMCR, (PHY_BMCR_FDX | PHY_BMCR_SPEED ));
          
          for(counter=0; counter<50; counter ++)
          {        
            DP83848_DelayMs(100);    
            MiiRead(ChipAddr, PHY_BMSR, &ChipData);
            if(ChipData & PHY_BMSR_LINK)
            {
              DP83848_Print("DP83848 0x%x auto-negotiation OK!\r\n", ChipAddr);
              break;
            }
            else
            {
              /* do nothing */
            }
          }
          
          /* 判断自动协商超时 */
          if(counter < 50)
          {
            MiiRead(ChipAddr, PHY_STS, &ChipData);
          
            if((ChipData & PHYx_LINK_STATUS) != (uint32)RESET)
            {
              DP83848_Print("DP83848 0x%x is linked!\r\n", ChipAddr);
            }
            else
            {
              DP83848_Print("DP83848 0x%x is not linked!\r\n", ChipAddr);
            }
            
            /* Configure the MAC with the Duplex Mode fixed by the auto-negotiation process */
            if((ChipData & PHYx_DUPLEX_STATUS) != (uint32)RESET)
            {
              /* Set Ethernet duplex mode to Full-duplex following the auto-negotiation */
              stDP83848Mode = 1;  
            }
            else
            {
              /* Set Ethernet duplex mode to Half-duplex following the auto-negotiation */
              stDP83848Mode = 0;           
            }
            
            /* Configure the MAC with the speed fixed by the auto-negotiation process */
            if((ChipData & PHYx_SPEED_STATUS)!= (uint32)RESET)
            {  
              /* Set Ethernet speed to 10M following the auto-negotiation */    
              stDP83848LinkSpeed = 0; 
            }
            else
            {   
              /* Set Ethernet speed to 100M following the auto-negotiation */ 
              stDP83848LinkSpeed = 1;      
            }
          }
          else
          {
            DP83848_Print("DP83848 0x%x auto-negotiation Failed!\r\n", ChipAddr);
            ret = -1;
          }
        }
        else
        {
          DP83848_Print("DP83848 0x%x  Reset Failed!\r\n", ChipAddr);
          ret = -1;
        }
      }
      else
      {
        DP83848_Print("We can't find DP83848!\r\n");
        ret = -1;
      }
      
      return ret;
    }
    
    /*******************************************************************************
     * 函 数 名:uint16 DP83848GetAddr(void)
     * 参    数:无
     * 返    回:stDP83848Addr : DP83848的地址
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:获取DP83848的地址,在DP83848完成初始化之后方可使用
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    uint16 DP83848GetAddr(void)
    {    
      return stDP83848Addr;
    }
    
    /*******************************************************************************
     * 函 数 名:uint8 DP83848GetMode(void)
     * 参    数:无
     * 返    回:stDP83848Mode : 0:半双工  1:全双工
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:获取DP83848的工作模式,在DP83848完成初始化之后方可使用
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    uint8 DP83848GetMode(void)
    {    
      return stDP83848Mode;
    }
    
    /*******************************************************************************
     * 函 数 名:uint8 DP83848GetLinkSpeed(void)
     * 参    数:无
     * 返    回:stDP83848LinkSpeed : 0 : 10M    1 :100M
     * 创 建 人:xxx
     * 创建时间:2017-6-30
     * 详    述:获取DP83848的连接状态,在DP83848完成初始化之后方可使用
     * 修改记录:2017-6-30创建
    *******************************************************************************/
    uint8 DP83848GetLinkSpeed(void)
    {    
      return stDP83848LinkSpeed;
    }
    
    

     

    头文件

    /******************************************************************************
    * 文 件  名 称:BspDp83848.h
    * 文件功能概述:实现DP83848的驱动接口声明
    * 文 件  作 者:xxx
    * 版        本:V1.0.0.0
    * 修 订  记 录:2017-6-30创建
    ******************************************************************************/
    #ifndef __BSP_Dp83848_H__
    #define __BSP_Dp83848_H__
    
    /*----------------------------------------------*
     * 包含头文件                                   *
     *----------------------------------------------*/
    #include "..\BspInterface.h"
    /*----------------------------------------------*
     * 宏定义                                       *
     *----------------------------------------------*/
     
    //#define DP83848_Debug
    #ifdef DP83848_Debug
      #include ".\inc\BllDebug.h"
    	#define DP83848_Print BllDebugPrint 
    #else
      #define DP83848_Print(...) 
    #endif
     
    /* MII寄存器地址*/
    #define PHY_BMCR                    (0x00) /* Basic Control */
    #define PHY_BMSR                    (0x01) /* Basic Status */
    #define PHY_PHYIDR1                 (0x02) /* PHY Identifer 1 */
    #define PHY_PHYIDR2                 (0x03) /* PHY Identifer 2 */
    #define PHY_ANAR                    (0x04) /* Auto-Negotiation Advertisement */
    #define PHY_ANLPAR                  (0x05) /* Auto-Negotiation Link Partner Ability */
    #define PHY_ANER                    (0x06) /* Auto-Negotiation Expansion */
    #define PHY_LPNPA                   (0x07) /* Link Partner Next Page Ability */
    #define PHY_RXERC                   (0x15) /* RXER Counter */
    #define PHY_ICS                     (0x1B) /* Interrupt Control/Status */
    #define PHY_PHYC1                   (0x1E) /* PHY Control 1 */
    #define PHY_PHYC2                   (0x1F) /* PHY Control 2 */     
         
         
    /* PHY_BMCR寄存器位定义 */
    #define PHY_BMCR_RESET              (0x8000)
    #define PHY_BMCR_LOOP               (0x4000)
    #define PHY_BMCR_SPEED              (0x2000)
    #define PHY_BMCR_AN_ENABLE          (0x1000)
    #define PHY_BMCR_POWERDOWN          (0x0800)
    #define PHY_BMCR_ISOLATE            (0x0400)
    #define PHY_BMCR_AN_RESTART         (0x0200)
    #define PHY_BMCR_FDX                (0x0100)
    #define PHY_BMCR_COL_TEST           (0x0080)
    
    /* PHY_BMSR寄存器位定义*/
    #define PHY_BMSR_100BT4             (0x8000)
    #define PHY_BMSR_100BTX_FDX         (0x4000)
    #define PHY_BMSR_100BTX             (0x2000)
    #define PHY_BMSR_10BT_FDX           (0x1000)
    #define PHY_BMSR_10BT               (0x0800)
    #define PHY_BMSR_NO_PREAMBLE        (0x0040)
    #define PHY_BMSR_AN_COMPLETE        (0x0020)
    #define PHY_BMSR_REMOTE_FAULT       (0x0010)
    #define PHY_BMSR_AN_ABILITY         (0x0008)
    #define PHY_BMSR_LINK               (0x0004)
    #define PHY_BMSR_JABBER             (0x0002)
    #define PHY_BMSR_EXTENDED           (0x0001)
    
    /* PHY_ANAR寄存器位定义 */
    #define PHY_ANAR_NEXT_PAGE          (0x8001)
    #define PHY_ANAR_REM_FAULT          (0x2001)
    #define PHY_ANAR_PAUSE              (0x0401)
    #define PHY_ANAR_100BT4             (0x0201)
    #define PHY_ANAR_100BTX_FDX         (0x0101)
    #define PHY_ANAR_100BTX             (0x0081)
    #define PHY_ANAR_10BT_FDX           (0x0041)
    #define PHY_ANAR_10BT               (0x0021)
    #define PHY_ANAR_802_3              (0x0001)
    
    /* PHY_ANLPAR寄存器位定义 */
    #define PHY_ANLPAR_NEXT_PAGE        (0x8000)
    #define PHY_ANLPAR_ACK              (0x4000)
    #define PHY_ANLPAR_REM_FAULT        (0x2000)
    #define PHY_ANLPAR_PAUSE            (0x0400)
    #define PHY_ANLPAR_100BT4           (0x0200)
    #define PHY_ANLPAR_100BTX_FDX       (0x0100)
    #define PHY_ANLPAR_100BTX           (0x0080)
    #define PHY_ANLPAR_10BTX_FDX        (0x0040)
    #define PHY_ANLPAR_10BT             (0x0020)
    
    /* PHY 扩展寄存器 */
    #define PHY_STS                         ((uint16)0x10)    /*!< PHY status register Offset                      */
    #define PHY_MICR                        ((uint16)0x11)    /*!< MII Interrupt Control Register                  */
    #define PHY_MISR                        ((uint16)0x12)    /*!< MII Interrupt Status and Misc. Control Register */
     
    /* PHY硬件特性 对应PHY_PHYC2 */
    #define PHYx_DUPLEX_STATUS           ((uint16)0x0004)
    #define PHYx_SPEED_STATUS            ((uint16)0x0002)
    #define PHYx_LINK_STATUS             ((uint16)0x0001)
    
    /* PHY 状态定义 */
    #define Linked     1
    #define NotLinked  0
    
    /*----------------------------------------------*
     * 常量定义                                     *
     *----------------------------------------------*/
    
    /*----------------------------------------------*
     * 外部变量说明                                 *
     *----------------------------------------------*/
    
    /*----------------------------------------------*
     * 全局变量                                     *
     *----------------------------------------------*/
    
    /*----------------------------------------------*
     * 模块级变量                                   *
     *----------------------------------------------*/
     
    /*----------------------------------------------*
     * 外部函数原型说明                             *
     *----------------------------------------------*/
    
    /*----------------------------------------------*
     * 内部函数原型说明                             *
     *----------------------------------------------*/
    sint8 DP83848Init(void);
    
    sint8 DP83848WireIsLinked(uint16 chip_addr);
    
    uint16 DP83848GetAddr(void);
    
    uint8 DP83848GetMode(void);
    
    uint8 DP83848GetLinkSpeed(void);
    
    #endif /* _BspDp83848_H_ */
    

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 250
精华内容 100
关键字:

DP83848