Forum Index
How to detect DTMF and read it on a Serial Port of a PC?

 
Author Message
Robotics_Job_Search



Joined: 17 Nov 2005
Location: Norfolk, VA

Posted: 17 November 2005, 2:11 AM    Post subject: How to detect DTMF and read it on a Serial Port of a PC?

I know that I can use the FreqOut command to send DTMF, but what is the easiest way to detect DTMF and read it on a Serial Port of a PC? (Know of any Freeware that can use the Sound card to detect it?) Thanks!

Good Luck!
Ken_S.
Back to top
dkinzer
Site Admin


Joined: 03 Sep 2005
Location: Portland, OR

Posted: 23 November 2005, 3:34 AM    Post subject:

You might want to check out the ideas of Scott Dattalo on the subject of DTMF Decoding using a 1-bit ADC.

Although his example code is for the PIC, some of the ideas on his website are quite interesting and may be able to be adapted to ZBasic.
Back to top
Robotics_Job_Search



Joined: 17 Nov 2005
Location: Norfolk, VA

Posted: 24 November 2005, 1:30 AM    Post subject: RE: How to detect DTMF and read it on a Serial Port of a PC?

I may be College educated (even had a 3.88GPA,) but he lost me after the third paragraph.

I'm looking in to Baudot, which is a very old Modem Mode used for TTY; it runs at 45.45 Baud. If I can find enough information I may be able to implement it; otherwise I'll fall back on using a hardware chip and a 5 I/O line interface (I think I also came across one with a three line iC2 interface.)


Good Luck!
Ken_S.
Back to top
dkinzer
Site Admin


Joined: 03 Sep 2005
Location: Portland, OR

Posted: 25 November 2005, 2:24 AM    Post subject:

If I'm not mistaken, Baudot is a 5-bit code that pre-dates 7-bit and 8-bit ASCII codes (and pre-dates EBCDIC, for that matter). It was sent with a single start bit and a single stop bit just like current practice with RS-232.
Back to top
stevech



Joined: 23 Feb 2006

Posted: 23 February 2006, 5:48 AM    Post subject:

today's typical asynch. serial port data is really a derivative of the 5 bit Baudot code defined for early upper case only teletypes. Often they used two stop bits, and at the low rates needed as these are highly mechanical, the carriage return took that long. Indeed, some machines needed a few nulls sent after each carriage return. Watching an old TTY (pre-dating the ASR33) running along is an experience. Some ran almost constantly 25/7 as in AP/UP news feeds.

The start and stop bits are not necessarily the same duration as a data bits. In this case, the bit rate (bps) of a serial port is not what you'd think, since each 8 bit byte is ten or more data bit-times.

I've lost the bubble on what this all has to do with DTMF detection - this being done well with a $3 chip, and poorly with Fourier transforms in firmware.

If you're doing this on the PC side, there are lots of DTMF decoders for sound cards. Better yet, patch the audio into a telephone interface and feed it to your PC's modem which likely has a DTMF decoder.
Back to top
Display posts from previous:   
Page 1 of 1

 



ZBasic Microcontrollers Home
All content Copyright © 2005, 2006, 2007, 2008, 2009, 2010 Elba Corp. All Rights Reserved.
Opinions expressed in posts are those of the author and not necessarily those of Elba Corp.
Powered by phpBB © 2001, 2005 phpBB Group