1. 程式人生 > >路由器--晶片簡介

路由器--晶片簡介

MIPS處理器架構

現在的路由器基本架構和效能已經非常接近於我們的電腦了。近十年來,路由器所採用的CPU主要都是基於MIPS架構設計的。說到MIPS可能很多人陌生,說到龍芯瞭解的人就比較多了,龍芯便是MIPS架構下的一種比較爛的處理器。

MIPS架構是由斯坦福大學的教授約翰·軒尼詩在閒的無聊的時候帶領他的團隊開發的一款處理器。在隨後的3年時間他創立了MIPS科技公司。MIPS採用了RISC精簡指令集設計技術,MIPS架構處理器在當時重新整理了32位處理器效能的歷史。 在2002年中國研發龍芯處理器,採用了MIPS架構但是沒有經過MIPS公司授權遭到起訴,2009年與MIPS公司和解。

MIPS架構有過輝煌的歷史,它曾經是晶片三國大戰(x86、MIPS、PowerPC)的佼佼者,hoowa記得在2000年間國內還可以買到一款叫做Cobalt的伺服器(Sun公司為搶佔市場收購了這家公司)。

簡單地說,MIPS架構當年就是為了電腦而設計的,跟另外兩種通用處理器一樣,但是後期在這一領域被Intel給無情的打死了。之後轉戰嵌入式領域,由於MIPS架構的開放性,因此湧出大量晶片公司基於該架構開發路由器晶片。

晶片廠商

我們現在所使用的路由器,其中90%以上都是採用的MIPS架構的晶片,而且基本上都是32位處理器。在同等價位的情況下,32位,高整合,高效能的處理器,只有MIPS在這個定位領域中最強(相比ARM的低效能版本要強很多)。

路由晶片目前普遍採用的是SoC(System on a Chip)設計,路由器廠家喜歡叫做RoC(Router on a Chip)設計。

這些廠家將記憶體控制、外圍IO電路介面、Switch晶片、Wi-Fi晶片、加密晶片、SATA介面、PCIE介面、USB介面等等你能想到沒想到的統統都整合到了一塊手指甲大小的晶片中,其功耗只有1W到3W之間,效能達到了400MHz到800MHz之間。但目前有少數廠家已經開始基於ARM開發路由器晶片了,比如Broadcom(博通)公司的BCM470X系列晶片,採用的就是ARM架構,小米路由器第一代產品便是基於此晶片設計。

Atheros公司:Atheros是全球路由晶片的頂級公司,其創始人便是MIPS架構的發明者約翰·軒尼詩。Atheros的晶片採用MIPS32位架構設計,並且該公司也是Wi-Fi標準的制定者之一,國內已上市的智慧路由產品中目前只有極路由·壹代採用這款方案。Atheros也是目前OpenWRT系統支援最完整、全全面的晶片。在後期的教程中為了讓大家更多瞭解OpenWRT降低入門難度,我們將基於該公司的方案進行講解。該公司目前唯一的問題是在國內的配套產業鏈不夠完善,並且其一款經典晶片跟TP-Link穿一條褲子限制賣給其它廠商。Atheros在2011年被高通收購,目前旗下產品線正逐步切換到高通品牌下。

Broadcom公司: Broadcom是全球主要無線路由晶片的出貨商之一,其產品以穩定可靠著稱。小米第一代路由器便是採用其BCM470X系列處理器,該處理器是ARM架構,不過Boradcom其他的路由晶片大部分都是MIPS架構。該公司的路由器晶片目前在國內有兩個問題,一是對合作廠商要求極高,小公司不搭理。二是,其晶片發熱量很大。

Ralink公司:雷凌科技來自中國臺灣地區,也是一家常年耕耘在路由器領域的晶片廠商,而且是目前國內出貨量最大的路由器廠商,該廠商不論是產業鏈,還是相關開發資料,在國內都是最成熟的,其芯片價格也是最便宜的。因此目前國內上市的智慧路由產品大部分都採用該公司方案。這家廠商的問題,主要是不重視OpenWRT專案,並且其重要的驅動程式碼並不開源。Ralink在2011年被聯發科收購,目前產品線已經完全切換到MTK品牌。

常見的路由器硬體規格

