juedi 发表于 2009-3-11 01:41:50

MT8888向TEA1062可以正确发送DTMF信号,TEA1062也成功地把DTMF驱动到电话线上了,但是拨

我照着经典电话电路搭了一个板,原理图见下面。
MT8888是DTMF收发器,TEA1062是带拨号接口的电话语音芯片。
MT8888的TONE引脚输出DTMF信号,连到TEA1062的DTMF输入端;
电话线的TIP、RING信号经过桥接后,提供给MT88888的IN-端。

我写了一个拨号程序:
① 先设置TEA1062为mute状态
② 设置MT8888,发出一个手机号码(11位)
③ 设置TEA1062退出mute状态
可以从声音上听出已经发出了DTMF信号,但是发完后就并没有拨号成功,也没有其他提示音,只有嘟嘟嘟的声音。

先是怀疑DTMF没真正发送成功,TEA1062接收到DTMF信号后会将它驱动到电话线上,所以可以利用MT8888将电话线上的这些DTMF解出来。
修改程序,证实了这点:MT8888从电话线上接收到的数据与发送给TEA1062的数据是一样的,这表示TEA1062已经成功地向电话线发出了DTMF信号。

令我奇怪的是,为什么就是拨号不成功?
① 难道现在的电话机不是使用DTMF拨号吗?我知道深圳电信的来电显示格式是FSK,是不是拨号也不用DTMF了?
② 会不会是信号的幅度不够,MT8888可以解码并不保证远端的交换机可以解码?
③ 是不是进行DTMF拨号时,需要增加某些特殊的格式?

http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_424881.JPG
(原文件名:phone.JPG)

xiaoxu191 发表于 2009-3-11 08:55:13

鼓励一下,你已经成功99%了。

电话一定是DTMF,不可能用其它信号。
你可以检查这些地方:
1)拨号的间隔,至少大于50ms,会不会拨号太快了,可以试一试更大的间隔
2)测摘机电压(TEA1062 pin 1),应该是几伏
3)拿个电话机并机,听听DTMF声音有多大
4)局方不接受你的DTMF信号,应该一直是拨号音,如果听到其它信号音,则部分号码已经接受,可能是你的3.58M晶振不准。

juedi 发表于 2009-3-11 09:34:04

1. 我用的是MT8888的burst模式,时间是51ms波形、51ms停止
2. pin 1电压是4V左右
另外,我用手机拨通单板,然后在按手机的数字键,单板是可以解出DTMF信号的,这证明晶振是准确的;
通话过程中用手机按数字键时,我用万用表测pin1的交流电压是180mv左右;
但是单板发出DTMF信号时,我测pin1的交流电压是1.4v左右;
问:DTMF信号过大会否导致这问题?

你的3)我等会试试,谢谢!

juedi 发表于 2009-3-11 09:43:29

4)局方不接受你的DTMF信号,应该一直是拨号音,如果听到其它信号音,则部分号码已经接受,可能是你的3.58M晶振不准。
答:一开始是有那种等待拨号的声音,但是过一会就是嘟嘟嘟声了,就好像我根本没拨号一样

_yuming 发表于 2009-3-11 09:59:41

你摘机不拨号,等待一段时间后,就会出现嘟嘟的声音,那是催挂音。。。。。如果你播出一个正确的号码,拨号音会消失,只要能播出号码,不论对错拨号音都会消失,如果正确就能拨通电话,如果错误就会有语音提示该号码不存在之类的语音,如果没有语音提示,只有嘟嘟声,那就证明你没有把号码发送到线路上。我记得1602在发送DTMF的时候是不能静音的。

juedi 发表于 2009-3-11 10:07:39

1062是静音时,才能接收DTMF信号,然后放大驱动到电话线上

_yuming 发表于 2009-3-11 10:09:51

按照你的电路来看1602不静音也可以正确接受DTMF信号,你用示波器看一下,1062的1脚有没有DTMF信号波形。。你的mt8880到1062的11脚怎么没有电容呀。。。

_yuming 发表于 2009-3-11 10:26:45

http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_424897.jpg
(原文件名:20051241517262.jpg)

看看这个电路 MT8880 和 TEA1062A的接线图

juedi 发表于 2009-3-11 10:37:37

谢谢_yu-ming,我没有示波器所以没法观察波形,不过PIN 1应该是有DTMF波形的,因为它发到电话线上时,MT8888能从电话线中解出来。
PIN 11我已经飞线加了电容,是这样的:MT8888的TONE接10K电阻到地,TONE接一个1uF的电容到1062的PIN 11。
我现在怀疑是PIN 11的输入信号太大了,不知电话线上的DTMF信号幅值过高是不是导致无法拨号的原因?
我先按你的电路飞线试试。

juedi 发表于 2009-3-11 10:52:25

哈哈哈,谢谢_yu-ming,谢谢xiaoxu191
按上图用2个100K电阻将MT8888的TONE分压,然后通过1uF电容接到1062的PIN 11上,
现在拨号终于听到“您拨打的号码有误”,激动啊!

cbl709 发表于 2009-10-31 01:15:35

楼主能不能把你的程序发出来参考?我的mt8888始终没成功,郁闷死我了

duxingkei 发表于 2010-12-13 15:06:02

mark

atommann 发表于 2011-1-22 11:13:35

回复【4楼】_yuming
你摘机不拨号,等待一段时间后,就会出现嘟嘟的声音,那是催挂音。。。。。如果你播出一个正确的号码,拨号音会消失,只要能播出号码,不论对错拨号音都会消失,如果正确就能拨通电话,如果错误就会有语音提示该号码不存在之类的语音,如果没有语音提示,只有嘟嘟声,那就证明你没有把号码发送到线路上。我记得1602在发送dtmf的时候是不能静音的。
-----------------------------------------------------------------------

• Mute input for pulse or DTMF dialling
– TEA1062: active HIGH (MUTE)
– TEA1062A: active LOW (MUTE)

Datasheet 上写的要静音。

einfay 发表于 2012-8-7 17:16:46

更不懂了

ye_song 发表于 2012-8-8 20:18:01

学习了,写的不错,有参考价值

dgxll 发表于 2012-8-12 11:22:12

留下个脚印,日后用

mafeimafei 发表于 2012-12-15 10:50:22

学习一下,以后用。
页: [1]
查看完整版本: MT8888向TEA1062可以正确发送DTMF信号,TEA1062也成功地把DTMF驱动到电话线上了,但是拨