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.