全部博文(83)
分类:
2009-03-21 13:42:43
基于Slic的基本驱动程序是很简单的。因为在网上就能找到silab提供的参考代码。只需要移植spi部分接口就可以做一个很简单的demo。本文重点记录经验性的东西。
1、 si3210的DC-DC转化部分电路可以采用两种方案,一种是结合Si3201芯片,这没什么可说的。少了很多外部元件,做起来比较方便,就是稍微贵一点点。另一种是采用分立元件。在这里感觉在各种元件的选择上最好全部按照参考设计来选择,并且一定要使用最新的参考设计。记得网上给的老参考设计好象有一些问题,会影响通话质量。
2、 在初始化si3210之前一定要做reset并延续至少25ms。否则间接寄存器没法访问。
3、 DTMF的检测,在通话的过程中有时会检测到按键信号,后来发现如果对着话筒放音乐的话这个现象更加明显。应该是因为有时环境噪声与DTMF信号频率一致被SLIC检测到所致。如果在你的产品中偶而出现这样的现象,不用大惊小怪,不过如果太频繁就要找问题了,可能是DTMF两次检测之间的时间间隔设得有问题。
4、 DTMF与2833,RFC2833是用于通话过程中加载DTMF信号的标准,用于通话过程中的二次拔号。这里存在一个问题,本来在二次拔号时是不送话音的。但是si3210不能检测到按键松开时的信号,没法确定停发audio data的时间,这就会产生一种错误,话机本身发出的DTMF与2833所发出sip dtmf event重叠。造成一次按键对方收到两个。到现在我也只能通过1S停发来解决这个问题,但是如果有人按键延续时间超过1S也会出问题,那位仁兄有更好的解决方案,不妨告之一声。
5、 FSK来电显示,FSK来电显示一定要发检验码。否则就等着在电话上收“——E——”吧。
6、 增加供电电流有时可以降低噪声。
7、 增加馈电电流有时可以降低噪声。
8、 如果设置两路slic要注意隔离,否则发热量会比较大,并有哭声干扰。
9、 如果发热量过高要检查DC-DC转化的PWM占空比设置以及PWM频率。另外检查馈电电流是否过高,并降低vov电压。
10、 摘挂机容错,有时候会检测到假的摘挂机信号,这对一个成熟的产品来说是不可原谅的错误。所以在处理摘挂机信号时一定要做容错处理。最常用的方法是检测到一个摘挂机信号时,等一会再检查一次,或者从侧面去读取一些有电压或电流检测。
11、 处理来电显示时需要较长的时间,如果在处理来电显示时摘机会听到刺耳的声音,所以处理来电显示的过程中比较耗时的部分应该加入摘机检测。
不记得还有什么了,以后想起来再补充。