雷竞技注册
项目

“一切与蓝牙更好”:添加您自己的自定义蓝牙LE到您的下一个项目

2017年6月28日通过马克休斯

蓝牙低能量(BLE)旨在使用有限量的功率间歇地传输信息。本文提供了构建块,允许您以5美元的价格为您的项目添加BLE(加上一次性购买15美元的程序员)。

本文使用Code Composer Studio使用TI的CC2640F128芯片蓝牙系统编程一个预认证模块,作为一个简单的UART发射器。这个项目为以低廉的价格将BluetoothLE添加到任何项目提供了基础。

低能量蓝牙(BLE)是为物联网而设计的。该项目将提供在模块级别向下一个项目添加BLE所需的步骤。通过自己编程一个预先认证的模块,你可以将蓝牙添加到你的下一个项目,每个模块5美元(5个模块25美元),或者批量购买1000个时3.80美元。这是一个75%的削减成本超过大多数业余爱好者模块可通过Sparkfun或Adafruit。这个项目使用的JTAG程序,可以从德克萨斯仪器公司得到$15。这意味着你可以花40美元编程你的前5个模块,再花25美元编程5个模块。

该模块基于德州仪器的CC2640 SOC。虽然下面提供的步骤应该允许用户对任何CC26x0设备进行编程,但GTTronics载波板被选为这个项目中最便宜的编程芯片的方法,使用户获得预先认证的设备。然而,下一个成本提升发生在元件级的设计上,这将要求用户制造电路板并获得FCC认证,这将否定任何小规模的成本节约。

虽然我提供了允许所有技能级别的用户使用此项目成功的指令,以修改示例项目阶段的蓝牙软件,您需要成为中级或高级级程序员。本文中使用的所有零件由Allaboutcircuits购买,或者从制造商中免费向公众免费提供。

产品 描述 成本 更多的信息
CC264BPA模块(5-pack) 蓝牙LE模块围绕TI的CC2640F128构建 25美元|25美元 数据表
Ti XDS110 DevPack XDS110编程器和调试器 15美元 网页
CC264BPA-TIEM(可选) CC264BPA评估模块 20美元 用户指南
JTAG变桨器(选配) Adafruit 2x5 0.05"音高到2x5 0.01"音高 2美元
CC264BPA-UDOG(可选) CC2640 USB HID加密狗 20美元 用户指南

准备德州仪器XDS110 DevPack调试

TI的XDS110 DevPack程序员是15美元的JTAG编程器/调试工具,在左下角的标准2x5引脚0.05“音高振母标题中,用于连接到微控制器。此外,A 2x10 0.05”一组通孔测试点主板的顶部提供额外的功能。如果您不想为您的模块提供自己的3.3 V电源,则可以将两根电线焊接到电路板顶部的孔1和2,以提供参考接地和3.3 VDC电源。或者,在2x10测试销中的3.3 V电源中运行电线,以连接到JTAG连接器的引脚1。

左图:tixds调试器Devpack的引脚图(仅限相关引脚)。中心:一个连接了电线的XDS110调试器Devpack为了3.3V电源和地面。右:可选3.3V电源(通孔引脚1)到JTAG调试探头引脚1(点击图片放大)

CC264BPA-TIEM(可选评估模块)

开始并立即获得成功的最简单方法是购买CC264BPA-TIEM。板的正面有一个电源开关和CC264BPA模块,板的背面有一个投币电池座,一个编程头(J6)和两个扩展头。XDS110调试Devpack直接插入编程头(J6),电池座用于防止引脚不匹配(只有在正确的方向上将程序员插入电路板)。

cc264bpa - time模块的正面和反面。

备份和恢复CC264BPA评估模块

CC264BPA-TIEM与GT-Tronics专有的DataExchanger固件进行预编程,可以与之沟通DataExchanger iOS应用程序通过gt-tronics。备份恢复的固件是一个好主意应该在以后不起作用,否则,您必须联系GT-Tronics来恢复您的设备。


