2 Replies Latest reply on Feb 23, 2015 5:30 PM by MichaelF_56

    GPIO Output Logic Level Voltage Changes When UART_RX Disconnected

      When my BCM20736S circuit was connected to the laptop (for programming and debugging) via the FTDI 3.3V USB to Serial cable, it was working fine.  But when I disconnected the laptop and ran the BCM20736S under battery power, our circuit failed.


      I found the problem and it was a rather interesting find... something I think is worth sharing here in case others might be affected by it.


      The voltage regulator was set for 2.2V for powering the BCM20736S.  With this voltage, the GPIO logic high output level is 1.8 volts (VDD-0.4 per Table 13 of the BCM20736S Technical Reference manual). This is too low to drive the CMOS ADC in our circuit, which wants a minimum of 1.96 volts for a logic high signal (based on it's supply voltage of 2.8V).


      The question becomes then, why do I see this problem only when running on battery power and not when I am connected to the laptop?  The answer came when I disconnected the UART_RX line between the BCM20736S and the laptop.  In this configuration I also see the problem, even when running on laptop/USB power and no battery attached.


      When the UART_RX pin of the BCM20736S is connected to the laptop through the FTDI USB 3.3V programming cable, it somehow gives a boost to the GPIO logic output level so instead of 1.8 volts for a high level the scope shows 2.0 volts.   Just high enough to operate the ADC.  This masked the error in the circuit design for several weeks until it was uncovered by tested under battery power.




      The root cause was an incorrect schematic (our design was flawed)... but the impact was compounded by the undocumented 'feature' of the UART_RX providing a voltage boost to the GPIO output.  You might want to pass this information to the BCM module designers so they can design it out of the system, or at least document it somewhere if it can't be avoided.  Fortunately for us, our circuit designer was on vacation last week and he missed his deadline to send the layout for production.  Also fortunate that I switched to testing under battery power when I did and thus discovered the problem before it was too late.  Now he can correct the voltage coming from the regulator (2.4V instead of 2.2V) and this change will be in the layout that goes to production this week.


      I'd be interested to hear what the module designers have to say about this, if anything.