- 本课程为精品课,您可以登录eeworld继续观看:
- 1.6 Dynamic Multi-Protocol Manager
- 登录
- 课程目录
- 相关资源
- 课程笔记
好 最后 最后 最后了 我要来讲一下
dynamic multi-protocol manage就是DMM
就是刚才已经反复有提到说这个就是在
2.4级sub
一起工作的时候 它会起到一定作用
那么这个地方可以看到就是我刚才有介绍
就是DMM它其实由两个module组成
一个是policy manager一个是scheduler
然后 policy manager在这里
scheduler在这里
所以看到这里有两个 两个stack
就是下面的这个是stack是本身的stack
上面这个是基于stack的APP
application 就是客户应用
所以你可以看到就是DMM就是policy manager 它是只和
application task进行通信的
然后application task告诉它我的优先级是什么
我现在的优先级是什么 它会告诉它
告诉它这个setting 然后它再来和scheduler进行通讯
stack本身是不和它进行通讯的
stack只和scheduler进行通讯
那它会告诉scheduler 我来通信什么
它有可能直接打断scheduler里面的会议 就是哎
我现在有一个 比如说 我submit的时候
正在收发数据 但是现在BOE数据来了现在BOE的优先级比较高
那它必须是一个 比如说BOE保持连接
那么这个时候它必须要打断T就是打断
Sub一级的
通讯 然后把它切换 切到2.4G
再通过蓝牙来维持这个连接
那这个东西是有可能的
所以 它们是这么协同来工作的
所以 在代码里面的话
在代码里面的话 就是它会有类似于像这样的一个policy的table
就是策略的一个table
所以 这个例子就是一个suby一级加2.4G的
所以呢 你可以看到在蓝牙不同的状态下面
它的这个优先级和Sub一级的优先级是不一样的
在这个的时候 在第一个的时候 它的优先级 就Sub一级的优先级会比较高
在蓝牙没有建立连接的时候
Suby一级的优先级会比较高一旦蓝牙建立连接之后
我们可以看后面 再仔细去看的话
你会发现 后面的setting里面
蓝牙的优先级就会高于Sub一级的优先级了
所以这个是一个动态调整了 在这个table里面
通过软件里面 你可以去set然后它根据你这个set去
做一些behavior 所以操作会不一样
那么对于客户来说的话 主要就是这个table需要大家关注的
好 我们再回到
刚才的这个地方
那么DMM它是根据状态policy和scheduling来分的
所以它会看一下stack当前的优先级
然后看一下timing的限制就是现在到底在这个时间点
必须要做什么事情了 它会根据这种两个条件来做一些调整
所以它是这个
这个状态是stack 是对DMM 就是
告诉它的 就是现在状态是什么样子的
然后timing是它自己去看的
所以 DMM它会直接告诉这个RF
就是你现在这个优先级是什么你必须要以什么样的方式来做
它告诉scheduler你必须以什么样的schedule command
所以 就像我刚才说的它在必要的时候 它有可能会
打断已经在走的stacks的流程
所以它通过DMM来协调2.4G和Sub一级之间的工作
好 那大家可能就是因为这个东西还是比较底层
所以大家可能更关心的就是现在我们在SDK里有什么样的代码
所以这个地方其实就写了
第一个代码就是BLE的simpel peripheral就是包含BLE连接简单外设
就是peripheral 这种设备的一个BLE代码
加上easylink 就是刚才我有讲到 easylink WSN的Node
这个是基于easylink的叶子节点就是它会采样sensor的数据
发上去 那么这样的一个历程
那这个历程跑起来呢就像是simpel peripheral单独在跑
然后 或者是WSN node也单独在跑就是它们两个互不打扰
各自的功能都还正常
然后BLE也可以连接WSN node数据也可以发上去
那它就是 这个其实如果你开这个代码 你就可以
看到 好 那现在这个BLE的连接是有的 然后
同时WSN node也是能看到 就是如果你把demo搭起来 你可以看到
哦 现在手机可以跟BLE
手机可以跟BLE的东西建立连接
然后它是连接正常建立的
你去读写它这个因为simpel BLE peripheral里面
它是有一些characteristic可以读写的
然后你可以正常去读 然后与此同时
WSN的node还不断往上报sensor的数据
就是有Sub一级的数据通信
好 这是一个比较简单的就是两个都在动
然后还有一个就是BLE remote display加上easylink的WSN node
这个就是BLE和Sub一级之间有一些交互
就是它的这个 BLE的话 它会把
数据 因为它会和手机建立连接
所以它建立的连接 它会把这些数据
就是WSN的数据就是从Sub一级采样的一些数据
转到手机上面来看
那这个时候它的数据就会有一些交互了
因为之前的 可能两个互不干扰
你连你的 我发我的
现在就是 我把我的数据给BLE
BLE把数据打到手机上
这个时候 它其实就是一个非常好看的demo了
就是这个demo前你在MSDK里面就可以找到
所以我想这两个demo就
可以非常明白地告诉你 现在
TI在多频段的支持上面已经做得非常的好
而且用户体验也非常好
你们可以自己去试一下
在DMM library这边的话 就是DMM目前是以Library的形式提供的
但是刚才看到的后边不是有setting嘛
那个setting就是它的头文件和规则
策略规则是可以看到的
所以你是可以通过这个东西去控制它
就是控制DMM libruary的
所以现在是这么个支持
然后这个就是我今天所有的东西
课程介绍
共计6课时,1小时32分43秒
TI 新一代多频段多协议 Simplelink MCU 平台让您的产品如虎添翼
SimpleLink MCU平台的多频段多协议新产品介绍。从超低功耗的传感器控制器到最新最炫的多协议多频段功能,分分钟让你对新科技了若执掌。
猜你喜欢
换一换
推荐帖子
- 开关电源与IC控制器的PCB设计分析
- 本帖最后由 qwqwqw2088 于 2019-11-25 15:26 编辑 01 前言 我们电子产品往往60%以上-可靠性方面的问题都出现在电子线路板的PCB设计上;工作及性能良好的PCB需要相关的理论及实践经验;我在产品的设计实践中经常碰到各种各样的问题;比如电子线路板不能通过系统EMS的测试标准,测试关键器件IC的功能引...
-
qwqwqw2088
模拟与混合信号
- C6000的程序优化流程及方法
- C6000软件开发流程 图1为C6000的软件开发流程图。图中阴影部分是开发C代码的常规流程,其他部分用于辅助和加速开发讨程. C/C++源文件首先经过C/C++编译器(C/C++cornpiler)转换为C6000汇编源代码。编译器、优化器(optimizer)和交叠工具是C/C++编...
-
fish001
微控制器 MCU
- 嵌入式编程中函数返回类你遇到过问题吗
- 在这几天,看到了之前经常关注的一个论坛上解释了函数返回类型设计的一些问题,我觉得说的很透彻,这里分享给大家! 不知从什么时候起,对函数返回值,有一种下意识的认识:“0”是成功、非“0”表示失败。 先讲个故事,就是项目移植时的一段小插曲—— 近期工作,使用...
-
fish001
微控制器 MCU
- IAR FOR 430出现Failed to re-intialize一种可能的解决方案
- 本人用的是IARfor430的7.12版本,在用MSP-FET430UIF给msp430下载程序的时候遇到这个问题大家可以如果你和我的IAR版本号相同或者更高 并且遇到的问题和我相同或者类似 那么,这篇文章可能会对你解决相关问题有些帮助。 软件提示是驱动问题,那么我们首先该干的事情就是查一下驱动是不是真的有问题。如果你的电脑和我的一样,驱动经常安装不上去,出现各种各样的b...
-
灞波儿奔
微控制器 MCU