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>…

10.循环位移

问题描述 给定一个正好六位的正整数t&#xff0c;请将循环左移一位后输出。 所谓循环左移一位&#xff0c;是指将原来的十万位变为个位&#xff0c;原来的万位到个位向左移动依次变为十万位到十位。 例如:194910左移一位变为949101 又如:987123左移一位变为871239 输入格式 输入…

Java基础学习: hutool之CollUtil集合操作工具类

文章目录 一、介绍二、Hutool集合操作示例1、判断是否为空&#xff1a;2、判断是否非空3、集合是否包含某个元素4、集合是否包含某些元素5、集合是否不包含某些元素6、两个集合的交集操作7、两个集合的并集操作8、两个集合的差集操作9、集合元素是否相等10、集合转换为字符串&a…

LeetCode——动态规划(Java)

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

Nginx: proxy_set_header 与 add_header 区别

proxy_set_header 1 &#xff09;概述 proxy_set_header 和 add_header 是 Nginx 配置中两个不同的指令, 它们各自有不同的用途proxy_set_header 指令用于修改转发到代理服务器&#xff08;通常是后端应用服务器&#xff09;的 HTTP 请求头它允许您设置或覆盖请求头中的字段&a…

【游戏分析】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…

C++从入门到精通——auto的使用

auto 前言一、auto类型别名思考二、auto简介三、auto的使用细则auto与指针和引用结合起来使用在同一行定义多个变量auto不能推导的场景auto不能作为函数的参数auto不能直接用来声明数组 lambda表达式 前言 C的auto关键字用于自动推导变量的类型&#xff0c;让编译器根据变量的…

如何使用单片机 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 浏览器进行访问…

Java如何使用nignx实现静态资源服务

在Java应用中&#xff0c;通常我们不会直接用Nginx来服务静态资源&#xff0c;而是会让Java应用&#xff08;如Spring Boot应用&#xff09;处理动态请求&#xff0c;而将静态资源&#xff08;如HTML、CSS、JS、图片等&#xff09;交给Nginx来服务。这样的架构有很多好处&#…

标准版IP地址证书

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

抖店被清退身份证还能入驻吗?被清退保证金可以退吗?

在抖音平台上开设自己的抖店是许多人追求的梦想&#xff0c;但有时候由于一些原因&#xff0c;抖店可能会被清退。此时&#xff0c;很多人会担心自己的身份证是否还能用来再次入驻。 一、抖店被清退身份证还能入驻吗&#xff1f; 首先&#xff0c;需要明确的是&#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…