Skip to main content

DA14580 failed to boot

DA14580

8 months ago

Posted by Dang 80 points 10 replies
0 upvotes

Dear support team,

My PCB schematic is in the attach. LP5900TL is a 150mA-output regulator and VBAT is connected to a 3.7 V Lithium-ion Polymer rechargeable battery.

I notice that sometime the BLE chip fails to boot. When it fails, it does not send UART code (STX = 0x02) during UART boot protocol (Application note DA14580/581/583 Booting from serial interfaces AN-B-001)

Is my power circuitry correct for DA14580? What is the maximum current consumption (peak current) when DA14580 boots up?

Due to a design error, the RF transmission line impedance is mismatched. Is this the cause of booting failure?

Thanks for your help,

Dang

 

 

 

Attachment Size
schematic 311.47 KB

8 months ago

chenpenglai 5 points

8 months ago

Dear support team,

Do you have any ideas about the failure?

Your help would be much appreciated.

Thanks,

Dang

 

 

accepted answer!

8 months ago

PM_Dialog

Hi Dang,

Apologies for the delay. So, I guess the DA14580 is connected to UART and booiting from P0_2/P0_3 with baud rate at 115200.

Since the DA14580 is programmed and you are following the standard UART booting procedure, according to the AN-B-001 the 580 should transmit a 0x02 (STX).I  am not able to see why you are not getting the proper byte when booting. Please Try to boot via UART using SmartSnippets Toolbox, and check if you are able to boot using the Smart Snippets Booter.

Which tool you are using to flash the DA14580?

Thanks, PM_Dialog

8 months ago

Hi PM_Dialog,

Thanks for your reply. 

In my application, DA14580 boots from UART P0_2/P0_3. It receives its FW from a host CPU at baud rate 115200. 

DA14580's boot code has been pre-programed by Dialog. I do not flash it. 

Is this configuration suitable for final production?

 

X2 is a 16MHz crystal with ±20ppm 10pF and  it is NOT calibrated.

According to DA14580's datasheet, frequency tolerance of ±20ppm is good enough. Can you please confirm this?

 

Thanks,

Dang

 

8 months ago

PM_Dialog

Hi Dang,

Can you please indicate which FW the DA4580 is running ? If you could provide more information about your custom design it would be very helpful. Please try to program the DA14580 with any of the SDK examples.

Please check Table 330: 16 MHz Crystal Oscillator: Recommended Operating Conditions from the DA14580 Datasheet. You should select an XTAL with these specs. What is the XTAL part number that you are using?

If you are starting a new design or project, we would strongly recommend moving into DA14531 or DA14585/586 products and SDK6.0.14, as it is much more improved. We have a lot of code examples and improved documentation, and there is also software roadmap support. There is not any software roadmap support for DA14580 product family and SDK5.

https://www.dialog-semiconductor.com/products/connectivity/bluetooth-low-energy/products/da14531

We also have a DA14531 module, namely DA14531 SmartBond TINY™ Module! It has very small dimensions and is very low power. Follow the link below to find datasheet, documentation and HW collaterals for the module:

https://www.dialog-semiconductor.com/products/bluetooth-module-da14531-smartbond-tiny

Thanks, PM_Dialog

8 months ago

Hi PM_Dialog,

It's a HW problem and I have solved it. Thanks a lot for your support !

I just have one more question. Booting from UART is intent to use in development phase. Is it OK to use this mode in production phase (i.e. mass production)? Is there any limitation?

Thanks,

Dang

7 months ago

PM_Dialog

Hi Dang,

Could you please clarify the last question? Please check Figure 1: DA14580 booting sequence in the following document:

https://www.dialog-semiconductor.com/sites/default/files/an-b-001_-_booting_from_serial_interfaces_v2.1.pdf

Do you mean that the OTP and application flags are burnt?

When the OTP is programmed and the application flags on the OTP header are also burned, the primary bootloader is disabled so the scanning procedure doesn't take place, thus you will not be able to boot from the SPI or UART or I2C. You will be able to directly burn your SystemRAM though JTAG as long as the OTP header field called JTAG enable flag stays Enabled. If the application flags are burned and the JTAG enable flag is Disabled then the device becomes inaccessible. Keep in mind that OTP stands for One Time Programmable, thus you can’t erase and re-write the OTP multiple times

Thanks, PM_Dialog

7 months ago

Hi PM_Dialog,

I don't want to burn the OTP because DA14580 firmware may be updated in my product.

I want it to boot from UART. Is there any limitations when using UART boot in final product?

Thanks,

Dang

 

 

7 months ago

PM_Dialog

Hi Dang,

So, so the application code will be into System-RAM and the device will boot from UART?

Do you have any external SPI flash in your design?

Thanks, PM_Dialog

7 months ago

Hi PM_Dialog,

Yes, correct. DA14580 always boots from UART. Its application code stays in System-RAM

The product does not have an external flash. A portion of main MCU's internal flash will be used to store Application code of 580

I just want to know if this architecture has any limitation on 580's side.

Thanks,

Dang