为什么手机上wifi都用sdio接口,不用usb接口?

具体SDIO的规范我没研究过,但看有效代码也不过几千行的事情,一个简单的USB控制器代码就得上万行。

并且USB协议是多层次的协议,类似网络协议,实现了控制器还要继续实现USBD和Class Driver的代码,以及与网络层面结合的部分,一个完整的USB WiFi驱动,代码会非常巨大,并且调试困难。

我虽然不是很了解SDIO,但从代码规模上看,跟USB就差至少一个数量级,甚至是几个数量级,所以厂商肯定是挑简单的实现,而不是复杂的那个。

USB协议栈代码共用的问题,这个在早期的时候是不能共用的,早期的时候手机大多数只支持device模式,不支持host模式,这种条件下要接WiFi必须再支持host,代码无法共用。同时Host和Device模式不可以并存,一个控制器一旦设置成device模式,就变成独占的情况,主机需要再加一个USB控制器才行,USB控制器的硬件成本也比SDIO要高的多。并且,多集成一个USB控制器,手机内部空间比较紧张,电路板的设计会比较麻烦。

作者:北极
链接:https://www.zhihu.com/question/42041992/answer/94964125
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1.建议把'都'去掉,确实有采用Realtek或者MTK的USB接口WiFi手机(当然不多,但国产寨板基本都是……)

2.SDIO首先是通用性,从很久之前就开始采用,SDIO实时性等特性比协议栈复杂的USB好的多。现在虽然很多时候代码量不是主要考虑,但是SDIO就在哪里……不用白不用,USB需要额外硬件支持

3.现在SDIO WiFi也在被淘汰,对于手机……基带芯片也快无敌了好嘛。与高通820处理器所配套的基带芯片2G/3G/4G/WiFi b/g/n/ac / BLE/GPS/GNSS/ Compasa八合一……(如果我记错了……额……你知道就行了)

作者:Mars韩笑
链接:https://www.zhihu.com/question/42041992/answer/95303520
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发布了105 篇原创文章 · 获赞 30 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/happygrilclh/article/details/102455806