3.3V to 5V level shifter for high speed serial

skyjumper:
Hi All...

I need to connect the UART of a ATMega1284P to another device serial port. The 1284P will be 5V, the other device is 3.3V. So I think I need a bidirectional level shifter, but the ones I have found are not only expensive but have many, many pins. I prefer to avoid using resistors. Can anyone offer some suggestions?

Thanks...

Well serial communications as implemented in a AVR chip on a arduino board is not bidirectional as they use separate send and receive pins, so you only require two unidirectional conversions at most. In reality a 3.3 volt output serial signal wired to a 5vdc logic input pin normally works fine as 3.3 is just marginally a little higher then the minimum legal high value for 5 volt logic as defined by the AVR chip. And sending a 5 volt signal logic directly to a 3.3v input pin can me made directly if the 3.3vdc input pin is stated to be '5 volt tolerant'. If it is not tolerant, a simple 2 resistor voltage divider is more then enough to implement the conversion. One only needs the fancy methods of conversion if indeed you are dealing with a single bidirectional signal wire such as used in the I2C buses and such and the 3.3 volt device is not '5 volt tolerant', but not needed for 2 wire (plus ground wire) asynchronous serial communications links.