嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

PSoC 6 BLE原型开发套件和ModusToolbox入门

Main48_84013976425617d2dbe15b2a65d27590b29f3ab1.jpg

了解CY8CPROTO-063-BLE和灵活的ModusToolbox平台。

赛普拉斯半导体CY8CPROTO-063-BLE(181-2207)是用于PSoC 6开发的低成本解决方案,具有集成的USB编程、调试和桥接功能。它与ModusToolbox一起提供了一个强大的平台,该平台拥有BSP、库和中间件支持,可以与提供的基于Eclipse的IDE一起使用,也可以通过命令行工具来驱动。

CYBLE-416045-02 EZ-BLE Creator

CYBLE_2abf42a93e138c0d3662ce93bb9a4451947749a1.jpg

赛普拉斯半导体PSoC开发板CY8CPROTO-063-BLE

该开发板基于CYBLE-416045-02 EZ-BLE模块。模块包括以下主要功能:

  • 具有单周期乘法(浮点单元(FPU)和内存保护单元(MPU))的150MHzArm® Cortex®-M4F CPU
  • 具有单周期乘法和MPU的100MHz Cortex-M0 + CPU
  • 1 MB应用程序闪存,具有32 KB EEPROM区域和32 KB安全闪存
  • 具有可选保留粒度的288 KB SRAM
  • 多达36个具有可编程驱动模式、强度和压摆率的GPIO(任何均可为CapSense,模拟/数字)
  • 符合蓝牙0标准的单模模块
  • I2S接口;高达192千采样(ksps)字时钟
  • 两个用于立体声数字麦克风的脉冲密度调制(PDM)通道
  • 带有ADC、DAC、2个运算放大器、2个比较器的可编程模拟
  • 12个可编程逻辑块,每个逻辑块具有8个宏单元和8位数据路径。可用作拖放布尔基元(门、寄存器)或Verilog可编程块。支持UART、SPI、S/PDIF和其他协议
  • 基于ROM的信任根及加密加速器

按照带屏蔽功能的便捷蜂窝模块形式提供,额定工业温度范围为-40C至+85C,低功耗1.71V至3.6V操作。有关更多详细信息,请参见 赛普拉斯文档

开发套件

Kit1_55665fb975af32df5c498bdbdc0d81e9b2835c13.jpg

该套件随附集成的USB编程器,可以将其断开。

QuickStart_1c417b0b7f0d9f05d855ff9ee6b6c71d384d85ea.jpg

包装的背面有《快速入门指南》,其中包含针对PSoC 6板卡和随附的编程器的便捷管脚。

PSoC 6开发有两个选项。首先是PSoC Creator,一种专有IDE,仅在Windows上可用,并且支持PSoC 6器件的子集,以及其他器件系列,例如PSoC 5LP和PSoC 4等。第二个开发平台是Modus工具箱,它是配置工具、驱动程序、中间件库和操作系统支持以及可选IDE的集合。

ModbusToolbox支持所有PSoC 6器件,并且是首选的开发平台。它适用于Windows、Mac和Linux,并且可以由命令行驱动,因此可以与您喜欢的开发工具集成在一起,或者与基于Eclipse的可选IDE结合使用。

我们将使用安装在运行Ubuntu 18.04的计算机上的ModusToolbox。

软件设置

ModusToolbox_0aa6083752b6565f259660e51a540907896328db.jpg

首先,我们需要从以下网址下载ModusToolbox软件: 赛普拉斯网站。要在Linux上安装它,我们需执行以下步骤:

$ tar xvf ModusToolbox_2.1.0.1266-linux-install.tar.gz
$ cd ModusToolbox
$ sudo tools_2.1/openocd/udev_rules/install_rules.sh
$ sudo tools_2.1/driver_media/install_rules.sh
$ sudo tools_2.1/fw-loader/udev_rules/install_rules.sh
$ sudo tools_2.1/modus-shell/postinstall

如果运行的是Ubuntu 18.xx,我们还将指示您安装其他软件包:

$ sudo apt-get install libusb-0.1-4

如果我们的用户还不是Dialout和Plugdev组的成员,则必须将其添加到其中。

$ sudo usermod -a -G dialout,plugdev $USER

接下来,必须退出并再次登录,以选择新组。

注意,请参阅安装指南,查看完整的操作说明。

现在,我们可以使用以下命令来运行安装脚本:

$ ./ide_2.1/eclipse/ModusToolbox

NewApplication1_b566b3a340b870ace5887e03f3889f5365290043.jpg

然后使用快速面板创建一个新应用程序,并从中选择CY8CPROTO-063-BLE。

创建一个应用程序

Examples_36fc03ca57c31751ea80cca8712919b20c4a7fe5.jpg

选择了模块后,我们将为您提供示例应用程序列表,这些示例应用程序可用于简化评估并作为我们自己应用程序的基础。其中包括一个名为Empty PSoC 6 App的应用程序。

CreateEmpty_b8a5e729707f3f938a73c463a23b44882cb63e9d.jpg

