4 posts / 0 new
Last post
drumste
Offline
Last seen:3 years 4 months ago
加入:2015-05-22 14:58
UART Test

Hi.
I'm new in DA14580 Hardware design.
I made a wireless bluetooth device where the DA module works in hosted mode. To check the proper functioning of the DA module, I'm trying to programming it through the UART (P0_4, P0_5) with a UART test program, writed by myself. This program is a while(1) loop insert just before the main loop, that send continuously an ascii letter through UART. Watching the result with an RS232 interface, it seems that it sends good at the start for a short time and then he continues sending a casual bytes. The same program on the basic kit, works properly.
Is it probably that the problem is the decoupling capacity too far from the power-in pin or the 16MHz quartz that has a 50ppm tollerance and a 18pF load capacitance? If not, what can be the problem?
Thanks!

Device:
MT_dialog
Offline
Last seen:1 month 3 weeks ago
Staff
加入:2015-06-08 11:34
Hi drumste,

Hi drumste,

Since the while(1) is right before the main loop that means that the XTAL16 is ok and should propely print your characters. I dont think that the decoupling capacitor distance or the 16MHz crystal are causing you the problem. The only reason i can think of that may cause this, is a bad crystal, since you can see proper characters at the begining and then garbage, your crystal might drift. Try changing the baud rate of your UART.

Thanks MT_dialog

drumste
Offline
Last seen:3 years 4 months ago
加入:2015-05-22 14:58
I tried change the baud rate

I tried to change the baud rate but the behavior is the same: it send properly for a short time, than it sand garbage bytes and at a time it stop sending. I tried also to change the 16MHz crystal with an identical one, but the behavior is always the same. I also tried to test the UART waveform with an oscillator and it seems that it works properly for a short time and than the waveform becomes larger but with the same form. At the end it becomes flat.
The test program wrote by myself is a while(1) just before the main loop that send continuously the 'B' character (66 in decimal, 01000010 in binary).
It is sure that the problem cannot be the type of quartz?

MT_dialog
Offline
Last seen:1 month 3 weeks ago
Staff
加入:2015-06-08 11:34
Hi drumste,

Hi drumste,

我不认为有t类型o do with it, although you can have a look at the types that the dev kits are using in the BOM documents on the portal.

Thanks MT_dialog