2023-09-15 03:46 AM - edited 2023-09-15 06:26 AM
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?
Solved! Go to Solution.
2023-09-15 06:21 AM
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.
2023-09-15 06:00 AM
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
2023-09-15 06:15 AM
Hi Mike,
Actually yes I saw that there is 10-bit I2C. However, when I read this sentence in the Datasheet, I got confused.
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
2023-09-15 06:21 AM
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.
2023-09-15 06:24 AM
ok thank you. I missed the dual text
Again thanks
2023-09-15 06:50 AM
>> 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:
2023-09-15 07:08 AM
Also note that having long I2C bus lines in an electrically noisy environment can be problematic. Cars typically use the CAN bus for communication.
2023-09-18 12:32 AM
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.
2023-09-18 12:35 AM
Yeah, Right. So, The car and BMS will communicate with CAN protocol.
Thank you
2023-09-18 04:34 AM
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.