RN4020 MLDP mode problem in FW 1.33

Go To Last Post
2 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all, I have just submitted a Microchip support case and though I'd also give it a try here.

 

I use RN4020 in an embedded design. The RN4020 is connected to an MCU which runs the application firmware and the RN4020 is normally used in MLDP mode to communicate with another RN4020 connected to a PC with custom software. I use also Tera Term for manually testing and debugging communication.

I had an older RN4020 FW version (1.10) working very will in MLDP mode but then decided to update to newest (1.33). Now I cannot get the MLDP mode working any more. There is simply no data transmitted out from the RN4020 module when transmitted from the PC.

 

I did discover that if I use the "auto MLDP" mode instead of setting CMD/MLDP high to switch to MLDP mode I do get the string "MLDP" plus one (1) byte transmitted but nothing more. If I set CMD/MLDP pin high there seems to be no data coming out at all.

 

This is some debug output I get from this test which shows the response after the other RN4020 connects and sends character 'a' in MLDP mode (a reboot command "R,1" has just been issued hence the "Reboot" output):

BT_RN4020:  => Reboot
BT_RN4020:  => CMD
BT_RN4020:  => Connected
BT_RN4020:  => MLDP
BT_RN4020:  => a
 

The RN4020 is setup like this on the PC side:

SR,90000000 (central + MLDP enabled)

 

On the embedded design:

SR,34000000 (auto-advertise + MLDP enabled + no direct advertisement)

This topic has a solution.

/Jakob Selbing

Last Edited: Mon. Jul 1, 2019 - 09:15 AM
This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I believe I have found the problem: it seems like RN4020 FW 1.33 assumes UART hardware flow control is always available in MLDP mode. Thus if flow control is not available there is no data coming out of the RN4020 if CTS input is not asserted (low). In my case the CTS signal was high (not asserted) due to a bug in the MCU connected to the RN4020.

 

I was able to fix this by enabling flow control in RN4020 and fixing the bug in the MCU's firmware so that CTS is properly asserted.

/Jakob Selbing