0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全硬件TCP/IP協(xié)議棧學(xué)習(xí)筆記(第四天:全硬件TCP/IP協(xié)議模塊學(xué)習(xí))

學(xué)FPGA,慢慢來(lái) ? 2017-12-18 10:27 ? 次閱讀

做了許多天的網(wǎng)絡(luò)協(xié)議學(xué)習(xí),懵懵懂懂了解了點(diǎn),索性打開(kāi)說(shuō)明書(shū)開(kāi)始模塊的學(xué)習(xí)

之前三天的學(xué)習(xí)都是在協(xié)議棧上,今天的學(xué)習(xí)進(jìn)入以太網(wǎng)接入方案。

PS.我使用的野火W5500網(wǎng)絡(luò)擴(kuò)展板

我們的方案按TCP/IP協(xié)議棧的不同歸類為兩大類,第一類是傳統(tǒng)的軟件TCP/IP協(xié)議棧;第二類是最新硬件TCP/IP協(xié)議棧方案。

一.MAC+PHY方案

所謂的TCP/IP協(xié)議棧是一系列網(wǎng)絡(luò)協(xié)議的統(tǒng)稱,不僅包括我們熟知的TCP協(xié)議和IP協(xié)議,還有網(wǎng)絡(luò)層的ICMP(Internet控制報(bào)文)協(xié)議,等....

傳統(tǒng)的以太網(wǎng)接入方案由MCU+MAC+PHY再加入網(wǎng)絡(luò)接口實(shí)現(xiàn)以太網(wǎng)的物理連接,通過(guò)主控芯片中植入TCP/IP協(xié)議代碼實(shí)現(xiàn)通信及上層應(yīng)用。由于軟件協(xié)議棧操作需要主控MCU不停地響應(yīng)中斷,這需要很大程度上占用運(yùn)算、時(shí)鐘資源。而且在安全性上并沒(méi)有保證。

二.硬件協(xié)議棧芯片方案

硬件協(xié)議棧方案

所謂的硬件協(xié)議棧是將傳統(tǒng)的軟件TCP/IP協(xié)議棧用硬件化的邏輯門電路來(lái)實(shí)現(xiàn)

以太網(wǎng)芯片的內(nèi)核由傳輸層的TCP、UDP、ICMP、IGMP等協(xié)議,網(wǎng)絡(luò)層的IP,ARP,PPPoE等協(xié)議以及鏈路層的MAC構(gòu)成,再加上物理層的PHY和外圍的寄存器,內(nèi)存,SPI接口組成了這一套硬件化的以太網(wǎng)解決方案。這套硬件TCP/IP協(xié)議棧代替了以往的MCU來(lái)處理這些中斷請(qǐng)求,即MCU只需要處理面向用戶的應(yīng)用層數(shù)據(jù)即可,傳輸層、網(wǎng)絡(luò)層、鏈路層以及物理層全部由外圍WIZnet的芯片完成。

首先模塊針腳如下

W5500的Socket初始化,W5500需設(shè)置以下寄存器的參數(shù)

基本設(shè)置

1.模式寄存器

2.中斷屏蔽寄存器

3.重發(fā)時(shí)間寄存器

4.重發(fā)計(jì)數(shù)寄存器

網(wǎng)絡(luò)信息

1.網(wǎng)關(guān)地址寄存器

2.本機(jī)物理地址寄存器

3.子網(wǎng)掩碼寄存器

4.本機(jī)IP地址寄存器

本機(jī)物理地址寄存器的地址是MAC層的硬件地址,MAC地址可由IEEE指定。

設(shè)置端口TX/RX存儲(chǔ)信息,每個(gè)端口的基地址和屏蔽地址在這里確定并保存。W5500有一個(gè)通用寄存器,8個(gè)Socket寄存器去,以及對(duì)應(yīng)每個(gè)Socket的收/發(fā)緩存區(qū)。每一個(gè)Socket的發(fā)送(接收)緩存區(qū)都在一個(gè)16KB的物理發(fā)送(接收)內(nèi)存中,初始化分配為2KB。無(wú)論給每個(gè)Socket分配多大的收/發(fā)緩存,都必須在16位的偏移地址范圍內(nèi)(從0x0000到0xFFFF)W5500有一個(gè)16KB發(fā)送內(nèi)存用于Socket_n的發(fā)送緩存區(qū),以及一個(gè)16KB的接收內(nèi)存用于Socket_n接收緩存區(qū)。發(fā)送初始緩存被分配給了每個(gè)Socket發(fā)送緩存(2KB x 8 = 16KB),初始化分配的2KBSocket發(fā)送緩存,可以通過(guò)使用Socket發(fā)送緩存大小寄存器重新分配。一旦所有的Socket發(fā)送緩存大小寄存器配置完成,16KB的發(fā)送內(nèi)存就會(huì)按照配置分配給每個(gè)Socket的發(fā)送緩存,并按照從Socket0到7順序分配。16KB的發(fā)送內(nèi)存中分配了對(duì)應(yīng)的發(fā)送緩沖區(qū),用于為來(lái)自主機(jī)傳輸?shù)臄?shù)據(jù)做緩存。讀取內(nèi)存同理。

