Part Number: MSP432P401R
Hopefully I can post this time, I've written this post 3-times only to have the new site crash when I hit Post...
I'm using minicom runscript to transmit the current PC time to the MSP432 to sync the RTC from the PC clock over the backdoor UART on the XDS110 debug probe. Essentially I am using the Linux date command with date '+%w %Y %m %d %H %M %S' which results in, e.g. "1 2021 03 08 00 14 10" (day-of-week, year, month, day-of-month, hour, minute, second) I add "RTC" before the string as key to tell the MSP432 that the date is coming.
With SMCLK set at 3MHz, the transmission will miss one or two characters causing the sync to fail. If I manually type the characters, all works fine (so this appears to be a rate problem). Testing with nothing but the eUSCI UART and RTC running on the card, I can transmit the date sting and have it work just fine. However, if I have other peripherals running and the card busy, like ADC, Timers and an LCD, the dropping character issue is present.
Testing, I changed the baudrate clock to 12MHz by simply changing the SMCLK and DCO to 12MHz. Now the character dropping issue is gone and the timesync works perfectly. My question is having gone through the UART source in the driverlib code, the driverlib user's guide and the Tech Reference, I didn't find anything that explained a minimum brclk for the UART to work reliably.
Is there some documentation explaining how to set the minimum brclk rate to ensure reliable UART transmissions? The driverlib UART examples use a minimum 12MHz clock, but there is no explanation of why a slower clock would cause problems. The TI online UART tool shows brclk as low as 1.5MHz. So what reference would I turn to for information on the minimum brclk needed (in my case to read the 25 characters I send as the time sync string?