讲座视频 - 低功耗蓝牙 - 简单网络处理器

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • 讲座视频 - 低功耗蓝牙 - 简单网络处理器
  • 登录
[音乐播放] 大家好, 我是 Jon Valvano。 在本视频中,我想向您展示 简单网络处理器。 在第一个视频中,我们讨论了无线技术, 在第二个视频中,我们了解到低功耗 蓝牙具有配置文件、服务和特征。 但在本视频中,我们将讨论 您将用来实现蓝牙通信的协议, 您将用来实现蓝牙通信的协议, 这个协议称为简单网络处理器。 现在,我们开始吧。 好的。 这是我们的硬件,正如我在上个视频中提到的。 MSP432 负责运行您的机器人, 这是您的机器人上面的 2650 BoosterPack, 它使用这里的 UART 通道和两个握手信号 来传递数据。 当 MSP432 想要复位 2650 时, 它将会把复位线拉低, 同时将主设备就绪线拉高, 这将会导致 2650 中发生复位, 从而可以从一个已知的点启动。 现在,MSP432 是主设备, 2650 是从设备,而且它满足这个 命令响应协议。 命令可以来自 MSP432,也可以来自 2650, 这两个器件都需要 响应彼此的请求。 好的。 所以我们将把消息从它们中的一个发送到另一个。 如果您想执行某个操作, 您将会编码一条消息,消息是一串 非常长的 UART 数据包, 在本例中,它们将从 MSP432 传输至 2650,它们包含您想要传输的命令或数据。 传输至 2650,它们包含您想要传输的命令或数据。 握手的工作方式是, 当 MSP432 想要传输数据时, 便会作为主设备,而且它会在开始时 将主设备就绪线拉高。 对吧? 短时间内,如果从设备 注意到这一点,则会将其 信号拉低来表示已经为接收数据做好准备了。 第三件事情是传输数据, 当主设备完成传输时, 便会把自己的主设备就绪拉高, 然后,当从设备识别出该信号后, 则会将从设备就绪拉高。 通过这种方式,数据只能从主设备流至 从设备。 对吧? 所以,这是一个半双工通道。 也就是说,数据将在两个方向上流动, 但一次只有一个方向。 对吧? 这里的握手和配置 是通过这个有关主设备就绪和从设备就绪的握手信号来实现的。 如果从设备希望进行通信, 实际上确实有这种情况,消息通过无线方式传入, 必须发送出去,这时需要通信。 从设备会通过拉低从设备就绪线来启动通信。 如果主设备注意到这一点, 最好能够注意到,因为这是应该做到的, 便会把自己的主设备就绪拉低, 从而表示,好的,您想说什么? 然后,它将会通过一个有趣的协议 -- 稍后我们会介绍这个协议 -- 发送一条非常长的消息, 这是第三件事情。 这条消息结束后,从设备将会 把从设备就绪拉高,以表达没有其他数据了, 而主设备则会说非常感谢, 并将主设备就绪拉高。 然后它可以重复 -- 您可以想象到,这里是数据 向另外一个方向流动。 我们看到数据可以在两个方向上流动, 但一次只有一个方向, 这便是我们将其称为半双工的原因。 这是最底层的协议 -- 具有握手的 UART。 现在,我想谈谈实际传入的信息。 相关的手册很厚。 您需要读完所有的内容,但是我在这里 仅介绍一些您可以发送的消息。 如果您想要设置您的名字, 这将是一条从 MSP432 传送到 CC2650 的消息, 内容是,嘿,请叫我 shape the world。 所有的消息都是以这里的帧开始代码开头, 以帧校验代码结束 -- 我们稍后会讨论这一点。 接下来的两个字节是消息的长度。 在本例中为18 个字节长。 第 1-5 个字节是代码,命令代码。 这里是一个 16 位的命令代码。 就像我说的,有很多命令, 但这是通用访问服务中的设置 GATT 参数命令。 但这是通用访问服务中的设置 GATT 参数命令。 这是设备名,也就是我的设备的名字。 对吧? 然后,每条消息的结尾部分是 这个帧校验代码,用于 检查是否存在错误。 对吧? 这里的有效载荷是 L 个字节,即长度为 L。 好的。 这就是我们设置广播的方式。 当您实际运行时,您可以看到这些输出到 调试端口的消息。 这是实际的命令 -- 记住, 这是一个命令响应。 LaunchPad 向 CC2650 发出, 嘿,这是我的名字,CC2650 则回应, 好,我知道了。 这是设置一些广播参数。 好,我知道了。 设置一些广播参数 -- 广播是 如何初始化该通信。 好,我知道了。 然后它说,让我们开始广播吧。 现在,从设备可以与智能设备, 也就是您的手机,进行通信了。 因此,2650 和 MSP432 之间的每一条消息 都可以在调试端口上观察到。 它们都是以帧开始代码 FE 开头, 接下来的两个字节是长度, 接下来的两个字节是命令, 然后是有效载荷,最后是帧校验代码, 用以检查是否存在错误。 好的。 这是在您执行添加服务操作时的样子。 添加服务正好是 35, 81。 您记得配置文件是 -- 配置文件是固定的, 我们有通用配置文件,但是我们添加了一个服务, 在该服务下面,我们将会 添加一些特征。 这里显示了这些命令, 我们发出一条命令,内容是,给我一个服务。 它回应,好的,这是您的服务。 然后我们说,我们想要设置一个带有值的 特征。 我们可以设置与这个值有关的描述。 也就是说,它的单位是什么,有多少字节宽, 是可读的吗,是可写的吗,是可读写的吗, 是通知吗,然后我们就可以 注册系统的所有特征。 在启动代码中,您会看到一系列这类代码, 因为它正在创建蓝牙初始协议。 好的。 这是我们的设置,我们还有另外一组命令, 实际的通信是通过这些命令来完成的。 这实际上是从 CC2650 到 LaunchPad 的通信, 是您的手机想要向机器人 写入数据时的通信,或者大致类似的情况。 这是一个写入指示,这里是它要写入的 数据。 它想要一个响应。 它为您提供了句柄。 这是关于如何将数据传入您的设备中。 然后,您必须说,非常感谢,干得好。 好的。 同样,这是一个命令响应协议。 这个例子是一个 由手机发起的写入指示, 想要让您将数字 5 写入 LED、电机或其他类似的东西中。 在两个设备进行通信时, 您会看到它们发送这些消息。 读取指示 -- 这又要提到智能设备。 2650 和 MSP432 是服务器。 换言之,它们只是从设备。 在这里,手机会说,好吧, 你有什么? 这是一个读取指示。 您按下手机上的按钮, 手机便会与 2650 通信, 接着,2650 会发送这条消息。 您确切地知道它们想要什么,因为这一点 已经编码在了句柄中。 句柄会告诉您它想要与哪个 特征通信。 然后您会返回 与这个句柄关联的实际数据。 然后,这个数据将会 传回您的手机 -- 这便是读取指示。 综上所述,我们将使用 CC2650 来实现网络处理器。 CC2650 来实现网络处理器。 而 MSP432 上的则是应用处理器。 本视频的目的是提醒您 查看调试代码,它本质上是 2650 和 MSP432 之间的串口通信。 当这些命令在它们之间传递时, 您可以看到它在进行蓝牙传输时的想法。 好的。 希望您喜欢本次实验。 要学的东西太多了,但是我们希望 向您介绍一部分细节, 然后通过抽象方式将其他细节简化。 好的。 希望您喜欢本次实验。 [音乐播放]
课程介绍 共计5课时,31分18秒

