【嵌入式】嵌入式设备实现网络功能——综述

前言

随着物联网的推进,以及一些特殊应用场合下对网络功能的要求,网络功能在嵌入式设备中已经成为常客。
对于大部分物联网应用场景,网络功能的任务就是实现设备无线接入外网,从而进行数据通讯,无论协议是TCP、UDP、MQTT中的哪一种。
对于一些特殊场合的应用,网络功能的任务是是嵌入式设备通过RJ45网口、光纤接口等有线方式实现局域网内通讯,或者点对点通讯。

实现方式

一、无线网络的实现

物联网方向的应用,大多是基于无线通讯方式。市面上已经有很多芯片、模块可供使用。比如应用在wifi的ESP8266模块、应用在2G/4G的有方N10模块、有方N58模块等,应用示意图如下所示。
在这里插入图片描述

以上模块都把TCP、UDP等复杂的协议栈封装在模块中,使用者只需要完成简单配置即可实现TCP、UDP传输。以上模块都是单片机通过AT指令的方式读写模块,从而实现模块配置、状态获取、命令下发,最终实现TCP、UDP等网络通讯。可见,通过外扩模块的方式,单片机只需要使用一个UART串口外设,即可完成物联网通讯,而不必关注网络极其复杂的MAC层、物理层、协议层内容。

二、有线网络的实现

对于有线网络的实现,主要有两种方式:

1 通过外接物理层(PHY)芯片的方式接入有线网络

这个方式的前提是单片机内部有以太网(ETH)外设,内部已经集成了MAC层,如STM32F207、STM32F4系列的大部分芯片。如果是以上芯片,即可通过MII或RMII接口连接外部PHY网络芯片,然后再通过网络变压器或者阻抗匹配网络等接入有线网络。
对于实现TCP、UDP、HTTP等通讯,仅仅完成以上步骤还不够,因为以上过程只完成了MAC层与PHY层的接入,还要移植协议层才能使用TCP、UDP、HTTP等常规协议。幸好有LwIP这个轻量化的协议栈可以移植,并且通过STM32CubeMX可以一键完成移植。
在这里插入图片描述

2 通过外接以太网芯片

看了方法1,是不是觉得太麻烦了,我不仅要有集成MAC层的MCU,还要外接PHY物理芯片,关键是还要占用ROM、RAM来完成协议栈程序的移植,不能忍。那么接下来的方法2可能是你的菜。
为了解决单片机接入有线以太网复杂的难题,市面上已经有很多以太网芯片解决方案。如CH395、W5500、DM9051等以太网芯片。他们将MAC层、PHY层、协议栈等统统封装在了芯片内部,使用者只需要通过UART串口或者SPI或者并口的方式与芯片进行通讯,即可完成单片机设备在有线网络中的通讯。
这对于低性能MCU、资源吃紧的MCU来说,无疑是一个极佳的解决方案。
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜老越

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值