-
DP83848中文数据手册 DP83848中文文档
2020-11-24 16:30:49DP83848中文数据手册 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:10DP83848JSQ.pdf -
DP83848 资料
2014-07-17 19:31:52DP83848的资料 -
DP83848YB中文资料.pdf
2021-04-07 10:22:57DP83848YB中文资料.pdf -
DP83848和DP83849 100Mb数据传输时延
2020-11-08 07:54:29本文的目的是定义美国国家半导体的DP83848和DP83849以太网收发器系列的100Mb发送和收传输时延,以及阐述时延在MII和RMII工作模式下对端和端信息包传输的影响。 点此下载全文PDF资料:DP83848和DP83849 100Mb数据... -
PHY DP83848 中文文档
2018-09-17 17:52:53TI的DP83848 中文文档 非常好用的PHY。支持10Mb/s 和 100Mb/s -
DP83848C.pdf
2018-06-22 11:24:50详细的DP83848C用户手册,可以根据资料进行设计芯片,原厂手册 -
DP83848官方原理图示例
2018-09-17 18:05:32DP83848官方原理图示例 使用独立接口模式的网络模块。 -
DP83848相关软硬件资料
2019-01-11 16:25:07包含了DP83848-Ethernet-Board的相关硬件电路设计,及其芯片的数据手册等 -
以太网DP83848K模块详细资料.pdf
2021-02-03 09:50:26以太网DP83848K模块详细资料.pdf -
STM32 DP83848 网络驱动程序
2018-11-07 15:36:34STM32 DP83848 网络驱动程序 ,已经跑通,并且长期测试无问题,如果你使用的是RL-TCP NeT 此代码可以无缝移植。 -
STM32_DP83848网卡
2017-09-14 09:52:51STM32_DP83848网卡,这款资源是经过测试的网卡驱动程序,可以拿来直接用,里面介绍了资源的用法,适用于STM32 -
由DP83843至DP83848C/I/YB PHYTER系统的滚动支持文件
2020-11-08 07:53:27本文详细提供了把基于美国国家半导体公司的以太网物理层(PHY)器件DP83843的10/100Mb/s以太网产品设计升级至基于全新的DP83848PHYTERTM的产品而应该考虑的要点信息。尽管这些器件的基本功能相近,但具体差辊仍然... -
STM32_DP83848(ucsoIII+lwip).rar
2021-03-19 11:56:16在ucosiii+lwip系统下,实现dp83848的驱动配置 -
udp_echoserver DP83848网络服务函数库
2020-09-01 16:17:16udp_echoserver DP83848网络服务函数库,配合教程完美实现数据的收发,测试平台STM32F407,其他同理 -
DP83848CVV.pdf
2020-09-19 10:30:24The 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 ... -
由DP83846升级至DP83848C/I/YB PHYTER 系统的滚动支持文件
2020-11-08 07:11:21本文详细提供了信息,是将基于美国国家半导体公司的以太网物一层(PHY)器件DP83846的现有的10/100Mbs以太网产品设计升级至基于全新的DP83848C/I/YB PHYTERTM的产品而应该考虎的要点。尽管这些器件的基本功能相近... -
STM32F407+LWIP+DP83848移植例程
2018-01-13 13:59:13该例程是stm32+LWIP+DP83848的一个移植完成的TCP/IP server的无操作系统服务例程。实现了TCP/IP数据的收发。硬件方面,没有使用外部内存,更大众化,只要一块407+DP83848就可以实现。压缩包里面有具体说明文件。 -
STM32F4x7+dp83848网口-PCB.pdf
2020-06-27 17:24:30与STM32F4x7VGT6-DP83848 demo原理图;对应的pdf格式PCB参考文件,可查看位号,布局位置等 -
RMII模式以太网PHY芯片DP83848C的应用
2020-10-25 21:42:29介绍了美国国家半导体公司的PHY芯片DP83848C的功能特性;给出了在RMII(Reduced Medium Independent Interface,精简的介质无关接口)模式下的硬件电路及软件设计,以及在PCB布局布线过程中的注意事项。该设计为嵌入式... -
DP83848 - 单路10/100 Mb/s以太网收发器能量检测模式
2020-11-08 12:29:10介绍 美国国家半导体公司的DP8384810/100Mb/s单路物理层...本应用注释详细解释了DP83848能量检测模式的原理和工作过程。 查看详细文章:DP83848 - 单路10/100 Mb/s以太网收发器能量检测模式.pdf 来源:ddcode -
电子-LWIP带UCOS操作系统移植DP83848.rar
2019-09-05 13:28:41电子-LWIP带UCOS操作系统移植DP83848.rar,单片机/嵌入式STM32-F3/F4/F7/H7 -
PHY控制器DP83848中文资料
2012-03-17 12:03:59PHY控制器DP83848中文资料 -
STM32F407_DP83848_Lwip移植方法
2016-06-07 09:08:07STM32F407_DP83848_Lwip移植方法 -
stm32f407+adau1701+dp83848原理图
2018-07-19 21:15:50stm32f407+adau1701+dp83848原理图,stm32f407通过IIC写ADAU1701启动程序和通信 -
demo板STM32F4x7VGT6-DP83848网口电路设计图
2020-06-27 17:17:40STM32F407+DP83848网口设计电路,demo板电路图纸,含有网口,SD卡,USB等相关外围接口电路 -
DP83848 单路10/100 Mb/s以太网收发器精简的介质无关接口 (RMII) 模式
2020-11-08 12:25:05根据精简介质无关无关接口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_ */