cancel
Showing results for 
Search instead for 
Did you mean: 

CHOOSE MCU

bngstskn
Associate III

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?

1 ACCEPTED SOLUTION

Accepted Solutions

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".

View solution in original post

9 REPLIES 9
Mike_ST
ST Employee

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

bngstskn
Associate III

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

 

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".

ok thank you. I missed the dual text

Again thanks

 

Mike_ST
ST Employee

>> 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

TDK
Guru

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".

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.

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

Thank you

Nikita91
Lead II

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.