CYBT-423028 HCI Uart: how to resynchronize HCI UART communication?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MaFi_4674431
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

I loaded an application in the CYBT-423028 module and I communicate with Wiced-HCI protocol with it.

When the system is switched on, my CPU frees the CYBT module from reset .

After releasing the reset I wait 1.5 seconds before sending the first serial command and the serial communication with the CYBT module always works (115200 baud).

If without turning off the power I reset the CYBT module, wait 1.5 seconds and restart the serial communication

Sometimes the module does not respond to commands, (I do not receive serial characters).

 

Do you have any suggestions to better resynchronize my CPU with the CYBT module?

 

Best regards

Marco

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello @MaFi_4674431 

Hope you have connected all 4 pins of HCI UART pins with the host device . If not, can you please share the hardware connection diagram? 

Q) If without turning off the power I reset the CYBT module, wait 1.5 seconds and restart the serial communication 

=> here do you mean hard reset or HCI reset ?

=> if hard reset , Can you please let me know why you need to do hard reset in this case ? 

=> Can you try sending HCI reset command and see if it works with with rest of the commands? 

 

Regards,

Anjana

 

View solution in original post

0 Likes
9 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello @MaFi_4674431 

Hope you have connected all 4 pins of HCI UART pins with the host device . If not, can you please share the hardware connection diagram? 

Q) If without turning off the power I reset the CYBT module, wait 1.5 seconds and restart the serial communication 

=> here do you mean hard reset or HCI reset ?

=> if hard reset , Can you please let me know why you need to do hard reset in this case ? 

=> Can you try sending HCI reset command and see if it works with with rest of the commands? 

 

Regards,

Anjana

 

0 Likes
MaFi_4674431
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

Hello Anjana, in my system only the TX and RX signals are used, the CTS_N signal is pulled to ground, the RTS_N signal is left floating, the XRES signal is controlled by a GPIO of the microcontroller, see attached image.

When my application is started, a reset pulse of about 500 ms is generated and then after about 1.5 s the configuration of the CYBT module begins. 

When I am debugging on my application and I restart the CPU, the problem I have reported occurs.
 
I added the HCI reset command and a further 1.5 s wait to my boot sequence and now the module responds correctly.
If the CYBT module receives spurious characters what happens with subsequent HCI commands?
Regards,
 
Marco
 
 

CYBT_connections.jpg

0 Likes
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello @MaFi_4674431 ,

For HCI communication, we recommend you to use flow control . Please use HCI UART CTS , RTS pins as well. 

Also Keeping CTS pin grounded is not suggested. In that case, the module may go in to download mode when you do a hard reset. Thus the device will not respond to any HCI commands other than programming commands. 

Regards,

Anjana

0 Likes
MaFi_4674431
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

Hello Anjana,

we don't have a full functionality UART in our CPU. We have only TX and RX available and we have followed the instructions found in the document 002-23238 Rev. * E (page 12)

UART connections.jpg

0 Likes
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

hello @MaFi_4674431 

I checked this internally with our module team and confirmed that it was a mistake in the datasheet. We apologize for the inconvenience caused at your side. We will modify the datasheet asap.

Comments : 

For CYW20719  modules , CTS can’t be pulled down when rest. Otherwise it will enter autobaud mode. CTS should be pulled down after application bootup if host don’t want to use flowcontrol.

Regards,

Anjana

0 Likes

Hello Anjana,

we cannot modify the hardware so we will send a frame to the module for the autobaud procedure.

Can you tell me what sequence of characters I need to send?

How long does it take for the module to complete the autobaud procedure?

Regards,
 
Marco
0 Likes
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi @MaFi_4674431 

The auto baud mode is like below :

When the reset pin is pressed & released , the boot code will check status of HCI UART CTS pin. If it is detected LOW , the device will enter auto baud (programming) mode and will  respond only  to programming related HCI commands. And only way to recover is a hard reset of device. 

Regards,

Anjana

0 Likes
MaFi_4674431
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

Hello Anjana,

my board has the CTS signal connected to GND.

After releasing the reset, a frame is sent that does not contain an HCI command (for example space chars) and the module starts the application.

I tried with the CYBT-423028-EVAL01 demo board and the behavior is identical.

I also tried with the new CYBT-423054-2 module and the behavior is identical.

 

Regards,

Marco

 

0 Likes
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello Macro,

I missed to respond to your last comment. 

If that work around of sending space chars are working for you , then you can continue with the design. 

However in general we don't recommend grounding HCI UART CTS pin for 20719 modules. And we do not have a verified solution to come out of a non responsive mode/autobaud mode in this case other than hard reset. 

Regards,

Anjana

0 Likes