浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 通信網(wǎng)絡(luò)

輕量級TCP/IP協(xié)議棧OpenTCP的移植與應(yīng)用

發(fā)布時間:2008/8/18 0:00:00 訪問次數(shù):736

  引言

  隨著工業(yè)控制和計算機技術(shù)的發(fā)展,對數(shù)據(jù)的傳輸提出了更高的要求,各種總線技術(shù)的發(fā)展日新月異。

  其中,采用以太網(wǎng)技術(shù)完成數(shù)據(jù)的遠(yuǎn)程通信并連入internet,已經(jīng)成為工業(yè)和家用領(lǐng)域的重要發(fā)展方向,將來幾乎所有上業(yè)設(shè)備和家電均需要具有internet連接能力。目前,以mcu等構(gòu)成的嵌入式系統(tǒng)已廣泛應(yīng)用于工業(yè)、家電等各個領(lǐng)域,嵌入式系統(tǒng)對網(wǎng)絡(luò)應(yīng)用的要求也越來越高,因此在嵌入式系統(tǒng)中實現(xiàn)tcp/ip協(xié)議,已經(jīng)成為嵌入式系統(tǒng)領(lǐng)域的研究熱點。

  傳統(tǒng)的tcp/ip協(xié)議在資源有限的嵌入式系統(tǒng)中實現(xiàn)起來很困難,必須把大量的資源花在保證數(shù)據(jù)傳送的可靠性以及數(shù)據(jù)流量的控制上,因而在實時性要求比較高的嵌入式領(lǐng)域中,不能滿足實時要求。因此,研究并改進(jìn)嵌入式tcp/ip協(xié)議棧以滿足嵌入式系統(tǒng)的高性能要求,具有重要的現(xiàn)實意義。

  1硬件平臺和opentcp簡介

  1.1硬件平臺

  該系統(tǒng)硬件部分由ade7758高性能電能計量芯片、arm處理器、2mbnorflash、64mbsdram和以太網(wǎng)接口等組成。ade7758內(nèi)部集成了6路16位△-∑adc、高性能dsp、電壓基準(zhǔn)及溫度傳感器等電路,在1000:1動態(tài)范圍內(nèi)誤差小于0.1%;提供有功、無功及視在電能,電壓、電流有效值及波形采樣等數(shù)據(jù);三相三線/三相四線兼容;dsp內(nèi)部對無功電能進(jìn)行了補償;提供獨立的有功電能及無功電能脈沖輸出,非常適合三相電能計量。被測三相電壓、電流經(jīng)傳感器和調(diào)理電路后,送入ade7758的a相、b相、c相電壓和電流輸入端;經(jīng)ade7758計算后,轉(zhuǎn)換為有功功率、無功功率、視在功率、復(fù)功率等電能信息,數(shù)據(jù)通過ade7758的spi接口輸出。mcu讀出電能數(shù)據(jù)信息并處理后,送lcd顯示和網(wǎng)絡(luò)接口。硬件原理框圖如圖1所示。

  為了通過計算機遠(yuǎn)程監(jiān)控電能數(shù)據(jù),軟件部分采用了opentcp作為協(xié)議棧完成數(shù)據(jù)通信。opentcp是英國vi-ola公司開發(fā)的用于8/16位mcu的源碼開放的tcp/ip協(xié)議棧。與通用的嵌入式tcp/ip協(xié)議棧(如lwip、uip)相比,其代碼更為精簡,不需要操作系統(tǒng)的支持,可以根據(jù)需要進(jìn)行裁剪,全部用ansic編寫,支持ethernet、slip、arp、rarp、icmp、tcp、udp;應(yīng)用層支持tftp、tel-net、http、smtp、pop3、dns等,對于應(yīng)用層協(xié)議都提供callback接口,可方便用戶的應(yīng)用程序設(shè)計。

  1.2協(xié)議棧的特點

  通用計算機上運行的tcp/ip協(xié)議棧過于復(fù)雜,需占用大量系統(tǒng)資源,而嵌入式應(yīng)用系統(tǒng)的資源往往都非常有限。因此,需要將傳統(tǒng)的tcp/ip協(xié)議棧加以簡化。在設(shè)計中opentcp為提高協(xié)議棧的運行效率,在保持高性能的同時,針對嵌入式系統(tǒng)的要求對tcp/ip進(jìn)行了部分精簡和優(yōu)化,使其能在各種mcu體系結(jié)構(gòu)上實現(xiàn),減少對資源的消耗,以滿足嵌入式應(yīng)用的要求。具體特點如下:

  ①由于嵌入式系統(tǒng)對網(wǎng)絡(luò)功能的要求各有不同,opentcp可以根據(jù)應(yīng)用的要求選擇必要的協(xié)議,縮減程序代碼的大小和對數(shù)據(jù)存儲器的占用。

 、诟鶕(jù)嵌入式系統(tǒng)應(yīng)用環(huán)境的特點,一般其作為服務(wù)器端,與之通信的都是實現(xiàn)了完整tcp/ip的設(shè)備,通信較為可靠,不需要復(fù)雜的路由選擇、ip分片、重裝、tcp流量控制、擁塞控制等。因此,在opentcp中簡化了tcp、ip等協(xié)議的實現(xiàn),取消了所有的ip選項和tcp選項(包括ip的分段);tcp的流量控制窗口長度為1,即報文傳輸是基于停止一等待方式。避免了復(fù)雜的流量控制和分段處理,可以滿足嵌人式網(wǎng)絡(luò)應(yīng)用的要求。tcp狀態(tài)機也進(jìn)行了一定的簡化處理。

 、踥pentcp針對tcp/ip協(xié)議中對性能影響最大的部分——緩沖區(qū)的管理進(jìn)行了優(yōu)化,采用零拷貝技術(shù),即在網(wǎng)卡驅(qū)動程序和協(xié)議之間沒有數(shù)據(jù)拷貝的過程,以減少對系統(tǒng)資源的占用,簡化緩沖區(qū)的管理,提高實時性。

  tcp/ip具有層次性,每一層都有自己的數(shù)據(jù)格式。數(shù)據(jù)在各層之間傳送時需要不斷地進(jìn)行打包和解包處理,以及數(shù)據(jù)的拷貝,會大大增加系統(tǒng)對存儲器和運算能力的開銷,降低系統(tǒng)的性能。在opentcp協(xié)議棧中,每一層都沒有用于數(shù)據(jù)傳輸?shù)木彌_區(qū),協(xié)議棧之間傳遞的是數(shù)據(jù)指針。接收數(shù)據(jù)時,每一層將本層的數(shù)據(jù)處理完畢后,將處理過的數(shù)據(jù)指針指向上一層的數(shù)據(jù)的頭部;發(fā)送數(shù)據(jù)時,也是以類似的過程來實現(xiàn)。

  為了減小網(wǎng)絡(luò)對系統(tǒng)存儲器的需求,采用靜態(tài)分配技術(shù),在網(wǎng)絡(luò)初始化時靜態(tài)分配數(shù)據(jù)緩沖區(qū),設(shè)置專門的發(fā)送和接收緩沖區(qū),大小一般大于網(wǎng)絡(luò)的mtu值。該值可根據(jù)網(wǎng)絡(luò)環(huán)境調(diào)整,在本系統(tǒng)中采用的底層網(wǎng)絡(luò)接口為以太網(wǎng),設(shè)置接收緩沖區(qū)大小為1500字節(jié)。當(dāng)一個數(shù)據(jù)包來到時,網(wǎng)絡(luò)設(shè)備驅(qū)動將其放在接收緩沖區(qū)里,調(diào)用tcp/ip協(xié)議棧。如果數(shù)據(jù)包里有數(shù)據(jù),tcp/ip協(xié)議就會通知相應(yīng)的應(yīng)用程序。如果應(yīng)用程序需要發(fā)送數(shù)據(jù),opentcp的每一層協(xié)議都有自己的數(shù)據(jù)結(jié)構(gòu)用于本層報文頭部處理,發(fā)送緩沖區(qū)的只用來存放發(fā)送的數(shù)據(jù)。發(fā)送數(shù)據(jù)時,應(yīng)用程序把數(shù)據(jù)寫入緩沖區(qū),設(shè)備驅(qū)動程序立即發(fā)送報文頭部和數(shù)據(jù)到網(wǎng)絡(luò)上。

 、躱pentcp協(xié)議棧可

  引言

  隨著工業(yè)控制和計算機技術(shù)的發(fā)展,對數(shù)據(jù)的傳輸提出了更高的要求,各種總線技術(shù)的發(fā)展日新月異。

  其中,采用以太網(wǎng)技術(shù)完成數(shù)據(jù)的遠(yuǎn)程通信并連入internet,已經(jīng)成為工業(yè)和家用領(lǐng)域的重要發(fā)展方向,將來幾乎所有上業(yè)設(shè)備和家電均需要具有internet連接能力。目前,以mcu等構(gòu)成的嵌入式系統(tǒng)已廣泛應(yīng)用于工業(yè)、家電等各個領(lǐng)域,嵌入式系統(tǒng)對網(wǎng)絡(luò)應(yīng)用的要求也越來越高,因此在嵌入式系統(tǒng)中實現(xiàn)tcp/ip協(xié)議,已經(jīng)成為嵌入式系統(tǒng)領(lǐng)域的研究熱點。

  傳統(tǒng)的tcp/ip協(xié)議在資源有限的嵌入式系統(tǒng)中實現(xiàn)起來很困難,必須把大量的資源花在保證數(shù)據(jù)傳送的可靠性以及數(shù)據(jù)流量的控制上,因而在實時性要求比較高的嵌入式領(lǐng)域中,不能滿足實時要求。因此,研究并改進(jìn)嵌入式tcp/ip協(xié)議棧以滿足嵌入式系統(tǒng)的高性能要求,具有重要的現(xiàn)實意義。

  1硬件平臺和opentcp簡介

  1.1硬件平臺

  該系統(tǒng)硬件部分由ade7758高性能電能計量芯片、arm處理器、2mbnorflash、64mbsdram和以太網(wǎng)接口等組成。ade7758內(nèi)部集成了6路16位△-∑adc、高性能dsp、電壓基準(zhǔn)及溫度傳感器等電路,在1000:1動態(tài)范圍內(nèi)誤差小于0.1%;提供有功、無功及視在電能,電壓、電流有效值及波形采樣等數(shù)據(jù);三相三線/三相四線兼容;dsp內(nèi)部對無功電能進(jìn)行了補償;提供獨立的有功電能及無功電能脈沖輸出,非常適合三相電能計量。被測三相電壓、電流經(jīng)傳感器和調(diào)理電路后,送入ade7758的a相、b相、c相電壓和電流輸入端;經(jīng)ade7758計算后,轉(zhuǎn)換為有功功率、無功功率、視在功率、復(fù)功率等電能信息,數(shù)據(jù)通過ade7758的spi接口輸出。mcu讀出電能數(shù)據(jù)信息并處理后,送lcd顯示和網(wǎng)絡(luò)接口。硬件原理框圖如圖1所示。

  為了通過計算機遠(yuǎn)程監(jiān)控電能數(shù)據(jù),軟件部分采用了opentcp作為協(xié)議棧完成數(shù)據(jù)通信。opentcp是英國vi-ola公司開發(fā)的用于8/16位mcu的源碼開放的tcp/ip協(xié)議棧。與通用的嵌入式tcp/ip協(xié)議棧(如lwip、uip)相比,其代碼更為精簡,不需要操作系統(tǒng)的支持,可以根據(jù)需要進(jìn)行裁剪,全部用ansic編寫,支持ethernet、slip、arp、rarp、icmp、tcp、udp;應(yīng)用層支持tftp、tel-net、http、smtp、pop3、dns等,對于應(yīng)用層協(xié)議都提供callback接口,可方便用戶的應(yīng)用程序設(shè)計。

  1.2協(xié)議棧的特點

  通用計算機上運行的tcp/ip協(xié)議棧過于復(fù)雜,需占用大量系統(tǒng)資源,而嵌入式應(yīng)用系統(tǒng)的資源往往都非常有限。因此,需要將傳統(tǒng)的tcp/ip協(xié)議棧加以簡化。在設(shè)計中opentcp為提高協(xié)議棧的運行效率,在保持高性能的同時,針對嵌入式系統(tǒng)的要求對tcp/ip進(jìn)行了部分精簡和優(yōu)化,使其能在各種mcu體系結(jié)構(gòu)上實現(xiàn),減少對資源的消耗,以滿足嵌入式應(yīng)用的要求。具體特點如下:

 、儆捎谇度胧较到y(tǒng)對網(wǎng)絡(luò)功能的要求各有不同,opentcp可以根據(jù)應(yīng)用的要求選擇必要的協(xié)議,縮減程序代碼的大小和對數(shù)據(jù)存儲器的占用。

  ②根據(jù)嵌入式系統(tǒng)應(yīng)用環(huán)境的特點,一般其作為服務(wù)器端,與之通信的都是實現(xiàn)了完整tcp/ip的設(shè)備,通信較為可靠,不需要復(fù)雜的路由選擇、ip分片、重裝、tcp流量控制、擁塞控制等。因此,在opentcp中簡化了tcp、ip等協(xié)議的實現(xiàn),取消了所有的ip選項和tcp選項(包括ip的分段);tcp的流量控制窗口長度為1,即報文傳輸是基于停止一等待方式。避免了復(fù)雜的流量控制和分段處理,可以滿足嵌人式網(wǎng)絡(luò)應(yīng)用的要求。tcp狀態(tài)機也進(jìn)行了一定的簡化處理。

 、踥pentcp針對tcp/ip協(xié)議中對性能影響最大的部分——緩沖區(qū)的管理進(jìn)行了優(yōu)化,采用零拷貝技術(shù),即在網(wǎng)卡驅(qū)動程序和協(xié)議之間沒有數(shù)據(jù)拷貝的過程,以減少對系統(tǒng)資源的占用,簡化緩沖區(qū)的管理,提高實時性。

  tcp/ip具有層次性,每一層都有自己的數(shù)據(jù)格式。數(shù)據(jù)在各層之間傳送時需要不斷地進(jìn)行打包和解包處理,以及數(shù)據(jù)的拷貝,會大大增加系統(tǒng)對存儲器和運算能力的開銷,降低系統(tǒng)的性能。在opentcp協(xié)議棧中,每一層都沒有用于數(shù)據(jù)傳輸?shù)木彌_區(qū),協(xié)議棧之間傳遞的是數(shù)據(jù)指針。接收數(shù)據(jù)時,每一層將本層的數(shù)據(jù)處理完畢后,將處理過的數(shù)據(jù)指針指向上一層的數(shù)據(jù)的頭部;發(fā)送數(shù)據(jù)時,也是以類似的過程來實現(xiàn)。

  為了減小網(wǎng)絡(luò)對系統(tǒng)存儲器的需求,采用靜態(tài)分配技術(shù),在網(wǎng)絡(luò)初始化時靜態(tài)分配數(shù)據(jù)緩沖區(qū),設(shè)置專門的發(fā)送和接收緩沖區(qū),大小一般大于網(wǎng)絡(luò)的mtu值。該值可根據(jù)網(wǎng)絡(luò)環(huán)境調(diào)整,在本系統(tǒng)中采用的底層網(wǎng)絡(luò)接口為以太網(wǎng),設(shè)置接收緩沖區(qū)大小為1500字節(jié)。當(dāng)一個數(shù)據(jù)包來到時,網(wǎng)絡(luò)設(shè)備驅(qū)動將其放在接收緩沖區(qū)里,調(diào)用tcp/ip協(xié)議棧。如果數(shù)據(jù)包里有數(shù)據(jù),tcp/ip協(xié)議就會通知相應(yīng)的應(yīng)用程序。如果應(yīng)用程序需要發(fā)送數(shù)據(jù),opentcp的每一層協(xié)議都有自己的數(shù)據(jù)結(jié)構(gòu)用于本層報文頭部處理,發(fā)送緩沖區(qū)的只用來存放發(fā)送的數(shù)據(jù)。發(fā)送數(shù)據(jù)時,應(yīng)用程序把數(shù)據(jù)寫入緩沖區(qū),設(shè)備驅(qū)動程序立即發(fā)送報文頭部和數(shù)據(jù)到網(wǎng)絡(luò)上。

 、躱pentcp協(xié)議?

相關(guān)IC型號

熱門點擊

 

推薦技術(shù)資料

耳機的焊接
    整機電路簡單,用洞洞板搭線比較方便。EM8621實際采... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!