蓝牙和WIFI共存设计

  蓝牙和802.11b/g/n都可能工作在2.4GISM,可能互相干扰。干扰的典型应用之一是VOIP,用手机的WLAN打VOIP电话,用蓝牙耳机来通话。互相干扰的后果是用户能感觉到通话质量的下降。
设计上有些方法能够减少相互干扰,尽量维持蓝牙和wifi的throughput,使得用户的使用体验不受影响。

方法主要是AFH(自适应跳频)和分时(TDM,PTA)。

是否存在相互干扰和相互干扰是否严重受以下条件影响:
1.共用天线还是单独用自己天线
2.干扰是噪音还是阻塞
3.蓝牙通信频率是否落在wifi带内
4.蓝牙和wifi是接收还是发射
5.蓝牙和wifi的具体应用的通信特点

共用天线还是单独用自己天线
如果蓝牙和wifi使用单独的天线,蓝牙天线和wifi天线之间的隔离大小会影响干扰的程度。如果认为有一定的隔离度,蓝牙和wifi是可以同时发射或者接收的。
如果蓝牙和wifi共用天线,蓝牙和wifi不可以同时工作。(如果不考虑相互干扰,可以同时接收。)

干扰是噪音还是阻塞
干扰分为两种。一种是噪音,主要发生在频率冲突时;另一种是大信号阻塞,和频率是否冲突没有关系,和具体射频设计及天线间隔离有关系。

蓝牙通信频率是否落在wifi带内
如果蓝牙通信频率落在wifi频带内,噪音干扰和阻塞干扰都会有。如果蓝牙通信频率落在wifi频带外,只有阻塞干扰。
AFH是针对噪音干扰最好的方法,蓝牙和wifi的性能都能维持100%。唯一问题是无法解决阻塞干扰。

蓝牙和wifi是接收还是发射
假设蓝牙和wifi使用自己单独的天线,蓝牙和wifi是能够同时发射和同时接收的。如果一个发射,一个接收,在频率冲突时会有相互干扰。另外,同时发射可能会对另一侧设备带来干扰。

蓝牙和wifi的具体应用的通信特点
共存时相互干扰是否严重还和具体应用时通信特点有关。比如数据量是否大,是否是数据流,是否是timecritical的。所以有的设计是host可以根据不同应用配置不同的优先级,以达到最好的tradeoff。

主要设计方法简单介绍:
AFH
AFH是解决噪音干扰的最好方法。通过在跳频频率中避开wifi的频带,既可以避免频率冲突带来的干扰,也丝毫不损失蓝牙和wifi的性能。另外,AFH不只针对wifi干扰,道理上其它干扰源也可以避开。
AFH功能包括两个方面,一是channel的好坏区分;二是使用新的channellist跳频。
Channel 的好坏区分有三种来源,一是自己通过scanRSSI或者检查PER等方式自己区分channel;二是通过另侧设备的区分信息,如 master取slave的区分结果,或slave依照master的区分结果;三是依靠host通过HCI命令 set_AFH_host_channel_classification传下来。
蓝牙和wifi共存设计中,host通过HCI命令告诉蓝牙哪些channel不可用是很有效的。如果蓝牙自己区分,应该既自己检查channel,也需要读另侧设备的区分信息,因为两者如果距离稍远,可能看见的badchannel是不同的。

分时(TDM,PTA)
分时是利用蓝牙和wifi间的握手信号,使蓝牙和wifi分时在2.4G工作,这样可以避免噪音干扰和阻塞干扰。问题是会降低蓝牙和wifi的throughput。所以这个机制应该只在AFH不能提供良好效果时使用。
802.15.2中有规定仲裁方式和信号(PTA,packettrafficarbitration)的框架,很多蓝牙芯片厂商也有自己专有的握手信号定义。道理上来讲我们的设计还需要了解主流wifi芯片的握手信号定义。
这些握手信号都差不多。简单说明如下:

2-wire
Wifi给蓝牙信号wl_active,表示wifi有通信,如果这个信号asserted,蓝牙应该只接收/发射highpriority的包,其它包delay。
蓝牙给wifi信号bt_priority,表示蓝牙要发highpriority的包,wifi必须停止当前通信。
可以看出,这两根信号分别是保护wifi和蓝牙通信的。所以assert的多与少会影响2.4G带宽在两者间的分配。
从 蓝牙芯片设计的角度,蓝牙芯片必须支持对于包优先级的区分和delay包的处理。一般来说,定时同步,inquiry,page,SCO等是高优先 级,传送数据的包则是普通优先级。如果处理得细致和灵活,很多参数是需要可以配置和可调的,因为可能需要host根据具体应用来配置。
如果蓝牙芯片知道wifi的频带,bt_priority也可以只在频率冲突时拉起。

 3-wire
  三线方案和两线方案相似。多加一根蓝牙输出的bt_active,这样和bt_priority一起可以表示两种优先级的蓝牙通信。

4-wire
四线方案和三线方案相似,再多加一根蓝牙输出的bt_freq,指示蓝牙通信是否和wifi频带冲突。

PTA
802.15.2中没有规定PTA具体的硬件接口和仲裁判定,是依赖实现的。也有类似上述的2/3/4线方案。但PTA的基本思想是 蓝牙和wifi提交 申请给PTAcontroller,(一般PTAcontroller集成在wifi中),由PTAcontroller来许可。所以PTA中的相关信号 都是指将要的操作,不同于上面的是指已经发生的操作。

