2022-04-08 01:58 PM
In one of our projects, we used stm32l031 microcontroller to make synchronous communication operating at 5Khz frequency. Total data length is 35 bits, 3 bits are the Id identification bit from the master device, the remaining 32 bits are data bits and contain the data that provides control of the system. The device we developed is a slave device connected to the ready master. When the master is energized, the slave device we designed starts working after 2-3 minutes even though it is energized. Even if the data comes from the master in the first minutes, it cannot read it. This problem occurs when we connect it with an L series microcontroller. For example stm32l031. We did not encounter any problems when we did it with the F series processor. For example stm32F042 -Stm32F051- Stm32F031. Can we know the cause and solution of this problem?
2022-04-08 02:06 PM
>>Can we know the cause and solution of this problem?
You'll probably have to investigate your own hardware.
Perhaps start checking the clocks, the L series can use an MSI clock.
Check that the appropriate calibration is used, and no discarded.
Check if it is clock source related, or component warm up, perhaps clock via a known/better reference (TCXO, or whatever)
2022-04-08 05:21 PM
When we try different processors with the same packages on the same hardware, when we make software changes to the processor, it works with the same algorithm, the hardware does not overheat. In the operation of the system, the master sends 3-bit id bits, if the sent id hardware is compatible with the slave we have prepared, our slave sends 32-bit data. What we do with the L series processor is that it cannot read the id data from the master for the first two or three minutes. When we watched it with the analyzer and oscilloscope, we saw that the operating frequencies and synchronous communication parameters were the same, but they were active with a delay in the L series processor.
2022-04-09 07:34 AM
What interface? SPI, I2C, IO witg clock... and is there a start/stop way in case mcu are not in sync?
2022-04-10 02:10 AM
virtual I2C communication is created, when the data pin will read according to the situation, after the input, output is made and data transfer is made. If it is not synchronized, there is no start and stop. Could it be a case of communication error using L series mcu? Can the stm32L series have a different logic level or logic level tolerance than the Stm32F series?