揭开WIFI技术栈的神秘面纱

cca70b5204eea1074da88f5a6c152412.png

揭开WIFI技术栈的

神秘面纱

在互联网无孔不入的今日,WIFI已经成为老幼皆知的名词,甚至牙牙学语的娃娃也会对这四个字母的组合作出反应。但是,一说到WIFI技术背后的硬件和软件,那么就连很多专业的工程师也不一定搞得清楚了。

#

01

#

《学活LINUX》已经进行到第四讲的内容。那如何学活的Linux呢?相信很多跟课的格友也已经知道了答案:上调试器,调一个活的Linux系统——GDK8或幽兰代码本。

无论是GDK8还是幽兰,它们使用的都是同一系列的WIFI蓝牙二合一模块。本着格物的方法论,张老师以这一来自中国台湾的正基科技出品的WIFI模块为载体,为大家作了一些有关WIFI模块硬件基础的知识铺垫。

4d8d231b3a6ef09e0e476a7bf9c7c8b2.png

#

02

#

在GDK8和幽兰上,WIFI模块的硬件并未被集成到Soc内部,而是一块独立的芯片,打开机体的后盖就可以看到。软件上而言,其驱动也是单独编译的。

如上所述,WIFI模块的硬件来自中国台湾的正基科技(如下左图所示),但事实上在软件方面看到的却是美国博通的驱动——BCMDHD(Broadcom Dongle Host Driver)(如下右图所示)。BCMDHD是什么?又是怎么从正基变到了博通呢?

e14e4ac4ab13bd5d02e7af70a21e300c.png

5287dd3c8918df46516a5dbca9c2d0cf.png

这是由于WIFI模块涉及通信协议的复杂逻辑,具有特殊性。

一方面,数据的加、解密,以及各种协议和包的处理等等需要一块芯片来处理数据逻辑(如下图框1所示);另一方面,它也需要射频部分(如下图框2所示),以无线的形式收发数据等。

最初,这两部分是分开的,所占空间较大,而正基抓住了这一机会,把包含博通关键IP的核心芯片(框1)和自家的射频部分等(框2)封装在一起,即SIP(System In Package)。(详情请扫描文末二维码观看课程回放)

3528454f9e233ef08d2923edbc5978da.png

#

03

#

了解WIFI模块的硬件基础之后,张老师仍然带大家上调试器,从准备符号、发送、接收,到中断,从调用栈理解LINUX的TCP/IP协议栈。

172c39d526a3c645725ecaf546261628.png

而发起中断时,除上文提到的两家企业,代码中还体现了第三家企业的存在——Synopsys。

575c483399750614f60634b83241e520.png

WIFI模块通过其中的射频部分跟网络联通,那它又是如何与主CPU连接的呢?答案是通过SDIO总线控制器,这也是代码中dw(DW是DesignWare的缩写)的来源。(详情请扫描文末二维码观看课程回放)

0d9529c9f268d19b13abe9110260283b.png

45c4e2b8668e3f81e79ec1268f219496.png

而开头提到的BCMDHD中的DHD则是Dongle Host Driver,代表ARM中外围设备与主机端的一种连接方式,如同X86中的PCIE,博通则称这种连接方式为DHD,张老师把这种连接方式类比为“一人牵一犬”。

5fb801b974362a9e94be0314e8b34df6.png

df047ce34a7ebe58076402e9f3c38751.png

d7494be006cfea5b68559ff731faf50c.jpeg

// 微信群二维码 //

该二维码8月22日前有效

录播回放合集:https://space.bilibili.com/2080622547/channel/collectiondetail?sid=1559415

直播间链接:http://live.bilibili.com/24576892

直播时间:2023年7月22日至9月2日

每周六 20:00 - 21:30

c5548ab20dc5209cc511d86bbffad7ee.png

37c8b8f6b83f58277e4cfd234edf905b.jpeg

// 微信群二维码 //

该二维码8月22日前有效

录播回放合集:https://space.bilibili.com/2080622547/channel/collectiondetail?sid=1559415

直播间链接:http://live.bilibili.com/24576892

直播时间:2023年7月22日至9月2日

每周六 20:00 - 21:30

【盛格塾】

正心诚意,格物致知

人文情怀审视软件,以软件技术改变人生

7ea061b5b788d077a533cb4e2b061084.png

格友公众号

a35ad645ad375f2fcb34fea49a8d8d18.png

盛格塾小程序

扫描上方二维码或在微信中搜索“盛格塾”小程序

可以阅读更多文章和有声读物

往期推荐

有一种程序员文化叫串口

老码农眼里的学编程秘诀

山南之美属秀峰——幽兰新镜像纪要

光速角逐——纳秒级优化训练营

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值