PHY芯片学习笔记1

PHY芯片是模数混合电路,负责信号转换并通过MII/RMII接口与MAC通信。PHY地址用于识别芯片,DP83848默认地址为0x01。文章介绍了PHY的32个寄存器,包括标准定义的16个和制造商自定义的16个,重点讨论了配置网络速度和双工模式的BCR寄存器。此外,还提供了DP83848的特定设置及其相关宏定义,如PHY的速度和双工状态检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 PHY芯片简介

从硬件上来说,一般的PHY芯片为模数混合电路,负责接收电、光这类模拟信号,经过解调和A/D转换后通过MII/RMII接口将信号交给MAC内核处理。

PHY地址的设置

SMI站管理接口通过PHY地址访问指定的PHY芯片,简称:PHY芯片的标识。

DP83848的默认地址ADDR是0x01。

外部提供50MHz时钟连接到PHY芯片34号引脚以及RMII_REF_CLK

PHY寄存器简介

有32个寄存器,每一个寄存器都是16位

寄存器:

1、相同的寄存器:根据IEEE802.3标准定义了0~15寄存器(重点BCR和BSR寄存器)

2、自由定义的寄存器:16~31寄存器是由芯片制造商自由定义(制造商定义的)

前16个寄存器用于配置PHY,而后16个寄存器是使用判断网络参数的(双工、网速)

因为前16个寄存器都是类似的,所以ST已经把主要框架搭建好了,用户只负责设置双工和网速参数即可

 

 特殊功能寄存器

通过确认网速及双工模式来设置BCR寄存器的bit8和bit13

#define PHY_SR ((uint16_t)0x0010) 			/*!< PHY status register Offset */ 
#define PHY_SPEED_STATUS ((uint16_t)0x0002) 	/*!< PHY Speed mask */ 
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004)	/*!< PHY Duplex mask */
//L8720A

每一个PHY的特殊功能寄存器都不一样,需要根据相关的手册来确定

DP83848 设置

#define PHY_BCR                          0          /*!< Transceiver Basic Control Register */
#define PHY_BSR                          1          /*!< Transceiver Basic Status Register */

#define IS_ETH_PHY_ADDRESS(ADDRESS) ((ADDRESS) <= 0x20)
#define IS_ETH_PHY_REG(REG) (((REG) == PHY_BCR) || \
                             ((REG) == PHY_BSR) || \
                             ((REG) == PHY_SR))
/**
  * @}
  */

/** @defgroup PHY_basic_Control_register 
  * @{
  */ 
#define PHY_Reset                       ((uint16_t)0x8000)      /*!< PHY Reset */
#define PHY_Loopback                    ((uint16_t)0x4000)      /*!< Select loop-back mode */
#define PHY_FULLDUPLEX_100M             ((uint16_t)0x2100)      /*!< Set the full-duplex mode at 100 Mb/s */
#define PHY_HALFDUPLEX_100M             ((uint16_t)0x2000)      /*!< Set the half-duplex mode at 100 Mb/s */
#define PHY_FULLDUPLEX_10M              ((uint16_t)0x0100)      /*!< Set the full-duplex mode at 10 Mb/s */
#define PHY_HALFDUPLEX_10M              ((uint16_t)0x0000)      /*!< Set the half-duplex mode at 10 Mb/s */
#define PHY_AutoNegotiation             ((uint16_t)0x1000)      /*!< Enable auto-negotiation function */
#define PHY_Restart_AutoNegotiation     ((uint16_t)0x0200)      /*!< Restart auto-negotiation function */
#define PHY_Powerdown                   ((uint16_t)0x0800)      /*!< Select the power down mode */
#define PHY_Isolate                     ((uint16_t)0x0400)      /*!< Isolate PHY from MII */
/**
  * @}
  */

/** @defgroup PHY_basic_status_register 
  * @{
  */ 
#define PHY_AutoNego_Complete           ((uint16_t)0x0020)      /*!< Auto-Negotiation process completed */
#define PHY_Linked_Status               ((uint16_t)0x0004)      /*!< Valid link established */
#define PHY_Jabber_detection            ((uint16_t)0x0002)      /*!< Jabber condition detected */

 

对应代码 
#define PHY_Linked_Status               ((uint16_t)0x0004)      /*!< Valid link established */

 

 

 

 

### 浩辰CAD下载及相关教程 浩辰CAD是一款专业的计算机辅助设计软件,广泛应用于建筑、机械等领域。以下是关于浩辰CAD的下载方法以及一些基础使用教程。 #### 下载浩辰CAD 为了获取浩辰CAD软件,可以通过官方网站或其他可信站点进行下载[^1]。通常情况下,官方渠道能够提供最新版本并确保安全性。在下载完成后,按照以下步骤完成安装: - 解压缩已下载的文件,找到主程序 `GStarCAD_Elec2021_RTM_210115_0818.exe` 并运行。 - 接受许可协议后继续操作。 - 功能组件的选择阶段建议全部勾选以获得完整的功能支持。 #### 基础使用教程 ##### 轴网绘制 轴网是建筑设计的基础框架之一。通过浩辰CAD可以轻松创建直线或圆弧形式的轴网[^3]。具体过程包括但不限于选择菜单中的【轴网】选项,设定轴间距和角度等参数来满足实际项目的需求。 ##### 柱梁板结构处理 对于建筑工程而言,柱梁板的设计至关重要。利用浩辰CAD提供的专用工具可实现标准柱、角柱乃至构造柱等多种类型的快速构建[^2]。例如,当需要调整柱子位置使其与墙壁边缘对齐时,“柱齐墙边”功能显得尤为实用。 ##### 文本编辑技巧 除了图形构件外,文档中标注说明同样重要。浩辰CAD内置丰富的文字样式设置选项允许用户定制专属字体风格[^4]。无论是简单的单行标注还是复杂的多段描述都能高效完成;另外还有诸如递增排列、自动合并等功能进一步提升工作效率。 ```python # 示例代码展示如何调用外部exe文件模拟启动流程 (仅作演示用途) import subprocess def launch_software(exe_path): try: process = subprocess.Popen([exe_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() if process.returncode != 0: raise Exception(f"Error launching {exe_path}: {error.decode()}") except FileNotFoundError as e: print(e) launch_software("GStarCAD_Elec2021_RTM_210115_0818.exe") # 启动示例 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值