小t运动鞋蓝牙win7不能连接蓝牙音箱

红米手机 &
电视盒子 &
智能硬件 &
骨灰级手机控
扫码下载App一键签到 升级加速
小米5版块优秀精华帖汇总
小米工程师解答米5常见问题
蓝牙连接问题
扫一扫!手机看帖更爽
手头的小米5和小米4,之前一直使用正常,最近蓝牙连接一直不顺畅,主要是已经配对的蓝牙产品不能保存,下次还要重新搜索和配对,正在连接使用的蓝牙设计也经常断线,需要重新连接,各位能给指点一下吗?谢谢了!
扫描二维码,手机查看本帖
是的,我也出现了此问题,就是版本更新后出现的,有bug啊
有没有人把这个问题反馈上去
·来自小米手机5
也出现这个问题,新版本升级后就出现的,估计是系统bug吧
京ICP证110507号 京ICP备号Bluetooth(12)
在一个连接当中,主设备会在每个连接事件里向从设备发送数据包。一个连接事件是指主设备和从设备之间相互发送数据包的过程。连接事件的进行始终位于一个频率,每个数据包会在上个数据包发完之后等待&150μs&再发送。
连接间隔决定了主设备与从设备的交互间隔;它是指两个连续的连接事件开始处的时间距离,可以是7.5ms ~ 4s内的任意值,但必须为&1.25ms&的整数倍。要确定从设备与主设备的实际交互间隔,需要用到从设备延迟这一参数,代表从设备在必须侦听之前可以忽略多少个连接事件。
如下图所示,连接事件被一个个的连接间隔分开。从主设备发送数据包开始,每个连接事件可以持续进行,直至主设备或从设备停止响应。在连接事件之外,主从设备之间不发送任何数据包。
举个例子,如果连接间隔为&100ms,从设备延迟是&9,那么从设备可以忽略&9&个链接事件,但不得不侦听第&10&个连接事件。换言之,从设备必须每秒侦听一次,而此时监控超时的最小值应为&1010ms。反过来,另一个极端的例子是,如果监控超时使用了&32s&的最大值,对于间隔为&100ms&的链路,从设备延时必须小于等于&319。
虽然如此,如果将从设备延迟设为可行的最大值,在监控超时发生前从设备只能获得唯一一次侦听主设备的机会,这可不是一个好主意。因此,建议至少给从设备留出&6&次侦听的机会。在前面的例子中,如果连接间隔为&100ms&,从设备延迟为&9,那么监控超时应该至少为&6s,这样一来,链路在最终断开前从设备至少会有&6&次侦听的机会。
连接参数介绍
主设备和从设备建立连接之后,所有的数据通信都是在连接事件(Connection&Events)中进行的。
尖刺的波就是连接事件(Connection&events),剩下的Sleeping是睡眠时间,设备在建立连接之后的大多数时间都是处于Sleeping,这种情况下耗电量比较低,而在连接事件(Connection&events)中,耗电量就相对高很多,这也是BLE为什么省电的原因之一。
每个连接事件(Connection&events)中,都需要由Master发起包,再由Slave回复。
Master即主机,简称M;Slave即从机,简称S。抓包过程中看到的M-&S或者S-&M即主机到从机或者从机到主机。
连接参数 (Connection&Parameters):
通过修改下面三个参数,就可以设置BLE连接过程中的传输速度和功耗。
1.Connection&Interval(连接间隔)
Connection&Interval(GAPROLE_MIN_CONN_INTERVAL&&&&GAPROLE_MAX_CONN_INTERVAL)连接间隔,在BLE的两个设备的连接中使用跳频机制。两个设备使用特定的信道发送和接收数据,然后过一段时间后再使用新的信道(BLE协议栈的链路层处理信道的切换)。两个设备在切换信道后发送和接收数据称为一个连接事件。尽管没有应用数据被发送和接收,两个设备仍旧会交换链路层数据(空包 Empty&PDU)来维持连接。
这个连接间隔就是指在一个连接事件(Connection&events)的开始到下一个连接事件(Connection&events)的开始的时间间隔。连接间隔以1.25ms为单元,连接间隔的范围是6&~&ms&~&4s之间。
2.Slave&Latency(从设备延迟或者从设备时延)
允许Slave(从设备)在没有数据要发的情况下,跳过一定数目的连接事件(Connection&events),在这些连接事件(Connection&events)中不必回复Master(主设备)的包,这样就能更加省电。
范围可以是0 ~ 499
更详细的使用解析如下:
Slave&Latency&=&OFF也就是Slave&Latency为0时,Master发包,Slave必须回复,如果不回复,Master就会认为Slave那边接收不正常。
Slave&Latency&=&ON也就是Slave&Latency不为0的时候,图中Slave&Latency为&3。Master发包,Slave没有数据要回复的时候,就会忽略&3&个连接事件,在第&4&个连接事件接收到Master发送的数据之后,回复Master。如果Slave有数据要发送就会唤醒,也就是说即使Slave&Latency为&3,但是在Master发第二包的时候Slave有数据要回复,这个时候就会立即回复Master而不是等到&3&个连接事件之后的第&4&个连接事件去回复。
3.Supervision&Timeout(超时时间或者监控超时)
这个参数设定了一个超时时间,如果BLE在这个时间内没有发生通信的话,就会自动断开。
单位是&10ms,该变量的范围是10 ~ 3200,折算成时间范围是100ms ~ 32s&。
连接间隔、从机时延以及超时时间这三者必须满足如下公式:
Supervision&Timeout &&&(1&+slaveLatency)*&(connectionInterval)
上述公式必须满足,否则连接就会不正常断开。
这三个连接参数不同情况下对通信速率和功耗的影响:
1.Connection&Interval缩短,Master和Slave通信更加频繁,提高数据吞吐速度,缩短了数据发送的时间,当然也增加了功耗。
2.Connection&Interval增长,通信频率降低,数据吞吐速度降低,增加了数据发送的时间,当然,这种设置降低了功耗。
3.Slave&Latency减少或者设置为&0,每次Connection&Events中都需要回复Master的包,功耗会上升,数据发送速度会提高。
4.Slave&Latency加长,功耗下降,数据发送速度降低。
连接参数更新规程
连接建立时,主设备通过链接请求数据包发送连接参数。当连接活跃了一段时间,连接参数也许不再适用于当前使用的服务。出于提高效率的目的,连接参数需要进行更新。较之首先断开连接、接着更换新参数重新连接,还有一种在链路中更新参数更为简单的途径,如下图所示:
为此,主设备向从设备发送连接更新请求,即LL_CONNECTION_UPDATE_REQ,当中携带了新的参数。这些参数不必进行协商,从设备或者接受和使用它们,或者断开链路。连接更新请求中包含了早先创建连接时用过的一部分参数,还有一个称为瞬时(instant)的新参数:
1.传输窗口大小
2.传输窗口偏移量
3.连接间隔
4.从设备延迟
5.监控超时
瞬时参数决定了连接更新的开始时刻。发送消息时,主设备为连接更新选定一个未来的时间点,并且放在消息中。接到消息后,从设备会记住这个未来的时刻,届时再切换至新的连接参数。这有助于解决无线系统里的一个最大问题----报文重传。只要数据包的重传次数足够,并最终在瞬时之前传输成功,上述过程执行起来就不会有问题。但是,如果该数据包届时没能完成传输,链路就有可能丢失。
由于低功耗蓝牙没有时钟,要决定瞬时时刻只有依靠计算连接事件的个数。因此,每一个连接事件都会被计数,链路上的第一个连接事件,也就是在连接请求之后的位于首个传输窗口里的连接事件记为&0。因此,瞬时实际上是一个连接事件的计数器,相应的连接事件到来时就使用新的参数。为了让从设备收到数据包,主设备必须为其提供足够的机会。不过从设备延迟是多少,都应该至少保证 6 次数据发送机会。也就是说,如果从设备延迟为&500ms,那么瞬时通常被设定在&3s&之后的某个未来时刻。
瞬时到来时,从设备开始侦听发送窗口,就好像连接建立的过程那样。主设备能够调整从设备的计时,总体而言不超过&1.25ms。不过,由于主设备可能还是一个经典蓝牙设备,上述调整使其得以协调低功耗蓝牙从设备,从而更好地完成调度。一旦该过程结束,新的连接间隔、监控超时、从设备延迟值将投入使用。
连接参数的修改
“连接参数更新请求”命令可以让从设备更新链路层的连接参数,如下图所示。这些参数包括连接间隔(从设备希望主设备允许从设备发送数据包的频率)、从设备延迟(从设备能够忽略主设备的连接事件的最大值)以及监控超时。
在连接中,如果从设备希望修改当前的连接参数则可以使用该命令。比方说,如果连接事件的间隔有可能太快了,导致过多的电量浪费。这在从设备时延很大时没有问题,但如果不是这样,从设备将会频繁的侦听链路。这在一些情况下是必要的,例如设备间首次绑定、互发多个数据包、探索服务和设备特性等。但在很多其他情况下,尽可能地减少从设备必须侦听连接事件的数量对提高电池寿命至关重要。
连接参数更新请求命令仅用于从设备向主设备发送,这是由于主设备随时都能启动链路层连接参数更新控制(Connection&Parameter&Update&Control)规程。如果该命令由主设备发送,从设备会将其视为一个错误,并返回带有“命令不理解”原因代码的“命令拒绝”命令。
从设备可以在任何时候发送该命令;收到该信息的主设备如果可以修改连接参数,则将返回“连接参数更新响应”(Connection&Parameter&Update&Response),其中的结果代码设为“接受(accepted)”。随后,主设备将会启动链路层连接参数更新控制规程。
当然,如果主设备不同意从设备的请求参数,它可以发送结果代码为“拒绝(rejected)”的连接参数更新响应命令以拒绝请求。此时从设备有两个选择:要么接受主设备希望的正在使用的连接参数,要么终止连接。终止连接的做法咋看起来可能让人觉得很激进,但是,假如使用当前的参数从设备将会在一周内耗尽电量,而使用请求的参数则可以持续数年,很明显,合理的选择只有一个。
修改连接参数时,如果要减少主设备拒绝从设备请求的可能性,可以在请求里设置一个可接受的参数范围。经过精心设计的从设备会乐意接受很宽的参数范围。由于主设备可能正忙于实时会话音频连接或者高质量语音连接等任务,它可以接受一定范围内的连接间隔参数。设备可接受的间隔参数会根据当前任务的不同而不同,可能有别于上一次设备连接时的参数。
要提高主设备接受连接参数的机率,还有个方法是从设备提供一个合理的从设备延迟。主设备可以选择最合适的连接事件间隔,从设备则使用最佳功耗的从设备延迟参数。
举个例子,如果从设备想每&600ms&同步一次,它可以请求范围&100ms ~ 750ms&的连接间隔参数,并带上从设备延迟5。如果主设备选择&100ms,则从设备每6个连接事件同步一次;如果主设备选择&200ms,则从设备每&3&个连接事件同步一次,实现其所期望的&600ms&间隔;如果主设备选择&300ms,则从设备忽略每隔一个连接事件同步一次;如果主设备选择&400ms,则从设备每&400ms&同步一次。
下面介绍一下在TI的CC2540和CC2541中,连接参数修改的方法。
(一)连接成功建立之后从设备自动申请修改连接参数。
我们以TI 1.4.0协议栈中的“simpleBLEPeripheral”工程为例来进行讲解,在这个工程的“Projects\ble\SimpleBLEPeripheral\Source\simpleBLEPeripheral.c”应用文件中定义了如下的宏:
&&#define&DEFAULT_ENABLE_UPDATE_REQUEST&&&&&&&&&TRUE&&
从上面的注释中,我们可以看出这个宏的作用是当一个连接建立的时候,是否需要自动申请连接参数更新。当设置为“TRUE”的时候就是需要,当设置为“FALSE”的时候就是不需要。那这个宏到底是如何起作用的呢?下面我们来看一下。
1.“Projects\ble\SimpleBLEPeripheral\Source\simpleBLEPeripheral.c”应用文件中的“SimpleBLEPeripheral_Init”初始化方法里对该宏进行了处理,源码如下:
uint8&enable_update_request&=&DEFAULT_ENABLE_UPDATE_REQUEST;&&GAPRole_SetParameter(&GAPROLE_PARAM_UPDATE_ENABLE,&sizeof(&uint8&),&&enable_update_request&);&&
2.我们看下“GAPRole_SetParameter”方法里面的相关的操作,相关操作在“Projects\ble\Profiles\Roles\peripheral.c”文件里,源码如下:
case&GAPROLE_PARAM_UPDATE_ENABLE:&&&&&&if&(&(len&==&sizeof&(&uint8&))&&&&(*((uint8*)pValue)&&=&TRUE)&)&&&&&&{&&&&&&&&&&gapRole_ParamUpdateEnable&=&*((uint8*)pValue);&&&&&&}&&&&&&else&&&&&&{&&&&&&&&&&ret&=&bleInvalidR&&&&&&}&&&&&&break;&&
3.从上面的代码不难看出,将我们设置的宏赋给了“gapRole_ParamUpdateEnable”全局变量,下面我们在本文件中搜索一下该全局变量使用的地方,发现在如下源码中用到了:
&&case&GAP_LINK_ESTABLISHED_EVENT:&&{&&&&&&gapEstLinkReqEvent_t&*pPkt&=&(gapEstLinkReqEvent_t&*)pM&&&&&&&&if&(&pPkt-&hdr.status&==&SUCCESS&)&&&&&&{&&&&&&&&&&VOID&osal_memcpy(&gapRole_ConnectedDevAddr,&pPkt-&devAddr,&B_ADDR_LEN&);&&&&&&&&&&gapRole_ConnectionHandle&=&pPkt-&connectionH&&&&&&&&&&gapRole_state&=&GAPROLE_CONNECTED;&&&&&&&&&&&&if&(&gapRole_RSSIReadRate&)&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&VOID&osal_start_timerEx(&gapRole_TaskID,&RSSI_READ_EVT,&gapRole_RSSIReadRate&);&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&gapRole_ConnInterval&=&pPkt-&connI&&&&&&&&&&gapRole_ConnSlaveLatency&=&pPkt-&connL&&&&&&&&&&gapRole_ConnTimeout&=&pPkt-&connT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if&(&gapRole_ParamUpdateEnable&==&TRUE&)&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&uint16&timeout&=&GAP_GetParamValue(&TGAP_CONN_PAUSE_PERIPHERAL&);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&osal_start_timerEx(&gapRole_TaskID,&START_CONN_UPDATE_EVT,&timeout*1000&);&&&&&&&&&&}&&
4.上面的注释非常清楚了,在连接成功建立返回的事件中判断我们设置的宏,如果设置为“TRUE”,那就获取我们设置的时间间隔,在延时我们设置的时间间隔(上面注释中提到至少,因为用的是系统定时器,有可能在执行别的事件,所以实际的延时时间会大于我们设置的时间,当然,一般情况下偏移的那点时间是可以忽略的)之后,触发连接参数更新事件,进行连接参数的更新。那上面源码中获取的时间间隔以及后面要更新的连接参数是在什么地方设置的呢?下面我们继续回到应用层文件中查看相关设置。
5.在“Projects\ble\SimpleBLEPeripheral\Source\simpleBLEPeripheral.c”文件中定义了如下宏用来设置自动更新连接参数时,相关连接参数的值,源码如下:
&&&&#define&DEFAULT_DESIRED_MIN_CONN_INTERVAL&&&&&80&&&&&&&&#define&DEFAULT_DESIRED_MAX_CONN_INTERVAL&&&&&800&&&&&&&&#define&DEFAULT_DESIRED_SLAVE_LATENCY&&&&&&&&&0&&&&&&&&#define&DEFAULT_DESIRED_CONN_TIMEOUT&&&&&&&&&&1000&&&&&&&&#define&DEFAULT_CONN_PAUSE_PERIPHERAL&&&&&&&&&6&&
6.通过上述宏进行相应设置的地方在“Projects\ble\SimpleBLEPeripheral\Source\simpleBLEPeripheral.c”文件的“SimpleBLEPeripheral_Init”初始化方法中,源码如下:
VOID&GAP_SetParamValue(&TGAP_CONN_PAUSE_PERIPHERAL,&DEFAULT_CONN_PAUSE_PERIPHERAL&);&&&&uint16&desired_min_interval&=&DEFAULT_DESIRED_MIN_CONN_INTERVAL;&&uint16&desired_max_interval&=&DEFAULT_DESIRED_MAX_CONN_INTERVAL;&&uint16&desired_slave_latency&=&DEFAULT_DESIRED_SLAVE_LATENCY;&&uint16&desired_conn_timeout&=&DEFAULT_DESIRED_CONN_TIMEOUT;&&&&GAPRole_SetParameter(&GAPROLE_MIN_CONN_INTERVAL,&sizeof(&uint16&),&&desired_min_interval&);&&GAPRole_SetParameter(&GAPROLE_MAX_CONN_INTERVAL,&sizeof(&uint16&),&&desired_max_interval&);&&GAPRole_SetParameter(&GAPROLE_SLAVE_LATENCY,&sizeof(&uint16&),&&desired_slave_latency&);&&GAPRole_SetParameter(&GAPROLE_TIMEOUT_MULTIPLIER,&sizeof(&uint16&),&&desired_conn_timeout&);&&
上述操作在“Projects\ble\Profiles\Roles\peripheral.c”文件里的具体实现我们就不一起看了,因为里面其实就是一个赋值的过程,所以大家自行查看即可。
(二)连接成功建立之后从设备在需要的时候去修改某个连接参数或者全部的连接参数。
1.修改单个连接参数的方法
修改最小连接间隔
uint16&desired_min_interval&=&DEFAULT_DESIRED_MIN_CONN_INTERVAL;&&GAPRole_SetParameter(&GAPROLE_MIN_CONN_INTERVAL,&sizeof(&uint16&),&&desired_min_interval&);&&
修改最大连接间隔
uint16&desired_max_interval&=&DEFAULT_DESIRED_MAX_CONN_INTERVAL;&&GAPRole_SetParameter(&GAPROLE_MAX_CONN_INTERVAL,&sizeof(&uint16&),&&desired_max_interval&);&&
修改从设备延迟
uint16&desired_slave_latency&=&DEFAULT_DESIRED_SLAVE_LATENCY;&&GAPRole_SetParameter(&GAPROLE_SLAVE_LATENCY,&sizeof(&uint16&),&&desired_slave_latency&);&&
修改超时时间
uint16&desired_conn_timeout&=&DEFAULT_DESIRED_CONN_TIMEOUT;&&GAPRole_SetParameter(&GAPROLE_TIMEOUT_MULTIPLIER,&sizeof(&uint16&),&&desired_conn_timeout&);&&
2.所有连接参数一起修改的方法
uint16&minConnI&&uint16&maxConnI&&uint16&slaveL&&uint16&timeoutM&&&&&&GAPRole_SendUpdateParam(&minConnInterval,&maxConnInterval,&slaveLatency,&timeoutMultiplier,&GAPROLE_TERMINATE_LINK);&&
GAPRole_SendUpdateParam传入的前四个参数在之前都已经介绍过了,下面介绍下最后一个参数,最后一个参数设置的是连接参数更新失败后的操作,可取值定义在peripheral.h文件中,如下:
&&&&&&&&&#define&GAPROLE_NO_ACTION&&&&&&&&&&&&&&&&&&&&0&//&Take&no&action&upon&unsuccessful&parameter&updates&&#define&GAPROLE_RESEND_PARAM_UPDATE&&&&&&&&&&1&//&Continue&to&resend&request&until&successful&update&&#define&GAPROLE_TERMINATE_LINK&&&&&&&&&&&&&&&2&//&Terminate&link&upon&unsuccessful&parameter&updates&&
GAPROLE_NO_ACTION:没有任何动作
GAPROLE_RESEND_PARAM_UPDATE:重新发送参数更新请求
GAPROLE_TERMINATE_LINK:断开连接
对于上述介绍的两种修改连接参数的方法,个人建议还是采用第二种方法,因为第一种方法在修改某一个参数的时候,可能会导致其他参数的变化,比如我们只修改了连接间隔,但从机延时可能会随之改变,这样我们就无法根据自己的需求控制连接参数的更新。
第二种方法在使用的时候有可能碰到一种情况,就是我们只想修改某一个或者某两个连接参数,剩下的参数想保持原有的,这样的话,我们需要在修改连接参数之前先去读取连接参数,然后将需要修改的参数进行重新设置即可,读取连接参数的代码如下:
uint16&&&uint16&&&uint16&&&GAPRole_GetParameter(GAPROLE_CONN_INTERVAL,&&interval);&&&GAPRole_GetParameter(GAPROLE_CONN_LATENCY,&&latency);&&&GAPRole_GetParameter(GAPROLE_CONN_TIMEOUT,&&timeout);&&&
下面我们通过一个实例来具体了解下连接参数修改的方法,需求是将连接间隔修改为25,从机延迟修改为8,超时时间不修改,更新失败后重新发送参数更新请求,本实例中主设备是设备,从设备是CC2541。代码实现如下:
uint16&&&uint16&&&uint16&&&&&GAPRole_GetParameter(GAPROLE_CONN_INTERVAL,&&interval);&&&GAPRole_GetParameter(GAPROLE_CONN_LATENCY,&&latency);&&&GAPRole_GetParameter(GAPROLE_CONN_TIMEOUT,&&timeout);&&&&&&&&&GAPRole_SendUpdateParam(&25,&25,&8,&timeout,&GAPROLE_RESEND_PARAM_UPDATE);&&
该过程抓包显示如下:
从抓到的包中我们看到首先是S-&M,即从设备发送连接参数更新请求,请求中带有申请的连接参数,然后M-&S,即主设备返回连接参数更新响应,Result为0,表示同意修改更新。最后M-&S发送Data&type为Control的链路层连接参数更新控制规程,携带同意的连接参数,这样,新的连接参数就会投入使用。
注意修改连接参数的时候要满足一定的要求:
1.安卓设备作主设备时,连接参数满足的要求见本篇博文第二节“连接参数介绍”中提到的内容。另外实际开发过程中发现安卓设备作主设备时存在一个问题,就是部分安卓设备连接BLE设备之后,只能进行一次连接参数的修改。
2. 苹果系统设备作主设备时,连接参数更新的要求比较苛刻,如下:
Interval&Max&*&(Slave&Latency&+&1)&≤&2&seconds
Interval&Min&≥&20&ms
Interval&Min&+&20&ms&≤&Interval&Max
Slave&Latency&≤&4
connSupervisionTimeout&≤&6&seconds
Interval&Max&*&(Slave&Latency&+&1)&*&3&&&connSupervisionTimeout
最大连接间隔时间 *(从机延迟&+&1)&≤&2s
最小连接间隔时间 ≥&20&ms
最小连接间隔时间 +&20&ms&≤&最大连接间隔时间
从机延迟&≤&4
超时时间&≤&6s
最大连接间隔时间 *(从机延迟&+&1)*&3&&&&超时时间
所以如果你的BLE从设备需要被主设备连接,那你的BLE从设备的默认申请的连接参数一定要满足上述要求,并且连接过程中修改连接参数的时候也要满足上述要求。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:419719次
积分:7724
积分:7724
排名:第1984名
原创:266篇
转载:516篇
评论:25条
(35)(49)(8)(9)(3)(19)(18)(19)(54)(2)(23)(11)(24)(12)(5)(4)(12)(9)(13)(2)(4)(3)(14)(10)(1)(4)(15)(7)(13)(4)(14)(27)(9)(1)(7)(36)(93)(49)(56)(23)(61)(8)小t连接不到蓝牙,谁知道如何解决_联想a798t吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,637贴子:
小t连接不到蓝牙,谁知道如何解决收藏
搜索不到有蓝牙耳机的标志,其他手机这个蓝牙耳机都可以用,就这个不行啊
联想ThinkCentreM7300z一体机采用第六代英特尔酷睿i5处理器,英特尔(R),让效能更强劲.20寸广视角屏幕,双屏显示,视野开阔.支持双硬盘,兼顾存储速度和容量,高效办公,商务一体
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或CC2541 使用贴片天线无法连接 - 蓝牙Bluetooth 技术 - 德州仪器在线技术支持社区
CC2541 使用贴片天线无法连接
发表于2年前
<input type="hidden" id="hGroupID" value="42"
由于PCB面积限制,在给&a href=&.cn/product/cn/CC2541& target=&extwin&>CC2541&/a>天线上选择了&span>Johanson&Balun+&Fractus&FR05-S1-N-0-102的方式&/span>&/p>
&p>&span>原理图如下:&/span>&/p>
&p>&span>&a href=&/cfs-file.ashx/__key/communityserver-discussions-components-files/103/3108.CC2541.JPG&>&img src=&/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/103/3108.CC2541.JPG& border=&0& alt=& &>&/a>&/span>&/p>
&p>&span>PCB Layout如下:&/span>&/p>
&p>&span>&a href=&/cfs-file.ashx/__key/communityserver-discussions-components-files/103/6505.layout.JPG&>&img src=&/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/103/6505.layout.JPG& border=&0& alt=& &>&/a>&/span>&/p>
&p>PCB Layout做了阻抗匹配确保天线馈线阻抗50ohm&/p>
&p>现在通过USB Dougle 与此板相连,需要非常近距离(小于30cm)才能找到,且连接失败:&/p>
&div>&[1]&:&&Tx&&-&10:52:08.747&br>-Type :&0x01&(Command)&br>-Opcode :&0xFE09&(GAP_EstablishLinkRequest)&br>-Data&Length :&0x09&(9)&byte(s)&br>&HighDutyCycle :&0x00&(Disable)&br>&WhiteList :&0x00&(Disable)&br>&AddrTypePeer :&0x00&(Public)&br>&PeerAddr :&4B:1F:58:04:A5:78&br>Dump(Tx):&br>01&09&FE&09&00&00&00&4B&1F&58&04&A5&78&&br>------------------------------------------------------------------------------------------------------------------------&br>[2]&:&&Rx&&-&10:52:08.778&br>-Type :&0x04&(Event)&br>-EventCode :&0xFF&(HCI_LE_ExtEvent)&br>-Data&Length :&0x06&(6)&bytes(s)&br>&Event :&0x067F&(GAP_HCI_ExtentionCommandStatus)&br>&Status :&0x00&(Success)&br>&OpCode :&0xFE09&(GAP_EstablishLinkRequest)&br>&DataLength :&0x00&(0)&br>Dump(Rx):&br>04&FF&06&7F&06&00&09&FE&00&&br>------------------------------------------------------------------------------------------------------------------------&br>[3]&:&&Info&&-&10:52:10.167&br>Device&Connected&br>Handle&=&0x0000&br>Addr&Type&=&0x00&(Public)&br>BDAddr&=&78:A5:04:58:1F:4B&br>------------------------------------------------------------------------------------------------------------------------&br>[4]&:&&Rx&&-&10:52:10.167&br>-Type :&0x04&(Event)&br>-EventCode :&0xFF&(HCI_LE_ExtEvent)&br>-Data&Length :&0x13&(19)&bytes(s)&br>&Event :&0x0605&(GAP_EstablishLink)&br>&Status :&0x00&(Success)&br>&DevAddrType :&0x00&(Public)&br>&DevAddr :&78:A5:04:58:1F:4B&br>&ConnHandle :&0x0000&(0)&br>&ConnInterval :&0x0050&(80)&br>&ConnLatency :&0x0000&(0)&br>&ConnTimeout :&0x07D0&(2000)&br>&ClockAccuracy :&0x00&(0)&br>Dump(Rx):&br>04&FF&13&05&06&00&00&4B&1F&58&04&A5&78&00&00&50&&br>00&00&00&D0&07&00&&br>------------------------------------------------------------------------------------------------------------------------&br>[5]&:&&Info&&-&10:52:10.697&br>Device&Disconnected&br>Handle&=&0x0000&br>Addr&Type&=&0x00&(Public)&br>BDAddr&=&78:A5:04:58:1F:4B&br>------------------------------------------------------------------------------------------------------------------------&br>[6]&:&&Rx&&-&10:52:10.697&br>-Type :&0x04&(Event)&br>-EventCode :&0xFF&(HCI_LE_ExtEvent)&br>-Data&Length :&0x06&(6)&bytes(s)&br>&Event :&0x0606&(GAP_TerminateLink)&br>&Status :&0x00&(Success)&br>&ConnHandle :&0x0000&(0)&br>&&span style=&background-color:#ffff00;&>Reason :&0x3E&(Failed&To&Establish)&/span>&br>Dump(Rx):&br>04&FF&06&06&06&00&00&00&3E&&br>------------------------------------------------------------------------------------------------------------------------&/div>
&p>&span>想知道是怎么回事,怎么解决,同样板子都有这个问题,请专家指导。&/span>&/p>
&p>&span>&/span>&/p>&div style=&clear:&>&/div>" />
CC2541 使用贴片天线无法连接
此问题尚无答案
All Replies
由于PCB面积限制,在给天线上选择了Johanson&Balun+&Fractus&FR05-S1-N-0-102的方式
原理图如下:
PCB Layout如下:
PCB Layout做了阻抗匹配确保天线馈线阻抗50ohm
现在通过USB Dougle 与此板相连,需要非常近距离(小于30cm)才能找到,且连接失败:
&[1]&:&&Tx&&-&10:52:08.747-Type :&0x01&(Command)-Opcode :&0xFE09&(GAP_EstablishLinkRequest)-Data&Length :&0x09&(9)&byte(s)&HighDutyCycle :&0x00&(Disable)&WhiteList :&0x00&(Disable)&AddrTypePeer :&0x00&(Public)&PeerAddr :&4B:1F:58:04:A5:78Dump(Tx):01&09&FE&09&00&00&00&4B&1F&58&04&A5&78&------------------------------------------------------------------------------------------------------------------------[2]&:&&Rx&&-&10:52:08.778-Type :&0x04&(Event)-EventCode :&0xFF&(HCI_LE_ExtEvent)-Data&Length :&0x06&(6)&bytes(s)&Event :&0x067F&(GAP_HCI_ExtentionCommandStatus)&Status :&0x00&(Success)&OpCode :&0xFE09&(GAP_EstablishLinkRequest)&DataLength :&0x00&(0)Dump(Rx):04&FF&06&7F&06&00&09&FE&00&------------------------------------------------------------------------------------------------------------------------[3]&:&&Info&&-&10:52:10.167Device&ConnectedHandle&=&0x0000Addr&Type&=&0x00&(Public)BDAddr&=&78:A5:04:58:1F:4B------------------------------------------------------------------------------------------------------------------------[4]&:&&Rx&&-&10:52:10.167-Type :&0x04&(Event)-EventCode :&0xFF&(HCI_LE_ExtEvent)-Data&Length :&0x13&(19)&bytes(s)&Event :&0x0605&(GAP_EstablishLink)&Status :&0x00&(Success)&DevAddrType :&0x00&(Public)&DevAddr :&78:A5:04:58:1F:4B&ConnHandle :&0x0000&(0)&ConnInterval :&0x0050&(80)&ConnLatency :&0x0000&(0)&ConnTimeout :&0x07D0&(2000)&ClockAccuracy :&0x00&(0)Dump(Rx):04&FF&13&05&06&00&00&4B&1F&58&04&A5&78&00&00&50&00&00&00&D0&07&00&------------------------------------------------------------------------------------------------------------------------[5]&:&&Info&&-&10:52:10.697Device&DisconnectedHandle&=&0x0000Addr&Type&=&0x00&(Public)BDAddr&=&78:A5:04:58:1F:4B------------------------------------------------------------------------------------------------------------------------[6]&:&&Rx&&-&10:52:10.697-Type :&0x04&(Event)-EventCode :&0xFF&(HCI_LE_ExtEvent)-Data&Length :&0x06&(6)&bytes(s)&Event :&0x0606&(GAP_TerminateLink)&Status :&0x00&(Success)&ConnHandle :&0x0000&(0)&Reason :&0x3E&(Failed&To&Establish)Dump(Rx):04&FF&06&06&06&00&00&00&3E&------------------------------------------------------------------------------------------------------------------------
想知道是怎么回事,怎么解决,同样板子都有这个问题,请专家指导。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
不能沉呀,TI的大师们帮忙看一下啊,非常着急
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
radio register设置:
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼47095分
TI有一个使用贴片天线的模块,您可以参考链接&/tool/ 内的设计文件
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
我已经用贴片天线做出了样品,测试5米范围内连接正常。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
巴伦和天线之间的电路设计有问题,导致巴伦和天线之间没匹配好。
贴片天线手册上给你天线匹配电路也绝对不能照搬,需要根据你实际设计的板材参数来决定。
具体方法可以参考Johanson给的方法/integrated-passives/more-info/chip-antenna-tuning-and-characterization-services.html#.VNMFotKUeE0
只要善用网络分析仪和史密斯原图,这类匹配一般都没问题。
我是用Johanson&Balun+Johanson 天线给做射频部分。调试出来覆盖20多米长的办公室都没问题。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼47095分
谢谢haolin tang的分享!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
利用网络分析仪的时候,芯片需要通电吗?
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
状元17715分
大秦正声蓝牙电子之家
德州仪器蓝牙芯片cc2540/cc2541/cc2640一带三烧录工具以及芯片代理烧录服务!
订做C2000芯片批量生产脱机烧录器!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
不需要,这里用网络分析仪只是对巴伦输出和天线输入之间进行匹配
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花10733分
谢谢大家分享。
但我觉得再失配也不应该是30cm的距离。
个人觉得是不是器件问题。
1. 器件贴错了?
2. 买到假货?(淘宝会发生:-))
3. 天线参考电路问题。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
您好,BR. AZ,我用二层板做了一款蓝牙的防丢器 采用集成芯片的巴伦 板子厚度0.4cm 做了50欧姆阻抗匹配 在用smartrfstudio强发0dbm功率时,巴伦的输出只有-15dbm(用频谱仪测量) 这个是不是巴伦是假货啊(淘宝买的) 这也太差了 比分离器件的巴伦效果还差 ,巴伦这种便宜的小东西也有假货吗?&
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花10733分
&难讲哦,我有客户电感也买到假的。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
有没有这个巴伦的代理商推荐呀?或者那样品的途径~~
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花10733分
&可以直接digikey上看看?
You have posted to a forum that requires a moderator to approve posts before they are publicly available.

我要回帖

更多关于 蓝牙耳机不能自动连接 的文章

 

随机推荐