Hello.
I am using QN9080.
The QN9080 datasheet states that it supports 2 Mbps.
However, the register settings only show values for 250k, 500k, and 1M, and there is no explanation for 2M bps.
How can I use 2 Mbps of QN9080?
Hi @syd,
I hope you are doing great.
The example enables radio operation using custom GFSK (with configurable BT product, modulation index, and modulation filter coefficients).
In other words, the PHY is sending the bits at 2Mbps, but we have to be aware that the MCU is processing all the information, create the packet , the preamble and also we have to add the IFS that requires all of this process.
Also, the limitation that only a maximum of 35 bytes of data (including header and CRC if available) can be received or transmitted.
The value that you are getting seems to be correct with the PHY that is set.
Regards,
Mario
Hi Mario. Thanks for the detailed answer, but I have another question for the sentence below.
"Also, the limitation that only a maximum of 35 bytes of data (including header and CRC if available) can be received or transmitted."
This sentence means that the QN9080 cannot send or receive more than 35 bytes, but the example provided by NXP is sending up to 64 bytes. What happened?
Does the QN9080 divide 64 bytes into multiple packets?
Hi Syd,
This sentence means that the QN9080 cannot send or receive more than 35 bytes, but the example provided by NXP is sending up to 64 bytes. What happened?
Does the QN9080 divide 64 bytes into multiple packets?
You are right, the example is fragmented data to transmit.
Regards,
Mario
Thanks Mario. It worked for me.
Hi, Mario.
I am Yhyun's coworker. I've testing the maximum throughput of QN9080 using QN9080-DK board.
I describe the environment I have tested for your understanding.
The project I used is wireless_examples_genfsk_connectivity_text_bm.
I modified 2 parts of this project, one changed the payload of the send packet to 250 bytes.
Second, after sending the packet, a '+' sign is displayed on the screen.
(See attached image)
Press the number 2 key to transfer for 10 seconds.
The number of packets transmitted in 10 seconds was 5140.
When converted to bps, it is about 1Mbps.(5140 * 250 * 8 / 10 = 1028000)
What I want to know is whether this result is reasonable and how can I increase the bps.
Regards.
Hi Roem,
Please look at the app_preinclude.h file you will find the next define. That enables the 2Mbps PHY
/* Enable HS Clock to support 2Mbps PHY mode setting */
#define gBleUseHSClock2MbpsPhy_c 1
Regards,
Mario
Hi, Mario.
Thank you for your answer.
But there is a problem.
I want to use 2Mbps in "qn908xcdk_wireless_example_genfsk_connectivity_test".
However, in this example, there is no "gBleUseHSClock2MbpsPhy_c" you mentioned.
Instead, I found "gGenFskDataRate_2M".
This is already activated. Nevertheless, it seems that speed of 2Mbps is not coming out.
What should I do?
Hi @roem,
The 2 Mbps is enabled by default. However, you could double-check the data rate.
if (mGenfskActiveInstance == instanceId)
{
genfskLocal[instanceId].radioConfig.dataRate = gGenfskDR2Mbps;//[MC]
PROP_RadioConfig(PROP, radioMode, (prop_data_rate_t)genfskLocal[instanceId].radioConfig.dataRate);
}
However, you could use the 1 Mbps and compare the results that you are getting.
How are you measuring the data rate?
Regards,
Mario
Hi, Mario.
Thx for your answer.
Are you talking about the 'GENFSK_RadioConfig' function in the 'genfsk_ll_qn.c' file?
I'll test it and tell you.
Regards,
Yhyun