2017-06-30 11:20 AM
I have a design where another micro is connected to the STM32F031 UART pins and I am attempting to enter the rom bootloader. I referenced AN3155 for details on how the bootloader works, however, there is no definition I could find for the serial connection besides 8-E-1 and baud rate. Are the signal levels high true, low true, idle high, idle low etc, or will it detect the levels I am using and responded accordingly?
Solved! Go to Solution.
2017-07-01 03:44 PM
They are 3V CMOS signals, they are not inverted. The RX pin times the 0x7F training pattern to determine the baud rate, and responds with an 0x79 byte. The system loader is looking for transitions from multiple input sources, so it is important these other pins do not transition (see AN2606)
It is a standard serial protocol, so the level is high, pulses low for the start bit, then sends the 8 data bits, followed by a parity bit, and then one or two stop bits which are high, and really just represent an inter-symbol gap as a minimum separation before another start bit.
For connectivity to RS232 you basically use a level converter which also inverts the signal levels, ie MAX3232 type device
2017-07-01 03:44 PM
They are 3V CMOS signals, they are not inverted. The RX pin times the 0x7F training pattern to determine the baud rate, and responds with an 0x79 byte. The system loader is looking for transitions from multiple input sources, so it is important these other pins do not transition (see AN2606)
It is a standard serial protocol, so the level is high, pulses low for the start bit, then sends the 8 data bits, followed by a parity bit, and then one or two stop bits which are high, and really just represent an inter-symbol gap as a minimum separation before another start bit.
For connectivity to RS232 you basically use a level converter which also inverts the signal levels, ie MAX3232 type device