Skip to main content
bngstskn
Associate III
September 15, 2023
Solved

CHOOSE MCU

  • September 15, 2023
  • 9 replies
  • 2682 views

Hi.I work on BMS. I want a master-slave topology. I want to use 300 slave cards and 1 master card. This BMS is for automotive. I check ST MCU. I guess, The card should be 10-bit I2C. Because I want 300 Slave cards. So, Can you Help me this subject? Which one I will choose?

This topic has been closed for replies.
Best answer by TDK

The highlighted portion says 7-bit dual addressing mode. So dual addressing mode isn't possible for 10-bit addresses.

Standard 10 bit addressing is supported.

9 replies

Mike_ST
ST Technical Moderator
September 15, 2023

Hello,

As far as I know, all the STM32 have support for 10-bits I²C addressing.

That being said, you'll have to think about what kind of interfaces you need on the STM32.

Please have a look there (section 3):

https://wiki.st.com/stm32mcu/wiki/STM32StepByStep:STM32MCU_basics

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. 
bngstskn
bngstsknAuthor
Associate III
September 15, 2023

Hi Mike,

Actually yes I saw that there is 10-bit I2C. However, when I read this sentence in the Datasheet, I got confused.

bngstskn_0-1694783257053.png

It says 7 bits for slave mode. I wasn't sure about this. So (this datasheet belongs to stm32F411) when I address it as 10 bits, I can connect 300 Slave devices together, right? Will there be a problem? And I checked the page you send.

Thanks

 

TDK
TDKBest answer
September 15, 2023

The highlighted portion says 7-bit dual addressing mode. So dual addressing mode isn't possible for 10-bit addresses.

Standard 10 bit addressing is supported.

"If you feel a post has answered your question, please click ""Accept as Solution""."
bngstskn
bngstsknAuthor
Associate III
September 15, 2023

ok thank you. I missed the dual text

Again thanks

 

Mike_ST
ST Technical Moderator
September 15, 2023

>> I can connect 300 Slave devices together, right ?

As long as you configure each slave to have a unique address, I don't see a limitation.

>> Will there be a problem?

Maybe you have to think about electrical problem (like capacitance). Please check I²C documentation and other online ressources.

>> This BMS is for automotive.

Please think whether you need a automotive grade MCU:

https://www.st.com/en/automotive-microcontrollers.html

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. 
bngstskn
bngstsknAuthor
Associate III
September 18, 2023

I actually checked the MCUs. In my opinion, STM32F302R6T6TR would be sufficient for the system. I2C for slave cards, ADC and GPIO for voltage circuit, and temperature sensor are adequate. I can use CAN protocol with the car communication. Is it right? Stellar MCU is very good but might be too much for me. İt might be complicated.

And thank you.

TDK
September 15, 2023

Also note that having long I2C bus lines in an electrically noisy environment can be problematic. Cars typically use the CAN bus for communication.

"If you feel a post has answered your question, please click ""Accept as Solution""."
bngstskn
bngstsknAuthor
Associate III
September 18, 2023

Yeah, Right. So, The car and BMS will communicate with CAN protocol. 

Thank you

Nikita91
Lead II
September 18, 2023

To avoid having a single I2C bus with length and capacity issues (which impacts speed) you can consider using a I2C switch on the master side, such as the https://www.ti.com/product/TCA9548A   or NXP one.

This also allows you to have devices with the same addresses in each branch.