关于嵌入式网络开发模块的解析

嵌入式技术

1368人已加入

描述

(文章来源:网络整理)

1、协议,根据OSI7层由上到下分别是:应用层、表示层、会话层,传输层、网络层,数据链路层、物理层。TCP是传输层协议,IP是网络层协议。TCP/IP不是ISO制定的,是由IETF(国际互联网工程任务组)推出的标准化的一种协议,大学、研究所等研究机构和计算机行业是推动标准化的核心力量,现它已成为业界标准协议。

2、有线mac和phy,有线mac属于属于数据链路层,现在一般的SOC、CPU、高端MCU都包含有。有线MAC通过RGMII或GMII接口与phy物理层芯片连接。有人问为什么不把phy集成到MCU里,因为phy跑的都是模拟信号,且功耗大,MCU带不动。这种类型最难开发,因为协议栈都要自己实现。

网络模块

3、有线网络透传模块,这类模块有经典的W5500,MCU这端完全不用涉及应用层以外的东西,模块内部已经实现了TCP/IP协议栈、PHY等等。MCU这边看过来就是个SPI外设而已,只是包上表面是网络代码的东西。

4、USB或SDIO WIFI模块,这类模块有些是内置的TCP/IP协议栈的也集成了无线传输标准协议,比如瑞昱的RTL8189。可是为什么很多人看到它们还要移植lwip协议栈?LWIP从逻辑上看分为4层:链路层、网络层、传输层、应用层。

LWIP中几个组件在协议栈中的位置:网络层:ARP协议、ICMP协议、IGMP协议;传输层:TCP协议、UDP协议;应用层:DHCP客户端、NetBIOS计算机名服务、DNS客户端、HTTP服务器。lwip应用层也可以拿来移植的嘛。

这种SDIO/USB WIFI模块应该是转换器+MAC+PHY+无线调制解调器组合。硬件不是问题,问题是软件,这类模块一般都需要预先烧录一个firmware,驱动将固件烧录在模块里。很多模块带了SDK里面里面就是lwip,那么开发者也只能用lwip了。至于那些什么都不带的可能比较少。

其实这里也是比较碎片化的,最复杂的也是在这些模块里。那些单独的phy模块或者透传模块,要么很自由你自己来厂商不提供SDK什么的,要么很不自由就是透传模块你完全不需要什么SDK仅仅需要一份AT指令表。所以开发者头痛的就是这些模块。但是其实归根到底都是实现网络协议那几层而已,至于在哪里实现,它们的API如何交互才是最重要的。

5、AT+串口wifi模块,最近几年这类透传模块大行其道,wifi、蓝牙、LoRa、NBIOT、Zigbee等等,实际上根本不需要怎么了解这些协议栈,串口、I2C、SPI一上即可。可是这种开发模式好意思说自己会移植协议栈吗?不过这样也可以大大加快研发速度,毕竟有几个人会移植蓝牙协议栈,又有几家IC厂开放了权限给你移植?
      (责任编辑:fqj)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分