atmega16 joke problem

Discussion in 'Embedded Systems and Microcontrollers' started by alitex, Nov 11, 2009.

  1. alitex

    Thread Starter Active Member

    Mar 5, 2007
    122
    0
    hi
    i have a joke problem,
    i use atmega16 controller in receive uart protocol from sm8223(The SM8223A is a FSK (Frequency shift keying) decoder and DTMF (Dual tone multi-frequency) receiver IC.)
    when i set vcc=5V it didn't work (receive error dtmf),it really work at 5.7v only and receive correct dtmf,
    any body know about this problem
    thank u in advance
     
  2. hgmjr

    Moderator

    Jan 28, 2005
    9,030
    214
    We are going to need a schematic to crack this one.

    hgmjr
     
  3. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234
    according to the datasheet:
    So I would say there is a problem with running it at 5 volts!!:eek:
     
  4. rcbuck

    New Member

    Nov 10, 2009
    9
    0
    I have used the SM8223 with no problems. You need to run it a 3.3V. 5V is the absolute MAX Vdd voltage but is not the recommended operating voltage.

    The Atmega16 recommended voltage is 4.5-5.5V. My guess is you are having to raise the supply voltage for the Atmega16 to function properly. At 5.7V it is a real possibility that you will destroy the SM8223.

    You need some kind of level shifter between the Atmega16 and the SM8223. Or better yet, use the Atmega16L which will operate down to 2.7V. The Atmega16 is not recommended for new designs so you may want to choose another (newer) micro for your project.
     
  5. alitex

    Thread Starter Active Member

    Mar 5, 2007
    122
    0
    ok, i used atmega16L but for sm8223 i put zener 3.3V with 150 ohm resistor so i got 3.1V for sm8223 and it work good,really when set vcc=5V atmega16L get error bytes from sm8223,when vcc=5.7V it take bytes with no error
     
  6. rcbuck

    New Member

    Nov 10, 2009
    9
    0
    If you are using the atmega16L try running it at the same voltage (3.1) as the SM8223. Everything should work properly at that voltage.

    Also, I looked at the schematics where I used the SM8223 in the project I did. I used a PIC micro and I had the pullup resistors turned on for the pins I had connected to DV and DOUT. I can't tell from the 8223 data sheet if those output pins are tri-stated or not. And there are no notes in my documentation about those pins. For DOUT I don't think you have to be concerned since you are probably using the Atmega16L USART.

    However, as a test you could put a 10K resistor between VDD and the DV pin and see if the DTMF errors disappear at the lower voltages. I suspect what is happening is DV may be a tri-state pin and when you raise the Atmega16 to 5.7V there is enough leakage that the pin that DV is connected to now sees a "high" signal in the idle condition. If DV is a tri-state pin the Atmega16 pin may be floating at the lower voltages. If the Atmega16 pin you are using has a built-in pullup resistor (I think they all do) you could turn that on instead of adding the 10K resistor.
     
Loading...