- 本课程为精品课,您可以登录eeworld继续观看:
- Agama 硬件介绍
- 登录
- 课程目录
- 课程笔记
好 5.0就是三个口号
所以至少今天你在
花这个时间来听我们的
介绍 你至少
记得什么是5.0
两倍的距离 这个
弄错了
要改
好 两倍的throughput啊
就data rate
然后4倍的距离
然后8倍的广播资料
那为什么它可以达到2倍的距离
因为它的data rate
2M PHY这边它从
一面杠support两面杠的模式
那刚刚有提到说
data rate throughput跟距离
是鱼与熊掌 不可兼得
因为它是用跳变的方式
去产生一个比较告诉的两面杆
5 rate data rate 所以它的距离就会
比较短一些
那它另外一个好处 比较告诉
所以空气中传输的时间就
变短
那这样也会让device更省电
那在距离方面
它的跳变呢
有两种 一个是S2
S2就是除以2
什么除以2
1MG除以2
1MG除以2就变成500K
500K的模式
另外一个是除以8
就125K的模式
OK
那你牺牲掉的throughput 换回来的就是
可以传比较高的距离
然后 相对的 你空气中传输的时间就会
增长了
第三个功能就是广播封包
资料量乘以8倍
那后面介绍你会更了解说
它不止是乘以8倍
加上它一个新的packet的封包格式呢
它叫做chain 就是把它连接起来
它可以更长
那包括你要用新的PHY
可以用两面杆
或者是 coded S2或者8
然后在非连接的模式下
然后它这边增加了一些封包型别
待会可以跟各位讲
那它为什么可以做这样
这就类似我们新研的软体一样
它有pointer 指标
跟pointee 被指到的物体
它就是广播的实体的payroll
像这种概念 可以让你
你的广播的资料可以更
封包量更大
可以传到1560个byte
那这边介绍它怎么做到
2M的模式
就是它把symbol rate呢 double
本来就是1M
然后把1个signal代表的bit呢
给它double
那所以
对它变两倍
是不是传输的时间就缩短一半呢
我们来看啊 当然有一些特性的
底下是传统1M的模式
它的传输
那这个是2M模式
的确这个封包的长度变短了
但是蓝牙有一些特性的
规范 你封包跟封包之间
至少要相隔150个纳秒
好 你看 所以整体来讲
这个时间到下个时间
虽然你一半的时间
把该传的资料传完
但你还是要等这个时间
因为刚刚有讲过
5.0的device必须要跟4.2相同
所有有4.2的一些 你可以说它是
规范或者包袱也好
它都必须要follow
OK
所以它一定可以变成
两倍快速吗
要几个要素要考虑到
一个是连线的间隔
还有封包的size
还有每个连线的connection
通联的时间它可以
带几个封包
都要纳入考量
好 那再来
Coded PHY刚刚讲都是通过 symbol rate
的调整 那
这个S2呢 就是我们一个bit用两个
symbol来代表
那我们再用FEC
Forward error connection来做补偿
所以 即使你封包
即使你bit有掉几个
它一样可以把它矫正回来
那所以 这就好像说
现在流行一句话就是
因为很重要 所以说几次
很多次 对不对
所以当你说很多次
那个对方漏掉一次
他还有机会catch up回来
就是这个意思
所以这个
但是它里面涵盖的
通讯的储存的
那个理论在里面
OK
所以另外一个就是
除以8倍的就是
125K的模式
OK
这个是详细的一个封包里边
的栏位
那因为无线通信在idol的时候
它为了让你收到讯号跟类似sync
同步的功能
所以封包前面都会有preamble·
所以这个东西是不管
1M 还是S2 S8都要
follow的 都要用一样的preamble
后面就是 它用S8
来规范
另外 后面就可以用S2或S8来
传输
所以你看 标准的1M的模式
是这么长的话
所以你看 这边的间隔要150纳秒嘛
然后这个是150纳秒
所以因为这个荧幕容不下那么大
所以我们类似把S2这边呢
缩小一半
所以真正呢
这个S2比这个S1
不是S1 是1M的模式呢
大概要将近4倍的时间
OK
好 这边就讲掉 这边150纳秒相对
相应这边代表150纳秒
OK
所以 这边就是你
换的可以有远距离
那你的side effect就是缺点就是
传输的时间真的变得很长
好 这边是一个
线上的影片
大概是将近6分钟
那我不在这边播出
这边有link的网址
连接 那各位会后可以去观赏
那我们这个老外呢
在挪威
那他在冬天的一个环境呢
一个人站在山顶上
另外一个人站在湖面
那山顶到湖面的距离
大概是1公里远
OK
那当然这边有一点出题就是
在冬天 下雪的话
它的湿度是比较低的
那这也要注意RF的传输
然后中间会有 这个老外呢
他会跟各位讲述
这个S2到S8的原理
帮助你
1呢 我们就变成10或01
然后S8呢 再把它展开
所以就真的是一句话来讲
重复讲了好几遍的意思
OK
好
然后这边是讲第三个部分
LE5.0
第三个部分
就是广播封包
变长的特色
好 这边是recap 就是复习一下
传统就是5.0之前
它的封包呢 用到哪些型体
有这几种
OK
好 那它的特性就是
它只用1M的data rate来传
然后payroll就是你塞在封包里面的
资料 就是内容物
一个封包只能塞31个byte的
就是8位元
31个byte
然后你只能在37 38 39
的封包来做那个广播
OK
好 所以这是31个byte
好 那这是5.0之前的
针对广播封包的规范
好
那各位可以想说
这边跟大家复习一下
37 38 39
它并不是在 在频谱上看
它并不是连续的3个channel
37呢 是在2402就是
24频带的最前面
38是在三分之一的部分
39是在最后边
2480
那边
那为什么它是这样分配的
因为21.4 它是
有蓝牙 也有WiFi使用
那WiFi 它的频宽
最少都是20MG
甚至现在是40MG
所以利用率呢 我们只能插空隙
因为它的power比较小
所以就塞在最前面最后面 三分之一的部分
OK
那另外就是 37 38 39
是大家公用的channel
所以 37 38 39的资源是非常重要
跟珍贵的
那新的呢
5.0针对A1 就是
广播延长这个功能啊
它定义了几个风暴型别
你可以看到EST啊
或者这个AES辅助的
都是5.0新加的封包型别
那刚才有讲 就是说
它为什么可以这样做啊
然后要能够相容旧的
就是它利用pointer就是指标
跟pointee 被指到的标记物
这种概念
所以它会在原来的 我们叫primary channel
我们叫37 38 39
Secondary channel 就是非37 38 39
的部分的channel
所以 37 38 39它只会说什么
哎 我什么时候
即将在哪个channel做广播
就只讲这件事情而已
因为37 38 39是很珍贵的
就是大家公用嘛
你如果把这个37 38 39狂用的话
就会塞爆
OK
那各位来看 这些都是
红色的框代表是在
37 38 39这是
主要的data channel来做广播
它的封包型别呢就是ADV EXT
Extension
意思是advertisement extension
indication
就是identify
通知 然后
它指到哪里 就是指标嘛
它就是里面的封包的内容
会带着 会跟你讲
什么时候 在哪里
在第几个channel
我会传的这个封包
OK 我会传这个封包
所以这些指标 这是pointee
被指的地方
OK
那它的封包就是
AUX ADV 刚才讲
AUX就是615
才有的定义的封包 OK
那这边就
刚刚讲 EST呢
因为它为了相容
4.0 4.1 4.2
所以它一开始只能在哪里广播
primary data channel 37 38 39
OK
那它里面带到内容会
有两个 会PHY
会跟你讲 我是谁
我即将在哪里 什么时间
哪个地点
因为地点就是channel
来做我要延伸的封包
OK 那这个东西可以
是1M 也可以是
S2 S8 为什么
因为想一个场景 就是
如果你的device跟
就是你的PHY跟你的central连线的
连完线之后 你把那个Coded PHY设成
S2或者S8
那这样才会把距离拉远 对不对
那距离拉远之后呢
如果不小心断线的时候
如果它只有1M会怎样
1M的距离比较近 对不对
两个资料在走进
连线在拉远
这样子是失去了长距离的特性 对不对
所以它这个advertisement extension
一定要支援S2或者S8的data rate
OK
然后再来
我们另外有辅助的AS 你看我们
传统的ADV IND对不对
那么我们加一个AUX
就是5.0才有的
它就是pointee
就是被指到的地方
那它会在哪里出现呢
它就可以在
PHY广播封包
37 38 39
为什么 因为你
37 38 39占用太多的话
你其他的就没办法广播
没办法广播就没办法连线
所以各位如果去
蓝牙的一些seminar看
如果有布置
如果你有时间去看去听的话
你可以看到37 38 39 几乎都塞爆了
因为现场一定有什么
什么demo
mash
61的mash
所以[听不清}的mash
你看 mash号称只要support 4.0的device
就可以增加[听不清]mash
因为它就是
因为它就是在用37 38 39
把它塞爆了
OK 那后果怎样
效率就不好
OK
好
那在这里
因为我们前面的pointer
已经把它引导到后面的
所以它就是
就是辅助的ADV
就可以配合前面来
指定 比如说
这面是S8 后面就引用S8
这样子
那另外还有一个
SYNC跟Chain
那刚刚有讲到
CHAIN字面上就是链条嘛
它就把封包再一次地
所谓的connection interval
在同一个连线的时段里面
我可以用CHAIN的方式
一次传七八个封包
所以刚刚有讲
乘以8 只有乘以8吗
可以更长
我们这个就把
纵轴是channel
还有一个channel的意思
然后这边是时间轴
横轴是时间轴
我在37 38 39
广播 这是pointer
广播的内容里面呢
有PHY
我即将多久 shift就是间隔
多久在哪一个channel
来做广播
那如果我要送长封包呢
我已经搜到 我接受这个指示呢
接受这个pointer的封包 我只是来
来到这边 对不对
那我这个就要善用啊
我是不是还有资料一直一直这样
类似像chain把它串起来
这个意思
所以 5.0的这个长封装就是利用这个
pointer加pointee的方式
那再加上这个chain
就可以让你达到
一次可以传送1650个byte
这么大的一个资料量
好
那 另外一样
旧的 就是在5.0之前
所有的scan request scan response
5.0一样也有
那一样哦 看到这个AUX开头的
都是5.0才有的封包
OK
那我们看看它怎么应用啊
前面是extension 对不对
ADV EXT的
IND的封包
就pointer 然后
跟人家讲 我会在哪里
做这个
广播
然后就进来了
那对方呢
如果是收到的scan request
然后发 你那个
广播者呢就回应
跟response data
一样哦 我们可以用chain的方式
这个黄色就是chain
chain的封包
把这个 待续
continue就是
后面我要送的资料呢
一口气把它丢出去
所以这样你就可以串好几个
最长可以1560个板
OK
好 所以我们做个summary啊
那AE可以support哪几种
型别呢
可连线的
然后non scannable
就是没办法回应
scan response
所以当对方收到这个是non scannable
他不会发scan response
scan request
如果发的话 就违反space
OK 所以它要用到基本的ESD跟
AUX辅助的ADV
然后它这个connectable嘛 所以
就是可以连线 所以
很正常嘛
它可以连线 所以你有什么悄悄话
你可以都现在去讲
就不用通过这个广播封包来讲这个一些的话
OK
然后scannable呢 它就可以去听
Scan request 那也可以
让人家去连线
那这边它为什么可以到1650个呢
你看啊 这个数字乘以8 刚刚记得吗
我们传统的话 一个只能
payroll只能塞31个对不对
31乘以8 就是243
所以乘以8就是这里
所以一个packet可以传243
那多个packet呢 透过这个chain呢
它就可以传到1650个byte
OK
这里应该写大B啊 指的是Byte
OK
另外一个就是broadcast就是类似
beckon的应用
w/chain同样可以传到1650个
那么因为它是broadcast 像beckon
它不会让人家来scan request
也不会回应这个connection
它的角色就是一直broadcast
好 接着我们就要讲
我们的SDK提供了哪些范例
就是我们的SDK提供的
好 Autobus就是我们的SDK
里面开箱呢就有一些范例
那肯定是包括在我们的preview里面
我们就有AE跟coded PHY
的特色
那一样还记得吗
刚刚有讲到 我们的TI Resource
资源里面就有一些范例
我等下会再跟各位介绍
那另外只要你follow这个peripheral
SIMPLE Peripheral跟simple central
你就需要去验证BLE5.0的
三个特性
好 那这个是我们透过
Ellisys的tracker
抓到的封包
这个纵轴是channel
就是RF channel
还记得吗 37 38 39 37是最前面
38在三分之一的部分
39是280 最后一个channel
OK 所以在37 38 39
这个是1M的
广播
我们来看 如果用S2来讲
哎 你有没有发现这个封包变长了
对不对 因为它有S2
200K
所以它传输的时间就变长了
那这个指标是代表什么意思呢
还记得刚才跟大家讲的
5.0它的广播延长的特性就是
就是用pointer 对不对
它的封包就要像一个指标一样
跟你讲我什么时间点
什么地点会送这个封包
所以它里面的内容就像一个
pointer 指标 指到这里来
这个呢 指到这里来
这个应用
OK
好 那再来呢
我们就
讲针对前面那个图
还记得吗 pointer跟pointer
pointer跟pointer经过的passer呢
它的封包[听不清]
就讲这边
那这是黑的部分
它的header PDU type 这个跟
这个都是ADV的一个extension
这两个都是一样
两个差异在哪里呢
在这边广播跟广播
第一个是channel 对不对
好 它在38 它在39
然后还有 这两个东西
都会指到哪一个
指到这里
这个时间比较前面 这个时候比较后面
所以 什么会不一样
让我们来看
offset
这里要隔多久 1.74毫秒
这里隔多久
870us嘛 因为
我这个pointee要来的时间越来越短
好 那其他呢
一个一个去看
都不一样
好 为了怕人家听的人呢
去这边听
那万一刚好又有别的地方
别的device也在这边送的话
哎 他怎么知道哪个是对方要听的
从这里
DID跟SID
从这里来判别
DID最大距离的时候 这个东西是我要听的
好 误听到别人的悄悄话
OK 好
好
那再看 刚刚在做这两个封包 对不对
我们看这个东西
是什么
辅助AES 就是5.0才有的
一个是ADV
indication
然后你看这里
这边就是它的payroll
它的payroll
它传的资料在这里
OK
好 那这边就有带
带我是谁
广播者的address
这边没有带哦
这边没有带
所以你在这边才会知道 这个是谁
好
那再看我们针对
软体的部分 就是
API
那API的话 这个是
我们之前旧的API
一直在用setParameter setParameter
把广播的资料 scan Rsp的资料
最后再把它制冷
然后有一个GAP的task
去处理这个API
哦 那这个是legacy抓下来的
当你呼叫这些东西之后
就针对分包出来了
从37 38 39 37 38 39
来送
哦 还记得吗
我们的payroll只有31个
byte 那它可能有加载一些heater
所以这边才需要33
好 那新的呢
新的API要达到刚刚那个功能的话呢
我们做了一些修改
因为5.0它的那个
一些需求比较多
所以我们把这个做成一个schedule
做成419
然后首先要考虑一个我们用handle来处理
你看后面都是透过handle
来设定
OK
那它刚刚的set 对不对
出现在这里 就变成了structure
OK
然后inable 智能之后
就可以在37 38 39 做广播
OK
所以 各位如果没有接触过我们之前的SDK的话
那就比较没有前面的这些帮助
就可能需要做一些小调整
好 那如果这边你要改
1M变2M
你要怎么改
我们来看 这边有
primary secondy的PHY
都是1M 所以它走的
都是1M
我们来看
哎 还记得吗
这是它们的parameter的资料架构
把里面资料架构的栏位
secPHY把它设成这个
好 然后在create的时候
它就会 而且我们让它可以做
scannable 可以回应这个scan request的
所以它就这样
广播广播 然后到这里
就是gap adv 对不对
所以别人呢 就可以发送request
后面就一直传
为什么它可以这样连续传
它用的是什么
CHAIN对不对
刚才也讲到的 CHAIN
像链条一样
OK 好
那我们就针对刚刚的一个条件
就scan request来做
更深度的那个解释
那这边也是一样 在37 38 39 做广播
对不对
然后这里 这里是AES
EST
ADV的一个indication
然后这边就request
因为我们是scannable嘛
所以这边就是
scan request
这个封包
OK
那前面就是 这个是照顺序来的
第一个是packet 在37
这一个38
39 然后这个
AUV scan REQ这里
它就跑到哪里 21了
那大家全部都到21去了嘛
所以它后面呢
request啊 response啊
然后这个CHAIN统统都在21的部分
OK
你看哦 这边253
加起来 就可以到1650个Byte
OK
然后它就在
把[听不清]输掉呢
再重新传输一遍
这个是一个summary
整个的 在这里
然后它这个从前面开始
就是ADV EXT
IND 这三个
所以这里你回顾一下
它的新的封包型别
那它是一个pointer对不对
一个指标嘛
那它可以被扫描
然后它里面的识别码就是SET ID DATAID
那pointer什么时候
在哪里 在哪个channel
什么时候 就在offset这里
offset 然后how就用什么
PHY
所以这三个类似的
可以让人家知道 我即将在哪里呢
做广播
好
那第二个 它就跳到这个
广播37 38之后呢
就到这里来
那有没有会说它如果没有跟到怎么办
它也一样啊 37 38 39
到20 假如刚好到21
刚好到21
哎 没有人要资料 对不对
它再回去 37 38 39
37 38 39到这里
那有人跟到了 有兴趣了
在这边
再回答
就是回应
回应一下给对方的封包
广播封包
OK
所以再看这里
21 channel的第一个
那21channel的第二个
就是scanREQ 对方有兴趣的
我会发这个scan request
再问详细一点
而且它会讲哦 我是谁
scanner 然后
发广播的是谁
OK
This is me
因为它是带了scander
然后要跟这个讲话
然后再来
它就发scan 它就
前面的request之后就
response
就应该是response
这边错掉了
然后它这边就发response
的封包
就是6127
6127回的
6127回的 然后
它在
channel 16 OK
那这个是跟对方讲 我这一包
还没有结束哦
我将会在1.35毫秒后传第二包
OK
这个是它的raw data
这个是里面的payroll
raw data
OK
所以它这边会在
会在带我 后续还有
更多的资料
那后面呢
就是CHAIN了
用CHAIN的方式
用CHAIIN的方式把它串起来
传更多的封包
OK
那也一样
下一包会在多久之后会出来
那如果没有呢
就没有这个offset
所以收的人就知道
最后一笔了
不会再有
所以我们从这个
配合RF channel就是
纵轴呢 是频率
channel 横轴是时间
我们来看
它的封装
37 38 39
做pointer
然后跳到这里来
如果有人要我的资料
他就发scan request
然后呢 我就回scan response
因为我还有资料 所以
我就用CHAIN CHAIN CHINA
把它串起来
OK
所以这个完全是什么 pointer
和pointee的应用
好
所以它也可以让那个
4.0相容嘛
因为如果4.0看到这个封包
它听不懂啊
对不对 所以它只给一样听得懂5.0的人听
好
那这边是讲
我用2M的频率在传
我在时间轴呢
在头尾大概花了10.8毫秒
如果用最慢的呢
头尾花了116毫秒
差了10倍
差了10倍
课程介绍
共计7课时,2小时12分41秒
猜你喜欢
换一换
推荐帖子
- MSP430的温度控制系统的设计与实现
- 调温设备如冰箱、冰柜、空调已广泛地走进大众家庭,这些设备带给了人们更多的舒适,人们也越来越依赖它们。为此,我们小组搭建了一个温度自动控制系统,模拟调温设备在日常生活中的运作,深入探讨其工作原理及可优化潜力。 1 系统组成 本系统以MSP430系统板为控制核心,包括温度采集、PID...
-
fish001
微控制器 MCU
- MSP430G2553 软件UART和硬件UART及跳帽的设置
- 在使用launchpad MSP430G2553的板子之前,我用了launchpad MSP430G2452的板子。令我感到头疼的是,本来我想用launchpad串口通信做一个简单地可以通过超级终端和电脑交互的项目,但结果是launchpad MSP430G2452 并没有完整的UART模块,所谓的串口通信是通过定时器A和软件代码配合所产生的软件UART,于...
-
Aguilera
微控制器 MCU
- 求3.5mm音频插座的PCB封装?
- 最近要设计一块9B96的控制板,想把音频部分加上去,需要一个类似DK-9B96原理图中,STx-3000 耳机插座的PCB封装,不知道具体的尺寸,希望能有这方面设计经验的大侠不吝赐教,非常感谢!!!...
-
fengye5340
微控制器 MCU
- 快速学习如何选用正确的电阻器!
- 在选用元器件时,不同技术层次的人考虑的问题不同,从事电子产品研发的人员需要考虑元器件的很多参数,这样才能保证生产出来的电子产品性能好且不易出现问题;而对大多数从事维修、制作和简单设计的电子爱好者来说,只要考虑元器件的一些重要参数就可以解决实际问题。 电阻器选用举例: 电阻器的选用过程...
-
Aguilera
模拟与混合信号