cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743bi - use FDCAN2 and USB ULPI simultaneously?

HKhan.1
Associate II

Hello,

I am using Cube32MX for STM32H743bi IO multiplexing. first i added USB HS phy ULPI interface then see FDCAN2 not allowed in the tool and error message says it is in conflict with USB ULPI. However i manually checked there were certain pins for CAN2 classic and even FD available.

I want to know whether it s some bug or there is some internal MCU sharing between these two that i am unaware of. Else several options are available for FDCAN2 after consuming USB ULPI.

thnx

1 ACCEPTED SOLUTION

Accepted Solutions

Hello HKhan.1,

As I understand you have activated USB_OTG_HS and configured the External Phy, thus:

  • PB5 pin will be assigned automatically to USB_OTG_HS_ULPI_D7 .
  • PB12 to OTG_HS_ULPI_D5 .
  •  PB13 to OTG_HS_ULPI_D6 .

and if you refer to DS12110 Rev 7 Data Sheet: OTG_HS_ULPI_D7 , OTG_HS_ULPI_D5 and OTG_HS_ULPI_D6  can’t be remapped and can only be assigned respectively to  PB5 ,PB12 and PB13.

When enabling FDCAN2 two pins will be activated and backing to same reference:

  • FDCAN2_RX can be assigned to either PB5 or PB12
  • FDCAN2_TX can be assigned to either PB13 or PB6

Thus FDCAN2_RX can’t be assigned to any pin (since pB5 and PB12 are not available) and USB ULPI is in conflict with FDCAN2.

BR,

Khouloud.

View solution in original post

5 REPLIES 5
HKhan.1
Associate II

*STM32H743bi

Hello HKhan.1,

As I understand you have activated USB_OTG_HS and configured the External Phy, thus:

  • PB5 pin will be assigned automatically to USB_OTG_HS_ULPI_D7 .
  • PB12 to OTG_HS_ULPI_D5 .
  •  PB13 to OTG_HS_ULPI_D6 .

and if you refer to DS12110 Rev 7 Data Sheet: OTG_HS_ULPI_D7 , OTG_HS_ULPI_D5 and OTG_HS_ULPI_D6  can’t be remapped and can only be assigned respectively to  PB5 ,PB12 and PB13.

When enabling FDCAN2 two pins will be activated and backing to same reference:

  • FDCAN2_RX can be assigned to either PB5 or PB12
  • FDCAN2_TX can be assigned to either PB13 or PB6

Thus FDCAN2_RX can’t be assigned to any pin (since pB5 and PB12 are not available) and USB ULPI is in conflict with FDCAN2.

BR,

Khouloud.

Thnx Khouloud, You are right. I actually confused with FDCAN2 Debug pins

Thanks for the good explanation, but I still wonder what exactly "External Phy" means in this case? Is it a separate chip that does the USB communication at 480MBit/s? Cause for me, USB Full Speed would be enough. Can I just use the internal FS Phy and use the VCP like normal? Sorry, I'm new to STM32 development, and want to get things right before I start with the PCB...

Pavel A.
Evangelist III

Yes, "external" means a separate chip.

 for me, USB Full Speed would be enough. Can I just use the internal FS Phy and use the VCP like normal? 

Yes, sure. See this.