WCS
WCS是intel的 wirelesscoexistencesystem缩写,是intelwifi的握手定义,两根线,ch_data和 ch_clk/bt_priority,完成握手和频带信号传递功能。具体时序定义没有看到,要签intel的NDA才有,估计笔记本上用得较多。
只要把握分时和优先级的tradeoff原则,握手接口和分时机制还可以有很多变化和配置,以求对用户最好的使用体验。
RDA5868+,RDA5870都支持蓝牙WIFI共存分时设计,在原理图连接时,连接如下:

RDA5870:
Pin37:WL_ACTIVE
Pin27:BT_PRIORITY

RDA5868+:
Pin28:WL_ACTIVE
Pin27:BT_PRIORIT

http://blog.csdn.net/zhenwenxian/article/details/6680551

bt和wifi的共存相关推荐

  1. 如何读取MTK 平台IMEI , BT 和WIFI 地址

    MTK 平台IMEI , BT 和WIFI 地址是保存在哪里的呢?NV还是分区里面? 如何确认手机是否有写BT,WIFI地址. 根据对MTK 代码 的分析,IMEI ,BT,WIFI 地址写在 par ...

  2. 怎样使局域网和无线(WiFi)共存

    怎样使局域网和无线(WiFi)共存 局域网和WiFi同时存在 第一种方式 以管理员身份打开命令提示符窗口 执行命令:route -p add 10.0.0.0 mask 255.0.0.0 10.17 ...

  3. Android以太网和WIFI完美共存

    Android以太网和WIFI完美共存 目前安卓设备主要为移动设备,安卓系统相应针对移动设备特性做了一些优化.考虑移动设备尽量降低功耗的需求,所以在网络部分设计了评分机制,(数据连接50,WIFI60 ...

  4. bt linux wifi,Ubuntu安装无线网卡驱动Wifi/BT BCM4330(AP6383)

    像BCM4330 (AP6383)这样的Wifi/蓝牙一体化芯片常见于一些平板电脑.笔记本和mini pc中.特别是z3735.z8300.core m这些芯片的平板电脑很常见.AP6210也比较常见 ...

  5. linux bt测试命令,Android命令行测试BT,WIFI,Sensor工作状态

    //命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...

  6. (OK) Android命令行测试BT,WIFI,Sensor工作状态 — svc

    http://blog.chinaunix.net/uid-25909619-id-3554423.html //命令行测试wlan //加载驱动 #insmod /system/lib/module ...

  7. 命令行测试BT,WIFI,Sensor工作状态

    //命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...

  8. RK3326[Android 8.1],获取BT、WIFI地址

    文章目录 背景 出现问题 分析问题 解决问题 存放位置 获取地址 1.WIFI Mac 2.蓝牙地址 总结 背景    最近在做RK平台的项目,遇到了写号的问题:最开始是SN.wifi地址.bt地址无 ...

  9. 蓝牙和WiFi共存技术2 -----

    http://blog.sina.com.cn/s/blog_533074eb010159x2.html 蓝牙和WIFI的共存主要是解决蓝牙和802.11b/g/n都可能工作在2.4GISM,可能互相 ...

  10. wifi p2p连接 linux,Wi-Fi p2p ap 共存

    nl80211接口 编辑 删除 image WiFi 模式: AP(Access Point): 无线接入点 STA(Station): 站点 P2P: wifi-direct WiFi的共存模式: ...

最新文章

  1. MFC中的资源视图和如何打开资源视图
  2. u3d android,u3d与安卓交互(Android studio)
  3. Py之argparse:Python库之argparse(命令行解析)简介、安装、使用方法之详细攻略
  4. 理解Java的封装与接口
  5. liunx 详细常用操作
  6. linux ssh基本
  7. c++面向对象高级编程 学习九 pointer-like classes
  8. debian 编译linux内核源码,Debian下为本机编译内核模块的方法
  9. php生成缩略图填充白,php生成缩略图填充白边(等比缩略图方案)_PHP教程
  10. 拉格朗日(lagrange)插值及其MATLAB程序
  11. CentOS下安装JDK笔记
  12. 深入浅出python 1
  13. 电容屏、电阻屏基础知识
  14. JVM和ART、DVM(dalvik VM)的区别
  15. 基于Python的课程管理系统【100010023】
  16. HTML5页面背景切换
  17. html大于号是什么选择器,什么是“”(大于号)CSS选择器是什么意思?什么是“”(大于号)CSS选择器是什么意...
  18. Linux查看实时网速的Shell
  19. ubuntu的换源问题
  20. 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进...

热门文章

  1. 一篇Chat(沉迷机器人操作系统(ROS)的一个理由和四种修仙秘籍)
  2. 计算机网络之网络安全基础-网络安全协议
  3. 解决Win10任务栏不显示电池电量的问题
  4. 纯css改变checkbook样式
  5. Git回滚到某个commit
  6. word表格分开快捷键_Word使用技巧(表格技巧、快捷键)
  7. MAX96706开发板POC电路分析
  8. 你怎么看:就算老公一毛钱股份都没拿到,在我心里,他依然是最牛逼的创业者...
  9. selenium使用AutoIt工具上传附件
  10. android启用hdcp_如何在Android Auto上启用开发人员设置