刚才在D1net上看到某公司的一篇软文《如何选择VoIP解决方案中的处理器》,其实也是篇老文重发,没什么意思。不过这篇文章到触动了我写这篇文章的心思。
话说04年的时候,我们公司刚刚开始VoIP终端项目,采用的第一个CPU是ST公司的一个SoC,型号记不得了,只记得是一个MIPS内核CPU(主频不高,大概70M吧,这就是当时的主流主频了)再带一个内嵌16位DSP的SoC,集成了两个100M以太网MAC。这芯片原厂的参考设计有ATA的,也有IP电话机的。我们用它做IP电话机。话说,这个芯片那真不是一般的烂,开发工具差、支持差不说,交期长价格高也不说,关键是它的内部三口交换机居然有BUG,当网络上出现大量广播报文后,整个switch部分会Crash掉。
不过,话说回来,04年的其它公司的SoC也差不多都这德行。当时的VoIP SoC,都是CPU+DSP结构的。说到这里,也有几个另类,很值得说说。有人还记得PA1688吧? 04年应该是这颗芯片风头正健的时候。要说这个芯片用到VoIP上面,还有点传奇。这本是一颗计划做MP3的芯片,也就是说,是个DSP。不成想做出来后,发现跟市场上的主流方案,比如当时的珠海矩力,价格性能一比,根本打不过。幸好这时候,有位L先生(真名隐去)拿这个芯片鼓捣出一个IP电话机的方案,当时国内很有几家公司用这个芯片“山寨”IP电话机。所以要说起来,山寨这模式,这颗芯片也是急先锋,可惜IP终端盘子跟手机比较,九十牛一毛都算不上,所以没发展起来。PA1688毕竟过于低端,不支持SDRAM,复杂点软件都跑不了。后来也就没声音了。
不过要说用DSP做VoIP终端,PA1688也远不是始祖。始祖一般认为应该是SIPURA公司(注:这公司大约2006年被已经隶属于CISCO的LINKSYS收购了,现在已经不存在),这公司虽然不在了,但其产品型号还在,SPA942啦,PAP2啦,SPA2102啦之类,到今天仍旧被认为终端产品的典范。我们公司销售有时候跟客户掰吃不清到底是终端问题还是客户系统问题,最后祭出的法宝就是“你试试CISCO这两款设备,要是用着没问题,我们找原因;要是也不行,您得找系统的原因”。你们要拆开盒子看看,会见到一个有SIPURA LOGO的芯片,猜猜这是什么芯片? SIPURA开的SoC ? 错! 其中一个128脚矩形的小点的芯片(PAP2那个),我记得是一个淘汰的VCD芯片,原始型号好像是ESS688(记不准了,无责任瞎说),SIPURA的牛人想出用淘汰的VCD芯片做VoIP设备,估计这芯片02年后都可以当废品收购——谁说老外不搞低成本,绝对超低成本!而另一个大方块(SPA942里面那个),我估计是TI的老牌常青树DSP——5402。
说到用TI的DSP做VoIP设备,有家中国人开的美国公司G公司(也是名字隐去,咱们不给别人做广告,这公司在深圳有分支机构),也是用TI的5402做了一系列ATA产品,也是大约03、04年推出的样子,和PA1688时间差不多,但人家卖北美市场,赶上了北美虚拟运营商发展这一拨,现在发展的也不错。
04年的时候,北京还有一家X公司(还是名字隐去)用ARM芯片做IP电话机,也很是了得。我记得我拆过它们产品,后期的版本好像用80M主频的三星44B0就能做出支持G.729的IP话机,这个很是了得,我到今天也没想明白——因为我记得ARM7TDMI的内核并不支持硬件乘法,按我们公司的能力,至少得支持硬件乘法,还得133M主频以上才能流畅的实现G.729的三方通话。那个X公司怎么做的,我今天还很好奇。X公司的产品04-05年卖给了北京263不少,那会263胆子大,推出了60元包月打全国的产品,用的就是X公司的IP电话推广。可惜好景不长,263的激进动作很快就被理所当然的干掉了,我记得当时最逗的一件事是北京7台的百姓节目(大概是这名字,意思是替百姓说话)居然做了一期节目,大概就是一些“受骗群众”一起痛斥263那个60元包月不好用,欺骗了广大人们群众云云。
不过要说起来04年还是挺有意思的,模仿咱们新闻的说法就是“国际国内都由不少单位推出了一些富有想象力的新产品”。
后来还陆续出现了一些VoIP终端的SoC方案,比如Infineon收购AMD后推出的几个方案啦,台湾Crystal Media(已经被ICplus收购)啦,还有世纪民生(这个最逗,也是不支持SDRAM的芯片)啦,也都大概延续了CPU+DSP的设计。但通过我刚才的介绍,估计群众们应该看出,CPU+DSP至少还不如单DSP好使,没啥必要性,所以也没啥前途。
这里还可以一提的是ADI公司,它们也为Blankfin在VoIP上的应用颇费了一番心思,有方案,有宣传。不过由于它们的芯片本质是DSP,由于总出货量的关系,价格不可能很低,跟一些SoC相比并无优势,我觉得前途不大。
05年和06在芯片方案和产品上都没看到什么有新意的产品。再加上看起来没有任何迹象表明VoIP终端可能取代传统电话终端,也就是说这个市场不够大,众芯片公司的热情也就凉快下去了。
07年其实就可以吹吹我们现在公司的产品了,当时我们有一款用经典SOHO路由器SoC,Marvell的88E6218做的VoIP网关和IP电话,自认为堪称经典。不过,任何设计方法的变迁,都和技术发展带来的芯片发展,以及市场环境的变化有关。06年是个什么情况的?首先,在SoC上,ARM9已经广泛被网络类SoC采用,要知道,ARM946E可是支持硬件乘法指令的。或者即使是MIPS内核的SoC,出于加密运算的需要,很多也都支持了硬件乘法指令,更有一些,支持了乘加和舍入运算。其次,SOHO路由器已经几乎家家必备,有线SOHO路由器价格已经打烂了,完全白菜价;对应的,做有线SOHO路由器的SoC也是白菜价。我们买88e6218的价格并不好,要3个多美金,传说当时大客户只要2个多美金。而88E6218是颗什么样的芯片?ARM946E内核,150M主频,内置5个100M以太网PHY —— 一句话,除了没有PCM接口,开发VoIP终端需要的资源都有了。而价格方面,当时主流VoIP SoC的价格一般要5个多美金,Broadcom的,更是要到近7美金。由于不再需要外接网口,而PCM接口很容易就可以用一个CPLD搞定,可以说,当时我们用88e6218开发的ATA和IP电话产品,比用DSP开发更具性价比。也因此,我们的单口ATA从08年起大量出货到韩国的运营商市场,算赚到了第一桶金。
而再往后,我们循着这思路发展,CPU换成了具有更高性价比的ICplus的IP3210。可以不怕自夸的说一句,我们用IP3210开发的单口ATA,即使今天,也是全世界成本最低的方案,没有之一。至于性能,G.729 PESQ>4.0,支持G,729三方通话,支持线速(100M)NAT,可以说与SPA2102比,性能也是只强不弱(嗯,咱们这个少个FXS口)。
不过在08年,我们找到IP3210这颗芯片也是颇费心思。IP3210是08年10月正式发布的,我们开发这产品也得到了ICplus的大力支持,在这里再次表示感谢。之所以说颇费心思,主要是当时市场上支持硬件乘法指令的CPU还是太少,毕竟这个不是做网络设备必需的,绝大多数有线SOHO路由SoC都不支持。
到了09年以后,一直到今天,SOHO应用进入泛无线时代。到今天,要说谁家要是还没被802.11n覆盖,那一定是奥特曼(Out Man)。你们知道无线时代的SoC,带来了什么巨大变化吗? 那就是,所有的无线路由器SoC,没有不支持硬件乘法指令的!至于为什么?原因非常简单,做802.11n的无线交织呀、编码呀之类的运算,也是必须用到乘法的。同时,由于数字音响及VoIP通讯设备潜在发展的可能,而且反正有不增加多少成本,几乎所有的无线路由器SoC都支持I2S和PCM接口 —— 要说我们在07年08年用路由器SoC还需要设计个CPLD,硬件上还有点技术含量,在今天,连这个也不需要了。
由于VoIP终端市场与无线路由器市场相比,几乎小到可以忽略不计。而又鉴于无线路由器SoC的功能强大到已经完全可以满足设计VoIP终端的需要。所以,我基本判断,未来的VoIP终端产品的芯片必然都会过渡到采用无线路由器SoC,单独的VoIP SoC市场将逐渐消亡。然而,有意思的是,似乎今年还有公司在推出VoIP的SoC,好像还不止一家,至少今年找过我们公司推广的就有2家 —— 我经常觉得自己比较笨,有时做错产品决策浪费的公司的资源和时间,很不好!不过看起来,我虽然比较笨,世界上比我更笨的也还有不少。
最后,做个分段式推断结论:
(1)由于无线路由器SoC的销售数量原大于VoIP SoC,而芯片复杂度相当,所以无线路由器SoC的成本要远远占优;
(2)同时已知无线路由器SoC的性能上已经完全满足设计VoIP终端产品的需要;
(3)所以,我认为今后VoIP终端产品将主要采用无线路由器SoC为主CPU进行设计;纯VoIP SoC的市场将逐渐消亡;
注:为严谨起见,声明一下,本文所说VoIP终端,主要局限于普通VoIP话机(即不是可视电话,也不是让你跑Andriod的),及单口和双口ATA设备。
详细解决方案
怎么选择VoIP解决方案中的处理器
热度:5626 发布时间:2013-02-26 00:00:00.0
相关解决方案
- xml/xslt 变量自增。解决方案
- DB2 调用java自定义方法报错,请大牛帮忙~解决方案
- 关于request.getParameterValues()解决方案
- 一个JSP页面,在NETBEANS里报错!解决方案
- WEB环境javamail取不到pop3邮件,解决方案
- 急来者有分,晚了就没了!解决方案
- disable在IE8中可以接收焦点了?解决方案
- 求网页采集器的正则表达式。解决方案
- 关于FckEdit。解决方案
- 在Struts2 如果有多个拦截器栈顺序写错会有什么不同?解决方案
- servlet+jquery1.4.2(ajax error?)解决方案
- 关于el 《c:if》。解决方案
- jsp、taglib、velocity、freemarker等都过时了吗?解决方案
- 有开发过CA认证的朋友,帮个忙!解决方案
- com.microsoft.sqlserver.jdbc.SQLServerException: 列名 n_id 无效。解决方案
- java 缓冲区读写操作,求解?解决方案
- EXTJS中treepanel树内部机制?解决方案
- 一个数学题,求个算法。解决方案
- java 大文件上传?解决方案
- 从JSP中得到访问者的真实IP(很急)!解决方案
- 高分求解!解决方案
- java可以跟PHP对接吗?解决方案
- 有什么办法在JSP页面在不使用<%%>情况下 使用数学函数Math.floor()解决方案
- 在JSP页面调用JavaBean,出错!初学!求指导!解决方案
- 简单的更改记录的语句?解决方案
- JS方法内取的值是false,给方法传递的值却是正确的,请高手指教。解决方案
- 求教各位大神,初学JSP看什么书比较好呢?新一点的。解决方案
- java调用so,解决方案
- MyEclipse怎样运行applet程序?解决方案
- JPA到底是神马?解决方案