硬體規格
處理器 MIPS32位架構(無FPU), ARM架構(非常少見)
主頻 320Mhz 到 800Mhz
記憶體型別 SDRAM,DDR1,DDR2
記憶體容量 16MB-256MB, 常見的是32MB / 64MB / 128MB
儲存器型別 Nor Flash / SPI Flash / Nand Flash
儲存器容量 4MB-128MB, 常見的是SPI 8MB / SPI 16MB
交換機 一般晶片內建或外掛
WIFI 一般晶片內建完整的WIFI或部分外掛
支援作業系統 Linux, VxWorks

部分名詞解釋

Nor Flash:最早的用於嵌入式的儲存技術, 讀取速度接近於記憶體,寫速度稍慢。
Nand Flash:目前使用最多的儲存器技術, 在手機,U盤,SSD硬碟上都採用該技術, 容量較大, 路由器領域使用較少。
SPI Flash:序列匯流排Flash,目前路由器領域使用最廣泛的儲存器,讀速度比Nor Flash慢,寫速度比Nor Flash快很多。

傳統路由器怎麼做的

目前傳統路由器廠商,都是基於以上公司晶片設計的。這些晶片公司們會提供各種資料,包括電路板設計原理圖、開發SDK等,這些東西完善到大家難以想像的地步,只要有一臺電腦、一款開發板編譯安裝好系統,一臺樣品路由器就出來了,連WEB介面都是完善的,所以以前傳統廠商拼殺的基本只剩價格和外觀。 而一些不法的小廠商,為了讓大家覺得無線路由器訊號強,使用了違規的大功率訊號放大裝置,我們現在國內的無線Wi-Fi汙染其實已經很嚴重了。如果這件事情發生在美國,美國政府會把廠商告破產。但是在國內,找不到人管。

由於國內的傳統路由器廠商,過於注意外觀(比如路由器必須有天線,因為客戶覺得有天線訊號強,真他媽神奇只有中國才有這種說法),不注重軟體(晶片廠家連WEB都做了,沒自己啥事),所以普遍傳統路由器廠商在智慧路由的領域中,都處於被動,存在被邊緣化的風險。這其中的大廠像TP-Link、磊科這類公司已經意識到自己的風險,正在努力的開發智慧路由產品。 不過我還是要黑下, 對於這些公司來說, 早晚是要左手打右手,他們到底敢革自己命到啥程度,難說!

智慧路由器怎麼做的

目前大部分智慧路由採用了OpenWRT這個開源路由器作業系統作為自己的系統,然後對系統進行修修改改,做個自主智慧財產權的產品,然後還申請了原始碼著作權登記,真不知道這群玩意咋想的,感覺如果比臉皮後,中國人應該是銀河系中最強的。

OpenWrt被稱作為一個嵌入式的Linux發行版。當年Linksys開源了一款路由器的原始碼,然後就有不同的人對這個原始碼進行打補丁,然後每一個原始碼都是針對一個不同的市場,最後東西就做的亂七八糟了。OpenWRT選擇了另外一條路,他從頭開始,一點點把各種軟體加到系統中,而開放式的架構,令OpenWRT支援數量繁多的晶片,從X86、ARM到各種不知名的奇怪晶片。而開發者使用OpenWRT編譯出來的韌體,燒寫到自己的電路板上之後,就相當於擁有了一臺伺服器。OpenWRT還支援一種稱作為OPKG的增強型安裝技術,它使用起來像CentOS下的YUM一樣,只需要一個命令,就可以把需要的軟體安裝在路由器中。

從2005年2月截止今日,OpenWRT已經支援了一千多種軟體,並且自己移植軟體到OpenWRT中非常容易簡單。並且該系統高度模組化,有人說我的產品是深度定製的OpenWRT,其實,只要跟著hoowa把我們的課時學完,只要你懂Linux,人人都可以深度定製OpenWRT真的,是毫無技術可言的。

我們選擇基於Atheros晶片的方案來配合OpenWRT也是因為該晶片方案被OpenWRT官方支援的最好,非常適合教學。而國內現在使用最多的Ralink晶片,雖然價格便宜,但是由於OpenWRT官方,和該公司都不太支援,因此並不適合本教學的教程。大家總不會讓我去違反Ralink的保密協議,公開他們的那些自以為非常重要的驅動吧。

連載教程的以後章節,將主要圍繞OpenWRT這個系統講解智慧路由的開發,從簡單的開發移動應用和WEB應用到涵蓋到移植軟體等各方面內容。