BCM20737S UART probelm

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

cross mob
Anonymous
Not applicable

HI everybody,

I have weired problem in UART:

tw_puart_init(/*GPIO_PIN_UART_RX*/18, /*GPIO_PIN_UART_TX*/19, 115200);

GPIO_PIN_UART_TX define as Pin33
GPIO_PIN_UART_RX define as pin32

I changed it to Pin18 and PIn19, this pads I am using to upload firmware but I tried sample demo UART hello it never show me on hyperterminal anydata!!!

any one could help ? with sample demo ?

0 Likes
1 Solution
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

First off, you are referring to the HCI UART correct, not the peripheral UART (there are 2 on the part, HCI is dedicated to programming the part).

SIP Module not SoC?

If you look here at the TAG3 schematic [Hardware User Guide (SDK 2.x and TAG3 Board)], it uses the SoC and the HCI Rx/Tx lines are mapped to physical pins 12/13. On the SIP module, these pins are 18/19 respectively (BCM20737S Bluetooth Low Energy SiP Module Technical Reference

This is easier to see on the WICED Sense schematic as it uses the SIP module, not the SOC like the TAG3 board: WICED Sense Reference Design Schematic (PDF)

The HCI UART pins cannot be remapped.

The HCI UART is pretty tricky to get working the first time through on a custom design as the state of the port needs to be initialized in a specific manner in order for the part/firmware to come up in programmming mode.

In this thread, I outline several of the specific issues customers typically run into: How do I program a BCM20736?

However, the PUART can be remapped on a custom design, so it's important to keep in mind that the GPIO is physically mapped to a BCM2073X device within the platform.h file which is custom to the TAG development board by default.

/WICED-Smart-SDK/include/Platforms/BCM920737TAG_Q32/platform.h

#define GPIO_PIN_UART_TX  32 (Physical Pin 25)

#define GPIO_PIN_UART_RX  33 (Physical Pin 24)

This mapping in platform.h should be reconfigured for a custom design.

Note that the values in platform.h then map to the definitions and function prototypes in bleprofile.h

View solution in original post

0 Likes
5 Replies
Anonymous
Not applicable

Hello Kava,

Which device are you using?  WICED Sense Board?

Thanks

JT

0 Likes
Anonymous
Not applicable

Hi Jt,

this is actually our own pcb design centered on bcm20737s.

thanks

KT

0 Likes

There are a myriad of reasons why it failed, especially when it is on a customized board. You may want to find out what others have done...

Downloading problems with BCM20736S

0 Likes
Anonymous
Not applicable

Hi nikolaelect

Did you get a chance to take a look at mwf_mmfae 's response?

-Kevin

0 Likes
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

First off, you are referring to the HCI UART correct, not the peripheral UART (there are 2 on the part, HCI is dedicated to programming the part).

SIP Module not SoC?

If you look here at the TAG3 schematic [Hardware User Guide (SDK 2.x and TAG3 Board)], it uses the SoC and the HCI Rx/Tx lines are mapped to physical pins 12/13. On the SIP module, these pins are 18/19 respectively (BCM20737S Bluetooth Low Energy SiP Module Technical Reference

This is easier to see on the WICED Sense schematic as it uses the SIP module, not the SOC like the TAG3 board: WICED Sense Reference Design Schematic (PDF)

The HCI UART pins cannot be remapped.

The HCI UART is pretty tricky to get working the first time through on a custom design as the state of the port needs to be initialized in a specific manner in order for the part/firmware to come up in programmming mode.

In this thread, I outline several of the specific issues customers typically run into: How do I program a BCM20736?

However, the PUART can be remapped on a custom design, so it's important to keep in mind that the GPIO is physically mapped to a BCM2073X device within the platform.h file which is custom to the TAG development board by default.

/WICED-Smart-SDK/include/Platforms/BCM920737TAG_Q32/platform.h

#define GPIO_PIN_UART_TX  32 (Physical Pin 25)

#define GPIO_PIN_UART_RX  33 (Physical Pin 24)

This mapping in platform.h should be reconfigured for a custom design.

Note that the values in platform.h then map to the definitions and function prototypes in bleprofile.h

0 Likes