Custom design DW1000 RF problems

Hello Gentlemen,

This is my first post on this forum, so if the information which I’m supplying is not sufficient, please let me know.
Currently I’m working a custom implementation of the DW1000. This implemenation is currently in the testing phase and sadly I ran into some trouble.
For the custom design I followed a lot of the design guides (which are very helpful). To make sure that the assembly of the PCB would remain within budget I designed it with mainly 0402 components and the PCB to be manufactured at JLCPCB. The external clock of the DW1000 is supplied by an external clock generator.

After manual assembly of two prototypes it was discovered that the DW1000 communicates with the MCU as expected and is mostly operating properly. The part which is not working is (presumably) the matching of the antenna.

Up to this point I’ve had zero communication with any external devices. The DWM1001 is used to send and receive messages. Why the messages are not being received or transmitted by the custom design is unclear. For testing I used two antennas:

  • WB002 of the DecaWave reference design

  • Taoglass Limited FXUWB10.01.0100C

Both antennas don’t work, very likely due to bad impedance matching on the PCB. This is where I’m not sure. During the design phase I’ve put quite some emphasise on the correct matching of the RF traces. I use a four layer PCB, with the RF traces matched with the internal ground plane as a reference.
Sadly I have no VNA to test the traces at the UWB frequencies, so I’m very much in the dark right now.
By this post I hope that someone might be able to spot the problem in my design. Due to the 0402 components it certainly ain’t perfect, but I don’t see why it wouldn’t work.

Here you can see the board layout with the solid ground plane right below it as the reference:

The width of the 100 ohm differential traces is 0.2mm, the width of the 50 ohm trace to the SMA connector is 0.293mm (11.55mil). The traces are 7.1mill above the internal ground plane.

Hopefully I’ve now supplied a sufficient amount of information for someone to spot the problem.
It’ll be very much appreciated!

Thank you,
Glen

1 Like

I’m the software developer and work with Glen on this project. Just in case anybody needs the info, here’s the used radio settings:

const RADIO_RX_CONFIG: RxConfig = RxConfig {
    bitrate: BitRate::Kbps6800,
    frame_filtering: false,
    pulse_repetition_frequency: PulseRepetitionFrequency::Mhz16,
    expected_preamble_length: PreambleLength::Symbols128,
    channel: UwbChannel::Channel5,
    sfd_sequence: SfdSequence::IEEE,
};

const RADIO_TX_CONFIG: TxConfig = TxConfig {
    bitrate: BitRate::Kbps6800,
    ranging_enable: false,
    pulse_repetition_frequency: PulseRepetitionFrequency::Mhz16,
    preamble_length: PreambleLength::Symbols128,
    channel: UwbChannel::Channel5,
    sfd_sequence: SfdSequence::IEEE,
};

These should be the same as the default.

Hi Glen,

I wouldn’t anticipate that bad matching can be a reason for no communication in your case. The impedance looks close to target 50/ 100 Ohms. What is the gap between 100 Ohms tracks?

What MCU is used?
Can you also share a schematics of the DW1000-related part? Power, data interface, RF part.
Do you see a DW1000 interrupt after TX?

Hello Alec,

Thank you for your swift response.
The MCU which is used is the STM32H753, which is quite a powerful microcontroller.

The clearance between the traces is 5mil.
Here you can see the schematic:


@diondokter247 can you give an answer on the interrupt after TX?

@alec @glen

Yes, the TX does generate an interrupt and makes the TX LED blink.

One thing that might be interesting is that on the lowest bitrate in channel 1 and the longest preamble, that sometimes the radio will report an RX SFD error when a message is sent from a DWM1001C (with the same settings of course).

edit: Also tried using a really slow SPI speed of 500 khz. Changed nothing.

Hi Glen

I’m not an expert, but I see quite a lot of issues with this design:

  • The clock source trace seems to be pretty long, coming from outside your shield can. I suggest placing the clock source closer to the DW1000 and placing it under the shield. What sort of clock source are you using?
  • The SMA connector you are using is not the best choice. It makes a stub and adds a big pad creating a discontinuity in the antenna trace. An edge mount SMA connector is suggested, see section 7.2: SMA Connectors in APH0001: DW1000 hardware design guide
  • The decoupling caps are quite far away from the pins. I suggest using 0201 components so they can be placed closer to the IC.
  • The antenna trace seems longer than it needs to be. Try to keep it as short as possible
  • I suggest placing a GND plane around your differential antenna traces, with vias on both sides. Place a via closer to pin 2 of you balun. Imagine a return current coming from pin 4 and 5 of the SMA connector, that will favour travelling underneath your antenna trace. It needs a low impedance path to pin 2 and 5 of your balun. mirrir your VDDPA1 decoupling caps.
  • You need more vias to stitch your ground planes together, especially near the edge of your board.
  • The decoupling capacitor of VDDIO is placed sub-optimally

I suggest contacting our sales team so our apps team might have a proper look at the design. I understand uploading the full schematic and design on a public forum might not be feasible, but having more context would be helpfull.

Hello @seppe,

a week ago, on the 4th, we’ve sent an email about this.
But so far we’ve had no response.

Hopefully you can get back to us.

Hi Dion,

Sorry, was too busy last weeks.
I didn’t find any big issues wrt schematics.
I’ll come back soon with some suggestions.

1 Like

Hi

Could you tell me the email address you sent this enquiry to and what company this was for? I don’t see anything in our internal ticketing system.

Note that “official” design reviews are typically assigned by our sales team. We would love to support every single customer with their design, but in practice we have a limited bandwidth so we can’t handle every request. I hope you understand that as a company we have to prioritise on projects that bring us the most business or opportunities.

This forum allows us to work on more of a “best effort” basis and to allow our customers to help each other. Also note that I typically do not do hardware design reviews, I just shared what I know based on our documentation.

We have a lot things going on and a limited bandwidth, so there might be some delay on a full review.

Thanks for responding!

I understand that you have a limited bandwidth. The used email address was from tehofsteengineering.nl and sent by Glen.

If you want to know the business opportunity, we’re currently in the prototyping stage.
This will consist of ~40 DW1000 radios in some form.
If the prototype is a success, then a further roll-out of a few hundred radios is likely to follow.
Then if the system is liked throughout the company and we’re starting to rely on it, then it will be a few thousand.

Can’t give guarantees of course, but I’m doing my best to to make the project a success.