IMO freq out of spec, how to auto trim? | Cypress Semiconductor
IMO freq out of spec, how to auto trim?
I am working with a product (lets call it a keypad) that uses the CY8C27643 as it's MCU and communicates with another host device over RS485. We have had problems in the field with communications between the keypad and the host device and determined that the baud rate of the keypad transmitter was off by ~3.5%. The primary clock source for the MCU is the IMO. I checked the clock divider settings for the UART and found that they were set correctly based on the expectation of a 24MHz IMO. I then measured the clock rate directly with an o-scope and based on my measurements and the divider settings I calculated that the IMO is actually running at 23.17MHz, an error of 3.5%. The PSOC technical ref manual states on pg109 that the IMO will be within 2.5% tolerance, so the MCU appears to be operating out of spec.
It looks like the only option right now is to try to adjust the IMO trim via IMO_TR. However we have many keypads in the field that have MCU date codes as early as 0543. The 0543 parts have an IMO freq of 23.75MHz and do not have baud rate problems. The date of the device we are experiencing problems with is 1043. So heres my question..... we have several thousand devices in the field, so how can we custom trim each device in a simple, expedient manner? Is there a programmer pod or software that will auto trim the IMO for me?