This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
Our custom board uses CP2102N USB Serial Bridge to have USB interface, which communicates with CC2652R7 via UART.
The UART baud rate between CP2102N and CC2652R7 is set to 3 Mbps and uses RTS/CTS hardware flow control.
The following issue has been confirmed when transferring data from a USB host to CC2652R7 via CP2102N.
When we monitored the TX packets sent from CP2102N to CC2652R7 with serial decoder of oscilloscope and found that the timing was correct with no false packets in both cases.
Is there any possibility that enabling the radio stack could fail to receive UART at such a high baud rate?
Is it possible that the operation of the RF core could cause a deviation in the receive timing of CC2652R7 UART?
If so, please let us know how to address this issue.
We also confirmed that connecting CP2102N with LP-CC2652R7 reproduces the issue.
Therefore, we do not think that the problem is caused by the crystal in our custom board design.
Thanks.
SDK: SimpleLink SDK 5.30.01.01
UART driver: UART2
UART setting:
Hi,
The CC2652R7 has a maximum baud rate of 2.89MBaud. This information can be found in section 7.14.5.1 UART Characteristics of the data sheet (shown below).
Depending on the processing that the device is doing, this may reduce the maximum baud rate. Can you provide a bit more information on how the framing error manifests? Could you provide a logic analyzer trace of the behavior occurring? I would also suggest migrating to the latest SDK (6.30) as there have been some improvements done to the UART2 driver which may help resolve the behavior you are seeing as well.
Best Regards,
Jan
HI,
UART2 driver in the latest SDK (6.30) resolved the framing error issue.
Also, the baud rate has been set to 2.66 MHz, which is below the maximum value of the specification.
However, we still see the missing packets only when BLE stack is enabled (running RF core).
Below is the captures of serial decoder in each condition.
Of course, incoming packet from CP2102N looks consistent and baud rate was not affected by the existence of BLE stack.
Is it possible that enabling the RF core will cause a miss match in receiver baud rate of CC2652R7?
1) Incoming packet from CP2102N when BLE stack disabled
2) Incoming packet from CP2102N when BLE stack enabled
Hello,
I'm glad to hear the UART2 driver is working better for you! Does the behavior occur at all baud rates? For example, if you set the baud rate down to 2MBaud, do you still miss data? In the provided screenshots, that is showing what is being sent to the CC2652R7 device correct? Can you try printing the received data to see where the transmission is being cut off? Could you also try increasing the RX ring buffer size to larger values and checking if the behavior stays the same? This option can be changed in SysConfig.
Best Regards,
Jan
Hello,
No, this behavior only occur at higher baud rate.
When we set the baud rate down to 2Mbps, serial communication works as expected even with RF stack enabled.
Yes ... Those screenshots were showing packets being sent from the serial bridge (CP2102N) to CC2652R7.
We already checked and optimized the size of the RX ring buffer, but the behavior did not change.
So far, our understanding is that enabling the RF core may lower the maximum baud rate of 2.89 Mbps, which is the maximum baud rate in the specification.
Hello,
Got it. Thank you for clarifying! I am glad to hear that the behavior goes away at lower baud rates. Can you share which piece of data is being missed by the CC2652R7? Is it always the same byte? For example, is it always the last byte in a transmission? Having additional tasks and processes may lower the maximum effective baud rate that the device can support. It is possible that is what may be happening here.
Best Regards,
Jan