⚠️
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.
12 posts / 0 new
Last post
cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
problems with Pro Devkit

Hi guys, I've been having endless trouble trying to use the Pro devkit for DA14531. Here's a digikey link to the exact device:

https://www.digikey.com/short/z1pc4f

 

Basically, the USB connection seems to be extremely unstable. LED D4 is always blinking on the PCB, and I can hear the USB connecting and disconnecting constantly.

On a few occasions the board has connected, but then it will suddenly disconnect minutes later for no discernable reason (I don't even have to be near it).

I suspect something is not soldered correctly on the board, or perhaps something is wrong with the on-board power supplies. The USB 5V supply is stable, but the other supplies seem very sketchy, especially the DA14531 buck supply, which is bouncing up and down around 100-200mV.

It doesn't help that the documentation for this dev board are extremely confusing - in fact I have found that many of the diagrams are simply wrong. Moreover different documents show different and contradictory connections for the same tasks. This is the main reason I was unsure for so long of whether the PCB was defective or not.

On one occasion where the USB worked for a while, I managed to get the Blinky code example running. Of course, this was after discovering that the tutorial diagram for 1-wire UART was incorrect, and I had to read the full schematics and figure out the correct wiring for myself.

On the small possibility that accurate documents exist, could you point me towards them?

Obviously I will deal with Digikey to get a fresh and hopefully operational devkit.

Device: 
PM_Dialog
Offline
Last seen: 2 days 9 hours ago
Staff
Joined: 2018-02-08 11:03
Hi cmarcus,

Hi cmarcus,

Happy new year and thanks for posting on our public BLE forums.

Could you let me know if followed the UM-B-117: DA14531 Getting Started with the Pro Development Kit (HTML) from our website? This tutorial is showing how to use the Pro-DK with our SDK example. Is the HW configuration correct?

So, the main problem is that the USB is connecting and disconnecting constantly? How did you verify it? For example, if you use the SmartSnippets Toolbox V5.0.14 for Windows OS, the Dk is being disconnected continuously ?

PS : Changing the device selection from DA14581 to DA14531 in the initial post.

Thanks, PM_Dialog

cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
I did indeed follow that

I did indeed follow that guide.

The USB stability is the main issue. Every 1-2 seconds, the D4 LED on the board flashes for an instant, and I hear the USB connect/disconnect sound on my PC.

No matter what I do (i.e. regardless of motherboard settings and regardless of the DA14531 module being plugged/unplugged), the USB simply refuses to start up properly. It doesn't matter if I have the software open or not. Occassionally, the USB would connect for no reason. For example, I left my computer for 5 minutes and at some point it just decided to connect. Then seconds later it disconnects again, without me doing anything.

I noticed suspicious things, like the USB would disconnect if I just waved my hand through the air nearby. To me, this indicates a solder joint failure (i.e. a floating input, which detects the electric field from my body). Visual inspection didn't find anything though.

PM_Dialog
Offline
Last seen: 2 days 9 hours ago
Staff
Joined: 2018-02-08 11:03
Hi cmarcus,

Hi cmarcus,

Given that the DA14531 is flashed with the Blinky example, it is expected that the D5 LED is blinking continually, as this is the functionality of this peripheral example. It doesn’t mean the USB connection is unstable. According 6.0.14.1114\projects\target_apps\peripheral_examples\blinky SDK example, the application is toggling the P0_9. This pins I connected with the D5 LED on the Pro-DK. Please try to erase the SPI flash, and then you will see the LED stops blinking.

After that, I would recommend to flash any of the SDK BLE examples 6.0.14.1114\projects\target_apps\ble_examples.

Thanks, PM_Dialog

cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
The LED flashing is the D4

The LED flashing is the D4 LED, which according to your own schematics is the USB indicator.

PM_Dialog
Offline
Last seen: 2 days 9 hours ago
Staff
Joined: 2018-02-08 11:03
Hi cmarcus,

Hi cmarcus,

Sorry for the confusion – probably I mis-read it, that’s why I posted for the LED D5. Let me check this out and I’ll get back to you shortly.

Thanks, PM_Dialog

cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
Hi again,

Hi again,

So I got a new replacement Devkit from Digikey, and the USB now works correctly. I am able to program Blinky with no issues using SPI Flash.

Now I am trying to do the next step for my project - loading the code onto an I2C EEPROM using the SmartSnippets Toolbox.

I am precisely following the instructions in AN-B-072 for the I2C setup.

Here's the log output from SmartSnippets Toolbox:

[INFO     EEPROM             @21-01-21 16:05:27] Firmware File C:\Users\colin\Desktop\SDK_6.0.14.1114\DA145xx_SDK\6.0.14.1114\config\toolbox_resources/DA1453x/common/flash_programmer.bin has been selected for downloading.
[INFO     EEPROM             @21-01-21 16:05:27] Connection to COM6 port has successfully opened.
[INFO     EEPROM             @21-01-21 16:05:27] Started download procedure...
[ACTION   EEPROM             @21-01-21 16:05:28] Please press the hardware reset button on the board to start the download process.
[ERROR    EEPROM             @21-01-21 16:05:35] Timeout: Reset signal not detected for more than 8000 msecs.
[INFO     EEPROM             @21-01-21 16:05:35] Please try again. If problem persists refer to User Manual AN-B-072 (https://www.dialog-semiconductor.com/an-072-booting-from-serial-interface) and check jumper settings. For booting from 2-wire UART  (P0_0 and P0_1) see Figure 10. For booting from 1-wire UART P0_5 see Figure 6.
[INFO     Booter             @21-01-21 16:05:35] Successfully disconnected from port COM6.
[ERROR    EEPROM             @21-01-21 16:05:35] Failed downloading firmware file to the board.

I push the button "SW1/RESET" when prompted but nothing happens, and after a few second it times out as shown in the log.

I have attached some pictures of my setup and a circuit diagram for clarity.

Attachment: 
PM_Dialog
Offline
Last seen: 2 days 9 hours ago
Staff
Joined: 2018-02-08 11:03
Hi cmarcus

Hi cmarcus

The SST does not support any flash capabilities by default. When the “Connect” button is pressed through the tool, a small firmware is downloaded into the DA14531 :  flash_programmer_531.bin in case of UART and jtag_programmer_531.bin in case of JTAG.

Both binaries are generated be the 6.0.14.1114\utilities\flash_programmer project of the SDK.

  1. Open this project and navigate to user_periph_setup.h and open the “Configuration Wizard”.  From the drop down menu, select the ST M24M01. Then build the project for DA14531_uart and DA14531_jtag.
  2. Copy the generated binaries (Out_uart_531\flash_programmer_531.bin and Out_jtag_531\jtag_programmer_531) and past the in the SST installation folder in the following path :

..\SmartSnippetsToolbox\SmartSnippetsToolbox5.0.14\common_resources\SupportPackages\DA1453x\toolbox_resources\common

  1. In the Pro-DK, just  o connect the SDA and SCL to P2_3 and P2_4 using jumper cables (without using the P0_3/P0_4).
  2. Open the SST Toolbox :

 

  1. In case of JTAG mode (Figure 11 in UM-B-083 SmartSnippets Toolbox User Manual (HTML) ), the reset is not required, so please follow the documents to connect and burn the EEPROM.
  2. In case of UART Mode ( Figures 9 or 10 in UM-B-083 SmartSnippets Toolbox User Manual (HTML) ) you should have reset functionality. To enable it, use the purple and the yellow connections as in Figure 21 from the n-b-072 application note. Then, in Board setup ( figure 20 in SST user manual ) make sure that P0_0, P0_1, 57600Bd is selected.

In both cases, the SCL and SDA in the SST Board setup should be configured in P0_2 and P0_3.

Please let us know with the results.

Thanks, PM_Dialog

cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
Thank you for the detailed

Thank you for the detailed instructions, it is greatly appreciated! I feel we are close to making this work. Here's my current status:

I have followed your instructions, and I am now able to press "Connect" and successfully load the firmware. Here's the log for that:

[INFO     EEPROM             @21-01-23 14:36:24] Firmware File C:\Users\colin\Desktop\SDK_6.0.14.1114\DA145xx_SDK\6.0.14.1114\config\toolbox_resources/DA1453x/common/flash_programmer.bin has been selected for downloading.
[INFO     EEPROM             @21-01-23 14:36:24] Connection to COM6 port has successfully opened.
[INFO     EEPROM             @21-01-23 14:36:24] Started download procedure...
[ACTION   EEPROM             @21-01-23 14:36:25] Please press the hardware reset button on the board to start the download process.
[INFO     EEPROM             @21-01-23 14:36:25] Reset detected
[INFO     Booter             @21-01-23 14:36:27] Successfully disconnected from port COM6.
[INFO     EEPROM             @21-01-23 14:36:27] Connection to COM6 port has successfully opened.
[INFO     Booter             @21-01-23 14:36:27] Successfully disconnected from port COM6.
[INFO     EEPROM             @21-01-23 14:36:27] Successfully configured EEPROM ports and pins.
[INFO     EEPROM             @21-01-23 14:36:27] Successfully downloaded firmware file to the board.

Next, I attempt to "Burn & Verify" the .bin file for the Blinky example:

[INFO     EEPROM             @21-01-23 14:38:08] Copying file: C:\Users\colin\Desktop\DA14531 BINARIES\blinky\blinky_531.bin to C:\Users\colin\AppData\Local\Temp\\input1.bin.
[INFO     EEPROM             @21-01-23 14:38:08] Read 3744 bytes from file C:\Users\colin\AppData\Local\Temp\\input1.bin.
[INFO     EEPROM             @21-01-23 14:38:17] Started burning memory with 3744 bytes of data at address 0x00.
[INFO     EEPROM             @21-01-23 14:38:17] Connection to COM6 port has successfully opened.
[ERROR    EEPROM             @21-01-23 14:38:24] Received error message while checking whether burning was successful: 00000001.
[INFO     Booter             @21-01-23 14:38:24] Successfully disconnected from port COM6.
[ERROR    EEPROM             @21-01-23 14:38:24] Fail write 3744 bytes at offset 0x00
[ERROR    EEPROM             @21-01-23 14:38:24] Failed burning memory.

I also tried to read the memory using "Read 32KB":

[INFO     EEPROM             @21-01-23 14:39:19] Started reading 32768 bytes from memory.
[INFO     EEPROM             @21-01-23 14:39:20] Connection to COM6 port has successfully opened.
[ERROR    EEPROM             @21-01-23 14:39:26] Received error message while reading from the board: 00000001.
[INFO     Booter             @21-01-23 14:39:26] Successfully disconnected from port COM6.
[ERROR    EEPROM             @21-01-23 14:39:26] Error: Failed reading 16384 bytes from offset 0x00
[ERROR    EEPROM             @21-01-23 14:39:26] Failed reading memory.

When reading your instructions, I assume this was a typo "In both cases, the SCL and SDA in the SST Board setup should be configured in P0_2 and P0_3.".

I mostly tried to do it with SCL=P0_4 and SDA=P0_3. When I tried it with P0_2 and P0_3 I got the following error which I assume means an incorrect wiring:

[INFO     EEPROM             @21-01-23 14:55:14] Started reading 32768 bytes from memory.
[INFO     EEPROM             @21-01-23 14:55:14] Connection to COM6 port has successfully opened.
[ERROR    EEPROM             @21-01-23 14:55:24] Timeout while waiting to receive the most significant byte of packet length (10000 msecs)
[INFO     Booter             @21-01-23 14:55:24] Successfully disconnected from port COM6.
[ERROR    EEPROM             @21-01-23 14:55:24] Error: Failed reading 16384 bytes from offset 0x00
[ERROR    EEPROM             @21-01-23 14:55:24] Failed reading memory.

So, what does error 00000001 mean?

I have again attached pics of my current setup.

Attachment: 
cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
I have noticed a suspicious

I have noticed a suspicious point... sometimes when I do "Connect", I don't need to press the "SW1/RESET" button. It just instantly says "Reset detected". I wonder if this is a normal behavior?

I also tried swapping the SDA/SCL connections on the EEPROM breadboard, just in case I had them backwards. I got exactly the same error "00000001". So I guess this error is indicating a general I2C failure?

Do I need to provide pull-up resistors on the I2C bus, like on the breadboard?

cmarcus
Offline
Last seen: 9 months 3 weeks ago
Joined: 2020-12-14 16:16
YES! I finally got it working

YES! I finally got it working!

So it turns out I did need to provide external pullups on SDA/SCL. According to the datasheet, DA14531 has internal 25k pullups but these were not strong enough. I put my own 3.9k pullups on the lines, and now everything works.

I have attached before/after pics from my oscilloscope for the I2C bus.

So, I have 1 final question. After doing "Burn & Verify", I had to unplug+replug the USB to get the DA14531 bootloader to run and load the program from the EEPROM. I would prefer not to replugging the USB all the time.

Is there a way to reset the DA14531 in software, so that the bootloader will run? Without physically messing with the board?

I did try pushing the SW1/RESET button after Burn&Verify and it didn't do anything (did not cause the bootloader to run).

 

Attachment: 
PM_Dialog
Offline
Last seen: 2 days 9 hours ago
Staff
Joined: 2018-02-08 11:03
Hi cmarcus,

Hi cmarcus,

You should be able to reset the Pro-Dk by pressing the SW1/RESET push button. If this does not reset the chip, please check if the HW reset functionality is disabled in the firmware - GPIO_Disable_HW_Reset(). If yes, please comment this out.

Thanks, PM_Dialog