⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
17 posts / 0 new
Last post
amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
DA14531 Boot from 2-wire UART

Hi,

I am unable to boot DA14531 using 2 wire uart (boot step4 http://lpccs-docs.dialog-semiconductor.com/UM-B-119_DA14585-DA14531_SW_Platform_Reference/Appendix/Appendix.html#da14531-booting-sequence-steps).

For reference please find the attached schematic.

I have interfaced the chip in bypass configuretion.

As soon as I power up the chip, a constant 0.8mA is drawn from the supply.

And when I attach FTDI usb to uart RX pin to P0_0 (DA14531 TX) the current flow reduces to 0.1mA and no activity is seen on this pin.

Expected behaviour is to receive STX byte as stated in the link mentioned above.

Am I missing something here?

Please help, thanks.

Attachment: 
Device: 
PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Thanks for your question online. I looked at you attached schematic and it is expected that you are unable to boot from 2-wire UART. As you can see in table 22, when booting from 2-wire UART (Step4), the Tx is mapped to P00 which is used for the reset functionality as well. Also keep in mind that the reset is active high. Programming the DA14531 through 2-wire UART (pins p00 and P01) along with an FTDI will cause continuous resets on the device since the idle state of the RX on the FTDI side is high due to an internal pull up on the FTDI side. Since this is connected to the P00 which acts also as a reset by default will cause the continuous resets. The solution would be to use a strong pull-down resistor as much as to override the pull-up from the FTDI.

Thanks, PM_Dialog

amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
Hi,  thnaks for a quick reply

Hi,  thnaks for a quick reply.

I pullled P0_0 down with 2k resisitor. It didn't work either. But this time the current stayed at 0.8mA (it had reduced to 0.1mA without the pull down).

I also tried 1-wire UART on pin P0_3 (boot step 3). Connected RX pin on th FTDI to P0_3 (DA14531 TX/RX) but couldn't see any activity.

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Can you please indicate how you are trying to download fw?  Are you trying through Jtag? If you use the Keil IDE, are you able to download fw? Please measure the voltage in the P00.

Thanks, PM_Dialog

amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
Hi,

Hi,

At present I'm trying to receive STX byte over uart into a serial port terminal on my mac. Once I confirm this, I will use a hand writtern utility to download the hci fw over uart.

The voltage level at various pins without interfacing FTDI
   P0_0 ~0.01 volts
   P0_1 ~0.00 volts
   P0_3 ~0.00 volts
   XTAL32MP ~0.5 volts
   XTAL32MM ~0.5 volts
   VBAT_HIGH,VBAT_LOW 3.3 volts

Have I got the schematic correct?

My end goal is to use DA14531 as a network controller tied to an external mcu and download the hci fw on system startup.
Previously I had successfully used DA14585 with the same approach, and didn't face any issue.

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Can you please indicate that the attached schematic is the full version?  I would strongly recommend you to check out the AN-B-075: DA14531 Hardware Guidelines from the DA14531 product page. This Application Note provides the minimal reference schematic, circuit explanation, and design guidelines for BLE applications based on the DA14531 SoC. Please follow this document to review your design.

The necessary components to have DA14531 operational are:

  • Inductor, 2.2 µH for internal DCDC converter. Necessary for buck and boost configuration. In bypass configuration, the inductor can be removed. Which mode would you like to use? According your schematic, the VBAT_HIGH is supplied with 3.3 Volts, so I suspect that you are interested in buck mode. In addition, the 2.2μA inductor is missing from your schematic.
  • Capacitors on VBAT_HIGH and VBAT_LOW for internal DCDC converter. Their value depends on the DCDC configuration and the type of power source
  • XTAL 32 MHz, provides the main system and BLE clock
  • XTAL 32 kHz, as the low-power clock in sleep mode. When RCX (less accurate) is used, XTAL32 kHz can be omitted
  • For some applications an RF low-power filter is required to suppress the second harmonic
  • Antenna. Is either printed or ceramic

Additionally, how you are trying to download fw? I cannot see the JTAG interface in your design.

Thanks, PM_Dialog

amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
Hi PM_Dialog,

Hi PM_Dialog,

The attached schematic is complete.
As shown in the schematic, I have placed bare minimum components (bypass configuration) to reach to a stage where I have a functional 2 wire UART bootloader.

Also I believe JTAG/SWD isn't required for booting from serial interfaces like 2 wire UART (at least that's the case with DA14585) 

MHv_Dialog
Offline
Last seen: 2 months 1 day ago
Staff
Joined: 2013-12-06 15:10
After wiring it all up, you

After wiring it all up, you can remove the GND connection momentarily. This will force a Power-On-Reset (POR) and you should see the STX characer transmitted on P0_0 indicating that the device is ready for a bootload. Removing the supply does not actually provide a POR when other pins on the DA14531 are held high. Hope this helps.

/MHv

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Thanks MHv_Dialog for your

Thanks MHv_Dialog for your inputs. Adding the follow comments for any other forum customer who wants to boot from 2-wire UART in by-pass mode.

Hi amitv87,

Regarding the 2-wire UART booting in by-pass mode, you should define the CFG_POWER_MODE_BYPASS in da1458x_config_basic.h header file. That macro notifies the SDK about the fixed power mode in by-pass mode. By default is un-defined.

As already mentioned in my previous comment, you should also use a strong pull-down resistor to P00 to avoid continuous reset. This is already implemented in our ProDK by populating the resistor R30 resistor and connecting the reset circuit of the mother board with the R347 resistor. This creates a strong pull down resistor + the Internal resistor on the DA14531. I would suggest first checking the RESET path we have implemented on the DA14531 ProDK. After that, you should be able to use the SmartSnippets Toolbox and boot from 2-wire UART.

Please check section 6 Boot from 2-wire UART from the AN-B-072 application note for more information.

https://www.dialog-semiconductor.com/sites/default/files/an-b-072-da14531_booting_options.pdf

Thanks, PM_Dialog

amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
Hi,

Hi,
I tried removing the GND connection momentarily as stated by MHv_Dialog but it did not help.

As mentioned by PM_Dialog
Regarding the 2-wire UART booting in by-pass mode, you should define the CFG_POWER_MODE_BYPASS in da1458x_config_basic.h header file. That macro notifies the SDK about the fixed power mode in by-pass mode. By default is un-defined.

Does this mean that before using 2-wire UART booting mechanism I need to set some OTP register to enable bypass mode using JTAG/SWD or just configure the macro for my app which I intend to load using UART bootloading mechanism.

As suggested I also pulled P0_0 low using 10K resistor, and connected FTDI RX pin to P0_3 in order receive STX byte using 1-wire UART booting mechanism.

I didn't receive STX byte even with this

I could not test P0_5 1-wire UART boot (step 1) as we did not place any trace on our pcb conncting to this pin.
 

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

You don’t need to configure any OTP register to enable bypass mode using JTAG/SWD. Just define this macro in your application code. I have tested it in our DA145xx Pro-DK and is working correctly.

Thanks, PM_Dialog

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Can you please let us know if you are able to boot from 2-wire UART after adding the pull-down resistor in the P00 and defined the CFG_POWER_MODE_BYPASS macro? Do you need further support on this?

Thanks, PM_Dialog

amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
Hi,

Hi,

I couldn't get the chip to boot using UART. I have ordered for the usb devkit. Will try once I receive it.

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Please let us know with the results.

Thanks, PM_Dialog

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Please check out the updated version of Booting Options application note for DA14531!

https://www.dialog-semiconductor.com/sites/default/files/an-b-072-da14531_booting_options_v1.2.pdf

Thanks, PM_Dialog

amitv87
Offline
Last seen: 5 months 2 weeks ago
Joined: 2018-03-08 08:58
Hi,

Hi,

I tested 2-wire UART boot on usb devkit and it worked fine.

Thanks.

PM_Dialog
Offline
Last seen: 1 week 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi amitv87,

Hi amitv87,

Thanks you for the update and for you feedback. If you have any other issue, please raise a new forum thread.

Regards, PM_Dialog