蓝牙和WIFI共存设计

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

是否存在相互干扰和相互干扰是否严重受以下条件影响:
  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

转载于:https://www.cnblogs.com/hanny/archive/2010/07/18/1780074.html

PTA是什么?BT-WIFI共存 转帖相关推荐

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

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

  2. MTK BT/WIFI小析

    闲的时候查阅了MTK BT/WIFI相应资料,了解了一点框架知识,并且对底层驱动做了简单的代码流程跟踪,也留有一些问题,现做简单记录,不确定以后是否还有时间和机会再继续完善. 下图是MT6589平台, ...

  3. 内网、校园网BT下载必看帖(BitComet加速篇)

    内网.校园网BT下载必看帖(BitComet加速篇) 一.关于本文 1.首先感谢BitComet开发组为我们提供了这么一款高性能的BT下载客户端软件. 2.如果在本文的帮助下您提高了下载速度,那么请你 ...

  4. 蓝牙和WiFi共存智能手机方案对比(AFH 和三线共存技术)

    1 引言 设计同时包含Wi-Fi和蓝牙功能的消费类电子产品会遇到很多问题,特别是在要求同时工作模式的情况下.蓝牙和802.11b/gWLAN系统工作在2.4GHz频段,这两种技术都用到了可用频谱的重要 ...

  5. Android 蓝牙 与wifi共存 A2dp 播放音乐卡音问题处理

    android-蓝牙A2dp-avrcp-hfp-opp-配对流程-ble-rfcomm源码流程 Android 蓝牙A2dp-Avrcp初始化-连接-播放源码分析文档大全-点击下载 Wifi共存-- ...

  6. Android命令行测试BT WiFi Sensor工作状态

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

  7. rtl8723bs/ds 蓝牙和wifi共存造成蓝牙的卡顿解决方案.

    首先.先确认 POWER_SAVING 这个宏是否打开,如果打开了请关掉,因为这个功能是路由器把对应的设备的流量包存储在路由器上,然后到一定的包的数量的时候,分发给嵌入式设备.如果这样可能造成天线通过 ...

  8. 采用瑞昱RTL8852AE的WiFi 6模块RW6852-PCIE

    RW6852-PCIE是一款高度集成的模块,支持2T2R 802.11ax解决方案,支持MU-MIMO无线LAN (WLAN) PCI Express网络接口控制器和HS-UART混合接口.它在模块中 ...

  9. WiFi6模组RW6852S-50

    RW6852S-50是一款高度集成的模块,支持2T2R 802.11 a/b/g/n/ac/ax和无线局域网SDIO (SDIO 1.1/2.0/3.0)接口控制器和蓝牙5.0 HS-UART接口控制 ...

  10. wifi频率和zigbee干扰_防止Wi-Fi和Zigbee共存的干扰方法分享

    Wi-Fi与Zigbee共存设计的基础知识与技巧 Wi-Fi 共存允许多个2.4 GHz 技术(包括 Wi-Fi.Zigbee.Thread 和蓝牙)同时运行,而不会发生来自一个无线电的信号干扰相邻无 ...

最新文章

  1. linux安装phoenix 5.1.0(对应hbase 2.2.6)
  2. 原生sql实现restful接口调用
  3. 基本语法和数组(二维,多维,交错数组)
  4. 解密双十一小程序云背后毫秒级伸缩的Serverless计算平台:函数计算
  5. 【数据库系统】DBMS、DBS、DBA、DB的区别
  6. 华科05年计算机考研复试机试
  7. 简单介绍java Enumeration(转)
  8. chapter10--进程和计划任务管理
  9. no symbol version section for versioned symbol `memcpy@GLIBC_2.4'
  10. 华中科技大学计算机徐明,华中科技大学2011年本科特优生名单
  11. 最近收集的中科院研究生教学视频
  12. 合肥Android两天十面总结
  13. ssh远程登录命令简单实例
  14. Linux中RAID5搭建
  15. 战斗在 VUCA 时代
  16. [原创]数字转换中文大写金额
  17. 曾仕强《领导的沟通艺术》
  18. js中text方法是啥意识_JS中Text节点总结
  19. 网页中title乱码问题解决方案
  20. android usb 默认mtp,usb修改为默认MTP模式

热门文章

  1. spark相关原理介绍
  2. 李宏毅机器学习——结构化学习(一)
  3. 云计算:大数据时代的系统工程(三)
  4. 云计算解码:技术架构和产业运营
  5. 深入C++“准”标准库,Boost你的力量
  6. ARM处理器系统初始化编程注意事项
  7. 意境级讲解二分查找算法、python
  8. C语言Register关键字:利用寄存器提升访问效率
  9. pandas小记:pandas数据输入输出
  10. php 工厂模式作用,PHP工厂模式的好处概述