cancel
Showing results for 
Search instead for 
Did you mean: 

How do the "One-Shot" blocks operate in the ST2378E level translator?

Atlant
Associate

We're having some trouble using an ST2378E 8-bit bidirectional level converter on the I²C Bus of a TI MSP430F5359. We operate our MSP430 at 2.5V and use this chip to accommodate the 3.3V connection to TI's EV2400 Battery Gauge programming pod and its 3.3V I²C Bus. With the pod disconnected (i.e., open circuits on the 3.3V side of the level translator, pulled-up by the chip's internal 9KΩ pull-up resistors), we're getting intermittent cross-conduction, at least while the MSP430 is trying to drive I2C SDA low.

Here's a 'scope shot of the I²C Bus with the ST2378E disabled by grounding its OE pin:

0693W000005Ao2CQAS.pngThe Yellow trace is an analog representation of SDA and the Blue trace is an analog representation of SCL. Note the little glitch in SDA as the MSP430 switches from emitting the "Start condition" to emitting the "Address Bit 0" (with a value of "0" because this is the MSP430 addressing the Battery Gauge at I²C Bus address 0x16). That glitch is probably a "buglette" in the MSP430's I²C Bus logic but no I²C Bus device would react to it.

The problem comes when we enable the ST2378E. Here's what that situation looks like:

0693W000005Ao2qQAC.pngYou can see that the '2378 takes that brief little MSP430 glitch, activates its active pull-up logic, and drives hard to pull SDA high while the MSP430 drives hard to pull the line low. The result is that the (Yellow) SDA line stays mid-voltage until the MSP430 finally reaches a "1" bit in the address at which point the active driving logic in the '2378 goes back to sleep. (The Green trace is the 3.3 V open-circuited side of the ST2378E.)

This seems to show that the '2378 doesn't really have a fixed period for the "One-Shot Blocks". Here's the block diagram from the chip's Data Sheet:

0693W000005Ao51QAC.pngThe implication of the picture is that the active pull-up is only applied for a brief period of time but the Data Sheet never makes reference to that amount of time and the 'scope shot that I show seems to indicate that the One-Shot block apparently adopts a "keep actively driving until it gets there!" approach. The end result is that the small, short glitch from the TI MSP430 microprocessor becomes a very long glitch on the I²C Bus's SDA signal line.

Am I correct in my understanding of how the ST2378E is working?

(Also, I assume that the logic in the 2-bit ST2329A would operate identically. Is that also correct?)

Atlant

0 REPLIES 0