本文展示了如何在 MCUXpresso IDE 中加载和构建演示应用程序,如何下载并运行演示应用程序。文中最后使用的是用于心率传感器的示例,这些步骤是通用的,任何无线连接的应用例程都可以按本文的步骤进行构建和运行。
一、芯片和开发板介绍
KW38 是高度集成的单芯片设备,可实现低功耗蓝牙 (Bluetooth LE) 和通用 FSK 连接,用于汽车和工业嵌入式系统。为了满足汽车应用的严格要求,KW39/38/37 完全符合 AEC Q100 2 级汽车合格。
目标应用程序集中于通过无线方式将嵌入式世界与移动设备连接起来,以增强人机界面体验,在设备和云之间共享嵌入式数据,并支持无线固件更新。领先汽车应用的是数字钥匙 (Digital Key),车主可以用智能手机替代钥匙 FOB 来解锁和个性化驾驶体验。对于共享汽车体验,车主可以提供选择性的、临时的汽车访问授权,允许授权人使用 BLE 使用移动设备解锁、启动和操作汽车。
1.1 功能概述
32位Cortex M0+(增强型M0)中央处理器(CPU)
- 高达 48MHz 的核心频率跨越温度范围 -40°C 至 105°C
- 最多支持32个中断请求源
- 2级流水线微架构,降低功耗,提高架构性能(每条指令的周期)
- 位操纵引擎(BME),用于改善外围模块的位处理
- 与Cortex M0+内核兼容的二进制指令集架构
- Thumb指令集结合了高代码密度和32位性能
- SWD (Serial Wire Debug)减少了调试所需的引脚数量
- 微跟踪缓冲区(MTB)提供了使用系统RAM作为目标内存的轻量级程序跟踪功能
输入电压操作
- Buck配置DCDC支持1 V ~ 3.6 V
- 旁路模式71 V至3.6 V (RF和32mhz OSC电源为1.5 V - 3.6 V)
片上存储器
- 512kb的闪存(KW39/38有1x256kb的闪存加上1x256kb的FlexNVM,可以执行程序代码,存储数据或备份仿真EEPROM数据,KW37有2x256kb的闪存),在全工作电压和温度下读取/程序/擦除
- 64kb低功耗 SRAM (Low Power Random access memory),大多数低功耗模式下内存保留
- 安全电路,防止未经授权访问 SRAM 和 Flash 内容
节电
- 多种电源模式,包括低漏电状态保持和内存保持模式
- 外围时钟启用寄存器可以禁用时钟到未使用的模块,减少电流
系统时钟源选项
- 参考振荡器-晶体参考振荡器支持32 MHz或26 MHz晶体
- 32 kHz振荡器- 32.768 kHz晶体参考振荡器
- 多功能时钟发生器(MCG)
- 由内部或外部参考控制的频率锁定环(FLL)
- 20 MHz至48 MHz FLL输出
- 内部参考时钟-可以用作其他片上外设的时钟源
- 片上RC振荡器范围31.25 kHz至39.0625 kHz,全温度范围3%精度
- 片上4 MHz振荡器,在全温度范围内精度11%
系统保护
- 标准看门狗复位选项,从专用的1 kHz内部时钟源或总线时钟运行
- 具有复位或中断的低压检测;可选择的访问点
- 当试图执行未定义的指令或访问未定义的内存空间时出现HardFault异常
- 从核心重置资源
- Flash读、写保护
- 固件分发保护:Flash可以在每个段(KW39/38/37中的8 KB)上被标记为只执行,以防止固件内容被第三方读取。
开发支持
- 双线串行线调试接口
- 断点单元最多支持2个硬件断点
- 观察点单位支持多达2个观察点
- 微跟踪缓冲区提供程序跟踪功能
外围设备
- DMA——4通道DMA。总线主机提供非常可配置的源到目标数据移动功能,支持软件触发或外设速度传输。
- ADC——多达5个外部通道,16位分辨率的模数转换器,在整个电压范围内完全功能。ADC的性能取决于包的引脚。
- VREF——电压参考供应精确的电压输出,可以在5 mV的步骤中调整
- HSCMP——内置6位DAC的高速比较器
- 2通道32位定时器模块,可用于断言中断或提供一个更多的时基
- LPTPM——一个4通道,两个2通道;基本的TPM的功能。定时器/脉宽调制器模块,支持输入捕获,输出比较。
- LPTMR——低功耗定时器,可以唤醒CPU从所有低功耗模式
- RTC——具有硬件补偿的健壮的32位Real Timer时钟
- CMT——载波调制定时器用于驱动红外通信
- AESA——支持DMA的AES-128加速器
- TRNG——真实随机数发生器
- LPUART——串行通信接口,支持DMA和硬件流控制(RTS\CTS)。支持LIN中断检测。KW38有2个LPUART, KW39/37有1个LPUART。
- SPI——两个串行外设接口,支持DMA
- I2C——两个集成电路模块,支持SMBUS 2.0和DMA
- GPIO——所有GPIO引脚的端口都支持中断
- FlexCAN——包括一个CAN (FlexCAN0)模块,支持灵活数据速率 (CAN FD) 特性
( 仅 KW38 有FlexCAN)
无线电
- 4GHz ISM频段(2400 ~ 2483.5 MHz), MBAN运行频率2360 ~ 2400MHz
- 支持标准
- 蓝牙低功耗
- 通用FSK调制能力
- 蓝牙低功耗链路层硬件支持最多8个同时连接且可以是任何主/从组合
- 26 MHz或32 MHz晶体参考振荡器
- 通用的FSK链路层硬件
- 单射频端口共享发送和接收
- 外部组件数量少
- 支持外接PA和LNA
- 支持AoA/AoD (达到角/出发角)
1.2 Foxes 方案 BLE 板介绍
Foxes_BLE_KW38 开发板基于 NXP Freedom 开发平台。它是多样化的设计,包含了KW38A 设备和所有必要的 I/O 连接,
可作为独立板使用或连接到应用程序中。
|
Foxes_BLE_KW38 Board 主要有如下特征:
- 超低功耗,支持蓝牙 LE 和通用 FSK。
- 完全兼容低功耗蓝牙 0
- 集成 PCB 倒 F 型天线和 SMA RF 端口
- 可选电源
- DC-DC 转换有 BUCK 和 Bypass 操作模式
- 为 RF 操作提供 32 MHz 的参考晶振
- 有主要用于 RTC 操作和 RF 低功耗操作的 768KHz 的参考晶振
- 4GHz 的操作频率
- 4mbit (512kB)外部串行闪存支持无线编程 (OTAP)
- 支持 CR2032 的纽扣电池工作。当使用纽扣电池时,CAN/LIN 不能工作。
- 热敏电阻电路测试 KW38 ADC 模块
- 用于目标 MCU 的 SWD 调试端口
- 集成了 UWB 模块
|
二、加载并构建应用程序演示
2.1 首先登陆 MCUXpresso SDK 生成器网站 https://mcuxpresso.nxp.com/zh/welcome 构建 KW38 的SDK。
|
2.2 点击“指定开发板”然后输入 FRDM-KW38 即可找到对应开发板的 SDK,点击“构建 MCUXpresso SDK”。
|
2.3 选择主机的 OS (操作系统),选择需要的内容,我这里是全选,点击下方的“下载 SDK”。
|
2.4 阅读并同意最终用户许可协议。
|
2.5 同意用户许可后即可开始下载 SDK。
图 2-5 开始下载 SDK
2.6 打开 MCUXpresso IDE,在 MCUXpresso IDE 窗口中切换到 Installed sdk 视图,将下载到的 FRDM-KW38 SDK 文件拖放到 “Installed SDK”
中来导入 SDK。
|
2.7 将看到以下弹出框,点击 OK 继续导入。
|
2.8 已安装的 SDK 会出现在已安装的 SDK 视图中,如下所示:
|
三、构建一个例程应用
下面的步骤将打开并运行心率传感器示例。
3.1 在左下角找到快速启动面板。
|
3.2 然后点击 Import SDK example(s)…。
|
3.3 单击 frdmkw38 板以选择想要导入一个可以在该板上运行的示例,然后单击 Next。
|
3.4 在搜索文本框中,键入 “hrs” 以筛选示例项目,使用箭头按钮来展开列表并找到 “hrs” 项目 ( wireless_examples → 蓝牙 → hrs),然后,选择项目的 freertos 版本,点击“完成”。
|
3.5 现在,通过单击项目名称来构建项目,然后在快速启动面板中单击 build。
|
3.6 可以在 Console 选项卡中看到构建的状态,现在项目已经编译完成,现在可以将它烧写到板上并运行它。
|
3.7 确保 KW38 板连接 J-Link 。
|
在快速启动面板中单击 Debug 进行下载调试。
|
3.8 固件将被下载到板中,并且启动调试器。
|
3.9 点击“停止”按钮,停止调试应用程序。心率传感器演示默认为低功耗,因此,调试引脚是关闭的。
|
3.10 在移动设备上安装并打开 NXP IoT Toolbox应用程序,点击“心率”。
|
3.11 按 “SW1” 按钮复位 Foxes_KW38,按 “SW4” 按钮开始广播。
|
3.12 检查设备是否在 IoT 工具箱中列出,如下图所示。
|
三、总结
本文展示了如何安装 MCUXpresso IDE,以及如何下载自己所需要的 SDK,并且加载和构建演示应用程序,之后下载到 Foxes 方案的 KW38 开发板中,与手机端演示程序 NXP IoT Toolbox 配合进行演示。
欢迎在博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.cn@wpi-group.com。
参考资料
[1]《Bluetooth LE - Running a demo using MCUXpresso IDE》
下一篇:
《Foxes 方案 BLE 板 KW38 通用 FSK 软件演示例程的使用》
我是好景虚设,欢迎在大大通上关注我!
Foxes 方案相关文档:
《Foxes 开发板 NCJ29D5D 使用 Lauterbach 进行下载调试》
《NCJ29D5D 下载 package 失败的解决方法》
评论