TI-RSLK 模块 19 - 低功耗蓝牙

TI BLE SimpleLink BoosterPack 低功耗 蓝牙 机器人 CC2650 RSLK MSP432P401R

此模块的目的是介绍低功耗 Bluetooth® (BLE) 的基本概念。您将使用通用异步收发器 (UART) 通信将 TI SimpleLink™ BLE CC2650 模块 BoosterPack™ 插件模块连接到 SimpleLink MSP432P401R LaunchPad™ 开发套件。您将创建具有多种特性的 BLE 服务,并设计可由智能设备使用 BLE 控制的机器人系统。

猜你喜欢 换一换

推荐帖子

【TI首届低功耗设计大赛】微型LCR测试仪-电路原理部分
看到很多朋友需要,本着共同学习的目的,把图发给大家,仅供学习之用哈......谢大家支持! ...
snoweaglemcu 微控制器 MCU
DSP bootloarder C5000
      刚开始学DSP时最头疼的事就是DSP的bootload问题,以前学51时只要把程序写好编译通过后就可以用烧写器直接将*.hex文件烧进单片机运行。但DSP内部不带FLASH RAM,它必须在复位期间将外部的程序加载到内部RAM之后才能运行。这有点像PC 的体系结构,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS...
灞波儿奔 DSP 与 ARM 处理器
C语言库函数access的使用
另外一种利用 c 语言的库的办法: 函数名: access  功  能: 确定文件的访问权限  用  法: int access(const char *filenames, int amode);  程序例:  #include <stdio.h>  #include <i...
Aguilera 微控制器 MCU
高频微波板生产中应注意的事项
一、前言      随着科学技术特别是信息技术的不断发展,印制板生产的工艺技术相应提高,以满足不同用户的需要。近年来,通信、汽车等领域的发展非常迅速,对印制板的需求发生了一些变化,大功率印制板、高频微波板的需求量增加。印制板生产企业的很多老总,都看好这一增长点,但如何做好高频微波板,企业必须练好内功。本人就自己在生产中遇到的问题,浅述高频微波板生产中应注意的事项。 &n...
Jacktang 无线连接
分享到X
微博
QQ
QQ空间
微信

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved