第二期 开发板选型 《路由器就是开发板》

        https://blog.csdn.net/aggresss/article/details/52332155

        首先说明一下我为什么要用路由器作开发板。
        第一,路由器是一件成熟的商品,它经历了厂商和消费者的考验,其设计肯定是相对成熟的,我们用它作开发板是在这个路由器经历了完整的产业链流程最终到达消费者手里之后,这样我们可以从很多确定的东西里回顾式的分析,回顾式的分析有时候是站在巨人的肩膀上,可以学到很多细节。
        第二,我们的目的是为了学习,而不是商业开发,所以没必要找一些芯片厂商刚推到市场上的解决方案来做开发,我们不是为了抢占市场,我们是要通过成熟的产品学习这里面的原理,创新的日子在后面呢,先把基础打牢。
        第三,如果你是个人爱好者,想从厂商那里拿到芯片的DemoBoard是很难得,而通过某些个人和小组织推出的开发板又往往存在稳定性的风险,因为PCB的绘制细节需要很深的功底,开发板的测试肯定没有已经商品化的路由器做的彻底,稳定度和抗折磨度当然也没有路由器好。
        第四,我们谈一下"兴奋点"这个有意思的概念,在计算机领域,"逆向"是一个非常有吸引力的词,有些时候,当资料和文档都很全的情况下,我们容易产生惰性,因为这里面缺少一点未知的东西。而当我们通过一些逆向的分析来解决某个疑问并通过实验验证时,经历了一个非常有成就感的过程,这也是Geek思想的一小部分。用路由器当开发板恰好就是这么一个过程。当我们逆向验证了某个设计者没有明确公布的信息,就会产生兴奋点,这对继续深入学习是一个极好的反馈。
        综上所述,我产生了《路由器就是开发板》这个想法。
        我们所有的操作都需要一个开发板作为实体,首先我们的思路是找一台最适合的路由器作为我们的开发板,通过对它的调试来了解无线路由器的工作原理,并在这之上改造出我们想要的功能。针对路由器的选型我足足选了一个星期,最后经验证明有时候往往第一眼相中的东西就是你想要的,最后我选择了华为的HG255d作为开发板来使用,接下来我利用一点篇幅来说明一下选择HG255d的原因。
        我们生活在一个基于协作的时代,一件适应市场的产品拿到我们手里一定经历了一套完整的产业链条,这条链上的任意一点都对它发挥了至关重要的作用,少了谁都不行,只是每个点间的衔接和利润的划分是一个内部博弈和外部拉动的结果,这个就在题外啦,我们手里拿到的路由器算是一件电子产品,电子产业发展到现在已经有了一个相对稳定的产业链,下图是借用elecfans.com上的一张图来大略描述一下这个产业的基本结构。

        当然,这个产业链中的每个点也不一定是链条式排布,也会是横向布局的,比如在IP vender层面上一个厂商的IP可能调用另一个厂商的IP;ODM那里,一个库会调用另一个库;大家彼此合作最终实现商品,直到最后被我们稳定使用,它的价值才得到完整的体现。
        说了一堆废话,目前在家用无线路由市场上,基于芯片的解决方案的厂家比较成熟的有4家:
        1.Atheros(被Qualcomm收购)  
        2.Broadcom
        3.Ralink(被MediaTek收购)
        4.RealTek
        这几家都有针对家用无线路由器的解决方案,比如Atheros的AR7130,Broadcom的BCM6366,Ralink的RT3052,RealTek的RTL8672,这些芯片方案各有自己的优缺点,也通过自己的渠道细分着家用路由的市场。当然出于拿路由器当开发板的目的,我最关心的是以上这四家芯片商针对下游厂商所提供的SDK(Software Develop Kit)或者BSP(Board Support Package)是否能完整的在互联网上下载到,因为这些东西是否公开完全由芯片商的运作机制决定的,说高了是商业机密,说低了是开源共享,这个要看各厂商的态度。Atheros的SDK部分通过TP-LINK的GPL网站可以下载到一部分,Broadcom的SDK可以通过华硕路由器的开源固件下载到一部分,RealTek没有成熟的无线产品可参考,最后,我在互联网上只找到了Ralink的SDK,所以其他芯片的解决方案的路由器我们就不考虑了。
选定芯片厂商后,就是确定芯片,按Ralink无线SOC推出的时间排无线路由的芯片有RT2880,RT3052,RT3883,RT5350,RT6855,MT7620,MT7621,MT7628,这里面太往前的可能已经落伍,太往后的可能没有太普及的产品,所以在RT3052和RT5350里面选择。
        确定芯片后在要确定路由器是否被OpenWrt官方支持http://wiki.openwrt.org/toh/start 在这里面进行路由器型号的选择,选择的原则是:
        1.接口方面,支持JTAG,TTL,USB;
        2.产品成熟度好,普及度高,流通性强,价格便宜;
        3.互联网上资料丰富,论坛里拿该型号路由器为话题的比较多;
        4.产品相对上游芯片商的解决方案修改不大,便于通过上游SDK进行调试;
通过对TP-Link,D-Link,Netcore,Tenda等品牌的产品对比后,最终选择了华为的HG255d,它符合我上面的各种要求,真的好开心,但是它有一个唯一的缺点——JTAG需要自己飞线,这个问题的解决方法我们后文再说。
来看一下华为HG255d的参数:

        http://wiki.openwrt.org/toh/huawei/hg255d
        中规中矩,正是我想要的,而且拓展能力很大。产品的命名中HG代表 Home Gateway 家用网关的意思,中国电信的所有家庭终端都沿用这种命名方式,其它品牌,比如华为,中兴,烽火,贝尔,都有针对中国电信推出的HG系列的产品。
        贴一张HG255d的靓照,在某宝上20RMB左右就能入手一个,只要我们稍作修改,它将变成世界上最便宜的无线路由学习型开发板。

猜你喜欢

转载自blog.csdn.net/wxh0000mm/article/details/85600183