SMARTRF闪存程序员2显示“读取闪光到文件”操作和写入操作。

  1. 备份
    1. 下载并安装TI的smartrf闪存程序员2
    2. 使用micro-USB电缆将XDS110调试DevPack连接到cc264bpa - time和您的计算机上。
    3. 使用电池或DevPack的电线为设备供电。使用面板前面的选择开关来选择电源。
    4. 打开SmartRF Flash Programmer 2,在“Connected Devices”下选择CC2640。
    5. 选择“编辑”选项卡。
    6. 选择“读”从闪存读取数据。
    7. 选择“读取Flash到文件”保存。
  2. 恢复
    1. 使用Micro-USB电缆将XDS110 DebugDevPack连接到CC264BPA-TIEM并向计算机连接到计算机。
    2. 使用来自TI DevPack的电池或电线为设备供电。使用面板前面的选择开关来选择电源。
    3. 打开SmartRF Flash Programmer 2,在“Connected Devices”下选择CC2640。
    4. 选择“Main”选项卡。
    5. 单击Browse并查找之前保存的文件(以.bin结尾)。
    6. 在“操作”下,选择“删除”,“程序”,“验证”。
    7. 单击操作框右下角的三角形以擦除,程序和验证您的设备。

评估模块和usb -串行转换器

在处理以下项目时,你的功率电平和数据信号电平应该始终在3.3 V左右,如果你在任何输入上超过4.1 V(建议最大为3.8 V), CC2640 IC就会发生永久性损坏。

通过GT-Tronics预先安装的数据交换机固件在CC264评估模块上允许模块和iPhone DataExchanger应用程序之间简单的UART通信。

图像从GT-Tronics数据交换器- at用户指南显示连接到3.3 V USB到UART转换器。

或者,您可以使用5V USB-UART或MCU连接到模块。必要的连接如下图所示。

图片显示了使用5V MCU运行简单UART示例所需的连接。

有关与具有命令模式的设备通信的代码示例,请参阅我的文章中的第二个程序HC12无线收发器(HC12发送/接收示例程序2)。

你现在可以使用dataexchange应用程序在你的iPhone之间传递信息。如需更多信息,请参考GT-tronics数据交换器- at用户指南,也在下面的pdf文件中提供。接触GT-tronics如果您想要iOS或Android应用程序的源代码,以构建您自己的自定义应用程序。

准备CC264BPA模块

您需要建立几个到CC264BPA模块的连接来对其进行编程。它由26个星形孔,间隔0.05“间隔——这是小的,但不是小到电线不能手工焊接到板。另外,如果你足够幸运能够使用激光切割机/雕刻机,你可以使用我下面提供的文件创建一个“钉子床”来连接到板上进行批处理编程。引脚15(测试复位不)应该用一个~ 10k ω的电阻连接到电源电压上。所有其他的电线都是直接连接的,并且应尽量保持短。

要对设备编程,8到15的引脚必须连接到TI XDS110调试编程器。

可选的可拆卸形式的“钉子床”,用最少数量的必要激光切割部件组装。

Hughes_Project_Bluetooth_BedOfNails_v2.zip

代码Composer Studio

德州仪器(TI) Code Composer Studio v7.0 (CCS7)是一个功能齐全的集成开发环境(免费下载)在这里,或使用在线这里)。CCS7可以管理项目、下载资源,并提供免费视频和免费互动培训,帮助用户更好地理解软件。如果你使用软件有困难,请访问TI支持页面提供对CCS MediaWiki,CCS故障排除指南,常见问题,开发工具支持论坛。有关编译器问题的帮助,请访问编译器E2E论坛

请参阅下面的TI的视频以了解有关代码Composer Studio的更多信息。

第一个项目的构建

本文的这个部分提供了安装Code Composer Studio、program以及调试第一个项目——蓝牙外围项目的步骤。

注:以下背景资料是德州仪器公司摘录的CC2640和CC2650 SimpleLink蓝牙低能耗软件栈2.2.1开发人员指南(第一节)。

背景

