作为技术型的公司,产品的竞争力很重要,可以说是公司生存的基础。无线产品的竞争力是华为攻城略地的基础,是核心,再加上强劲的销售能力和具有华为特色的及时响应能力,这才造就了今天的无线。一个公司无论是多么高的工程管理水平,多么高的销售能力,多么高的营销水平,都必须依赖于有竞争力的产品才能打开市场和生存。如果没有了有竞争力的产品,高超的销售能力和营销水平,只能延缓他的下降速度,并不会改变他下降的趋势,比如Moto。如果在这个下降的趋势中,他能及时推出有竞争力的产品,将力挽狂澜,如果不能,则必死无疑。
华为无线最开始的产品也就是一个汉阳造(BTS20和单模块BSC),只能在边缘地区弄点小单子。等到BTS30和BSC32的时代,基本就算装备了迫击炮,枪也换成了自动步枪和冲锋枪,乘敌人巡逻或者扫荡不带重武器的时候去袭击一下。等到华为BSC6000和BTS3012出来的时候,应该算是勉强用上了坦克,不过这个坦克呢,防护装甲还不是很好,火力也不是很好,速度还很慢。等华为多载波基站/SingleRAN和双模BSC推出后,华为的坦克火力,速度和装甲算是基本平齐了,甚至可能还局部{lx1}了,不过呢这个坦克使用比较复杂,并且驾驶舱里面还没有配备空调,士兵开起来满头大汗,而同期虽然对手的坦克火力和装甲赶不上咱华为的,但是也基本算差不多,不是行家看不出来,但是人家驾驶舱里面配备了空调,使用起来也比较方便,操作不会出错,而咱华为的,因为操作复杂,偶尔还可能会出错。但是这个时候华为已经基本能够和对手开始搞阵地战了,郊外的阵地战(新网新牌)胜算大些,但是攻城站(搬迁项目)虽然攻得不少,但是失利的也不少,一般胜利战役的对手都是坦克比较差的,并且防守的火力又不行的,失利的战役大多少是对手的坦克差不多或者防守的火力特别猛的。
GSM最开始的技术积累是从几个单位挖的人开始的,因为毕竟没有搞过这么复杂的产品,这么多网元,每个网元的复杂度都很高,只有MSC还能从交换机那里有点继承。因为交换机也只有对上业务系统和7号及对下的用户线而已(固网的人不要笑我,我对交换机了解不多),而GSM系统要上就是一整套系统,包括核心网的HLR,VLR(现在都已经集成在交换机中了),MSC,接入网的BSC和基站,每个网元的处理复杂度都要比交换机大一些。拿比较熟悉的接入网来说,BSC(基站控制器)不但要处理用户的接入和接续,还完成对基站的配置,无线资源管理,功率控制,切换等,并且还需要有TRAU子模块,完成语音编解码。而基站不但要完成无线信号的收发,还要完成信号的解调,基带处理,跳频等。所有的都是新的,如果没有熟悉的技术牵头人,仅仅靠华为原来的老员工去学,估计不知道什么时候才能拿出产品。
没有经历过97年样机打通电话的激动人心的时刻,我进华为的时候,已经处于商用产品开发的功能补齐阶段,比如话统告警性能开发,OM维护功能完善,从当时的Phase1协议往Phase2升级,现在很多人可能都不知道有这些协议阶段,类似现在R99和R4的关系,但是那个时候Phase2定义的功能大多数是一些基本功能,而不是现在协议中升级中的可做可不做的可选功能。那个时候GSM已经成立了产品线,产品线的领导都是当时从研究所挖过来的技术大拿。说大拿,那可不是吹出来的,传闻当时的BSC主机软件,就是一个大拿带着两个员工写出来的,不要说写这么多代码,就是将所有和BSC相关的协议都读懂,理解透,并且勾画出BSC架构,再将主机软件分模块,就已经让人佩服不已了。现在华为的BSC开发测试团队加起来可是有几百人的,并且有前人的多年累计的文档和资料。当然现在的BSC功能是比以前复杂多了,代码量也是以前的几十倍了。
样机和商用化产品有多远,对于小系统可能不是很远,可能差几个月或者半年,但是对于整个GSM系统来说,那就差得很远了。97年打通电话的产品是没有见过,等我见到华为产品的时候,BSC的版本号已经到了BSC2.1,BTS也已经到了2.0,MSC的版本号已经到了3.X了。按照现在华为部分研究项目的样机开发来看,一般样机都是怎么简单怎么来,我敢肯定,样机的维护台是没有消息解释的,样机里面的话统肯定是很不完整的,样机里面的很多网规参数都是不能设置的,应该是在程序中写死的。
举几个现在看来不可能的例子,那个时候,基本没有问题定位手段,基本上是靠打开前台的打印和前台发到后台的断言来定位问题,最开始的时候,所有人都是靠记住消息的字段划分来判断这一条消息是否对,经常看到一个开发人员和一个测试人员一起盯着显示器,打开一条消息,开始数1,2,3….,一直数到第12个字节,看到这个字节是5F,好,然后再打开协议,测试人员说,你看,这个消息,这个字段你应该发的是5E,而不是5F。发了5F,这个就变为XX含义了,呼叫当然就进行不下去了。
GSM的消息跟踪是从交换机继承过来的,那个时候不知道交换机是否有消息跟踪的解释,反正GSM是没有的,这个时候,一个大拿(5,6千号左右,在那时是一个比较老的新员工而已)出现了,觉得这样定位问题和测试太费劲了,就自己研究编译原理,设计了一套机制,根据前台吐出来的消息,动态根据GSM的协议不同的IE,将GSM协议的每个字段都解释出来,一点某个具体的消息,就弹出一个小框,然后分层分段的将消息头,消息的IE字段全部解释出来,后推广到整个GSM产品线,就将技术全部移交给开发了,因为他是测试人员。那个时候,能够解释的消息的有惠普的MA10,那可是10多万一台呢,整个产品线好像就几台,并且还只能解释很标准的信令。这么一来,相当于产品线人手一台MA10,大大提高了测试和问题定位的速度。不过很可惜,这个大拿2000年的时候就离职出国去了。据说这个工作是他自己琢磨的,并没有耽误主管安排的工作任务,只是工作基本有思路之后才给主管提及,专心的搞这个。所以呢,我觉得任何岗位,只要你会思考,都能做出很大的成绩,关键看你是否思考而已。现在很多测试人员觉得测试没有劲,关键你是否有思考,是否有想法,测试其实也出了不少人才的,当然你到了一定级别之后,测试上升空间稍微小一些,我也是搞测试出身的。
那个时候BSC的软件已经基本成型,一般的功能测试虽也能发现问题,但是还是很担心话务量冲击的问题。原来最老的单模块BSC虽然是没有经过话务量测试,毕竟那个时候单模块BSC容量小,在商用网上带的基站也少,到是没有出过话务量冲击的问题。但是基于多模块交换机的BSC31,已经能够支持1024个载频,并且涉及到模块间通讯,容量大了之后也肯定会涉及到流量控制的问题,因此当时的产品已经意识到必须要上话务量测试。就这样,话务量工具的鼻祖就带了3个98年进公司的3个测试员工(其中两个还是后来加入的),开始了话务量测试。从最开始设计模拟基站和BSC建链开始,到在工具里面增加模拟手机用户的状态,再到XX(不能再细说了,免得有信息安全的风险)。到了{zh1},工具成型了,将话务量的环境搭建起来之后,新版本要发布到测试部去测试,必须要经过话务量测试这一关,因为发现发布的版本经常因为一些低级的没有释放内存或者其他的低级错误导致版本测试阻塞。话务量测试组为BSC的稳定起到了至关重要的作用,发现了不少类似内存泄漏,高话务冲击情况下设计考虑不周的问题。当时那个组某兄弟的屏幕保护曾经写着“痛并快乐着”,还曾经在产品内部宣传了一把,写过一篇文章,老兄弟应该是知道的。
那个时候商用化不成熟的另外一个标志就是,开发人员(那个时候还没有定义设计人员,只有骨干人员牵头的概念)在开发时候,所谓的设计都是从研发人员实现的角度来考虑的,那不是一般烦琐,比如用于内部单板之间通讯连接的链路号都是要数据配置人员进行计算和匹配,逻辑编号要对应,不然BSC起不来。你想,那么多数据表格,不但要保证业务的数据的逻辑正确,还要保证BSC内部连接逻辑关系的正确性,你说累不累啊,局方怎么去接手维护啊。
华为的BTS经过好几代,从我的接触看,应该包含如下的如下四代半:BTS1.0 -> BTS2.0 -> BTS3.0/BTS312 ->BTS3012 ->BTS3900 。所谓的半代是说的BTS1.0,那个应该是属于非成熟化的产品,只能说是半代了。当然从BTS2.0 开始就应该开始有了系列化的概念,这个系列化就是室外型(国内很少用)和小基站。小基站也会有不同的规格,不同的应用场景,这里就不详细说了,主要说说主流的宏基站。
BTS1.0应该是样机阶段开发出来的,等我加入到华为的时候,我只在某个实验室看到过一次,只是放在那里,没有使用。BTS1.0应该是一个2.2米左右瘦高形的机柜,不记得是6个机框还是7个机框了,能够支持的载频数量是6个,内部的结构不清楚, 因为是{dy}次做,集成度很差的。TRX、基带、功放等,都是分离的。我印象中BTS1.0是没有推向市场的,上市的直接是BTS2.0,就算开了,估计也就是最开始开的两个试验局(内蒙和河北)。
我接触的最开始是BTS2.0,大概是1.6米高,一个控制框,里面包含了基带板,再上面是TRX单元,再上面是功放单元,合分路器和双工器单元。这里之所以用单元是因为这些部件基本都是大家伙。机柜不但前面要有复杂的框间连线,连机柜后面也要连线,因此肯定不能靠墙安装。因为一个机柜只能支持6载波,分到三个扇区,就是每个扇区2载波,而国内那个时候已经有很多的站点配置超过S222的配置了,因此一般情况是要并柜的,要并柜,那么就涉及到机柜之间的连线,那个时候机柜之间的跳频连线那是叫复杂啊,花花绿绿的线大概需要6根还是9根,机柜之间都要互联。除了调频线,还有时钟线,传输线,反正我印象中并柜是很麻烦的。
华为在立项开发BTS2.0之后没有多久,就立项开发了BTS3.0。BTS3.0的开发是以上海研究所为主体的,这个也是上研所{dy}次开发真正意义上面的产品。这个实际上是华为在北研之外,第二次进行产品布局,具体过程不清楚,但是原因是深圳不能吸引到足够多的专业人才,比如射频。因为上海周围的搞射频的研究所还是有一些,江浙人比较喜欢在上海呆着而不愿意跑到深圳。因此在96年的时候公司就已经决定成立上海研究所了。在启动了BTS30之后,又在上海启动了应用时间很长的BSC32的开发,这个时候上研所已经有了真正意义上面的开发。
BTS30的开发吸取了BTS20开发的很多的经验教训,比如我印象中,虽然BTS30还不能严格意义上面的靠墙安装,但是一般情况下,已经不需要打开后盖了,只有特殊的情况下才需要打开后盖。同事BTS30在功能布局上面也有了长足的进步,比如功放和TRX合一了,虽然模块个头稍微大了一些,但是已经避免很多复杂的电缆连接,上下框的线缆连接主要是双工器和合分路器射频电缆连接及通讯管理连接。但是BTS30虽然提高了集成度,但是并没有解决一个机柜只能支持6TRX的固有缺陷,因为当时移动的S444的站点已经很多了,而联通是因为频点数的限制,才配置的S332的站型。就算S332,华为的BTS30一个机柜也不能搞定。因此在BTS30开发出来之后,就立即启动了华为卖了最长时间的BTS312的开发。为什么将BTS312归为BTS30系列呢,是因为这两个型号的基站的单板是通用的,只是结构上面变化,机柜更高一些,更宽一些,能够支持12的载波而已,而12载波{zd0}的好处就是能够满足当时中国移动及中国联通的单机柜搞定一个S444以下站点的需求,市场定位还是很准确的。至于12载波是否是华为原创,我就不知道了,因为那个时候是小兵,基本是干BSC的活的,根本就不知道其他友商的情况。
BTS312的开发有一个很有意义的教训,就是没有注意工程问题的开发人员将第0框定义在最上面,也就是如果一个基站只有一个扇区,那么就需要将TRX和双工器放在{zg}的那个框。这样造成最严重的问题是只有一个框的时候,会造成基站的头重脚轻。最开始提出这个问题的时候,研发人员还认为无所谓,只是插哪里的问题,还不愿意进行软件的更改,没过多少时间,据说在生产线上面出现过机柜倒下的问题,才由上升到领导层,决策更改掉。从这个事情就可以看出,一批有经验的工程师对一个产品是多么重要。类似的例子可以举出很多,涉及到信息安全的因素,就不多举了。
01年的时候,虽然城市里面年轻人的手机普及率已经比较高了,当时在中西部农村地区及东部相对落后的农村地区,手机普及率还不是很高。但是中国移动还是要覆盖农村地区啊,并且当时移动分家没有多久,网络的核心还是在城市里面,但是如果建立一个真正意义上面的基站,包括机房,铁塔,备电等,成本很高。但是BTS3001基站就很好的满足了中国的市场需求,直接挂在一个电线杆上,立一根全向天线,不用备电,基站直接带光接口板,只要传输拉到就可以。很快,就靠边际网的小基站,在全国布了很多点。大家都知道,基站布了以后再搬迁就很困难,而华为通过小基站的切入,逐渐打开了国内的市场。当然因为“边际网”包装得太成功,导致05年以后华为想进城,还特地再包装宏基站,避免“华为=边际网”的影响,那是后话了。
BTS30的开发基本上模仿的爱立信的,在01年之前,华为研发对对其他xx的友商的认识可能差不多,比如爱立信,Moto,诺基亚;其他的友商,比如西门子,北电,朗讯等因为进入时间的早与晚,有些在网的载频多一些,有些市场小一些,但是当时已经是按照上述两个集团来看待友商了。BTS30基站也是华为有模仿对象的{zh1}一款基站了,后面的基站已经基本上是华为自己根据市场需求,进行分析,确定规格了,因为那个时候华为的系统工程师已经有了一次完整的产品设计经验,已经有了不需要模仿(注意只是模仿,不是抄袭,和QQ的外型模仿类似,不需要因为布局分布和比例而大伤脑筋)对象而进行自主设计的能力。
华为的GSM的BSC基站控制器严格意义上来说只开发了两代,但是也可以说开发了两代半。那就是以B型机32模为基础BSC32之前的版本及以PARC平台为基础的单模BSC6000及双模的BSC6900。但是版本还是经过了不少,从BSC2.1 -> BSC2.2 -> BSC31 ->BSC32 -> BSC600 -> BSC6900。BSC3X之前,硬件平台都是B型机,BSC6×××都是以PARC平台的,内部的核心是IP交换,当然也包含了TDM交换。双模BSC也可以算半代,有点类似GPRS算是2.5G的意思了,呵呵。
先说一下BSC的平台B型机,那个可是华为{dy}稳定的电信级产品,也是华为真正和其他很多用户交换机设备商区分开来的划时代的产品,当然是那个时候的划时代的产品。推出时间应该是94年。在华为决定多元化的时候,几乎所有产品都是以那个产品开始为平台的,比如GSM全系列产品(基站除外,无法应用),智能网,传输等,就是不知道当时红极一时的A8010是否用到过这个产品。那个时候也是实力所限,有系统设计能力的大拿都在交换业务部,同时交换业务的硬件更新也同步到无线的平台,比如时钟,最开始是Clock2和Clock3, 后更换为GCKS。主控制板也随着业界处理器的进步在不停的升级,比如在我的印象中就有过MPU12,13的升级,因为处理器升级,因为内存扩展的升级,因为器件替代的升级等等,我接触的{zh1}的MPU就是以AMD的5K86芯片为主处理器的,后面的就不知道了。
BSC最开始的版本是单模块的,一个机柜搞定,支持128TRX,因为实在是B型机的网板交换容量受到限制。但是别看小,那个时候业界主流的BSC的容量也就100多200多TRX,那个时代,一个TRX的价格传说要10万,具体的价格就不知道了,因为我入行比较晚,并且是研发的小兵。集成度在最开始的时候还算可以,一个机柜搞定主控,基站接口, A接口传输单板, TC码变换单元。单模块的BSC的应用量很小,BSC21根本就没有开局,BSC22也没有开几个局。因为在开发单模块的同时很快就启动了多模块BSC31的开发,以交换机的32模为基础,增加了AM/CM机柜,5个机柜能够支持1024TRX,当时已经是{zd0}的BSC了,其他的友商一般才200多到500多,我印象中看到{zd0}的BSC好像是当时的Nokia,好像是700多。因此在2000年的时候,觉得BSC差不多就这样了。但是毕竟无线的业务比交换机 业务要复杂,交换机够用的处理能力和内存在无线就显得不是那么充裕了,因此又将部分业务处理转移到了其他单板上面处理,增强了当时的LAPD单板的处理能力,但是又不能转移太多,因为内部通讯的带宽不够,毕竟B型机是90年代中期的设计产品,每个框的交换容量太受限制,能够支撑到2006年,已经很不容易了。
在开发BSC6000的过程中,吃过的苦头,那真是数不胜数,不但硬件平台是全新的,底层的软件也是全新的,业务部分软件虽然有继承,但是代码基本上重新写过。硬件平台是新的,但是硬件出了一个原计划替代BAM单板出了问题,其他的单板还比较争气。但是底层软件出现重大设计失误,软件效率极低,严重影响了设计规格。后从深圳请了几个大拿级别的人,主持整改,规格也基本达标了,只是在部分接口单板处理能力不够,多用一些就行了,后来也通过改版通过达到了指标。
不管怎么样,BSC6000总算弄出来了,2个机柜能够支持2048载频,连TC也只需要3个机柜。这样的规格还是很有竞争力的,关键是处理能力上去了,一些对性能有重要作用的算法能够上了。在第二个版本中,用了一块单板替换桎梏华为BSC多年的BAM,也就是后台计算机。随后又将处理分组业务的PCU集成到BSC内部,再次通过提升单板的处理能力来提高集成度,后面已经能够单机柜支持2048载频(含TC),这个在业界应该是{lx1}的。现在好像有友商支持3072载频的BSC,但是不知道要几个机柜,也就不妄下评论了。后面会提及到,到了双模BSC,华为也好像也能够支持3072载频了。
说到容量,正好看到有一个帖子说华为的核心网的容量是吹的,我感觉基本上是扯淡,以华为现在系统设计能力要将容量做上去,硬件{jd1}不是问题,只是软件的复杂度大一些而已,包括核心网和BSC。虽然我没有接触核心网的产品,但是我相信他的产品规格肯定是可以达到的,至少BSC的规格我是在实验室看到的。但是这么大的容量运营商敢满配置吗,特别是MSC,N年以前,华为就可以支持200万的用户容量,但是除了在某些特别场景能够用到,比如沙特的朝拜(我觉得沙特的保障成功对核心网品牌的意义非凡),其他的地方一般真的敢用吗?一台MSC达到1000万用户,想想有几个运营商有几个城市能够达到这么高的容量?一般运营商的MSC实际带的用户数也是随着产品的稳定而逐渐增长的。记得原来一般的是20万到30万,后来是30万到50万,现在能够实际运行200万用户,也是说明华为的产品稳定啊,还Beat个啥啊(我是瞎扯的,对现在的核心网容量xx没有概念)。
BSC的应用也是一样的,我可以不夸张的说,以华为现在的设计能力,在现在BSC平台基础上,硬件架构略加改造,支持1万载频不是不可达的目标,无非是多加几个模块而已。但是如果所有的设备商都有了支持1万载频甚至2万载频的BSC,运营商敢用吗,敢用满吗?用满了,那可好了,全国就那么多载频,除以2万,假设中国移动有600万载频,全国最多3百台BSC搞定了,但是现实吗?设备容量实际上是运营商信心和业务容量需求的一个综合平衡,运营商只有在小容量被逼得没有办法的情况下,才会用更大容量的设备,就拿BSC来说,在10年前,一个普通本地网撑死了就几百载频,分2-3BSC是一个很正常的事情。但是如果用现在放到现在,稍微大一点的的本地网可能都超过1万,如果按照256载频算的话,要40个BSC,就BSC间的切换关系就能做死人。因此2000TRX的需求就自然提出来了,一个城市总归是需要分成几个BSC的,不然网络太不安全了。/*跑题了。*/
因为G9的成功,因此BSC6000的版本开始版本号是从V9开始,而不是V1开始的。但是最开始立项的时候是V1,需要从V1改为V9,为了从V1改V9,讨论过好几次,也花了很多不少力气去改这个东西。不要认为只是在版本中改一个显示版本号那么简单,在流程化的公司,改一个版本号的工作量还是很大的,比如公司各项管理系统中的版本号,各项市场宣传资料,产品资料,系统里面的帮助,软件里面的版本管理等等。当然BSC6000也没有无愧于这个V9的版本号,虽然没有G9的辉煌,但是在上市之后的质量还是很稳定的,至少比我预想的要好很多很多。
业界最开始提出双模的时候,其实并没有想得太清楚,双模BSC到底有什么用,怎么样用,有什么好处,只是大家都有了一个这样的概念而已。当华为还是BSC32时代,正在开发BSC6000的时候,已经在考虑,双模的概念到底是怎么用,有哪些好处?随着BSC6000的开发进展,规格也明确了,BSC6000和RNC采用的是一样的机架,因此{dy}层意思也就出来了,那就是能够BSC/RNC共柜安装,就当时的产品来说,共柜安装除了给可能比较的小的运营商带来机房面积的节省之外,并不会给运营商带来更多好处。
随着华为RNC的硬件平台的切换,RNC也采用了和BSC6000的平台,当然使RNC集成度和规格上面有了进一步的提升,同时也给双模带来第二层的概念,也就是BSC6000能够升级到RNC,当然本来GSM使用的是TDM传输,WCDMA大多数使用的是ATM,{zx1}的还有使用IP的,因此肯定不是所有的单板都能够重复利用。当时这个还是能够吸引运营商的,毕竟从BSC升级到RNC,很多单板是可以使用的,机柜机框都是可以使用的,升级的话,也就是更换部分单板,升级软件而已,比将老机柜扔掉,安装新机柜,或者割接要来得简单得多。
随着双模BSC的推出,再加上之前提供的3900系列双模SDR基站,华为的SingleRan已经实现,这个是华为SingleRan概念的完整阐述,能够{zd0}限度的保证运营商的投资,无论是升级模式,还是容量迁移模式,都能够{zd0}程度的保护运营商的投资,同时还能够带来2G/3GXXX共享,2G/3G XXX管理,2G/3G XXX功能(估计省略的部分所有的友商都知道,为了避免麻烦,还是省略了),这些是独立BSC,RNC不能带来的好处。
这个里面还有一件事情,值得称赞的,那个就是EDGE载频的开发。大概是03还是04年时候吧,市场的EDGE需求已经很明确了,但是当时GSM的人员少也一个实际存在的因素,无人力投入。在这种情况下,基站的领导还是偷偷的弄了一小拨人,去研究EDGE,包括硬件和软件。等到研究了差不多了,就正式立项进行开发。据说就10多人,将EDGE给整出来了,这个也是没有办法的办法,因为当时EDGE作为运营商的普遍需求,作为标书的必选项,因此产品投入基本是当时能够投入的{zh0}的资源了。据说后来,别的一个产品咨询经验,问你们怎么那么少人就很快将这么大一个特性给做出来了。某主管的答复是:在各个模块投入的都是有好几年开发经验的老员工,如果一部分老的搭很多新员工话,可能就会拖延或者失败。在这个地方,不是要贬低新员工,新员工里面也有优秀的,也有编程比较厉害的,当时我这里主要是强调老员工在通讯企业中的作用是非常明显,最主要是体现在方案评审上面。
编程在华为虽然是基本技能,但是做任何开发一样,编程仅仅是一个工具,关键就是对业务的掌握能力和理解力。老员工在方案设计和评审的作用体现在他有经验,他碰到过很多网上问题,他在脑海中有这样的概念。他对原有系统的不足和瓶颈是很清楚,在新产品中如何提高会有思路。他的面会相对广一些,做射频小信号部分的,对基带多少有点了解,在会议上还是能够提出一些意见的,做主控的对整个基站的软件构架及通讯机制也是会有一点了解的,也提出自己疑问和想法。所以经验在设计中是非常重要的。
BTS3102的基站大概是1.4米高,宽度也降低了不少,框架结构基本上也还是沿用312的技术,比如射频单元是一个模块,还是有独立的双工器,还是有独立的主控框等等。双密度基站的推出,将华为的基站产品的技术已经基本上和{lx1}的友商拉齐了。BTS3102基站在技术上面{zd0}的改进就是提高了集成度和降低了功耗,从业务上面,就是可以全部TRX的所有时隙支持EDGE业务,而之前的BTS312基站因为带宽的因素,不能全规格支持EDGE。虽说全规格支持EDGE并没有实际的应用场景,但是问题是其他的卖家支持,就你华为不支持,你在投标中就处于不利的地位。并且运营商的心态是我招标里面要求,但是我是否买这个功能,是否用这个功能是我决定的,但是你要支持。类似的例子就是所谓的基站环型组网,估计大家都听说过,也就是系列基站能够连接起来之后能够再接回BSC,这个功能很多运营商在招标中要去,但是实际上在现网中应用极少,因为毕竟要增加基站管理的复杂度,还要增加一跳传输。
3900系列基站的BBU是可以同时用在GSM,UMTS及在双模的情况,根据不同的配置要求在BBU上面插上不同单板,连接不同的射频模块。每个基站能够支持6个模块,对于一般的运营商,都已经能够满足要求。一个模块至少支持4载波,如果能够接受功率小一点的,可以配置6载波。纯GSM的话,两个模块可以支持8载波每扇区,或者配置900M/1800M双频网,或者配置S444/S666的GSM和S333的UMTS,总之,BTS3900的宏基站单机柜已经能够满足世界上大多数运营商的需求,分布式的基站也基本类似。当然面对移动的需求可能一个机柜还不能搞定,这个就得另想解决方案了。
BTS30/312开发之后,本来也有计划进一步开发BTS4.0,也许名字起得不好,关键是2000年的时候3G热潮,全世界的热潮,跟着热潮,那个时候华为已经启动了WCDMA的开发,也从GSM抽调了精兵强将到WCDMA开发中去。整个无线也开始收缩GSM的开发,因此BTS40项目下马了。随着将深圳GSM BSS的人员搬迁到上海,也多出来一些干部,多出了一些开发人员,当然这个结论的前提是在当时的BSC32和BTS30之后不再作大的新平台的开发。
那个时候,3G热到什么程度,现在回过头来,觉得真是不可思议。老员工天天找主管谈心,我要去3G,我要去3G,那边是接收部门都找好了,只要这边放就可以。已经进入2G的半新员工想,等那批老的员工走掉之后,也该轮到我调去3G了吧,应该有更新的员工来接替我吧?新员工分配的时候,分配到2G新员工都闹情绪,觉得搞的是落后的技术,最多搞个1年2年,产品就不要开发了,学了2G之后还要学3G,浪费大好时光。总的来说,但是我们这些基层主管在业务之外,很重要的就是稳定军心。
那个时候还有一个事情,我很清楚的记得。应该是00年吧,当时市场行销一个领导(不记得是谁了,因为我当时也就是一个小兵,只认识研发的兄弟和领导,不认识市场的领导)召集我们上海BSS的骨干来鼓劲,记得在好像在淮海路的哪个宾馆的会议室,人去了不少。先讲讲市场形势,我们今年的销售要达到XX亿,我们要突破A省,B省,C省等等。后面又谈到了3G,然后就说了,3G马上就要来了,明年肯定能够发牌。知道国外政府发牌照赚了这么多钱,中国为什么还不发吗?因为华为的3G还没有出来。所以兄弟们要抓紧啊,国家在等华为啊。我当时的感觉,你这不是在给兄弟们鼓劲呢,是在动员我们这批人去3G呢。就这个故事,就能够说明当时的3G已经热到什么程度。当然,结果也是大家知道的,01年国家是没有发牌的,这个对华为WCDMA的商用有很大的影响的。虽然当时是满世界的搞WCDMA试验局,但是不是商用,那么就不会有真正的商用经验,不会有优化的压力,不会有业务流控的压力,不会积累解决问题的能力。当然随着阿联酋商用网和香港的商用网的投入运营,WCDMA的技术实力就xx显示出来了,当然这个是题外话。
当时的版本规划都是研发说了算,什么需求要做,什么需求不做,基本上是研发内部讨论就可以决定了。行销因为市场还没有打开,反馈的有效需求不多,一般是要求研发在XX时间点解决哪个局点的YY问题,什么时候出ZZ补丁。在研发没有市场眼光,行销无有效需求的情况下,新产品的开发就无限期的停下来了。当然在BTS312和BSC32上面能够做的一些平台能够支持的增量开发还是一直在做,也正是当时保留下来的这一批老员工,使得后续在大发展的时候起到了至关重要的火种的作用。
业界已经开始交付双密度基站,单机柜支持1000多TRX的BSC,但是华为的基站还是{zd0}12载波,在集成度合功耗上面已经远远落后于对手,并且是几年没有推出新产品了,市场没有亮点,项目的拓展越来越困难,给商务带来很大的压力。并且从04起,已经看出来3G替换2G的时间将比在2000年的时候看要长很多,GSM生命周期将远远长于预期,在新兴市场,华为还有很大的空间,这个时候无线逐渐开始在GSM上面加大投入,并且不仅仅是GSM,CDMA也开始加大投入。
这个时候在GSM留守的那一批兄弟应该是最辛苦的,一方面要承担起新产品的设计工作,一方面又要带大量的新员工。那个时候,进公司1年当PL是很正常的事情,进公司1、2年带几十个人的项目组很多。当时GSM很缺有经验的基层管理者,于是又从其他部门大量抽调基层管理者到GSM产品线。我个人觉得那两年进GSM的新员工也许还算比较幸运,虽然工作辛苦一些,但是在在实践中能够经历一个全新平台合全新产品的设计开发的机会并不多,能够在这个过程中得到相当好的锻炼,能力得到提升。
具体怎么投入,我就不能说了,只说一下当时无线投入GSM的决心吧。当时的无线总裁余总要求每个部门都抽调人员到GSM,也不是随便给的,过来的人水平还不能差,先看考评,考评不好的不能给。考评合格了还要面试,面试不过的不要。在这个过程中,也抽调很多基层管理者充实到GSM产品线,而这一批人员对GSM的作用也是不可低估的。据说余总说过狠话,指标完不成的主管直接调到GSM去当兵,部门一把手负责。由此可以看出当时支持GSM的力度和决心。
华为的GSM成功绝非偶然,能够走到今天,从04年启动的开发起到了至关重要的作用,特别是05,06年后的强势投入。在这个过程中,所有华为无线人,包括领导和我们这些基层员工,真的是牺牲了很多。真正在产品线一线领导的工作强度远远超过我们这些基层员工,经常在我们和领导加班开完会之后,我们回家了之后,领导还在办公室在处理邮件,和海外开电话会议。但是我认为我的付出是值得的,看到GSM市场的攻城略地,说句实话,成就感还是很强的。
我是学计算机的,和通讯没有什么关系。不过说起来很惭愧,从毕业到现在10几年了,我没有一行代码是写在任何产品的发布版本中的,只写过测试代码,包括我之前工作过的那个单位。那个时候网络也没有这么发达,也没有意识到自己有多么的无知。在进公司的时候对通讯一无所知,可能计算机和通讯编程还算对口吧,面试了一下,还算让我混进了公司。当时我同部门的同事里面,专业不对口的大把,可能和那个时候通讯和计算机毕业生资源不多有关。那个时候感觉招聘更多是看综合素质,对通讯或者编程只要有一点基础就行了。同事里面,有学大气物理的,核物理的,学生物的,学数学的,当然计算机和自动化比较多了。还有过一个学空气动力的,来华为之前是搞导弹的,呵呵!
进公司的时候,部门主管给我指定了一个导师,不过那个时候导师在出差,在我转正之前就没有见过导师,因此我实际是一个比我早三个月进公司的美女带的。为什么是她,因为我的导师和她的导师就是一个人,她代管导师管我了。一进部门,她先对着机架给我讲了半个小时,后来回想起来当时记得的只有一个叫基站的东西。另外还一个只知道发音叫Eone的线,但是不知道E1是什么。那时候在实验室,一直听别人E1,E1的说着,就一根线,为什么叫E1呢,还不知道怎么写,也没有好意思问。直到两三天后看到一个文档,才知道E1是怎么写的,原来是将1念成One,我还不是一般的土啊,这个事情是一直没有和别人说过,呵呵。
开始很不好意思问老员工,只是自己闷头看书,因为原来在国营单位的缘故。后来美女导师老是问,有什么问题吗,有什么问题吗?只要开了头,开始问起来了,那就是问题不断了,不光是我的美女导师,座位在一起的老员工也经常被我问。毕竟美女导师也仅仅比我早三个月而已,经常被我给问住,这个时候她会问别人或者告诉我这个问题应该请教谁,总之问题总归是能够找到答案的,当然问题肯定不会是那种伦理化的高深问题。随着自己的水平的提高,问的问题也越来越难了,也不能总让别人花那么多时间在我身上吧,于是很快就自己看代码和看协议了。
导师见不着,虽然导师说过让我学无线资源管理部分,但是我的美女师父是搞基站管理的,她也就直接扔了一份11.21的基站管理协议给我,对我说,3天看完吧,看完了之后给我讲讲。就这样,她就忙于自己的事情了。那个晕啊,大学的英文根本没有认真学过,4级xx就是靠高中那点底子混过去的。自己没有去面试外企,就是因为英文不行。但是现在没有办法了,只好硬着头皮上啊。第二天又扔了一本一个红皮的GSM原理的书(32K本的),名字不记得了,说的东西比较简单,但是翻译得不是很好,但是对于理解GSM的基本概念还是一个不错的选择。看完协议之后,花了一个xx将这本书啃完,虽然对里面很多细节不了解,但是至少对GSM已经有点概念了,知道怎么样进行呼叫接续的,为什么和怎样进行功控和切换的,为什么要取漫游号码及怎么取的,为什么要分配TMSI,怎么样加密的等等,总之反正是基本概念有了。现在对核心网的概念和一些基本原理,都是那个时候学来的,呵呵!看完这本之后,又看了一本16开本的GSM的书,名字不记得了,但是觉得里面东西说得挺清楚,也是老外写的,但是必须要有一点GSM的基础,不然看这本书还是挺难懂的。在看这本书的时候,我发现了一个我不能理解的问题,然后请教一个老员工,他思考了一下,就回答我,书上写错了,当时还小小的得意和满足了一把。
做新员工的时候,老家伙可能有点印象,那个时候要去看一个录像的,是公司请的南邮老师的给员工做的培训,在培训过程中全程录了像,然后新员工都要看。据说是花了大价钱请来的。当时工作都忙,老员工也没有那么多时间带新员工,更多是自学,自己琢磨。哪像现在的新员工,导师给制定学习计划,除了特招的之外,一般要转正之后才要独立干活,导师或者主管要一直指导3个月或者更长。我1个月之后,美女导师已经基本不管我了,基本上是有问题才请教她。回到上面,你别说,老师就是老师,知道要给你讲什么,知道怎么怎么样能够将一个复杂的东西讲清楚,特别是空口编码那一块,看书很费劲的,听了他的讲解之后,再看书,就能够明白。他还在讲解里面说了各种空口信道之间的关系,什么CCCH,AGCH,PCH ,XXCH,**CH等等,什么物理信道,逻辑信道,物理信道到逻辑信道之间的映射等等,他说反映到产品上,大家只要知道一个BCCH载频的0时隙,是发射系统消息,接收接入请求,发送寻呼消息就可以了,也就是0时隙完成了系统广播,接入和寻呼等系统的所有功能就行了,里面再详细的信道怎么分的,做BTS编码的人要仔细研究,做BSC,大多数不要研究,少部分人要研究。所以呢,我也就没有必要为那些弄不清楚的怎么样编码,怎么样映射去纠结了。
虽然进公司1个月以后已经基本独立干活了,但是一直到过几个月,对BSC内的交换网板还是很不理解,什么是网板,什么叫网板搭接,虽然我知道它的作用和功能,但是我不能理解它是怎么样运作的。因为是学计算机的,只对IP包有概念,对于TDM交换的实质还是很不理解,总是想从IP路由转发方面去理解TDM交换到底是怎么样运作的。这个疑惑一直到了某次的一个培训,一个做过大学老师的老员工在回答我的问题的时候,说得很直白,TDM交换网板就是面包板,网板搭接好之后的固定交换就是将两端用线连起来。TDM交换芯片就像一个筛子,一团面(消息包)经过交换芯片之后就固定的变成粗面条(固定帧格式),而且只能是那个形状。恍然大悟,原来所谓的网板搭接就是在面包板上面插两根线而已。这个两根线由芯片完成了,插线的过程就是给网板发一条命令,告诉网板哪个进接哪个出而已,后来再理解其他的TDM交换就简单了。
进部门大概一周时候,部门主管安排了给新员工讲解了整个GSM系统,将到BSC的时候,说了一句我后来几个月都没有深入理解的东西:“我们BSC是一套实时的多处理器嵌入式系统”,这么复杂啊,到底是什么,估计当时解释了,但是我理解不了,只记得说用了多少个类似386芯片的芯片。几个月后,虽然能够胜任工作了,但是对系统还是不了解,工作起来很没有方向感,总觉得自己是在云里雾里的,对整个系统怎么样协同,这么多东西怎么作为一个整体,还是没有掌握。那是实时系统啊,那是多处理器系统啊,那是嵌入式啊。总之就是没有整体概念,那种感觉说不出来,就是感觉系统很复杂,掌握不了全局。后来有感觉,也是通过一次培训,才茅塞顿开的。
有一次培训切换流程,是一个博士讲的,他是一个能够将一个事情讲得非常清楚的人,据说有一次他和南哥出差去交流,南哥也比较赏识他。研发人员自己的培训,一般情况特别容易陷入细节,被培训的员工也容易陷细节,并且针对细节进行提问,越解释越细,导致效果很不好。这么多年,我只对上面我提及的两个培训有很深的印象,自己了解这个,所以我给别人培训的时候,尽量多想一些,让别人能够通俗的去理解。但是这个博士在讲切换的时候,先是讲全局,他说切换很简单,就是等测量报告,看谁不行了,不行了的就切换。然后说测量报告是怎么上来的,怎么触发功率控制,怎么样看一个呼叫不行了,怎么触发切换。每个测量报告都要处理,所以所谓触发,就是处理完测量报告,发现他需要功控了,发现他需要切换了而已。然后再讲测量报告怎么处理,怎么平滑,再讲测量报告关键信息提取完了,就将这些信息带到切换判决模块。但是这么多切换判决怎么处理呢,不管有多少中切换判决的算法,都是在设计的时候排个顺序,{zx0}判决是什么,用什么信息,一般情况是紧急切换(不知道现在算法是否还有),然后再是X1,再是X2云云。那个时候才知道,实时系统也就是一步一步执行而已,和我之前说学的计算机程序没有什么两样。大家也知道,之前的大学教育基本上还是以理论为主,实践的机会是很少的。
实时的多处理器嵌入式系统,可以分别通俗一点方法解读(纯粹是我自己理解,见笑),然后再合起来。嵌入式,简单一点通俗一点说,就是没有通常计算的显示器,键盘鼠标,也就是基本没有显式输出,但是一般会有输入,比如开关量检测。也会有输出,比如控制动作,但是这些基本是消息输入和输出的。系统的内部构造及编程原理和一般的计算机没啥差别,将计算机变为一个模块或者单板而已,也有CPU,也有内存,运行的时候也要队列堆栈,举个简单的例子,你家里的DVD也可以称为嵌入式系统,现在的家电里面多多少少都会有芯片,你的照相机,摄像机等,只要是稍微复杂一点的电子产品,我的理解应该都可以称为嵌入式系统。
实时系统,通俗化的解读就是里面用大量的定时器,里面有N多不同模块的状态机,一般情况下响应都是在毫秒级或者秒级,定时器超时改变状态机及异常处理。就好比你和你女朋友约着晚上8点看电影,这个时候你和你女朋友都会在脑海启动至少两个定时器,一个是6点半或者7点肯定要出发了,看你们两个离电影院的距离,另外一个是8点钟对方肯定要在电影院。一切正常,不需费笔墨,这个也就是系统中的主流程为什么占的代码比例很少的原因。如果你迟到了,那就是你女朋友的第二个定时器超时了,你女朋友的状态机就从热情高涨变成了心生怒气。这个时候她一般会有两种异常处理保护,一个是延长定时器,就是再等你半个小时,如果你在定时器超时之前到,就会将状态机转换为埋怨,否则就转换为拆呼叫,也就是取消晚上的活动;第二种异常保护就是直接拆呼叫,取消晚上活动,同时还会造成其他的反应。还有一种处理方式就是在你女朋友的第二个定时器超时之前,提前做一个动作,就是延长一下定时器,电话告知你女朋友,今天你的老板叫你加班,需要晚半个小时到。这个时候她也会根据自己的状态机(心情状态),做出自己的反应,取消活动或者继续等待,取消活动之后不通知你,当你到达的时候,就相当于丢弃消息。当然在实时系统中的状态机的抽象和提炼是一个技术活,也有相应的方法论,但是我没干过,呵呵。因此所谓的实时系统,只是定时器过一些,定时器短一些而已。
分别理解了硬件和软件的架构及运作之后,你再看设计文档和程序,就简单多了。将主机程序中的呼叫处理模块拿出来一看,看清楚呼叫控制块CCB(Call Control Block)数据结构定义,大概知道表示什么,再看复杂的状态机就比较容易理解了,无非是在什么状态,只能在限定时间内来那几个类型的消息,其他的就是异常保护处理。对系统真正了解之后再干工作,方向感明显就强很多了,碰上一个新任务或者新功能,你知道怎么去折腾他,怎么去设计他,对开发和设计也能粗粗谈自己的看法了,再接着了解所谓的设计,就是将场景及异常情况考虑清楚,保护工作做好,也就大差不差了。
当然如果你已经深刻理解了GSM,再去看其他的系统,比如WCDMA系统,CDMA系统,其实都差不多,无线系统无非是切换,功控,PS业务调度,信道管理等无线资源管理及呼叫接续流程两大核心,再加上基站的射频和基带,A接口或者Iu接口的管理。因此在华为内部做开发或者测试的,换产品上手是很快的,这也是为什么会在不同时期资源在不同部门之间流动的原因。当然更换产品之后,想成为这个领域的高手,熟读协议的功夫还是免不了的,就象学外语背单词一样。
罗罗嗦嗦的写了这一段,其实只是想告诉一些新入行的人,能力提升是看你自己的,外部环境只是一个权重并不高的外部变量。当然华为有一个{zd0}的好处,不管什么技术问题,只要你肯去问,你肯定会有答案的,当然不是哥德巴赫猜想这样的难题,呵呵。你的导师或者领导的水平高一些,你可能在最开始阶段的方向明确一些,起点高一些,但是后面就是看个人在实际工作中的应用了。古人说,师父领进门,修行靠个人,这两句在华为是非常有道理的。当然你和高水平的人在一起,平时的工作中肯定会学到更多的东西。 |