UART voltage levels. Cell phone and AVR

Discussion in 'General Electronics Chat' started by hspalm, Oct 5, 2011.

  1. hspalm

    Thread Starter Active Member

    Feb 17, 2010
    201
    8
    Hi,
    I'm about to setup serial communication between a Siemens MC60 cellular phone and an AtTiny2313V AVR microcontroller. My microcontroller has an input voltage range of 1.8v-5.5v, depending on system clock. The mobile phone is designed with some old battery technlogoly and is run of a 3.7v supply.

    My question is: To avoid using voltage/shift/level-converters in-between the UART lines, can I just power the AVR with the voltage I'm seeing on the MC60 Tx line, and then suspect the AVR Tx line to match this?

    I don't mean physically powering the AVR from the MC60 Tx line, just using the same voltage level that I'm seeing.
     
  2. upand_at_them

    Active Member

    May 15, 2010
    246
    29
    Hi,

    Yes. The AVR's "high" and "low" signal levels will be based on its supply voltage. The datasheet likely shows the multiplication factor.
     
  3. hspalm

    Thread Starter Active Member

    Feb 17, 2010
    201
    8
    upand_at_them,

    I checked the datasheet. As I see it, as long as the voltage is above 0.7, it is guaranteed to be read as high, so no problem there on the Rx side for the AVR.

    I have tested the communication from AVR Tx pin to cell phone Rx pin with a simple voltage divider when AVR was running at 5v, and it work like a charm at 115200 baud. Is this correct practice?

    The reason why I didn't get the communication working with the 3.3v->5v was because I was at that time using a MAX232 to see messages on my computer. I guess the MAX232 is working with completely different Vih (min.) thresholds than the AVR.
     
  4. upand_at_them

    Active Member

    May 15, 2010
    246
    29
    Obviously the simplest solution is to run the AVR from 3.3V. But as long as the phone isn't demanding a lot of current from the comm line the voltage divider will be just fine.

    A MAX232 is for converting TTL levels to/from RS232 levels.
     
  5. hspalm

    Thread Starter Active Member

    Feb 17, 2010
    201
    8
    Yeah, I've used them quite a bit. I think when a reference voltage for the TTL side is 5v, the minimum level for a high bit is not as low as on the AVR. I see how I made this confusing to you, never mind. I appreciate your help!
     
Loading...