新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IPv6的嵌入式設(shè)計(jì)與實(shí)現(xiàn)

IPv6的嵌入式設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2009-11-05 來源:網(wǎng)絡(luò) 收藏

引言
隨著系統(tǒng)應(yīng)用的快速發(fā)展,為對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能,需要將設(shè)備連入互聯(lián)網(wǎng),以便于遠(yuǎn)程控制和監(jiān)測(cè)。為將設(shè)備連入互聯(lián)網(wǎng),需要有通信模塊通信協(xié)議。目前嵌入式設(shè)備能夠通過主流的TCP/IP 協(xié)議可直接與外網(wǎng)連接。然而隨著網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大、上網(wǎng)設(shè)備和人數(shù)的激增,目前采用的IPv4逐漸接近其自身發(fā)展的極限,其中比較顯著的問題是IP 地址資源的不足。[1] 采用長(zhǎng)度為128 位的地址,地址空間幾乎可以視為無限,不僅完全地解決了地址短缺問題,還對(duì)在IPv4 中解決不好的其他問題(如,端到端IP連接、服務(wù)質(zhì)量、安全性、移動(dòng)性等方面)進(jìn)行了改進(jìn)。成為嵌入式設(shè)備進(jìn)行網(wǎng)絡(luò)互連的首選。
1 嵌入式系統(tǒng)中TCP/IPv6 協(xié)議棧的特點(diǎn)與
1.1 嵌入式系統(tǒng)中TCP/IPv6 協(xié)議棧的特點(diǎn)
嵌入式系統(tǒng)不同于普通系統(tǒng),它在硬件資源的占有量以及處理器的處理能力等方面受到限制,因此TCP/IP 協(xié)議棧在嵌入式系統(tǒng)與其在通用操作系統(tǒng)中的有很大不同。對(duì)于嵌入式系統(tǒng)而言,考慮到TCP/IP協(xié)議的復(fù)雜性以及嵌入式系統(tǒng)自身資源的有限,對(duì)TCP/IP 的實(shí)現(xiàn)并不是一件容易的事情[2]。因此就需要對(duì)原本復(fù)雜的TCP/IPv6 協(xié)議棧的實(shí)現(xiàn)進(jìn)行精簡(jiǎn)。嵌入式IPv6 協(xié)議棧獨(dú)立于嵌入式設(shè)備的操作,代碼空間小、移植性好,可以在無法承載操作系統(tǒng)的小存儲(chǔ)空間的嵌入式設(shè)備上實(shí)施,以實(shí)現(xiàn)這些設(shè)備間的基本網(wǎng)絡(luò)功能。
1.2 嵌入式系統(tǒng)中TCP/IPv6 協(xié)議棧的
芯片采用挪威Chipcon 公司推出的符合2.4GHz IEEE802.15.4 標(biāo)準(zhǔn)的射頻收發(fā)器CC2420[3] 。該協(xié)議棧要實(shí)現(xiàn)TCP/IPv6 協(xié)議棧的基本功能,運(yùn)行于無線網(wǎng)環(huán)境下。底層協(xié)議采用IEEE 802.15 工作組制定的802.15.4 協(xié)議,802.15.4 協(xié)議是一個(gè)短距離的無線通信標(biāo)準(zhǔn)。網(wǎng)絡(luò)層支持TCP、ICMPv6 協(xié)議,不實(shí)現(xiàn)UDP 協(xié)議。
1.2.1 網(wǎng)絡(luò)接口層
網(wǎng)絡(luò)接口層是TCP/IPv6 協(xié)議棧與以太網(wǎng)設(shè)備的驅(qū)動(dòng)程序之間的接口。一方面,它將從網(wǎng)卡接收到的數(shù)據(jù)提交給上層網(wǎng)絡(luò)層協(xié)議軟件處理;另一方面,它將從網(wǎng)絡(luò)層接收來的數(shù)據(jù)傳送給網(wǎng)卡驅(qū)動(dòng)。接口函數(shù)介紹如下:
(1)初始化函數(shù)
初始化函數(shù)InitNi()負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)接口層以及下層的物理設(shè)備驅(qū)動(dòng)程序的初始化。主要包括以太網(wǎng)控制器的上電復(fù)位、MAC 地址的配置、收發(fā)緩沖環(huán)首尾地址的配置以及DMA 的初始化和收發(fā)數(shù)據(jù)格式的定義等。
(2)發(fā)送函數(shù)
在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)接口層發(fā)送函數(shù)Send_Ethernet_Frame()負(fù)責(zé)接收IP協(xié)議產(chǎn)生的數(shù)據(jù),將其封裝成以太網(wǎng)數(shù)據(jù)幀后,調(diào)用下層的Send_ Packet()函數(shù)實(shí)現(xiàn)發(fā)送。Send_Packet()函數(shù)實(shí)現(xiàn)的是把以太網(wǎng)數(shù)據(jù)幀通過遠(yuǎn)程DMA 通道送到RTL8019AS 中的發(fā)送緩存區(qū),然后再啟動(dòng)本地DMA,將數(shù)據(jù)發(fā)送網(wǎng)上。

本文引用地址:http://butianyuan.cn/article/152302.htm

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