明天繼續(xù)接下來(lái)的設(shè)置,然后開(kāi)始SPI傳輸?shù)暮?jiǎn)單學(xué)習(xí)。。

繼續(xù)加油

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1347

    瀏覽量

    78933
  • FPGA器件
    +關(guān)注

    關(guān)注

    1

    文章

    22

    瀏覽量

    11594
  • 智能硬件
    +關(guān)注

    關(guān)注

    205

    文章

    2327

    瀏覽量

    107387
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系

    基于TCP/IP協(xié)議族,這是一組用于網(wǎng)絡(luò)通信的協(xié)議,包括傳輸控制協(xié)議TCP)和互聯(lián)網(wǎng)
    的頭像 發(fā)表于 11-01 16:01 ?112次閱讀

    TCP協(xié)議是什么

    在網(wǎng)絡(luò)通信的廣闊領(lǐng)域中,TCP(Transmission Control Protocol,傳輸控制協(xié)議)扮演著舉足輕重的角色。作為TCP/IP協(xié)議
    的頭像 發(fā)表于 10-09 13:54 ?279次閱讀

    串口服務(wù)器和TCP/IP協(xié)議是什么關(guān)系

    串口服務(wù)器與TCP/IP協(xié)議之間存在著緊密而復(fù)雜的關(guān)系。這種關(guān)系主要體現(xiàn)在串口服務(wù)器如何利用TCP/I
    的頭像 發(fā)表于 08-25 17:35 ?1361次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議。TCP/IP
    的頭像 發(fā)表于 08-07 15:38 ?982次閱讀
    一文了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢(shì)

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是互聯(lián)網(wǎng)和現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)
    的頭像 發(fā)表于 07-25 16:49 ?412次閱讀

    TCP IP協(xié)議屬性設(shè)置中的IP配置

    在現(xiàn)代網(wǎng)絡(luò)中,TCP/IP協(xié)議是基礎(chǔ)架構(gòu)的重要組成部分。掌握TCP/IP協(xié)議屬性設(shè)置中的
    的頭像 發(fā)表于 07-23 10:10 ?425次閱讀

    TCP/IP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_中文

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_中文.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:28 ?4次下載

    LwIP協(xié)議源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《LwIP協(xié)議源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:22 ?3次下載

    無(wú)線模塊通過(guò)TCP/IP協(xié)議實(shí)現(xiàn)與PC端的數(shù)據(jù)傳輸解析

    在當(dāng)今的信息時(shí)代,無(wú)線通信技術(shù)的發(fā)展日新月異,為我們的工作和生活帶來(lái)了極大的便利。其中,無(wú)線通信模塊通過(guò)TCP/IP協(xié)議向PC端傳送數(shù)據(jù)已經(jīng)成為了一種常見(jiàn)的通信方式。 無(wú)線通信
    的頭像 發(fā)表于 06-15 16:16 ?406次閱讀

    從表象到本質(zhì):深入探究TCP/IP協(xié)議

    在信息技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)已成為人類社會(huì)不可或缺的部分。實(shí)現(xiàn)網(wǎng)絡(luò)中計(jì)算機(jī)相互通信的關(guān)鍵之一便是TCP/IP協(xié)議。作為互聯(lián)網(wǎng)的基礎(chǔ),TCP/IP
    的頭像 發(fā)表于 06-15 09:12 ?473次閱讀
    從表象到本質(zhì):深入探究<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    Microchip TCP/IP 協(xié)議應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《Microchip TCP/IP 協(xié)議應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 04-17 14:16 ?1次下載

    TCP/IP協(xié)議數(shù)據(jù)的處理流程

    TCP/IP協(xié)議的設(shè)計(jì)目標(biāo)是提供一種通用、靈活且可擴(kuò)展的協(xié)議體系,使得不同種類的設(shè)備和系統(tǒng)能夠互相通信,實(shí)現(xiàn)互聯(lián)網(wǎng)的互聯(lián)互通。
    發(fā)表于 02-03 16:30 ?1463次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>數(shù)據(jù)的處理流程

    tcpip協(xié)議作用 TCP/IP協(xié)議分為哪幾層

    TCP/IP協(xié)議是互聯(lián)網(wǎng)的基本協(xié)議,它定義了數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸方式和規(guī)則。它的作用是將數(shù)據(jù)從源主機(jī)傳輸?shù)侥繕?biāo)主機(jī),確保數(shù)據(jù)的可靠性和順序性。 TCP
    的頭像 發(fā)表于 01-25 10:34 ?2145次閱讀

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別?

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別? TCP/IP
    的頭像 發(fā)表于 11-29 17:40 ?1036次閱讀

    TCP協(xié)議的連接狀態(tài)

    TCP是一個(gè)巨復(fù)雜的協(xié)議,因?yàn)樗鉀Q很多問(wèn)題,而這些問(wèn)題又帶出了很多子問(wèn)題和陰暗面。所以學(xué)習(xí)TCP本身是個(gè)比較痛苦的過(guò)程,但對(duì)于學(xué)習(xí)的過(guò)程
    的頭像 發(fā)表于 11-13 15:47 ?1545次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>的連接狀態(tài)