2017-12-28 02:36 AM
What is the reason for ST microelectronics to have different I2C modules in STM32 mcus ?
Stm32f303 and Stm32f092 has the same I2C, but stm32f446 has another I2C, and Stm32f103 has the third type of I2C.
#i2c #stm322017-12-28 12:49 PM
ARM is not a FAB company. they only sell licenses for ARM-IP
Any company can license a chip from ARM and other peripherals from other suppliers.
then the FAB company will produce those parts.
it comes down to money and complaints.
if everyone complains about a 'function//part' then the next design will be changed somehow.
if the third party IP is too expensive, then can select different IP
2017-12-28 02:48 PM
,
,
And what ?
Is not a convincing explanation.
Two STM32F4 MCU are cortex m4 core, have the same architecture with very
close frequency but with different I2C ...
I can understand when one old MCU architecture is changed by new
architecture with new peripherals.
But STM32F412 and STM32F303 are new MCU but with different I2C. And now
when I need more powerful mcu I can not just change core, I must also
rewrite all peripherals. More over, now I need suport 2, 3 and so on
versions of I2C. Excelent. I can understand if next version of peripherals
will be slightly differ in detail. No problem. But not absolutely
different. And now STM32F0 - F4 have several type of I2C.
It is amazing. You know that pin to pin compatibility is very important.
Why not software compatibility ?
Now I need to change one mcu in an project. But cannot. Because I have too
much to rewrite. It was a reason of my question.
2017-12-28 22:50 GMT+02:00 marsh.nick <,st-microelectronics@jiveon.com>,:
STMicroelectronics Community
<,https://community.st.com/?et=watches.email.thread>,
Re: I2C in different STM32 mcu lines
reply from marsh.nick
<,https://community.st.com/people/Marsh.Nick?et=watches.email.thread>, in *STM32
MCUs Forum* - View the full discussion
<,https://community.st.com/message/179537-re-i2c-in-different-stm32-mcu-lines?commentID=179537&,et=watches.email.thread ♯ comment-179537>,
2017-12-28 03:11 PM
It is frustrating beyond belief, the back-flips we have to do in hardware and firmware
Hardware causing 100% of the issues that the firmware has to manage to 100% reliable.
It is totally understandable why the chips differ and why it is causing you grief.
Many of these processors are quite old, and some are new. thereinis your issue.
upgrading processors is not as simple as we would like.
These problems should become less frequent as the years go by,.
For a new product it is worth a few days of pain, yes ?
2017-12-28 03:29 PM
'few days of pain' is not a problem. The problem is a 'few years' of
supporting of several versions of I2C.
But actualy I did expect the more technical answer from ST engineer and in
accordance with which I can make right choice. Will ST be supporting in
next MCUs I2C from STM32F303 or I2C from STM32F413 or both or ... What is
the technical reason to have several I2C ... I don't know, may be the
technical answers will not be useful for me.
By the way, in MSP430 line of TI the peripheral modules are very similar.
And MSP430 line is huge.
2017-12-29 0:12 GMT+02:00 marsh.nick <st-microelectronics@jiveon.com>:
STMicroelectronics Community
<https://community.st.com/?et=watches.email.thread>
Re: I2C in different STM32 mcu lines
reply from marsh.nick
<
MCUs Forum* - View the full discussion
<https://community.st.com/message/179497-re-i2c-in-different-stm32-mcu-lines?commentID=179497&et=watches.email.thread&sharpcomment-179497>
2017-12-28 04:33 PM
I'm not an ST engineer either but ST's mantra in the last years is that you are supposed to use Cube as a solution for migration issues between STM32 subfamilies (disclaimer: I don't use Cube and I do use both 'F4 and 'F0 I2C).
The reason for difference is historical. The 'F1 is the oldest subfamily and I don't know its I2C. 'F2/'F4 is newer (and even if 'F41x may be more recent than the 'F0s, ST appears to stick to the same version of IPs within subfamilies, with only minor tweaks). Their I2C is rather complex and I gess it also means high silicon footprint, thus the newer 'F0 has a simpler I2C. You may want to check also 'L0/'L4/'F7(/'H7) which are even newer - if their I2C matches the 'F0/'F3 one, it may be the model to stay.
JW
2017-12-28 05:21 PM
Thanks, is good guess
I think the same. Stm32F1 was the first arm from ST. And its I2C is
different from the I2C of Stm32F0 that is newer mcu (architecture).
Stm32F303 (M4) has the same I2C as F0. Is very convenient for me.
But new Stm32F446 has again new I2C. But GPIO, RTF are the same as in F0
and F303. I am confused.
And I decided to follow the line of F0 and F30XX. But what to do with
performance line ?
F413 and so on... again new peripheral modules. And a big disadvantage is
the excess complexity of peripheral modules from ST.
About Cube I know. I did find last year several bugs in HAL and still they
are present. So I do not use HAL of Cube. Registers, only direct registers
with pain of each new I2C
--
Sent from Gmail Mobile
2017-12-28 06:32 PM
Well, the MSP430 has at least 2 different I2C implementations - in USI and USCI ...
2017-12-29 01:35 AM
Yes, but USI and USCI are different multifunctional modules. I2C in stm32
is not multifunctional module. It is just I2C. But everytime is different.
--
Sent from Gmail Mobile