Hey everyone, I’m trying to interface a CH32V003 J4M6 (SOP8 version) with an I2C touch sensor IC, and I need to send I2C commands to the sensor within 10-15 ms of power on to put the touch sensor into its configuration mode.
After some experimentation, I’ve found that it takes approximately 30 ms for the CH32 to start doing anything after power on. I thought maybe this could be due to slow runtime initialization code or long delays waiting for the PLL to lock, so I wrote a bare assembly program that immediately sets up RCC and GPIO registers so I can toggle a GPIO pin (using the 24MHz builtin RC oscillator), but I still see about 28 ms between between power to the IC and the GPIO actually toggling.
My test setup consists of nothing more than a CH32 chip with a 100 nF decoupling cap between power and ground and some header pins I can attach probes to. I’m using a Digilent Analog Discovery 2 in logic analyzer mode to take measurements.
Is this chip just slow to start up, or does anyone have any ideas how I could get it to start up faster?