Hi,
Hope someone can advise me here !
Last year I used the DA14580 device on several boards I designed without any issues.
The boards used an external micro to download a bin file to the DA14580 UART on pins 4 and 5 at 57600pbs as described in the AN-B-001 document.
After this the firmware switched baud rates to 115200 and I could then easily transmit data that was picked up by my Android phone using the DSPS app. Everything worked fine.
I have since moved to a new development with a new BLE DA14580 board that uses the same schematic and firmware (different layout though).
My problem now is that even though the new board is seen by the DSPS app and connects successfully to it, no data is received by the app.
I have downloaded the same boot sw to the DA14580 device as worked previously, the device gives me back the correct CRC and then I send 0x06 Ack and I then transition to 115200.
I've verified using a scope that my data is going to the DA14580 at the correct baud rate, but even sending a single ASCII character at a time does not result in a BLE transmission.
The DA14580 is even advertising with the BLE name I've given it so I know the boot file I sent it is running, now I'm running out of ideas...
If I go back to my old board I can get the app working fine so it's not like it's something on the phone side either.
My questions:
1. Is it possible that a DA14580 can advertise and connect, but be unable to transmit data ? Could layout cause this ?
2. I am using a Chip Antenna that worked in the previous layout, but I do not have a PI network, just a 3.3nH inductor to gnd off the signal trace that goes to the RFIOP pin.
Do I need a PI network, I would have though that this just optimises the RF, but even with the phone close (full BLE bars shown on the phone) I still receive no data.
There is plenty clearance around the chip antenna as well.
3. Is there anything that I could have missed ?
thanks for any help,
Mike
Hi Mike,
至于现在,有一些开放性问题bout the use case here, but here are a few suggestions..
To actaully test the hardware, you can load our Codeless software onto to your device which can be found at the page linked below. With this you will be able to send AT Commands to yoru device and test the functioanlity. Please refer to the Startup guide for information.
https://support.dialog-semiconductor.com/connectivity/reference-design/smartbond-codeless-serial-link
Based on the desciption you might want to check, if have the UART Flow Control ON. If you do make sure it is ON in Software as well as routed in Hardware. Otherwise it will not work.
Also, when you said about sending even a single character... when you do that, do you still stay in Connection with the Phone or does it disconnect at that point?
And this is just to get some idea, do you have a 32kHz crystal in your previous design that you have omitted in the current design?
Best,
LC_Dialog
thanks for the reply !
Identical DA14580 bin file was used before and using IAR I can enter debug mode (of the host micro on the previous board) and transmit out via UART a single ASCII character at a time and it shows up on DSPS so I don't think it's flow control. The phone doesn't lose connection
The schematic is attached of the new board.
The only I issue I found is that I had not included the 1uF cap on the VDCDC pin, but I have since wired an SMD one in. Would powering up without this cap have damaged the device ?
Nevertheless, the voltage here is approx 1.4V as expected.
32 khz晶体和16兆赫populated and P2 is the connector out to the host micro. R5 and R6 pull up resistors are not populated as they were an i2C option.
The RST_BLE pin I have scoped and gets reset at the beginning of my program and never again as expected.
thanks
Mike
My main question is:
Is it possible for the device to advertise and connect, but still be a ( layout ?) issue that stops data being transmitted ?
thanks
Mike
Hi Mike,
I am looking into other possible causes here. As for the question, I haven't come across this issue where the connections work but not the data tx due to layout issue. I am checking on it.
Also, did you get a chance to test our Codeless Application. This is to rule-out any hardware related faults.
And which version of the DSPS/SDK are you using?
Best,
LC_Dialog
thanks for the update.
The boot code I send to the DA14580 over the UART is in the form of a byte array in C code.
It's the same byte array I used previously that worked fine and was provided to me by a software developer in the company.
I haven't tried the Codeless application as it's a hex file and I would need to flash it with a tool, but I haven't any programming pads on the board due to it being a downloadable firmware application.
I may have to wait till next week when the colleagues that provided me the C byte array are back from hols.
Maybe they can convert the Codeless application hex file to a byte array that I can use, (unless you have the hex file already available in byte array form ? ) or build me a simple application that helps debug the issue further.
thanks,
Mike
Hi Mike,
There is a new release of the DSPS Android app (Version DSPS-Android-3.210.4.zip) which needs to be used with newer DSPS software applications.This is updated to handle some of the updates in Android that is blocking the communication.
I know you were using some previous DSPS software application that might not be affected by this. But, I would like you to download this new version from our support site and test your data transmission.
Also, can you provide us the DSPS software version that you are using..
Best,
LC_Dialog
Hi,
Yes, that is already the version I have on my phone. 3.210.4.
I've uninstalled and re-installed again just in case, but still the same.
Is there any other app available that you would recommend trying in case it is something on the Android side ?
thanks
Mike
fixed !
Issue was flow control.
Even though I wasn't (knowingly) using flow control on my old board, the hardware had been configured to use it and the pins on the old board were setup correctly.
On my new design I had left the Pins 1.0 and 1.1 floating as wasn't expecting to use flow control as hadn't previously with the image. However the DA14580 was expecting it.
I received a new downloadable boot image with flow control in software and works fine now.
thanks
Mike
Hi Mike,
Good to know that it is fixed. As it came to be an issue that we've discussed and not a layout problem. Let us know if you have any more questions.
Best,
LC_Dialog