嵌入式网络硬件方案

一.  简介

本文来了解一下嵌入式有些网络中,涉及的网络硬件方案。

注意:本文说明的是有些网络。

提起网络,我们一般想到的硬件就是“网卡”,“网卡”这个概念最早从电脑领域传出来,顾名思义就是能上网的卡。在电脑领域的“原始社会”,网卡是独立的硬件,如果电脑要上网就 得买个网卡插上去,类似现在的显卡一样。
但是大家现在观察自己的笔记本或者台式机主板会 发现并没有类似显卡一样的网卡设备,原因是随着技术的不断发展,现在只需要一个芯片就可 以实现有线网卡功能,因此网卡芯片都直接放到了主板上。

二.  嵌入式网络硬件方案

目前有两种网络硬件方案:

1.  SOC 内部没有网络 MAC 外设的情况下,那就要外部接上一块网络集合 MAC+PHY 功能的芯片。

2. SOC 内部集成网络 MAC 外设,外部只需要接上一块 PHY网络芯片。

注意:目前使用第二种网络硬件方案的比较常见,也就是 SOC处理器+ 一块PHY网络芯片。

接下来分别说明这两种网络硬件方案。

1.  SOC 内部没有网络 MAC 外设

我们一般说某个 SOC 不支持网络,说的就是它没有网络 MAC 。那么这个芯片就不能上网 了吗?显然不是的,既然没有内部 MAC ,那么可以找个外置的 MAC 芯片啊,不过一般这种外 置的网络芯片都是 MAC+PHY 一体的。比如,三星 linux 开发板里面用的最多的 DM9000 ,因为 三星的芯片基本没有内部 MAC( 比如 S3C2440 S5PV210 4412 ) ,所以,三星的开发板都是通 过外置的 DM9000 来完成有线网络功能的, DM9000 SOC 提供了一个 SRAM 接口, SOC SRAM 的方式操作 DM9000
有些外置的网络芯片更强大,内部甚至集成了硬件 TCP/IP 协议栈,对外提供一个 SPI 接口,比如 W5500 。这个一般用于单片机领域,单片机通过 SPI 接口与 W5500 进行通信,由于 W5500 内置了硬件 TCP/IP 协议栈,因此单片机就不需要移植负责的软件协议栈,直接通过 SPI 来操作 W5500 ,简化了单片机联网方案。

优缺点:

这种方案的优点就是让不支持网络的 SOC 能够另辟蹊径,实现网络功能,但是缺点就是网 络效率不高,因为一般芯片内置的 MAC 会有网络加速引擎,比如,网络专用 DMA ,网络处理效 率会很高。而且此类芯片网速都不快,基本就是 10/100M 。另外,相比 PHY 芯片而言,此类芯 片的成本也比较高,可选择比较少。

SOC 与 一块外部 MAC+PHY 芯片的连接如下图 所示:

2.  SOC 内部集成网络 MAC 外设

我们一般说某个 SOC 支持网络,说的就是他内部集成网络 MAC 外设,此时我们还需要外 接一个网络 PHY 芯片。
此时就有朋友会有疑问, PHY 芯片不能也集成进 SOC 吗?笔者目前还 没见过将 PHY 也集成到芯片里面的 SOC
一般常见的通用 SOC 都会集成网络 MAC 外设,比如 STM32F4/F7/H7 系列、 NXP I.MX 系列。
内部集成网络 MAC 的优点如下:
① 内部 MAC 外设会有专用的加速模块,比如,专用的 DMA ,加速网速数据的处理。
② 网速快,可以支持 10/100/1000M 网速。
③ 外接 PHY 可选择性多,成本低。

SOC(处理器芯片)内部的 MAC 外设会通过 MII 或者 RMII 接口来连接外部的 PHY 芯片,MII/RMII 接口用来传输网络数据。

另外主控需要配置或读取 PHY 芯片,也就是读写 PHY 的内部寄存器,所以还需要一个控制接口,叫做 MIDO,MDIO 很类似 IIC,也是两根线,一根数据线叫做 MDIO,一 根时钟线叫做MDC
内部带网络MAC的SOC 芯片与一个外部 PHY 芯片的连接如下图 所示:

三.  总结

大家在做项目的时候,如果要用到网络功能,强烈建议大家选择内部带有网络 MAC 外设的主控 SOC
I.MX6ULL 就有两个 10M/100M 的网络 MAC 外设,正点原子 ALPHA 开发板板 载了两颗 PHY 芯片,型号为 LAN8720

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE4_动画基础_ 瞄准偏移1D(Aim Offset Blend Space 1D)

瞄准偏移1D基本上可以完成角色的向左看向右看或者向上看向下看,像混合空间1D一样只有一个轴向可用。 操作步骤: 1、新建第三人称模板项目。 2、右键——动画——瞄准偏移1D 选取骨骼 双击打开 3、瞄准偏移混合的是姿势,我们需要创建姿势。 …

ALPHA开发板上PHY网络芯片LAN8720

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

编程新手必看,Pycham开发工具使用及项目创建(3)

介绍:PyCharm是一款由JetBrains开发的专业Python集成开发环境(IDE)。 PyCharm为Python开发者提供了一整套工具,以提高编程效率和改善代码质量。以下是其主要特点和功能: 代码编辑与智能提示:具备高级代码编…

Java 堆外内存及调优

文章目录 直接内存简介为什么DirectByteBuffer可以优化 IO 性能 直接内存的分配直接内存的回收直接内存跟踪与诊断 直接内存简介 直接内存(Direct Memory) 并不是虚拟机运行时数据区的一部分,并非Java虚拟机规范中定义的内存区域。但是这部分内存的频繁使用&#x…

