嵌入式网络硬件方案

news2024/11/24 14:37:48

一.  简介

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

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

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

二.  嵌入式网络硬件方案

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

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

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

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

相关文章

牛客2024年愚人节比赛(A-K)

比赛链接 毕竟是娱乐场,放平心态打吧。。。 只有A一个考了数学期望,其他的基本都是acmer特有的脑筋急转弯,看个乐呵即可。 A 我是欧皇,赚到盆满钵满! 思路: 我们有 p 1 p_1 p1​ 的概率直接拿到一件实…

redis基础数据结构

文章目录 前言字符串常见命令内部编码使用场景1、缓存(Cache)功能2、计数3、共享Session4、限速 哈希命令内部编码使用场景存储结构化数据 列表命令内部编码使用场景1.阻塞消息队列模型2.文章列表3.微博 Timeline 集合命令内部编码使用场景1.给用户增加标…

图像处理环境配置opencv-python

下载python,配置pip使用清华源下载镜像: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 切换到python目录下,右击cmd,执行pip升级指令: python -m pip install --upgrade pip 下载opencv&#x…

Linux(CentOS7) 安装 Nginx

目录 下载 上传 解压 生成 Makefile 编译与安装 启动 nginx 创建软链接 常用命令 下载 官网地址: nginx: downloadhttps://nginx.org/en/download.html选择稳定版本,也可以指定需要的版本下载 上传 将下载好的 tar 包上传到 Linux 服务器…

第14届蓝桥杯C++B组省赛:串的熵|枚举、浮点数相等比较、log函数

题目链接&#xff1a; 2.01串的熵 - 蓝桥云课 (lanqiao.cn) 注意点&#xff1a; 1.C的log函数&#xff1a;有2&#xff0c;e&#xff08;log()以e为底&#xff09;&#xff0c;10为底的&#xff0c;没有现成的用换底公式&#xff1a; C 标准库 <cmath> 数学函数大全 - …

SpringMvc项目创建过程

1、新建空项目 名字和路径自定义&#xff0c;Maven项目&#xff0c;不建议勾选Add sample code 2、创建web模块 选中当前项目 修改路径&#xff0c;注意是在main包下 选择当前项目 3、编写pom.xml文件 在文件中加入以下内容&#xff0c;packaging标签表明了maven打包类型。 &…

【网站项目】贫困生管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

文献速递:机器学习 + 分子动力学 + 第一性原理计算 + 热力学性质(熔化温度 热导率 热膨胀系数)

分享一篇关于机器学习 分子动力学 第一性原理 热力学性质&#xff08;熔化温度 & 热导率 & 热膨胀系数&#xff09;的文章。 感谢论文的原作者&#xff01; 关键词&#xff1a; 1. Al−Li alloy 2. Neural network potential 3. Molecular dynamics 4. Thermal …

C语言 键盘输入与屏幕输出——数据的格式化屏幕输出

目录 顺序结构 C语言如何实现数据的输入和输出&#xff1f; 数据的格式化屏幕输出 printf&#xff08;&#xff09;格式字符 printf&#xff08;&#xff09;的格式修饰符 顺序结构 一般而言&#xff0c;顺序结构程序涉及如下三个基本操作&#xff1a; *输入数据 *处理数…

Linux_地址空间_进程控制_进程创建_进程终止_进程等待_进程替换_简易shell_4

文章目录 一、程序地址空间1.地址空间验证2.验证堆和栈的增长方向3.感知地址空间4.什么是地址空间 二、进程控制1.进程创建2.进程终止1、**关于终止的正确认识&#xff1a;**2、**关于终止常见做法**3、**关于终止&#xff0c;内核做了什么&#xff1f;** 3.进程等待1、为什么要…

【DETR系列目标检测算法代码精讲】01 DETR算法02 DETR算法数据预处理+图像增强+dataset代码精讲

今天这一节主要对DETR算法的数据预处理和数据增强部分的代码做逐行的精讲。 这一部分的代码主要的功能就是将COCO数据集中的原始图像和原始标注处理成能够输入到DETR网络中的图像和标注。 我首先采取任务流程逐行讲解的办法&#xff0c;然后再debug演示一下 准备 这个读取数…

<Linux> Linux环境开发工具

一、Linux软件包管理器 - yum 什么是软件包&#xff1a; 在Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 . 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序) 放在一…

Transformer的前世今生 day12(Transformer的三个问题)

Transformer的Decoder为什么要用掩码&#xff08;Masked Self-Attention&#xff09; 机器翻译中&#xff1a;源语句&#xff08;我爱中国&#xff09;&#xff0c;目标语句&#xff08;I love China&#xff09; 为了解决训练阶段和测试阶段不匹配的问题&#xff1a; 在训练阶…

多传感器标定——概述

文章目录 一、前言二、内容记录 一、前言 是对自动驾驶之心多传感器标定课程内容的记录&#xff0c;也是对一些被老师简单略过问题的自主学习。第一章是概述&#xff0c;将内容以问题的形式记录&#xff0c;并结合课上内容以及自己的项目经验给出回答 二、内容记录 车上会安装…

如何使用route-detect在Web应用程序路由中扫描身份认证和授权漏洞

关于route-detect route-detect是一款功能强大的Web应用程序路由安全扫描工具&#xff0c;该工具可以帮助广大研究人员在Web应用程序路由中轻松识别和检测身份认证漏洞和授权漏洞。 Web应用程序HTTP路由中的身份认证&#xff08;authn&#xff09;和授权&#xff08;authz&…

实验04_OSPF&RIP选路实验

实验拓扑 IP地址规划 拓扑中的 IP 地址段采用&#xff1a;172.16.AB.X/24。其中 AB 为两台路由器编号组合&#xff0c;例如&#xff1a;R3-R6 之间的 AB 为 36&#xff0c;X 为路由器编号&#xff0c;例如R3 的 X3所有路由器都有一个 loopback 0 接口&#xff0c;地址格式为&…

代码随想录算法训练营第二十七天| LeetCode 39. 组合总和、40.组合总和II、131.分割回文串

一、39. 组合总和 题目链接/文章讲解/视频讲解&#xff1a; https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html 状态&#xff1a;已解决 1.思路 这道题跟216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09;题思路差不多&#xff0c;区别在于…

为什么感觉张宇 25 版没 24版讲得好?

很多同学反映&#xff1a;25版&#xff0c;讲得太散了, 知识点太多&#xff0c;脱离了基础班。 三个原因&#xff1a; 1. 25版改动很大&#xff0c;课程没有经过打磨&#xff1b; 2. 因为24考试难度增加&#xff0c;所以改动的总体思路是“拓宽基础”&#xff1a;即把部分强…

redis中bitmap的使用及场景,如何操作

一、概念 在Redis数据库中&#xff0c;Bitmap&#xff08;位图&#xff09;是一种特殊的数据结构&#xff0c;它不是一个独立的数据类型&#xff0c;而是基于String类型实现的。Bitmap主要用于存储大量二进制位&#xff08;0或1&#xff09;的数据&#xff0c;这些位可以代表不…

支付接口和数据库断言及封装

支付下单接口 请求方法&#xff1a; post 请求地址&#xff1a;http://shop.lemonban.com:8107/p/order/pay 请求参数&#xff1a;{“payType”:3,“orderNumbers”:“1733308182027309056”} 请求头部&#xff1a; {“Content-Type”:“application/json”,“Authorization…