CC2640是一个多核芯片系统使用手臂Cortex-M0无线电核心处理通信的物理层“1-Mbps自适应跳频GFSK(高斯频移键控RF核心自动执行功能,并处理“与物理层和部分链路层相关联的所有低级无线电控制和处理”。开发人员不会为radio core编程。

系统的主要核心是一个ARM Cortex M3.与无线电核心交互的处理器,并通过它提供对各种外设的访问我²C,SPI,UART,我²年代。芯片有多个GPIOs和12位ADC,并使用a实时操作系统(RTOS)旨在处理没有缓冲延迟的传感器数据。

一个超低功耗(ULP) 16位传感器控制器CPU可以接口外部模拟和数字传感器收集数据,而芯片的其余部分处于睡眠模式。

这种设计允许长时间低功耗数据采集,只需要其他处理器离开睡眠模式足够长的时间来传输数据包-使其成为设计的理想功能,在小手表大小的电池上长时间。

SimpleLink CC22640 block diagram from CC2640 datasheet。

CC2640可以用作完整的系统上芯片解决方案,或作为简单的网络处理器,其中额外的微控制器通过串行通信(UART或SPI)与CC2640进行通信并控制CC2640。“简单网络处理器实现了BLE-堆栈的控制器和主机层”,“和”公开接口,用于堆栈与外部MCU之间的通信。“

开始并编译您的第一个项目

GT-Tronics Build Guide中提供了详细的安装说明(包括屏幕截图)。以下PDF详细介绍了下载和安装CCS,BLE软件堆栈,GT-TRONICS提供的预配置外设项目所需的步骤以及安装示例TI项目的一般指南。指南的目标是让用户开始使用最少量的信息。你应该参考开发人员指南为完成指令。

如果项目不加载,则最可能的问题是电气 - 仔细检查所有连接。如果项目不编译,则代码Composer Studio安装或配置可能存在问题,请仔细检查详细的指导指南,如果问题持续,请在新工作区中尝试在其他计算机上安装,或检查代码作曲家论坛。雷电竞newbee

接下来是什么?

位于项目文件夹中的程序示例和预编译二进制文件被设计为与Ti评估模块(em)、助推包(bp)、发射台(lp)、远程控制(rc)一起工作,并且不能直接加载到CC264BPA,但是代码允许您更好地理解软件如何工作。您可以在第12章中找到相应的项目信息德州仪器开发者指南和ti.com。

请参阅上面标题为“为CC264BPA构建固件”的文档,该文档提供了创建自己的固件的信息。

TI有一个Eddystone项目在他们的wiki上有说明和一个git存档外围的Eddystone项目应该可以工作。

CC2650 SensorTag有各种各样的传感器(光,加速计,磁力计,陀螺仪,气压计),两个按钮,两个led和蜂鸣器打包在一个小封装中,应该让你了解I²C, SPI,和GPIO与CC26x0设备的接口。

文件名中带有“np”的项目使用CC2640作为网络处理器。记住,在将其连接到5V微控制器之前,你必须执行电平移动——如果你在任何时候超过4.1 V,你将永久损坏设备。

这是一个简单的代码Composer Studio介绍,用于程序CC2640 BLE模块,但有很好的机会使您没有您想要的个人项目。所以开始阅读和理解开发人员指南,然后是我们刚刚编译和加载的示例项目中的代码,以及在“c: ti\simplelink\ble_sdk_2_02_01_18”中提供的其他示例“app”项目的代码。Texas Instruments建议从带有“simple_”前缀的项目开始。其他软件示例可在github.com / ti-simplelink。附加的ARM编译器版本可以通过帮助安装>安装新软件,软件示例可以通过资源管理器安装。可以使用旧的XDCTools版本在这里。所有CC2650 BLE项目都可以与CC2640 SOC一起使用。

阅读CC2640开发人员指南来自德州仪器公司,并利用在代码Composer Studio内提供的培训

如果这是你感兴趣的项目类型,并且你想看到更多,请在下面的评论部分告诉我们。

自己尝试一下这个项目吧!BOM。