i want to make a driver with a standard at ps2 pc keyboard, but i am having problems on interfacing the 5volt data and clock of the keyboard to the 3volt (not 5 volt tolerant) arm controller pin. I want to be able to send data and to receive data from the keyboard, i found some level shifters like max3371 wich are kind of expensive, Is anyone have any idea? Unfortunattely I didn’t find anything on the internet inerfacing 5v to 3v3.
I am trying to find a solution more than 2 weeks… I didn’t find any project connecting a ps2 keyboard with an arm7 on the net. I am trying to find the best way to solve the logic interface problem.i think my problem should be the most common problem with arm devices.
Depending on your ARM chip, many have 5V tolerant digital input pins for reading stuff in from your keyboard. For the stuff you have to send out of the keyboard, it is pretty easy to use a single transistor as a level translator. However, if you have to go both ways on one pin, then you’ll need to get one of the Maxim level translators that go both ways (can’t remember the part number right off hand) or something like it. Check this forum post: http://www.sparkfun.com/cgi-bin/phpbb/v … axim+level
It gives you circuits for many different ways of interfacing digital & analog signals between 3.3 and 5V chips. Even though it uses PICs in the examples, most of the solutions would work equally well for any other microcontrollers.
TI has a similar document on interfacing their MSP430 controllers to 5V systems. It showed most of the same tricks, but I didn’t find it as easy to read. You can probably find the same sort of app notes from other vendors too.
There are alot of overvoltage tolerant buffer chips out there. For example, I use the Fairchild NC7NZ34 to interface a 3.3V system to a 2.8V system. There are of course discrete solutions, but I prefer the simplicity of a buffer.