IMPLEMENTED SO FAR

- Support for 4x20 LCD Display and large number display
- Brightness and contrast adjustment with remote
- (OPUS/Wolfson WM8741) DAC volume control: remote and rotary encoder
- (OPUS/Wolfson WM8741) DAC random filter selection 1 to 5 with remote
- (OPUS/Wolfson WM8741) DAC upsampling selection (L, M, H -this is the OSR setting)
- I2C level shifting (5V to 3.3V)
- Optimized power-up sequence

Friday, April 24, 2009

5V to 3.3V

I've made the change from 5V to 3.3V as shown in the picture. A reader alerted me to this oversight. However, it is not that simple. Discussion here. The internal pull-up resistors are enabled by default. Thus when i measure the I2C pins, they still measure 4.5v. A simple solution is to add a resistor (1K) between the 5V and the 3.3V lines



The correct way to support both 3.3v devices and 5v devices is specified in this document as follows:



"The simple addition of two low-cost transistors, placed between the different voltage level sections of the I²C-bus, separates and transfers the logic voltage levels of the bus lines on either side of the level-shifter." More info in this application note, and here.

Yet another solution is to use bus buffer as specified in the application note:



No comments: