大部分wlan芯片都要么支持PCIe,要么SDIO。当然还有USB等的。
那这都有什么区别?
不同的Host接口,对系统的吞吐,功耗是有影响的。
PCIe,是以前的PCI等接口。就是电脑主板上的插槽。可想而知,它提供的吞吐是比较高的。
SDIO,顾名思义,是SD卡接口的一个拓展,常用的是移动设备。
USB,则更加为人所知了,电脑,电视上都是有的。
一般PCIe口的wlan模组,也是支持SDIO的,但是反过来就不一定了。
在吞吐上,SDIO的吞吐是比较低的。
? ? ? ? ? ? ? ? ? ? ? ? ? ?Wlan? ? ? ? ? ? PCIe? ? ? ? ? ?SDIO
802.11n(1x1)? ? ?150Mbps? ? ?2500Mbps? ?200Mbps
802.11n(2x2)? ? ?300Mbps? ? the same? ? ? the same
802.11ac(1x1)? ?433Mbps? ? ?the same? ? ? the same
802.11ac(2x2)? ?866Mbps? ? ?the same? ? ? the same
带宽上来讲,PCIe对上面的Wlan配置都是绰绰有余的,但是SDIO未必。所以802.11ac(2x2)的设备几乎没有SDIO的。
带宽的不同,也会让驱动的开发变得不同。
广义来讲,WLAN的驱动可以包含host cpu上的,和WLAN cpu上的两部分,但是后者一般还是称为firmware的。
PCIe的带宽足够,一般Host Cpu也足够,因此可以看到driver和firmware都可以run在Host cpu上,但是SDIO则不是这样,也是connection管理的功能,也是run在Wlan cpu上的,这样可以减少控制面的开销,不去占用已经有限的SDIO带宽。但是这往往让WLAN侧需要更多的资源。