Vue.js高效前端开发(增删查)

效果图 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div id"app"><span>ID</span><input type"text" name"…

javaWeb项目-家政服务管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、B/S结构简介 B/S…

unity学习(80)--disposed object

1.在正常运行的过程中&#xff0c;客户端崩溃&#xff0c;原因就是某个对象null或者被disposed了 2.找了找&#xff0c;发现socket确实调用过一次close 3.把close去掉修改为如下&#xff0c;客户端不再崩溃&#xff0c;虽然还有异常。

如何快速生成视频二维吗?视频用二维码播放的方法

视频的二维码如何制作会更加简单呢&#xff1f;通过扫码播放视频的方式现在越来越多&#xff0c;很多小伙伴也喜欢用这种方式来将视频分享给其他人。将视频储存到云端储存之后&#xff0c;通过扫描二维码在手机上浏览器视频&#xff0c;更加的方便快捷。 现在视频生成二维码可…

什么是ISP住宅IP?相比于普通IP它的优势是什么?

什么是ISP住宅IP&#xff1f; ISP住宅IP是指由互联网服务提供商&#xff08;ISP&#xff09;分配给住宅用户的IP地址。它是用户在家庭网络环境中连接互联网的标识符&#xff0c;通常用于上网浏览、数据传输等活动。ISP住宅IP可以是动态分配的&#xff0c;即每次连接时都可能会…

红酒:从新世界到旧世界,红酒产区的分类与发展

红酒产区的分类与发展是葡萄酒产业中一个重要的话题。从新世界到旧世界&#xff0c;各个产区的风格和特点都有所不同&#xff0c;也在不断发展和演变。 新世界产区包括美国、澳大利亚、新西兰、智利、阿根廷、南非等新兴葡萄酒生产国。这些国家在葡萄酒产业方面相对较新&#…

【前端】FreeMarker学习笔记

文章目录 1. 介绍2.FreeMarker环境搭建(maven版本)3. 语法3.1 freemarker的数据类型3.1.1 布尔类型3.1.2 日期类型 FreeMarker视频教程 1. 介绍 中文官网 英文官网 FreeMarker 是一款 模板引擎&#xff1a; 即一种基于模板和要改变的数据&#xff0c; 并用来生成输出文本(HTML…

嵌入式系统基础知识(一):嵌入式系统是什么?

一.定义 根据IEEE&#xff08;国际电气和电子工程师协会&#xff09;的定义&#xff0c;嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。这主要是从应用上加以定义的&#xff0c;从中可看出嵌入式系统是软件和硬件的综合体&#xff0c;还可以涵盖机械等附属装…

测开——基础理论面试题整理

1. 测试流程 需求了解分析需求评审制定测试计划【包括测试人员、时间、每人负责的模块、测试的风险项以及预防】编写自动化测试用例 —— 测试评审【尽量丰富测试点】编写测试框架和脚本&#xff08;若是功能测试 可省去这步骤&#xff09;执行测试提交缺陷报告测试分析与评审…

【C++杂货铺】详解list容器

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 介绍 &#x1f4c1; 使用 &#x1f4c2; 构造 &#x1f4c2; 迭代器iterator &#x1f4c2; capacity &#x1f4c2; modifiers &#x1f4c2; 迭代器失效 &#x1f4c1; 模拟实现 &#x1f4c2; 迭代器的实现 &#x…

neo4j使用详解(六、cypher即时时间函数语法——最全参考)

Neo4j系列导航&#xff1a; neo4j及简单实践 cypher语法基础 cypher插入语法 cypher插入语法 cypher查询语法 cypher通用语法 cypher函数语法 6.时间函数-即时类型 表示具体的时刻的时间类型函数 6.1.date函数 年-月-日时间函数&#xff1a; yyyy-mm-dd 6.1.1.获取date da…

注意力机制篇 | YOLOv8改进之在C2f模块添加级联群体注意力机制CGAttention | CVPR 2023

前言:Hello大家好,我是小哥谈。级联群体注意力机制(Cascading Group Attention)是一种注意力机制,它通过对输入序列进行逐级处理来捕捉不同层次的语义结构。该机制主要由两个关键部分组成:群体注意力和级联过程。在具体实现上,级联群体注意力机制通过构建一个层次结构,…

YOLOv9改进策略 :主干优化 | 极简的神经网络VanillaBlock 实现涨点 |华为诺亚 VanillaNet

💡💡💡本文改进内容: VanillaNet,是一种设计优雅的神经网络架构, 通过避免高深度、shortcuts和自注意力等复杂操作,VanillaNet 简洁明了但功能强大。 💡💡💡引入VanillaBlock GFLOPs从原始的238.9降低至 165.0 ,保持轻量级的同时在多个数据集验证能够高效涨点…

【Java核心能力】常用的设计模式了解吗?项目中用过哪些设计模式

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

linux:生产者消费者模型

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 前言一、生产者消费者模型二、基于阻塞队列的生产者消费者模型代码实现 总结 前言 本文是对于生产者消费者模型的知识总结 一、生产者消费者模型 生产者消费者模型就是…

Vue小练习:记录任务所花费时间

文章目录 笔记遇到的问题&#xff08;有解决方案的&#xff09;如何使用按钮控制一个页面是否显示vue怎么向后端发送请求如何添加新功能&#xff1f;如何接收前端发送的数据&#xff1f;如何把一个类对象存储到数据库如何实现自动注入 未解决的问题无法将该差值表达式放到一个方…