在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP的嵌入式網(wǎng)絡(luò)瘦服務(wù)器的研究

            基于DSP的嵌入式網(wǎng)絡(luò)瘦服務(wù)器的研究

            作者: 時間:2007-03-21 來源:網(wǎng)絡(luò) 收藏

            摘要:主要介紹了傳輸控制協(xié)議TCP/IP的原理以及在系統(tǒng)上的實現(xiàn),并論述了以TMS320VC5402為核心處理器的網(wǎng)路瘦的研制。該系統(tǒng)簡化了TCP/IP的實現(xiàn),使系統(tǒng)成功接入Internet,具有靈活,方便,可移動性等特點。并給出了數(shù)據(jù)采集處理系統(tǒng)的應(yīng)用前景。
            關(guān)鍵詞:TCP/IP,TMS320VC5402,RTL8019AS,;

            1. 引言

            將嵌入式系統(tǒng)與Internet網(wǎng)結(jié)合起來主要的困難在于,一方面,Internet網(wǎng)上的各種通訊協(xié)議對于處理器的要求比較高,而嵌入式系統(tǒng)微處理器的資源卻是很有限[1];另一方面,嵌入式系統(tǒng)微處理器的型號、種類非常多,在各種不同的微處理器上實現(xiàn)網(wǎng)絡(luò)功能的軟件編程可移植性差 [2]。為了能夠使得嵌入式系統(tǒng)接入Internet,本文精簡了TCP/IP的實現(xiàn),只保留其中最核心的部分,實現(xiàn)了低速度,低內(nèi)存,低成本的嵌入式系統(tǒng)上的網(wǎng)絡(luò)連接,一方面能夠作為網(wǎng)絡(luò)接收和處理來自遠(yuǎn)端的數(shù)據(jù),另一方面還能作為Web服務(wù)器給遠(yuǎn)程客戶機(jī)提供HTTP訪問。

            2.系統(tǒng)的硬件設(shè)計

            2.1 系統(tǒng)硬件設(shè)計原理

            在本系統(tǒng)中我們采用的核心處理器為TI公司的TMS320VC5402,TMS320VC5402是16位定點,適應(yīng)遠(yuǎn)程通信等實時嵌入式應(yīng)用的需要。它有高度的操作靈活性和運行速度,具有專用硬件邏輯的CPU、片內(nèi)存儲器、片內(nèi)外圍設(shè)備以及一個高度專業(yè)化的指令集[3]。在本文中,由于網(wǎng)絡(luò)數(shù)據(jù)流較大,我們采用了TMS320VC5402的McBsp接口以及其DMA功能。McBsp具有全雙工通信,雙緩沖的發(fā)送和三緩沖的接收數(shù)據(jù)存儲器,允許連續(xù)的數(shù)據(jù)流等特點,能夠完全滿足網(wǎng)絡(luò)數(shù)據(jù)流的接收,發(fā)送和處理的要求[4]。DMA控制器可以在沒有CPU參與的情況下完成存儲器映射區(qū)之間以及內(nèi)部存儲器與片內(nèi)外設(shè)或外部設(shè)備的數(shù)據(jù)傳輸,DMA控制能夠大大減輕CPU的負(fù)擔(dān),實現(xiàn)數(shù)據(jù)的高速傳送與存儲。

            本文中以太網(wǎng)控制芯片采用臺灣Realtek公司生產(chǎn)的RTL8019AS,它是一種高度集成的以太網(wǎng)控制器,實現(xiàn)了以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的全部功能。按數(shù)據(jù)鏈路的不同, RTL8019AS內(nèi)部分為遠(yuǎn)程DMA通道和本地DMA通道兩部分。本地DMA完成控制器與網(wǎng)線的數(shù)據(jù)交換,主處理器收發(fā)數(shù)據(jù)需對遠(yuǎn)程DMA操作 [5]。本系統(tǒng)中,TMS320VC5402通過IO空間對RTL8019AS進(jìn)行控制以及數(shù)據(jù)傳輸。

            2.2 系統(tǒng)整體硬件框圖

            系統(tǒng)框圖如上圖所示,整個系統(tǒng)分為兩大部分,即處理器和網(wǎng)卡部分。系統(tǒng)有專門的電源部分為整個瘦服務(wù)器提供不同的電壓。TMS320VC5402是主處理器,它主要負(fù)責(zé)對網(wǎng)卡芯片RTL8019AS接收或發(fā)送的數(shù)據(jù)進(jìn)行處理分析,存儲,并可以以USB或RS485串口總線的方式與上位機(jī)相連,其工作過程為通過McBsp接收或發(fā)送數(shù)據(jù),當(dāng)McBsp緩沖區(qū)數(shù)據(jù)滿時觸發(fā)DMA控制器并進(jìn)行數(shù)據(jù)傳輸,實現(xiàn)了McBsp與DMA控制器的配合工作。網(wǎng)絡(luò)接口芯片RTL8019AS主要負(fù)責(zé)對網(wǎng)絡(luò)數(shù)據(jù)流的接收與發(fā)送,為了防止干擾,獲得穩(wěn)定的數(shù)據(jù)流,系統(tǒng)在網(wǎng)卡芯片與外部網(wǎng)絡(luò)數(shù)據(jù)線之間增加了電氣隔離濾波芯片YCL20F001N。外部接口部分我們采用常用的RJ45網(wǎng)絡(luò)接口。

            3.系統(tǒng)軟件設(shè)計

            系統(tǒng)軟件部分是本文的重點,由于嵌入式系統(tǒng)的資源有限,所以系統(tǒng)只涉及到TCP/IP中的核心的部分。按照TCP/IP協(xié)議分為四個部分[6]的定義,系統(tǒng)軟件的設(shè)計也分為相應(yīng)的四個部分,即:網(wǎng)卡底層驅(qū)動程序,ARP以及RARP程序?qū)?yīng)網(wǎng)絡(luò)接口層;IP,ICMP以及IGMP程序?qū)?yīng)互聯(lián)網(wǎng)絡(luò)層;TCP和UDP程序部分對應(yīng)網(wǎng)絡(luò)傳輸層;HTTP服務(wù)程序?qū)?yīng)應(yīng)用層。

            3.1 網(wǎng)卡驅(qū)動程序設(shè)計

            在網(wǎng)卡芯片RTL8019AS的驅(qū)動程序設(shè)計中主要涉及到RTL8019AS的寄存器配置,DSP對RTL8019AS內(nèi)存的讀取以及發(fā)送數(shù)據(jù),數(shù)據(jù)鏈路層協(xié)議ARP和RARP的程序設(shè)計等。

            ◆ RTL8019AS寄存器以及對它們的初始化配置

            RTL8019AS的內(nèi)部輸入輸出地址共32個,地址偏移量為00H―1FH。其中00H―0FH共16個地址,為寄存器地址。10H―17H共8個地址,為DMA地址。18H―1FH共8個地址,為復(fù)位端口[5]。本文中我們只用到了上面的地址中只有18個,即00H―0FH共16個寄存器地址,10H DMA地址,1FH 復(fù)位地址。RTL8019AS初始化配置為操作方式為跳線方式Jumper;端口I/O base為0300-31FH。

            ◆ RTL8019AS的數(shù)據(jù)收發(fā)

            處理器對RTL8019AS的軟件操作,有查詢和中斷兩種方式[5]。在本文中我們采用了查詢方式對8019中的數(shù)據(jù)進(jìn)行讀取。在查詢方式下,主程序通過CURR和Boundary兩個寄存器的值來判斷是否收到一幀數(shù)據(jù)[7]

            ◆ 數(shù)據(jù)鏈路層協(xié)議ARP的程序設(shè)計

            在TCP/IP協(xié)議通訊中,涉及到的地址是IP地址,這是來自網(wǎng)絡(luò)層的地址,然而以太網(wǎng)都有自己的尋址機(jī)制,所以兩層之間必須進(jìn)行地址之間的轉(zhuǎn)換。向以太網(wǎng)中發(fā)送IP數(shù)據(jù)時,如果目的IP地址在ARP高速緩存表中查詢相應(yīng)的以太網(wǎng)地址失敗,ARP會先保留待發(fā)送的IP數(shù)據(jù)報,然后廣播一個詢問目的主機(jī)硬件地址的ARP報文,等收到回答后再將IP數(shù)據(jù)報發(fā)送出去,RARP協(xié)議恰恰相反,它負(fù)責(zé)將以太網(wǎng)地址轉(zhuǎn)化為IP地址[5]。

            在本系統(tǒng)中只涉及到ARP程序設(shè)計,其具體過程為:發(fā)送ARP廣播請求時,目的以太網(wǎng)地址全為1;接收到ARP數(shù)據(jù)包時首先判斷ARP數(shù)據(jù)包的類型,如果是ARP請求包,則將自己的MAC地址拷貝到數(shù)據(jù)包中,生成ARP應(yīng)答包,然后發(fā)送出去;如果收到的是ARP應(yīng)答包,則存儲遠(yuǎn)程主機(jī)的MAC地址。

            3.2 互聯(lián)網(wǎng)絡(luò)層的程序設(shè)計

            網(wǎng)絡(luò)層主要涉及到IP協(xié)議、ICMP協(xié)議和IGMP協(xié)議。IP協(xié)議是TCP/IP中的重點,所有的應(yīng)用都要通過它在Internet進(jìn)行數(shù)據(jù)傳輸,IP協(xié)議提供的是不可靠、無連接的數(shù)據(jù)分組傳送服務(wù)。ICMP協(xié)議主要是用于差錯控制。IGMP協(xié)議主要是用于支持主機(jī)和路由器迸行多播[5]。為了簡化TCP/IP協(xié)議,在本系統(tǒng)中只涉及到IP,ICMP的程序設(shè)計。

            ◆ IP數(shù)據(jù)報實現(xiàn)

            在本協(xié)議棧中,IP層的實現(xiàn)就是把要發(fā)送出去的消息進(jìn)行IP打包,即加上IP包頭,使之符合IP數(shù)據(jù)包的格式發(fā)送到物理層;將接收到的來自物理層的數(shù)據(jù)包進(jìn)行IP解包,即去掉包頭,送到TCP層。

            IP協(xié)議的實現(xiàn)主要流程是:當(dāng)接收到以太網(wǎng)上的數(shù)據(jù)包時,根據(jù)IP幀頭中的數(shù)據(jù)類型,轉(zhuǎn)交給不同的子程序進(jìn)行更進(jìn)一步的處理。見圖2:

            ◆ ICMP數(shù)據(jù)報的格式及其實現(xiàn)

            由于本文所的是嵌入式瘦服務(wù)器,所以我們簡化了ICMP的程序設(shè)計,只涉及ECHO和ECHO REPLAY消息,目的是為了測試另一臺主機(jī)是否可達(dá)。其主要工作過程為先判斷所收到的ICMP數(shù)據(jù)包是否為ECHO幀,如果是則生成相應(yīng)的ICMP REPLAY幀,并發(fā)送出去。

            3.3 傳輸層的程序設(shè)計

            傳輸層主要包括UDP協(xié)議和TCP協(xié)議,在本文中主要涉及到TCP的程序設(shè)計。傳輸控制協(xié)議TCP提供面向連接的可靠的字節(jié)流通信服務(wù),是能動態(tài)滿足互聯(lián)網(wǎng)的要求并能處理各種錯誤的可靠性協(xié)議[5]。

            ◆ TCP連接的建立與關(guān)閉

            TCP工作過程是: 建立連接、數(shù)據(jù)傳輸、關(guān)閉連接。在將數(shù)據(jù)發(fā)向遠(yuǎn)方主機(jī)之前,必須先建立TCP接入。在建立TCP連接時,用到了三向握手機(jī)制。包含數(shù)據(jù)的每一個TCP段都應(yīng)該取得對端返回的應(yīng)答段(ACK),作為握手信號來保證數(shù)據(jù)被可靠地接收。應(yīng)答段本身不再需要應(yīng)答,避免應(yīng)答陷入無窮的嵌套。每一個TCP段中都包含一個序號,并以這個序號作為數(shù)據(jù)流的定位器,而返給客戶機(jī)的應(yīng)答號則表達(dá)所發(fā)來的數(shù)據(jù)已經(jīng)妥收。消除傳輸中的錯誤,仰賴持續(xù)跟蹤已發(fā)出數(shù)據(jù)段的應(yīng)答是否返回。在設(shè)定的時間段內(nèi),如果未收到該段的應(yīng)答則應(yīng)重發(fā)。如果還是未收到應(yīng)答,則適當(dāng)增加間隔時間再次重發(fā)。在總的極限時間段內(nèi)一直不能等到應(yīng)答返回,則本次接入失效不能再用,并應(yīng)將出錯情況及時通知應(yīng)用程序。關(guān)閉TCP接入分為4向握手才能完成[6]

            由于TMS320VC5402的資源有限,因此,在設(shè)計TCP協(xié)議時不得不采取大幅度的調(diào)整。同一時間只能有一個TCP任務(wù),不支持分片和重組,只能同時接收和處理一個TCP包,不支持類型服務(wù)安全選項。在MCU啟動時,將打開本地的80端口,作為一個Passive Port,等待網(wǎng)絡(luò)上的客戶端設(shè)備連接,這就能提供HTTP服務(wù)的支持。

            ◆ TCP數(shù)據(jù)的處理

            TCP數(shù)據(jù)的處理包括兩種情況:發(fā)送數(shù)據(jù)或接收數(shù)據(jù)。發(fā)送數(shù)據(jù)時,在數(shù)據(jù)前面加上TCP包頭再發(fā)送到IP層。接收TCP數(shù)據(jù)包處理過程如下圖3所示:

            3.4 應(yīng)用層的程序設(shè)計

            TCP/IP的應(yīng)用層協(xié)議主要有Telnet協(xié)議、文件傳輸協(xié)議FTP、簡單郵件協(xié)議SMTP、簡單的網(wǎng)絡(luò)管理協(xié)議SNMP和超文本連接協(xié)議HTTP等等。本系統(tǒng)中我們在MCU的Flash中存儲了一個HTML 網(wǎng)頁,客戶端存在外部請求時,傳輸網(wǎng)頁給客戶端,從而同時實現(xiàn)了一個Web服務(wù)器[8]。

            3.5 整體軟件框架

            系統(tǒng)的整體軟件設(shè)計主要分為硬件初始化部分和網(wǎng)絡(luò)數(shù)據(jù)接收與發(fā)送處理部分,其中硬件初始化部分主要包括TMS320VC5402的初始化以及其McBsp和DMA控制器的配置,USB接口芯片的初始化,RS485串行接口的初始化,網(wǎng)卡芯RTL8019的驅(qū)動程序設(shè)計;網(wǎng)絡(luò)數(shù)據(jù)的處理部分主要包括來自遠(yuǎn)程采集數(shù)據(jù)的接收與處理,存儲和對來自網(wǎng)絡(luò)客戶機(jī)的訪問的處理等。圖4即為系統(tǒng)軟件設(shè)計的整體架構(gòu)。

            4.系統(tǒng)的應(yīng)用前景

            本系統(tǒng)主要應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)采集,處理,即可以作為Web服務(wù)器為外部所訪問,又可以為遠(yuǎn)程采集到的數(shù)據(jù)進(jìn)行處理和存儲。該系統(tǒng)不僅利用了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膹?qiáng)大功能,還結(jié)合了嵌入式系統(tǒng)的靈活性,在不久的將來當(dāng)IPV6得以實現(xiàn)的時候,每個嵌入式系統(tǒng)都擁有自己獨立的IP地址將成為可能,本系統(tǒng)也將有更加廣闊的應(yīng)用前景[9]。

            參考文獻(xiàn):

            [1]楊全勝等,可接入Internet的智能儀表的設(shè)計,《工業(yè)控制計算機(jī)》2001年14卷 12期
            [2] 王男、姚亦封、陳抗生,一種嵌入式系統(tǒng)接入Internet的方法與實現(xiàn),《電子技術(shù)》2000.10
            [3] 清源科技.TMS320C54X DSP硬件開發(fā)教程.北京,機(jī)械工業(yè)出版社,2003.
            [4]TMS320VC5402 Fixed-Point Digital Signal Processor,Data Manual.Texas Instruments,2000
            [5] REALTEK SEMI-CONDUCTOR CO.LTD.《RTL8019AS SPECIFICATION》.TAIWAN,2000.
            [6] W.Richard Stevens著,范建華,胥光輝,張濤等譯,TCP/IP詳解 卷1:協(xié)議 ,北京:機(jī)械工業(yè)出版社,2000.
            [7] 王保進(jìn)、徐太忠等,嵌入式系統(tǒng)以太網(wǎng)控制器驅(qū)動程序的設(shè)計與實現(xiàn),《電子技術(shù)》2002.4
            [8] 袁毅,嵌入式Web服務(wù)器的網(wǎng)絡(luò)視頻監(jiān)控,《電網(wǎng)技術(shù)》,第24卷 第五期
            [9] 楊克儉等,嵌入式系統(tǒng)產(chǎn)品接入internet的技術(shù), 《微計算機(jī)信息》(嵌入式與SOC)2006年第22卷第1-2期第43頁

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


            評論


            相關(guān)推薦

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

            關(guān)閉