如果选择此选项并创建,我们将在日志窗口中看到第一个命令是:

ModusToolbox/tools_2.1/project-creator/bin/project-creator-cli --board-id CY8CPROTO-063-BLE --board-uri https://github.com/cypresssemiconductorco/TARGET_CY8CPROTO-063-BLE --board-commit latest-v1.X --app-id mtb-example-psoc6-empty-app --app-uri https://github.com/cypresssemiconductorco/mtb-example-psoc6-empty-app --app-commit latest-v1.X --user-app-name Empty_PSoC6_App --target-dir /home/andrew/mtw --output-for-machine --use-modus-shell

 

因此,在后台运行的命令是project-creator-cli,并带有用于指定模块和选项的选项和BSP的GitHub URL,以及示例应用程序的GitHub URL。接下来,将复制存储库并导入库。

ExampleEmpty_7e67e36360b767588bf81a8017809aee48f0278c.jpg

现在,我们可以通过项目浏览器浏览项目层次结构,在其中可以找到main.c和库等。如果我们展开libs文件夹,则为目标文件夹,紧随BSP文件夹,然后在此GeneratedSource中。

DesignModus_ea47e13a4f3292584baa8de9011576fdb9f9afba.jpg

现在,如果我们现在双击design.modus文件。

DeviceConfigurator_1_2de6ca85f17e71afd14e9840572223fb5f778efc.jpg

这将打开Device Configurator应用程序,在其中我们可以配置PSoC资源,例如外设、路由和时钟。

DeviceConfigurator_2_7ef3248e821406156a7a2720849d32569a913a1d.jpg

我们可以轻松地将整个博客文章专门用于查看此处提供的配置选项和功能

LibraryManager_4ec300148923a4873dc0ddd70f6072f298f25e60.jpg

我们还可以通过“快速面板”启动“库管理器”,然后将其用于配置随附的库以及中间件。FreeRTOS支持是一项非常有用的功能,可以从中间件列表选择它,然后进行配置。

有关更多信息,请参阅ModusToolbox的PSoC 6 MCU入门,其中包含许多步骤的详细介绍,并提供了有效的示例,说明如何开始编写固件以及如何使用BSP/HAL/中间件功能。另外还可参阅设备配置器指南,其中介绍了外围设备的配置。

运行示例

SelectAppBLEBatt_5a512df686fadbd05d0bf44c5ef5fb7bc8acab33.jpg

如果我们再次创建一个新应用程序,但是这次选择BLE Battery Level FreeRTOS示例。它建立在FreeRTOS之上,并实现了带有电池服务和设备信息服务的低功耗蓝牙GATT服务器。模拟电池电量,并从0到100%连续变化。

为了对此进行构建和编程,我们应返回快速面板并选择启动BLE_Battery_Level_FreeRTOS程序(KitProg3)。

ProgFail_2934d770cbabd744676cae28330c6ccae06701fb.jpg

啊,对我们的程序员不满意。不用担心,这仅仅是因为随附的套件已载KitProg2,并且我们需要升级编程器固件。这是使用fw-loader命令行实用程序完成的,我们可以在第6部分的第6节中找到详细信息。KitProg3用户指南。固件加载器版本是在GitHub上可用,并捆绑最新固件。

 

DeviceList_e8c2cd7a8d56f313fded31b28333d5bbd3521dd8.jpg

如果我们首先使用–device-list选项运行它,那么我们确认它确实在运行KitProg2固件。

UpdateKP3_637e001e898655e1d48f9bb4ef54318cc20693f0.jpg

然后,如果我们使用–update-kp3运行,则将使用最新的KitProg3固件来更新编程器。

ProgSucceed_1debd28531a66e41538a7ecb86438583a8f27a6e.jpg

现在,如果我们再次在ModusToolbox中启动程序任务,这次就可以成功。

接下来,我们在安卓设备上安装CySmart应用程序。

Devices1_b7bb64f1ed7bed1adee31bb17422767cc5d6a1e2.jpg

启动应用程序并启用蓝牙后,我们可以看到该套件。按下开发板上的SW1使其进入配对模式,然后我们便可以将其与安卓设备配对。

Battery5_d8aca20ae237f09af785be604881a385359ce086.jpg

我们现在可以看到模拟的电池电量。

Information1_3f29c0de13c31f688f5fedd3a450333b014a077e.jpg

以及设备信息服务提供的信息。

总结

这只是对PSoC 6开发工具包的快速浏览,并将其与ModusToolbox平台一起使用,但希望能起到两者的作用。PSoC 6围绕功能强大的启用BLE的低功耗微控制器平台提供了很多功能;当然,最值得注意的是PSoC著名的可编程模拟和数字功能。

ModusToolbox建立在非常灵活的硬件上,可提供BSP、库和中间件,这将进一步加快开发速度。不仅如此,还可以选择使用提供的IDE,或者使用您喜欢的IDE或文本编辑器,然后将自己的工具与命令行驱动的开发流程以及GitHub上托管的所有关键资源集成在一起。

Andrew Back

 

 

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.