拿起手術(shù)刀 深入剖解路由器的“心臟”技術(shù)
選路機(jī)制實(shí)際上就是如何查找路由表,通過查詢路由表來決定向哪個(gè)方向轉(zhuǎn)發(fā)數(shù)據(jù)。一般來說,路由器首先搜索匹配的主機(jī)地址:如果沒有,再搜索匹配的網(wǎng)絡(luò)地址:最后搜索默認(rèn)路由。一旦查到匹配的表項(xiàng),路由器就會(huì)把數(shù)據(jù)從相應(yīng)的接口發(fā)送出去。
路由器具備了上述各要素后,就可以完成數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)了。另外,路由器不僅負(fù)責(zé)對(duì)IP包的轉(zhuǎn)發(fā),還要負(fù)責(zé)與別的路由器進(jìn)行聯(lián)絡(luò),共同確定互聯(lián)網(wǎng)的路由選擇和路由表的更新維護(hù)。
2、SOHO路由器原理
當(dāng)內(nèi)部計(jì)算機(jī)要與外部Internet網(wǎng)絡(luò)進(jìn)行通信時(shí),各內(nèi)部間通過私有IP地址進(jìn)行通信的計(jì)算機(jī)必須把私有IP地址轉(zhuǎn)換成合法IP。這種網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)稱為NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)。在一個(gè)實(shí)際的私有網(wǎng)絡(luò)中,NAT功能通常內(nèi)建在路由器、防火墻或獨(dú)立的NAT設(shè)備之上,網(wǎng)絡(luò)中的主機(jī)將這些設(shè)備作為自己的默認(rèn)網(wǎng)關(guān)。通過這樣的配置,每一臺(tái)內(nèi)部主機(jī)發(fā)送往Internet的數(shù)據(jù)報(bào)就會(huì)送到具有NAT功能的設(shè)備中進(jìn)行轉(zhuǎn)換。NAT是SOHO路由器的必備功能,它是為解決IPv4地址不夠分配的矛盾而產(chǎn)生的一個(gè)簡單高效的解決方案。它能將任何兩個(gè)地址域的地址進(jìn)行轉(zhuǎn)換,使私有網(wǎng)絡(luò)中多臺(tái)主機(jī)共享一個(gè)合法IP地址訪問Internet。
嵌入式路由器硬件系統(tǒng)介紹
1、硬件系統(tǒng)總體結(jié)構(gòu)
硬件結(jié)構(gòu)是非常重要的部分,因?yàn)槲覀儾痖_一個(gè)路由器后首先看到的、所能看到的也就是硬件結(jié)構(gòu),我們就舉例簡單介紹一下硬件設(shè)計(jì)的各個(gè)部位的細(xì)節(jié)內(nèi)容。
為了宏觀查看,我們給出交換式寬帶路由器的硬件設(shè)計(jì)實(shí)例圖一張。圖中主要分為兩部分:
ARM4510B部分和交換芯片RTL8305部分,前者主要見上半圖,后者為下半圖。還有電源及各自的復(fù)位電路。
ARM4510B部分中,中央處理芯片為帶有網(wǎng)絡(luò)接口的S3C4510B--16/32位RISC微控制器,根據(jù)嵌入式操作系統(tǒng)的運(yùn)行需要,擴(kuò)展了SDRAM存儲(chǔ)器和Flash存儲(chǔ)器。SDRAM存儲(chǔ)器由兩片4X1MX16位的HY57V641620HGT
組成,作為嵌入式操作系統(tǒng)內(nèi)核及應(yīng)該程序運(yùn)行的內(nèi)存空間。Flash存儲(chǔ)器由一片1MX16位的SS139VF160組成,作為內(nèi)核映像的存儲(chǔ),并在嵌入式操作系統(tǒng)啟動(dòng)時(shí)加載系統(tǒng)內(nèi)核及程序。根據(jù)調(diào)試程序及燒寫Flash存儲(chǔ)器的需要,引出JTAG接口。根據(jù)顯示調(diào)試和運(yùn)行信息的需要,提供了RS232接口。交換芯片 RTL8305部分中,提供4個(gè)LAN口(PORTO--PORT3)通過一四口的網(wǎng)絡(luò)隔離變壓器連接一個(gè)四口RJ45口,每個(gè)口可連接到10/10013aseT以太網(wǎng),各端口之間有交換功能:還有一個(gè)WAN接口(CPO RT4)通過一單口的隔離變壓器連接RJ45口。根據(jù)顯示連接速度、狀態(tài)和電源等需要,接出LED燈進(jìn)行顯示。根據(jù)交換芯片的管理需要,提供一串行EEPROM 24C01電路接口。根據(jù)交換芯片的主電源為2.5V.提供一個(gè)3.3V到2.5V的轉(zhuǎn)換器。
中央處理芯片通過MR(獨(dú)立媒體接口)接口與交換芯片RTL8035SB的PORT4的Mil接口相聯(lián),將交換芯片的PORT4配置為物理層接收器。
當(dāng)各部分電路設(shè)計(jì)完成后,形成硬件連接圖,進(jìn)而焊接之后,就可以作為開發(fā)用的實(shí)驗(yàn)硬件板了。下面就簡要介紹一下個(gè)硬件電路部分。
2、硬件系統(tǒng)的簡要設(shè)計(jì)介紹
⑴ARM處理器系統(tǒng)設(shè)計(jì)介紹
①S304510B概述
Samsung公司的S34510B是基于以太網(wǎng)應(yīng)用系統(tǒng)的高性價(jià)比的16/32位RISC微控制器,內(nèi)含一個(gè)由ARM公司設(shè)計(jì)的16/32位的ARM7TDMI RISC處理器核。ARM7TDMI為低功耗,高性能的16/32位核。
除了ARM7TDMI外,該芯片還有一些片內(nèi)外圍功能模塊,主要為: 內(nèi)部RAM (8Kbyte unified cache/SRAM),I2 C接口電路(I2C interface)、以太網(wǎng)控件器(Ethernetco ntroller),HDLC,GDMA、串口(UART),時(shí)鐘(Timers)、可編程1/O口(Programmable I/O ports)及中斷控件器(Interrupt controller)等。
S3C4510B結(jié)構(gòu)框圖所示。在實(shí)際運(yùn)行過程中最主要用到的部分為:以太網(wǎng)接口及串口部分,前者用于收發(fā)以太包,后者主要作為操作系統(tǒng)調(diào)試接口。
②ARM 處理器系統(tǒng)電源電路和復(fù)位電路
主要是實(shí)現(xiàn)供電和復(fù)位功能,電路部分不做詳細(xì)講解,有深入研究需要的愛好者可以查看相關(guān)的電子相關(guān)參考資料進(jìn)行深入學(xué)習(xí)。為使文章通俗易懂,以下各電路部分也是做一宏觀介紹,細(xì)節(jié)部分包括電路布線等不再深入講解。
③ARM處理器與Flash存儲(chǔ)器接口電路
讀者只要知道這部分的電路連接是為實(shí)現(xiàn)能在Flash存儲(chǔ)器編寫程序即可。
④ARM處理器與SDRAM接口電路設(shè)計(jì)介紹
與 Flash存儲(chǔ)器相比,SDRAM不具有掉電保持?jǐn)?shù)據(jù)的特性,但其存儲(chǔ)速度大大高于Flash存儲(chǔ)器,且具有讀/寫屬性。因此SDRAM在系統(tǒng)中主要用于程序的運(yùn)于空間、數(shù)據(jù)及堆棧。當(dāng)系統(tǒng)啟動(dòng)時(shí),CPU首先從復(fù)位地址0x0片讀取啟動(dòng)代碼,在完成系統(tǒng)的初始化后,程序代碼調(diào)入SDRAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度。
SDRAM 具有單位空間存儲(chǔ)量大和價(jià)格便宜的特點(diǎn),廣泛用于各種嵌入式系統(tǒng)中。SDRAM 的存儲(chǔ)單元可以理解為一個(gè)電容,總是傾向于放電,為了避免數(shù)據(jù)丟失,必須定時(shí)刷新(充電)。因此,在系統(tǒng)中使用SDRAM,就要求微處理器有刷新的控制邏輯或者在系統(tǒng)中另外加刷新控制邏輯電路。S3C4510B在片內(nèi)具有獨(dú)立的SDRAM刷新控制邏輯,可以方便的與SDRAM接口。
⑤ARM處理器串行接口電路設(shè)計(jì)介紹
幾乎所有的微控件器、PC都提供串行接口,使用美國電子工業(yè)協(xié)會(huì)(EIA)推薦的RS-232-C接口標(biāo)準(zhǔn),這是一個(gè)很常用的串行數(shù)據(jù)傳輸總線接口標(biāo)準(zhǔn)。早期被用于計(jì)算機(jī)和終端通過電話線和MODEM進(jìn)行遠(yuǎn)距離的數(shù)據(jù)傳輸,隨著微型計(jì)算機(jī)和微控制器的發(fā)展,不僅在遠(yuǎn)距離,近距離也采用了該通信方式。在近距離的通信中不采用電話線和MODEM,而是直接進(jìn)行端到端的連接。
RS-232-C標(biāo)準(zhǔn)采用的是9芯或是25芯的D型插頭。
⑥ARM處理器JTAG接口電路設(shè)計(jì)介紹
JTAG(JointTe stAc tionG roup,聯(lián)合測試行動(dòng)小組)是一種國際標(biāo)準(zhǔn)測試協(xié)議,主要用于芯片內(nèi)部測試及系統(tǒng)進(jìn)行仿真、調(diào)試。JTAG是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了TAP(Test Access Port,測試訪問接口),通過專用的JTAG測試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測試.標(biāo)準(zhǔn)的JTAG接口是四線:TMS、TCK、TDI、TDO,分別為測試模式選擇、測試時(shí)鐘、測試數(shù)據(jù)輸入、測試數(shù)據(jù)輸出。JTAG測試允許多個(gè)器件通過JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,能實(shí)現(xiàn)以各個(gè)器件分別測試。JTAG接口還常用于ISP(In System Programmable)功能,如對(duì)Flash器件進(jìn)行編程。
評(píng)論