ALPHA开发板上PHY网络芯片LAN8720

一.  简介

正点原子的开发板 ALPHA开发板,有线网络硬件方案所使用的也是最常用的一种方案,IMX6ULL芯片内部是自带 MAC网络芯片的,所以,也就是采用 "SOC内部集成网络MAC外设+ PHY网络芯片方案"。

ALPHA开发板使用的PHY网络芯片是 LAN8720,本文简单了解一下  LAN8720芯片特性与常用的寄存器。

二.  ALPHA开发板上PHY网络芯片LAN8720

虽然本文讲解的是 LAN8720A 这颗 PHY 网络芯片,但是前面说了, IEEE 规定了 PHY 的前 16 寄存器的功能(即所有的 PHY芯片的前16个寄存器的功能必须要保持统一),因此,如果你所使用的板子用的其他厂家的 PHY 芯片,也是可以看本文。

1. LAN8720A 简介

LAN8720A 是低功耗的 10/100M 单以太网 PHY 层芯片,可应用于机顶盒、网络打印机、嵌入式通信设备、 IP 电话等领域。
I/O 引脚电压符合 IEEE802.3-2005 标准。 LAN8720A 支持通 RMII 接口与以太网 MAC 层通信,内置 10-BASE-T/100BASE-TX 全双工传输模块,支持 10Mbps 100Mbps LAN8720A 可以通过自协商的方式选择与目的主机最佳的连接方式 ( 速度 和双工模式 ) 。支持 HP Auto-MDIX 自动翻转功能,无需更换网线即可将连接更改为直连或交叉 连接。
LAN8720A 的主要特点如下:
· 高性能的 10/100M 以太网传输模块
· 支持 RMII 接口以减少引脚数
· 支持全双工和半双工模式
· 两个状态 LED 输出
· 可以使用 25M 晶振以降低成本
· 支持自协商模式
· 支持 HP Auto-MDIX 自动翻转功能
· 支持 SMI 串行管理接口
· 支持 MAC 接口

2LAN8720A 中断管理

LAN8720A 的器件管理接口支持非 IEEE 802.3 规范的中断功能。当一个中断事件发生并且相应事件的中断位使能, LAN8720A 就会在 nINT(14 ) 产生一个低电平有效的中断信号。
LAN8720A 的中断系统提供两种中断模式:主中断模式和复用中断模式。
主中断模式是默认中 断模式, LAN8720A 上电或复位后就工作在主中断模式,当模式控制 / 状态寄存器 ( 十进制地址 17) ALTINT 位为 0 时, LAN8720A 工作在主模式,当 ALTINT 位为 1 时,工作在复用中断模 式。
正点原子的 ALPHA 开发板虽然讲 LAN8720A 的中断引脚连接到了 I.MX6ULL 上,但是并 没有使用中断功能,关于中断的具体用法可以参考 LAN8720A 数据手册的 29~30 页。

3.  PHY 地址设置

MAC 层通过 MDIO/MDC 总线对 PHY 进行读写操作, MDIO 最多可以控制 32 PHY 芯片,通过不同的 PHY 芯片地址来对不同的 PHY 操作。 LAN8720A 通过设置 RXER/PHYAD0 引脚来设置其 PHY 地址,默认情况下为 0 ,其地址设置如下表所 示。

正点原子 ALPHA 开发板的 ENET1 网络的 LAN8720A 上的 RXER/PHYAD0 引脚为默认状态 ( 网络硬件原理图上有个 10K 下拉,但是没有焊接 ) ,因此, ENET1 上的 LAN8720A 地址为 0
ENET2 网络上的 LAN8720A 上的 RXER/PHYAD0 引脚接了个 10K 上拉电阻,因此, ENET2 上的 LAN8720A 地址为 1

4. nINT/REFCLKO 配置

nINTSEL 引脚 (2 号引脚 ) 用于设置 nINT/REFCLKO 引脚 (14 号引脚 ) 的功能。 nINTSEL 配置如下表 所示。

对于正点原子的 ALPHA 开发板的两个 LAN8720A 而言,全都工作在默认的 REF_CLK In 式下。当 LAN8720A 工作在 REF_CLK In 模式时,50MHz 的外部时钟信号应接到 LAN8720 XTAL1/CLKIN 引脚(5 号引脚)上,如下图所示:

