一起来玩路由器之硬件选型


选型原则

我们生活在一个基于协作的时代,一个电子产品从设计、生产到销售到我们手中,经历了完整的产业链,譬如产品的规划、设计、研发、测试、生产和营销等等一系列过程,我们这里不关注这条产业链,但我们需要了解,一个稳定优良的产品到我们手中,必定是经过千锤百炼的。路由器作为家居必备的设备之一,可以说是承载了整个计算机科学发展的历史,虽然没有通用计算机更新换代那么快,为了满足人们对于带宽的需求,也是不断更新的。在这里,我们不追求新芯片、新方案和大带宽,毕竟不是做产品的,不需要抢占市场。下面简单阐述下路由器硬件开发平台选型的基本原则:

  • 成熟的产品
    路由器作为一款消费类电子产品,经过了无数用户的检验,其稳定性是毋庸置疑的,我们没必要投入太多精力自己画板子,也没必要购买市面上的一些所谓的开发板,花钱不说,开发板硬件设计需要丰富的经验,严格的测试,个人或小商家制作的开发板稳定性难以保证,这样在我们调试时,遇到问题不好定位,不能讲精力聚焦在软件设计上,是一种折磨。
  • 能够获得尽可能多的资料
    目前在家用的无线路由器市场了,常见的芯片方案提供商有四家

    Qualcom (收购Atheros)
    Broadcom
    MediaTek (收购Ralink)
    RealTek

    这四家针对无线路由市场,都有成熟的解决方案,比如Atheros的AR9334,Broadcom的BCM6366,MediaTek的MT7620和RealTek的Rtl8672等等,并且为满足路由器的低功耗需求,大多方案采用MIPS体系架构的processor,近年来,一些高端的路由器也慢慢向ARM架构倾斜,如MediaTek的MT7623方案便是采用ARM体系架构。
    芯片方案供应商是上游企业,其面向的客户一般都是设备厂商,如360、小米等等,个人用户基本拿不这些芯片的Datasheet和program guide。这里处于学习研究需要,我特别关注能否从网上下载到芯片厂家提供的完整的SDK或BSP包、硬件原理图和Datasheet,说白了,芯片厂商出于商业秘密的考虑,一般不会公布其芯片资料。

  • openwrt官方列表支持该产品
    因为我们后续的实验都要基于Openwrt平台,所以选择的路由器要在openwrt的支持列表里。
  • 具有调试接口
    做实验难免要折腾硬件,烧录器动辄上万甚至上十万,作为一个玩家担负不起这么大的开支,所以就要求原则的路由器能够引出调试串口和JTAG口。调试串口用来查看路由器的启动运行情况,JTAG口用来板级调试和变砖修复,只要有JTAG口,只要硬件没有损坏,都是可以救砖的。

基于以上四点考虑,最终选择华为HG255D作为硬件开发平台,这款路由器基本满足以上需求。

硬件基本介绍

工欲善其事,必先利其器,下面我们先来对HG255D款路由器的硬件作简单分析

  • 设备形态
    HG255D是一款DSL无线网关,是中国电信2010年家庭网关项目采购终端产品,具有DSL拨号上网,电话和无线路由功能,这里不关注其DSL和电话功能,虽然是一款比较老的产品,但作为学习研究之用是再好不过的了。其正面图如下

    反面图如下

    可以看出该产品具有1个wan口、4个lan口和一个DSL口,还有一个USB接口
    底座和侧面图如下

  • 硬件参数
    以下是该路由器的基本硬件参数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Device Type: WiFi
    RouterBrand: Huawei
    Model: HG255D
    Platform: Ralink RT3052
    Target: ramips
    Instruction Set: MIPS32
    Sub Instruction Set: MIPS32 24K/E series
    Bootloader: U-Boot
    CPU MHz: 384
    Flash MB: 16
    RAM MB: 32
    Ethernet 100M
    WLAN Hardware: Ralink RT2860 (onboard)
    WLAN 2.4GHz: b/g/n
    Serial: Yes
    JTAG: Yes

下面简单对其硬件架构作简单介绍

  • 硬件架构
    以下是HG255D电路板的正反面图

图中橙色部分为为RT3052F的SOC芯片,右侧黄色为一个16MB的norflash芯片,背面黑色区域为两颗16bit的SDRAM芯片,两个芯片并联组成32bit位宽,大小32M的RAM,这些就组成了一个最小系统。

采用12V1A的开关电源,上图中4块紫色的区域为供电部分,一般CPU级别的供电都在3.3V以下,所以12V电源在经过滤波之后要通过stepdown的方式进行降压,右侧的三个紫色模块分别将12V电压降到5V,3.3V,1.5V,然后供给芯片使用,左侧的紫的供电模块供给VOIP模块使用的。

青色区域是网络隔离变压器,其实不接隔离变压器可以工作,但是传输距离和芯片的电气安全性都会受到限制,接网络变压器,主要用于信号电平耦合,其一增强信号驱动能力,可以传输更远的距离;其二,芯片端与外部隔离,抗干扰能力大大增强,增强抗电击和抗电磁脉冲的能力,总的来说网络变压器可以实现信号传输,阻抗匹配,波形修复,杂波抑制和高压隔离的作用。

左侧的棕色区域是VOIP模块,使用microsemi的ve8910解决方案,可以实现VOIP功能,但这些业务国内并没有普及。

蓝色区域为一个OTP( One Time Programalbe )单片机,型号是CM5001H,是上图中提到的VoIP Processor。

图中的红色区域是路由器比较关键的一个部分–信号放大电路,先来了解两个概念:

LNA —- 低噪声放大器(Low Noise Amplifier)
PA —- 功率放大器(Power Amplifier)

LNA是低噪声放大器,主要用于接收电路设计中。因为接收电路中的信噪比通常是很低的,往往信号远小于噪声,通过放大器的时候,信号和噪声一起被放大的话非常不利于后续处理,这就要求放大器能够抑制噪声。

PA主要功能是功率放大,以满足系统要求,最重要的指标就是输出功率大小,其次线性如何等等,一般用在发射机的最后一级。

独立的双LNA和双PA的路由器在低端市场已经少见,多数都集成到了SOC芯片内部,但HG255G采用了双LNA和双PA结构,还是很良心的。

沿着两组RF功放电路可以看到两个边长1CM左右的正方形敷铜,这个就是两路天线,对于家用这种设计很节省空间,可惜国内好多人依然迷信全向外置天线。

路由器的基本结构相对于其他家用电器来说比较简单,基于现在芯片厂商的turnkey式解决方案,路由厂家可以在极短的时间内开发出自己品牌的路由器,当然,从现在的市场来看,随着产业的不断升级,路由器的硬件部分在路由器产业中的比重在逐渐变小,因为围绕路由器,或者路由器围绕某些服务而形成的生态系统才是发展的趋势。

  • 总体架构框图
    以下是RT3052芯片方案总体结构框图,在此不作解释,后续本系列文章使用的所有资料、文档、工具和代码都会共享到github上以供参考
文章目录
  1. 1. 选型原则
  2. 2. 硬件基本介绍