Shop OBEX P1 Docs P2 Docs Learn Events
Anyone have experience with DTMF decoding using 8870 or similar? — Parallax Forums

Anyone have experience with DTMF decoding using 8870 or similar?

iQuitiQuit Posts: 78
edited 2010-04-15 15:34 in Accessories
Hello,
I'm working on a project that will use a DTMF decoder IC (MT8870D) connected to a cell phone. I'll call the cell phone (w/diff cell phone), enter a PIN #,
DTMF decoder outputs the number, and the micro controller will read the number and respond appropriately.
I'm breadboarding the setup and find that I don't get *, 0, #. The decoder outputs to a BCD to 7-segment display driver. It shows all of the numbers, except
those mentioned. Those are in the row of tones that correspond to 941Hz. This freq. is in the middle of the minimum and maximum freqs used for DTMF: 697-1477.
So, it couldn't be getting filtered out? Could it? All other rows and columns work great.

My main question is... does anyone here have experience with using the DTMF decoders?

For input, the headset of the cell phone is wired directly to the input of the DTMF decoder using their differential input setup shown in the datasheet. I assume my
values for the resistors used are correct, because I'm getting great response for all of the other numbers that I input.

Any help would be greatly appreciated confused.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"She may not be very pretty now, but she was somebody's baby once." Bugs Bunny

Comments

  • FranklinFranklin Posts: 4,747
    edited 2010-04-15 03:31
    Do you have this connected to a stamp? If so could you attach your code?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • iQuitiQuit Posts: 78
    edited 2010-04-15 05:39
    Not currently. I'm breadboarding the decoder for test purposes. Once I have this working, I'll make a pcb that will hold the DTMF decoder and the micro
    processor. I'm not sure why it's not working, however, I did notice that the data sheet states it has input filters, and there are some resistors listed for
    the differential input that I didn't have the exact values for. I'm within 5% This may make a difference. Not sure. I'll get the exact values and test it again.

    The output of the decoder goes blank whenever I press any key from the last row. With any other press, the number stays latched on the 7-segment
    display--a little odd. I've never used one of these, so I'm not sure if this is normal.

    Thanks for the reply. smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "She may not be very pretty now, but she was somebody's baby once." Bugs Bunny
  • kwinnkwinn Posts: 8,697
    edited 2010-04-15 12:50
    iQuit, check the signal level on pin 3 of the 8870 for all key presses. It should be a clean signal with no clipping or distortion. The M8870 (Clare) data sheet calls for an input voltage level for each tone to be in the range of 27.5 to 869mVRMS. I suspect that is the level on pin 3 since it is also fed to the filters for decoding. Try adjusting the gain resistor for a P-P voltage of about 600mV on pin 3.

    FYI I have attached a table of touch tones and the corresponding output codes along with the output pins for the 8870. Depending on the version of the decoder you have pin 5 may also be important. It inhibits the detection of tones for keys A, B, C, D (column 4)
  • iQuitiQuit Posts: 78
    edited 2010-04-15 15:11
    kwinn,
    Pin 3 is the feedback resistor for input gain, and I will check that today. However, I'm think that it must be okay, 'cause I'm getting all of the other rows. But
    I'll check the input. I checked direct output of the cell phone headset, and am getting a good signal--this was a problem before connecting directly to the
    headset. Once I connected directly to the headset, it started working.
    Pin5 is the inhibit pin, and I've tried it in both configurations. The odd thing is, when pressing keys in this last row, the display goes blank. Upon power up it
    displays a zero. When I press 1, I get a one on the display. and 2 - 9 displays those numbers on the display. It's only when I try pressing any number in that
    las row (*, 0, #) the 7-segment display goes blank--I would expect strange output on the display, but nothing; all LEDs are off.

    Thank you for the reply. I plan on digging into this more this evening after work--I'm so close, I'm sure it's something very simple, and once I find it I'll give
    myself a dope-slap and say Doh! idea.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "She may not be very pretty now, but she was somebody's baby once." Bugs Bunny
  • kwinnkwinn Posts: 8,697
    edited 2010-04-15 15:22
    Keep in mind that the binary output from the 8870 for that row is all greater than decimal 9. If the decoder you are using is a bcd to 7 segment decoder rather than a hex (binary) to 7 segment decoder it may cause the display to blank. Try using 4 individual leds on the Q1-Q8 outputs to see if this is the case.
  • iQuitiQuit Posts: 78
    edited 2010-04-15 15:34
    You are not going to believe this, but I was just taking a shower and that very thought came to me.
    I checked it, and voil
Sign In or Register to comment.