为了降低成本,LAN8720A 可以从外部的 25MHz 的晶振中产生 REF_CLK 时钟。到要使用此功能时应工作在 REF_CLK Out 模式时。当工作在 REF_CLO Out 模式时 REF_CLK 的时钟源 如下图所示。

前面说了,正点原子的 ALPHA 开发板工作在 REF_CLK In 模式下,因此需要外部 50MHz 时钟信号。
I.MX6ULL 有专用的网络时钟引脚,因此, ALPHA 开发板是通过 I.MX6ULL ENET1_REF_CLK ENET2_REF_CLK 这两个网络时钟引脚,来为 LAN8720A 提供 50MHz 时钟。

接下来了解一下 LAN8720芯片(PHY网络芯片)的几个常用的寄存器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法第三十七天-旋转链表

旋转链表 题目要求 解题思路 题意:将链表中每个元素向后移动k个位置,相当于把链表的后面k%len节点移到链表的最前面。 所以本题步骤为: 1.求出链表长度; 2.找出倒数第k1个节点 3.链表重整:将连败哦的倒数第k1个节点和…

讲解pwngdb的用法,以csapp的bomb lab phase_1为例

参考资料 Guide to Faster, Less Frustrating Debugging 什么情况下会使用gbd 需要逆向ELF文件时(掌握gdb的使用,是二进制安全的基本功)开发程序时,程序执行结果不符合预期 动态调试ELF文件可以使用另外一种方法:IDA的远程linux动态调试。个…

java引入下载的依赖包配置

maven中央仓库没有依赖包&#xff0c;但是个别网站有可以下载的依赖包下载依赖包并引入的配置在maven工程目录下建立lib目录&#xff0c;并将下载的jar包放入在pom.xml文件中配置本地依赖 <dependency><groupId>org.ejml</groupId><artifactId>…

LeetCode——动态规划(Java)

动态规划 简介[简单] 509. 斐波那契数[简单] 70. 爬楼梯[简单] 746. 使用最小花费爬楼梯[中等] 62. 不同路径[中等] 63. 不同路径 II[中等] 343. 整数拆分[中等] 96. 不同的二叉搜索树背包问题01背包[中等] 416. 分割等和子集[中等] 1049. 最后一块石头的重量 II[中等] 494. 目…

【游戏分析】FPS游戏狩猎百发百中

某某游戏狩猎玩法及其类似于FPS游戏 即3D射击 所以同样拥有 自动瞄准功能和爆头功能 想达到百发百中我们就要精准的计算出3D朝向值 读取人物坐标 遍历怪物,读取怪物坐标比较简单,不过多陈诉 朝向自然而然一定是我们和敌人的坐标计算出来的 那么怎么计算的呢&#xff1f; 我…

JAVA学习笔记21(访问修饰符)

1.访问修饰符 ​ *基本介绍 ​ java提供四种访问控制修饰符号&#xff0c;用于控制方法和属性(成员变量)的访问权限(范围) 1.公开级别&#xff1a;用public修饰&#xff0c;对外公开 2.受保护级别&#xff1a;用protected修饰&#xff0c;对子类和同一个包中的类公开 3.默…

基础知识系列

文章目录 一、linux passwd文件 一、linux passwd文件 linux中&#xff0c;用户名存放在/etc/passwd中&#xff0c;密码存放在/etc/shadow中。/etc/passwd只允许root用户可读可写&#xff0c;root组的用户可读&#xff0c;其他用户不可读不可写不可执行。/etc/shadow只允许roo…

手写简易操作系统(二十)--实现堆内存管理

前情提要 前面我们实现了 0x80 中断&#xff0c;并实现了两个中断调用&#xff0c;getpid 和 write&#xff0c;其中 write 还由于没有实现文件系统&#xff0c;是个残血版&#xff0c;这一节我们实现堆内存管理。 一、arena 在计算机科学中&#xff0c;“arena” 内存管理通…

DC-9靶场

