5. 硬件设计类
本节介绍与硬件有关的常见问题。
5.1. 在升压模式下,是否可以从DC-DC的输出端为负载(例如传感器,LED,闪存等)提供电压?
是的。 DA14531 datasheet 中的 Table 12 指定了DC-DC在各种输出电压下可提供的最大负载电流。在升压模式下,DC-DC输出端为clamps, POR 电路,读/写OTP供电和驱动GPIO。 如果未读取/写入OTP且未驱动GPIO,则至少有95%的输出电流能力可以用为外部负载提供电源。只需注意,在启动期间,从VBAT_HIGH汲取的电流不得超过50μA(请参见 DA14531 datasheet 中的 Table 4 )。这可能意味着必须将负载连接到GPIO而不是直接连接到DC-DC的输出端。
5.2. 是否可以使用两层PCB板的设计?
是的。两种封装都不需要微通孔。应用手册 DA14531 Hardware Guidelines 给出了4层PCB板的设计样例,但是可以减少为2层。中间层仅用于互连顶层和底层。
5.3. 什么时候用旁路模式才比较有意义?
当最低功耗不重要时,可以使用旁路模式。旁路模式将允许您不使用DC-DC电感器。这样可以节省0.02美元,并减小电路板尺寸!
请参考两种封装下: DA14531 QFN/Bypass 和 DA14531 WLCSP/Bypass 的Bypass模式的电路设计。
在软件设置方面,如果要使用Bypass供电模式,请确保该宏 CFG_POWER_MODE_BYPASS 在文件 da1458x_config_basic.h
中已被定义。
5.4. 我可以不适用外部32KHz的晶振嘛?
外部32 KHz的晶振是可选的。内部RCX可以替代外部32 KHz晶振用作 Low Power Clock (LPC) 的时钟源。
在SDK6.0.14中,可以通过在 da1458x_config_advanced.h
中设置 CFG_LP_CLK 宏来选择低功耗时钟。该宏中包含了以下值:
LP_CLK_XTAL32 //External XTAL32 oscillator
LP_CLK_RCX20 //Internal RCX20 clock
LP_CLK_FROM_OTP //Use the selection in the corresponding field of OTP Header
5.5. 我可以使用2线UART对外部FLASH进行编程吗?
可以的。文档 DA14531 Getting Started 中的 Figure 32 展示了用于对外部设备进行编程的跳线设置 - 通过2线UART对SPI闪存进行编程。文档 DA14531 Booting Options 描述了不同的启动选项。其中包含有I2C,UART,SPI等串行接口,以及如何将固件烧录到Flash,EEPROM和OTP中。
5.6. 用户如何使用DA145xx开发套件刻录SPI闪存?
可以通过使用SmartSnippets toolbox中的 Flash Programmer 功能。共有三个选项:
使用Jtag。文档 DA14531 Getting Started 中 Figure 30 展示了通过JTAG编辑SPI FLASH的跳线配置。即使用默认的Pin脚配置。
使用单线UART - P0_5或P0_3接口。
使用双线UART。 文档 DA14531 Getting Started 中的 Figure 31 展示了通过双线UART编程SPI FLASH的跳线配置。
你也可以通过参考 ezFlashCLI 工具来操作DA14531的Flash。 ezFlashCLI 工具依靠Segger J-Link™ library来控制Smartbond SWD界面。
对于 DA14531 TINY Module ,也可以通过使用 Dialog Smartbond™ Flash Programmer 对其进行操作。 该工具可用于 Windows OS 、 Linux OS 和 mac OS 操作系统上。 请参看 user manual 来获取更多信息。
5.7. DA14531中的哪些Retention-RAM分区可以被保留?
DA14531中有 3 个RAM分区可以被分别保留。
如果在 da1458x_config_advanced.h
文件中, 标志 CFG_CUSTOM_SCATTER_FILE 未被定义,
则系统会根据默认SDK中的scatter文件和当前image的大小来计算要保留的RAM区域。
RAM3分区是始终被保留的,因为RAM3分区中包含了从ROM中使用的数据。
RAM1 holds IVT,因此需要保留它。因此,如果您的应用程序足够小以适合RAM1,则可以关闭RAM2单元的电源。
5.8. 当我使用双线URAT对DA14531进行编程时,需要禁用P0_0上的复位功能吗?
不需要。默认情况下,硬件复位功能分配在 P0_0 上。即便默认的硬件复位功能被分配在 P0_0 上,但当引导程序开始执行时候,P0_0 上的硬件复位功能会被引导程序自动禁用。此时 P0_0 接口被用于程序接口引脚。 在此情况下,当程序完成了启动,则 P0_0 接口会被释放,引导程序会重新启用 P0_0 上的硬件复位功能。 因此在使用双线UART对DA14531进行编程时,您无需担心其硬件复位功能会对其有影响。
除此之外,在应用程序内,可以通过 HWR_CTRL_REG
来禁用复位功能。应用程序一旦执行,该指令会被激活,即复位功能被禁用。
Note
DA14531的引导程序被写入了ROM中,无法对其改变。
5.9. 采用WLCSP封装的DA14531是否可以配置为从外部SPI Flash启动,并仍然具有UART和复位功能?
在这种情况下,建议使用JLINK进行编程。复位功能可以通过上电复位或将其分配到另一个GPIO上。CSP封装中的引脚个数少于WLCSP封装,因此很难支持所有功能。 此外,文档 DA14531 Booting Options 描述了使用串行接口(例如I2C,UART,SPI)的不同引导选项,以及如何将固件编程到Flash,EEPROM和OTP中。
5.10. DA14531的预期功耗是多少?
请参考 DA14531 datasheet 中的 3.3 DC Characteristics 部分。
5.11. 什么是OTP configuration script?
OTP configuration script中包含了一些具有特定值的寄存器,这些寄存器可以被写入值,这些值可以是用于在生产过程中的校准值,并会存储在该寄存器中。 有一些还在启动过程中定义了UART time-out timer。 在CPU开始运行程序代码之前,OTP configuration script将被Booter执行,以此来准备并初始化系统。 详情请参考 DA14531 datasheet 中的 4.4.2 Configuration Script。
5.12. SPI如何在32 MHz下运行(快速启动)?
SPI Flash的默认运行速率是2 MHz。但是可以使用特定的configuration script的命令来覆盖默认的2 MHz的SPI引导路径,并将时钟速度设置为32 MHz。
5.13. 外部处理器可以控制DA14531吗?
是的,可以通过以下两种方法使用外部处理器来控制DA14531:
通过GTL,这是Dialog的专有协议。
详情请参见 UM-B-119: DA14585-DA14531 SW Platform Reference 中的 1.4.2. External Processor 部分。
SDK包含了可以应用于此方法的两个例程,分别为 prox_reporter_ext
和 prox_monitor_ext
。
该两个例程都包含在 projects\target_apps\ble_examples 的SDK路径下。
也可通过参考 UM-B-143 Dialog External Processor Interface 用户手册来了解创建基于GTL的应用程序的一些必要信息。 其中包含了通用传输层协议(GTL)的详细说明,以及交换消息和协议操作的序列流程图。
也请参看基于该协议发布的官方例程: Booting the DA14531 with Codeless Through a STM32 和 STM32 SUOTA via DA14531 。
通过 HCI,这是标准的Bluethooth SIG协议。
其中DA14531的SDK包含了基于HCI开发的应用例程。该例程可以在 projects\target_apps\hci SDK路径中找到。
5.14. DA14531是否通过了FCC认证?
是的,DA14531 SoC已通过认证。请参阅以下链接:
5.15. 我应该从哪里获取DA14531的原理图符号和PCB Footprints?
SnapEDA 网站上提供了DA14531的原理图符号以及PCB Footprints。
https://www.snapeda.com/search/?q=DA14531&search-type=parts
注册后,您可以免费下载几乎任何格式的文件(Altium,Orcad,Eagle等)! QFN和CSP均受支持。
5.16. 我可以通过DA14531专业版开发套件来调试我自己的硬件设备吗?
可以。详情请参考 Getting Started with SDK6 (HTML) 中的 Section 18。
更对关于USB开发板、专业开发板套件的信息,可以在 Development Kit-USB 和 Development Kit-Pro 用户手册中找到。
也请参看 Quick Started Guide with the USB Development Kit 和 Getting Started with the Pro Development Kit (HTML) 文档来获取更多信息。
5.17. Dialog是否可以提供有关DA14531的模块?
是的。Dialog官方发布了 DA14531 SmartBond TINY™ Module - 请参看以下的产品页面:
DA14531 SmartBond TINY™ Module基于全球最小,功耗最低的Bluetooth®5.1片上系统,为集成模块带来了DA14531 SoC的优势。它仅仅需要一个外部电源和印刷电路板就能构建Bluetooth®应用程序。
该模块面向广泛的市场使用,并将在各个区域进行认证,从而大大节省了开发成本和上市时间。
它带有集成天线和易于使用的软件,使Bluetooth®Low Energy的开发比以往任何时候都更加容易。
这种优秀的组合使以前无法连接到应用程序的移动连接成为可能,以SmartBond TINY™为核心,数十亿个IoT设备将成为可能。
请点击 TINY module datasheet 和 Getting Started guide 来获取更多有关该模块的信息。
5.18. DA14531 TINY Module的预期功耗是多少?
请查看 TINY module datasheet 中的 Table 4: DC Characteristics 来获取有关该方面的信息。