simple bus level-shift / I2C mosfet level converter Fairchild BSS138
12,462
While conducting background research on the Philips I2C bus, an application note authored by Herman Schutte from Philips Semiconductors Systems Laboratory in Eindhoven was discovered. Mr. Schutte detailed an efficient method for interfacing sections of the I2C bus operating at different voltages through the use of MOSFETs and pull-up resistors. The focus was on interfacing a 5V LCD panel with a microcontroller system operating at 3V, utilizing this concept for the data and control lines in the circuit. Although the circuit was constructed manually, surface mount packages for the MOSFETs were chosen for ease of soldering. The Fairchild Semiconductor BSS138, an N-channel enhancement mode MOSFET in the SOT-23 package, was employed. The circuit was tested using three different pull-up resistor values: 100k, 10k, and 4.7k ohms, all of which functioned effectively. The schematic illustrates a straightforward design where an ATMEL AT90S8515 microcontroller at 3.6864 MHz controls a Seiko L203400J000 20x4 character LCD module. The microcontroller operates at 3V, while the LCD requires 5V. Control lines (RS, RW, E) and data lines (D0-D7) are level-shifted using BSS138 MOSFETs, allowing for bidirectional communication with the LCD. Additionally, the circuit allows for isolation of the two halves of the bus by pulling the FET gates low. Mr. Schutte also discusses various extensions to his basic circuit idea, including necessary MOSFET features and results. The original application note AN97055 can be found on the Philips Semiconductor site under the I2C support area.
The circuit described utilizes a method for voltage level shifting in I2C bus applications, particularly beneficial when interfacing components with different operating voltages. The BSS138 MOSFETs serve as level shifters, effectively translating the 3V logic levels of the ATMEL AT90S8515 microcontroller to the 5V requirements of the Seiko LCD module. This arrangement is crucial for maintaining compatibility between devices that operate at different voltage levels, ensuring reliable data communication.
In the schematic, the pull-up resistors connected to the drain of each MOSFET play a vital role in defining the logic levels on the I2C bus. The choice of resistor values can influence the rise time of the signals and overall bus performance. The three tested resistor values—100k, 10k, and 4.7k ohms—demonstrate that the circuit remains functional across a range of pull-up configurations. The lower the resistance value, the faster the signal rise time, which can be advantageous in high-speed communication scenarios.
The design also incorporates the ability to isolate sections of the I2C bus by pulling the gates of the MOSFETs low. This feature is particularly useful for debugging or when multiple devices are connected to the bus, allowing for selective communication and reducing potential conflicts.
Overall, the implementation of this circuit provides a robust solution for interfacing devices with differing voltage levels on the I2C bus, while maintaining simplicity and effectiveness in design. The application note by Mr. Schutte serves as a valuable resource for engineers looking to explore advanced I2C bus interfacing techniques.While doing some background reading about the Philips I2C bus I came across an application note written by Herman Schutte (of Philips Semiconductors Systems Laboratory in Eindhoven). Mr. Schutte described an elegant mechanism for interfacing sections of I2C-bus which are operating at different voltages through the use of MOSFETs and pull-up resist
ors. I had also been looking at a number of options for interfacing a 5V LCD panel to a microcontroller system that I wanted to run at 3V and so decided to try applying this idea to the data and control lines in my circuit. Although I was building the circuit by hand I decided to use a surface mount package for the MOSFETs.
As three-terminal devices they are relatively easy to solder as long as you can hang onto them. The image above on the right shows some of the 11 MOSFETs in use on the 0. 1" proto board. I used the Fairchild Semiconductor BSS138 (datasheet) N-channel enhancement mode MOSFET which is available in the standard SOT-23 package from folks like Digi-Key. Below on the right are wave forms for the circuit using three different values for the pull-up resistors: 100k, 10k and 4.
7k ohms. These values were picked from what I had close at hand. The circuit functions with any of them in fact. A basic drawing for the circuit I`m using is here. (or here for browsers without JavaScript. ) As the schematic shows, the circuit is remarkably simple and straight-forward. I have this circuit in-use with an ATMEL AT90S8515 (at 3. 6864Mhz) controlling a Seiko L203400J000 20x4 character LCD module. The 8515 is connected to a 3V supply while the LCD requires 5V. The control lines, RS, RW and E and the data lines D0-D7 are each level-shifted with the BSS138 MOSFETs. The level-shifting imposes no directionality on the bus so both reading from and writing to the LCD are possible.
An interesting feature of the circuit is that two halfs of the bus can be isolated from each other by pulling the FET gates low. Mr. Schutte describes a number of similar extensions to his basic circuit idea and discusses the necessary MOSFET features as well as some results.
The original (pre-NXP) link for AN97055 was: AN97055 and searchable at the Philips Semiconductor site under the I2C support area (enter the Application Note name AN97055): here. 🔗 External reference
The project is a continuation of the 5kW Boost converter project. After several unsuccessful attempts, the focus shifted towards achieving a higher power level, targeting approximately 10kW. The title was modified from 12kW to 8kW, although the converter is...
In battery-powered applications such as cell phones, PDAs, and digital cameras, an integrated DC-DC converter circuit solution provides multiple advantages regarding cost, size, and design complexity. A significant challenge in achieving a fully integrated solution is designing the frequency...
This circuit provides a straightforward method for converting a loudspeaker into a microphone. When sound waves impact the diaphragm of the speaker, fluctuations occur in the coil, generating a small induced voltage that is typically low in magnitude and...
This simple and inexpensive crystal oscillator consists of one-third of a 7404 hex inverter, four resistors, and a crystal. The inverters are biased into their linear regions by resistors R1 to R4, while the crystal provides the necessary feedback....
The ML7005 is a multi-functional DTMF transceiver LSI that incorporates a DTMF signal generator, a DTMF signal receiver, a call progress tone generator, a call progress tone detector, and a FAX (FX) signal detector. Each functional block can be...
400 W MOSFET Audio Amplifier circuit using IRFP448. This circuit is categorized under amplifiers and includes five circuit diagrams. For more detailed information, refer to the main post titled "400 W MOSFET Audio Amplifier Using IRFP448." This post also...
We use cookies to enhance your experience, analyze traffic, and serve personalized ads.
By clicking "Accept", you agree to our use of cookies.
Learn more