一.环境搭建 1.下载地址 靶机下载地址&#xff1a;https://download.vulnhub.com/dc/DC-9.zip 2.虚拟机配置 设置虚拟机为nat&#xff0c;遇到错误点重试和是 开启虚拟机如下图所示 二.开始渗透 1. 信息收集 查找靶机的ip地址 arp-scan -l 发现靶机的ip地址为192.168.11…

如何使用单片机 pwm 控制 mos 管?

目录 选择适合的硬件 连接电路 编写代码 参考示例 程序一 程序二 测试与调试 注意事项 使用单片机&#xff08;如常见的Arduino、STM32等&#xff09;通过PWM&#xff08;脉冲宽度调制&#xff09;控制MOS管&#xff08;金属氧化物半导体场效应管&#xff09;是一种常见…

Linux使用Docker部署RStudio Server结合内网穿透实现公网访问本地服务

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…

标准版IP地址证书

IP地址证书是一种网络安全工具&#xff0c;用于确保互联网通信中IP地址的所有权和真实性。它类似于为网站颁发的SSL/TLS证书&#xff0c;但专门针对IP地址。这种证书由受信任的第三方机构&#xff08;如证书颁发机构&#xff09;签发&#xff0c;包含公钥、所有者信息和有效期。…

【Linux】开始掌握进程控制吧!

送给大家一句话&#xff1a; 我并不期待人生可以一直过得很顺利&#xff0c;但我希望碰到人生难关的时候&#xff0c;自己可以是它的对手。—— 加缪 开始学习进程控制 1 前言2 进程创建2.1 fork函数初识2.2 fork函数返回值2.3 写时拷贝2.4 fork常规用法2.5 fork调用失败的原因…

Free RTOS day2

1.思维导图 2.使用PWMADC光敏电阻完成光控灯的实验 int adc_val0;//用于保存ADC采样得到的数值 float volt0;//用于保存电压值 int main(void) {MX_GPIO_Init();MX_DMA_Init();MX_TIM1_Init();MX_USART1_UART_Init();MX_ADC_Init();MX_TIM3_Init();HAL_TIM_PWM_Start(&hti…

【linux】基础IO(一)

文件只有站在系统层面才能彻底理解 简单回顾一下文件&#xff1a; 首先我们要明确一点&#xff0c;我们说的打开文件不是写下fopen就打开文件&#xff0c;而是当我们的进程运行起来&#xff0c;进程打开的文件。 我们在C语言一般都会使用过如下的代码进行向文件中写入 但是除…

GUID测试程序

全局唯一标识符&#xff08;GUID&#xff0c;Globally Unique Identifier&#xff09;是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下&#xff0c;任何计算机和计算机集群都不会生成两个相同的GUID。G…

Clickhouse-表引擎探索之MergeTree

引言 前文曾说过&#xff0c;Clickhouse是一个强大的数据库Clickhouse-一个潜力无限的大数据分析数据库系统 其中一个强大的点就在于支持各类表引擎以用于不同的业务场景。 MergeTree MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一…

手写SpringBoot(二)之动态切换Servlet容器

系列文章目录 手写SpringBoot&#xff08;一&#xff09;之简易版SpringBoot 手写SpringBoot&#xff08;二&#xff09;之动态切换Servlet容器 手写SpringBoot&#xff08;三&#xff09;之自动配置 手写SpringBoot&#xff08;四&#xff09;之bean动态加载 手写SpringBoot&…

衍生品交易概况

场内 场外 交易台架构 报价、交易、研究、程序个股、股指Flow、Exotic线性、非线性 对冲管理 管理风险敞口 做好情景分析 尊重市场选择 及时调整策略 理解头寸 善于学习 场外衍生品交易员的一天 盘前 回顾市场、决定今天总体方向处理隔夜敞口 盘中 处理客户询价…

C语言中入门到实战————动态内存管理

目录 前言 一、为什么要有动态内存分配 二、 malloc和free 2.1 malloc 2.2 free 三、calloc和realloc 3.1 calloc 3.2 realloc 四. 常见的动态内存的错误 4.1 对NULL指针的解引用操作 4.2 对动态开辟空间的越界访问 4.3 对非动态开辟内存使用free释放 4.4 使…