www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 模擬 > 模擬
[導(dǎo)讀]IEEE 802.3協(xié)議是針對(duì)以太網(wǎng)CSMA/CD標(biāo)準(zhǔn)的傳輸介質(zhì)物理層(PHY)和介質(zhì)訪問(wèn)控制協(xié)議(MAC、Media Access Control)來(lái)定義的。

網(wǎng)絡(luò)控制器芯片的功能與設(shè)計(jì)實(shí)現(xiàn)
IEEE 802.3協(xié)議是針對(duì)以太網(wǎng)CSMA/CD標(biāo)準(zhǔn)的傳輸介質(zhì)物理層(PHY)和介質(zhì)訪問(wèn)控制協(xié)議(MAC、Media Access Control)來(lái)定義的。芯片由PHY、發(fā)送模塊、接收模塊、FIFO、控制模塊組成,其中控制模塊包括寄存器堆、DMA(Direct Memory Access)模塊、流量控制模塊、接收緩沖區(qū)和發(fā)送緩沖區(qū)組成。網(wǎng)絡(luò)控制器芯片的功能框圖如圖1所示。

圖1 以太網(wǎng)控制器芯片的功能框圖


1 IEEE 802.3以太網(wǎng)MAC數(shù)據(jù)幀結(jié)構(gòu)
在發(fā)送數(shù)據(jù)時(shí),發(fā)送模塊自動(dòng)在待傳數(shù)據(jù)前加上7字節(jié)的前導(dǎo)碼和1字節(jié)的幀起始定界符,緊隨的是6字節(jié)的目的地址和6字節(jié)的源地址,然后長(zhǎng)度/類型為2字節(jié),接著是數(shù)據(jù)區(qū),然后是46~1500字節(jié)的數(shù)據(jù)。若發(fā)送時(shí),數(shù)據(jù)長(zhǎng)度小于最短長(zhǎng)度46字節(jié),發(fā)送模塊自動(dòng)填補(bǔ),以達(dá)到最小長(zhǎng)度,最后是4個(gè)字節(jié)的循環(huán)冗余校驗(yàn)碼。


2 發(fā)送模塊
發(fā)送模塊的作用就是按照CSMA/CD協(xié)議發(fā)送數(shù)據(jù)包。發(fā)送模塊狀態(tài)機(jī)控制協(xié)調(diào)各個(gè)發(fā)送子模塊的時(shí)序,發(fā)送模塊狀態(tài)機(jī)如圖2所示。

圖2 發(fā)送模塊狀態(tài)轉(zhuǎn)換圖


S_defer狀態(tài)表示網(wǎng)絡(luò)忙,若網(wǎng)絡(luò)空閑了,經(jīng)過(guò)最小的幀間隙時(shí)間,進(jìn)入網(wǎng)絡(luò)空閑狀態(tài)S_idle。若需要發(fā)送數(shù)據(jù)包,經(jīng)過(guò)S_pre,S_data,S_pad,S_crc等狀態(tài)發(fā)送,在這當(dāng)中若檢測(cè)到?jīng)_突信號(hào),就進(jìn)入S_jam狀態(tài)。在S_jam狀態(tài)判斷是local collision還是late collision,若是local collision就進(jìn)入S_back狀態(tài),按照退避算法重發(fā)當(dāng)前數(shù)據(jù)幀,否則直接進(jìn)入網(wǎng)絡(luò)忙狀態(tài),放棄該幀的發(fā)送。


3 接收模塊
接收模塊的任務(wù)就是接收數(shù)據(jù)幀。物理接口收發(fā)器PHY將收到的網(wǎng)絡(luò)數(shù)據(jù)變成二進(jìn)制數(shù)據(jù)送給接收模塊,接收模塊再把正確的數(shù)據(jù)經(jīng)過(guò)接收FIFO和DMA的控制送給接收緩沖區(qū)。接收模塊的功能還包括移除接收到幀的前導(dǎo)碼/幀分隔符;比較目的地址,判斷是否丟棄當(dāng)前數(shù)據(jù)幀;對(duì)接收到的數(shù)據(jù)包做CRC校驗(yàn),判斷傳輸過(guò)程中數(shù)據(jù)是否出錯(cuò)。接收模塊狀態(tài)機(jī)是接收模塊的核心,控制協(xié)調(diào)接收模塊的各個(gè)子模塊的工作與時(shí)序。接收模塊狀態(tài)機(jī)如圖3所示。

圖3 接收模塊狀態(tài)轉(zhuǎn)換圖


復(fù)位后,狀態(tài)機(jī)進(jìn)入S_idle狀態(tài),若數(shù)據(jù)是無(wú)效的,就停留在S_idle狀態(tài),否則進(jìn)入S_pre狀態(tài)。S_pre狀態(tài)和S_sdf狀態(tài)的作用就是去掉前導(dǎo)碼和幀間隔符。當(dāng)幀間隔符全部檢測(cè)到,進(jìn)入S_data狀態(tài),在S_data狀態(tài)使用字節(jié)計(jì)數(shù)器,記錄所收到數(shù)據(jù)的字節(jié)個(gè)數(shù),用于比較目的地址。若目的地址匹配則將接收到的數(shù)據(jù)寫入到接收FIFO,否則丟棄該幀,不寫入到FIFO。字節(jié)計(jì)數(shù)器的作用還有判斷接收到的數(shù)據(jù)包是否超過(guò)幀的最大長(zhǎng)度。若在S_pre狀態(tài)、S_sdf狀態(tài)或S_data狀態(tài)出現(xiàn)數(shù)據(jù)有效信號(hào)無(wú)效的情況,都進(jìn)入到S_drop狀態(tài)。

圖4 核心模塊的功能仿真


4 控制模塊
控制模塊包含DMA(direct memory access)模塊、流量控制模塊、緩沖區(qū)模塊、寄存器堆模塊和總線接口模塊。DMA模塊的功能是將接收FIFO的數(shù)據(jù)搬運(yùn)到接收緩沖區(qū),以及發(fā)送緩沖區(qū)的數(shù)據(jù)搬運(yùn)到發(fā)送FIFO。流量控制模塊端口阻塞的情況下丟幀,這種方法是當(dāng)接收緩沖區(qū)開(kāi)始溢出時(shí),通過(guò)將阻塞信號(hào)發(fā)送回源地址實(shí)現(xiàn)的。流量控制可以有效地防止由于網(wǎng)絡(luò)中瞬間的大量數(shù)據(jù)對(duì)網(wǎng)絡(luò)帶來(lái)的沖擊,保證用戶網(wǎng)絡(luò)高效而穩(wěn)定地運(yùn)行。兩種控制流量的方式:(1)在半雙工方式下,流量控制是通過(guò)反向壓力(backpressure),即我們通常說(shuō)的背壓計(jì)數(shù)實(shí)現(xiàn)的,這種計(jì)數(shù)是通過(guò)向發(fā)送源發(fā)送jamming信號(hào)使得信息源降低發(fā)送速度。(2)在全雙工方式下,流量控制一般遵循IEEE 802.3X標(biāo)準(zhǔn),是由交換機(jī)向信息源發(fā)送“pause”幀令其暫停發(fā)送。緩沖區(qū)模塊由一塊32KB的SRAM組成,分為接收緩沖區(qū)和發(fā)送緩沖區(qū),接收緩沖區(qū)和發(fā)送緩沖區(qū)的大小可以由用戶編程決定。緩沖區(qū)以分頁(yè)的方式來(lái)管理,256B為一頁(yè)。主機(jī)通過(guò)總線接口與芯片交換數(shù)據(jù),通過(guò)讀寫寄存器堆來(lái)控制芯片的工作。

設(shè)計(jì)驗(yàn)證
本文給出核心功能的驗(yàn)證過(guò)程。把這些核心功能模塊連接成一個(gè)環(huán)路(發(fā)送模塊直接與接收模塊相連接),發(fā)送模塊按照802.3協(xié)議發(fā)出數(shù)據(jù)包,接收模塊按照802.3協(xié)議處理這些數(shù)據(jù)包,符合要求的數(shù)據(jù)包送到(接收緩沖區(qū)),這些模塊在Mentor公司的ModelsimSe5.8里面功能仿真波形如圖5所示。

圖5 芯片的實(shí)現(xiàn)流程


圖中,clk為系統(tǒng)時(shí)鐘;rst為復(fù)位信號(hào);tx_req為發(fā)送FIFO請(qǐng)求信號(hào),讓DMA從發(fā)送緩沖區(qū)搬運(yùn)數(shù)據(jù)到發(fā)送FIFO;tx_fifo_data_out是從發(fā)送FIFO里面出來(lái)的8數(shù)據(jù),發(fā)送模塊封裝這些數(shù)據(jù),發(fā)送給PHY;這里沒(méi)有對(duì)PHY進(jìn)行驗(yàn)證,把發(fā)送模塊發(fā)出的數(shù)據(jù)TXD和數(shù)據(jù)使能TXEN直接與接收模塊數(shù)據(jù)端和數(shù)據(jù)有效信號(hào)分別相連接;接收模塊把TXD進(jìn)行串并轉(zhuǎn)換,得到8為rx_data;byte_cnt為接收到rx_data的個(gè)數(shù)。


功能仿真通過(guò)之后,把核心模塊連接成一個(gè)整體(SRAM直接調(diào)用Quartus II的IP Core),通過(guò)Quartus II綜合以后,下載到FPGA開(kāi)發(fā)板里面。用FPGA模擬網(wǎng)絡(luò)控制器芯片,與計(jì)算機(jī)進(jìn)行通信。FPGA與PC通過(guò)RJ-45相連。應(yīng)用軟件發(fā)一數(shù)據(jù)包給FPGA,接收模塊接收到數(shù)據(jù)包后,通過(guò)DMA將數(shù)據(jù)從FIFO搬運(yùn)到接收緩沖區(qū)。一包數(shù)據(jù)接收完成后,通過(guò)附加邏輯,讓FPGA發(fā)送出剛剛接收到的數(shù)據(jù)包,附加邏輯還完成了把接收到的數(shù)據(jù)按位取反的功能。應(yīng)用軟件顯示PC收到的數(shù)據(jù)包,通過(guò)比較PC發(fā)給FPGA的數(shù)據(jù)包和FPGA發(fā)送給PC的數(shù)據(jù)包,驗(yàn)證了核心模塊的功能正確(FPGA的附加邏輯將接收到的數(shù)據(jù)包進(jìn)行了按位取反操作)。

芯片實(shí)現(xiàn)
設(shè)計(jì)驗(yàn)證通過(guò)以后,經(jīng)過(guò)圖5所示的流程,得到整個(gè)芯片的版圖。


本次流片采用華虹NEC 0.35μm CMOS工藝,芯片面積為5640μm×5480μm(不計(jì)劃片槽和緩沖區(qū)),芯片有100個(gè)管腳。芯片的右上部分是實(shí)現(xiàn)MAC層的數(shù)字區(qū),左下區(qū)域是華虹NEC提供的IP Core--32KB的SRAM,用作緩沖區(qū),右下區(qū)域完成PHY功能,周圍是管腳。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

上海2022年5月6日 /美通社/ -- 瀾起科技今日發(fā)布全球首款CXL?(Compute Express Link?)內(nèi)存擴(kuò)展控制器芯片(MXC)。該MXC芯片專為內(nèi)存AIC擴(kuò)展卡、背板及EDSFF內(nèi)存模組而設(shè)計(jì),可大...

關(guān)鍵字: 內(nèi)存 控制器芯片 MX TE

循環(huán)緩沖區(qū)是嵌入式軟件工程師在日常開(kāi)發(fā)過(guò)程中的關(guān)鍵組件。多年來(lái),互聯(lián)網(wǎng)上出現(xiàn)了許多不同的循環(huán)緩沖區(qū)實(shí)現(xiàn)和示例。我非常喜歡這個(gè)模塊,可以GitHub上找到這個(gè)開(kāi)源的CBUF.h模塊。地址:https://github.co...

關(guān)鍵字: 緩沖區(qū)

1. 緩沖區(qū)概述 標(biāo)準(zhǔn)I/O提供了三種類型的緩沖: 1、全緩沖: 在填滿標(biāo)準(zhǔn)I/O緩沖區(qū)后才進(jìn)行實(shí)際I/O操作。常規(guī)文件(如普通文本文件)通常是全緩沖的。 2、行緩沖: 當(dāng)在輸入和輸出中遇到換行符時(shí),標(biāo)準(zhǔn)I/O庫(kù)執(zhí)行I/...

關(guān)鍵字: 緩沖區(qū) IO

  DesignWare IP專為應(yīng)對(duì)現(xiàn)代數(shù)據(jù)中心SoC吞吐量和服務(wù)質(zhì)量需求而實(shí)現(xiàn)優(yōu)化   美國(guó)加利福尼亞州山景城,2013年10月 – 為加速芯片和電子系統(tǒng)創(chuàng)新而提供軟件、

關(guān)鍵字: 40g synopsys 以太網(wǎng)控制器

在第15屆全國(guó)大學(xué)生智能車競(jìng)賽中,有一道比賽項(xiàng)目組別是聲音信標(biāo)。在信標(biāo)發(fā)送的導(dǎo)航信號(hào)中包括有聲音、無(wú)線調(diào)頻信號(hào)兩種。在無(wú)線調(diào)頻信號(hào)中包括有和發(fā)送的聲音信號(hào)同步的調(diào)制信號(hào)。為了方便解調(diào)出該信號(hào),可以使用集成的調(diào)頻收音機(jī)模塊...

關(guān)鍵字: TEA5767 調(diào)頻 接收模塊

簡(jiǎn)介 TEA5767調(diào)頻接收模塊[1]是一款小型調(diào)頻收音機(jī)模塊,它通過(guò)I2C總線完成控制。 設(shè)計(jì)一個(gè)小型的選臺(tái)電路可以方便后期使用它接收聲音信標(biāo)[2]的信號(hào),為后續(xù)調(diào)試減少麻煩。 電路設(shè)計(jì) 為了縮小配置電路的體積,選擇了...

關(guān)鍵字: ST 接收模塊 調(diào)頻

現(xiàn)在大街上隨處可見(jiàn)的LED顯示屏,還有裝飾用的LED彩燈以及LED車燈,處處可見(jiàn)LED燈的身影,LED已經(jīng)融入到生活中的每一個(gè)角落。針對(duì)現(xiàn)有LED驅(qū)動(dòng)電路存在電解電容限制壽命的不足,提出了一種無(wú)電解電容的LED驅(qū)動(dòng)電路的...

關(guān)鍵字: 控制器芯片 照明光源 電源技術(shù)解析 高亮度led驅(qū)動(dòng)電源

BLDC 電機(jī)通過(guò)反向電機(jī)設(shè)置消除了使用機(jī)械換向器的要求;繞組成為定子,永磁體成為轉(zhuǎn)子的一部分。 繞組通常由使用脈沖寬度調(diào)制 (PWM) 控制的六 MOSFET 電橋供電,它們按照控制次序進(jìn)行轉(zhuǎn)向,產(chǎn)生旋轉(zhuǎn)磁場(chǎng),從而“拖...

關(guān)鍵字: 控制器芯片 電機(jī)驅(qū)動(dòng)器 電源資訊

在C語(yǔ)言中,用一個(gè)指針變量指向一個(gè)文件,這個(gè)指針?lè)Q為文件指針。通過(guò)文件指針就可對(duì)它所指的文件進(jìn)行各種操作。定義文件指針的一般形式為:FILE??*fp;這里的FILE,實(shí)際上是在stdio.h中定義的

關(guān)鍵字: C語(yǔ)言 緩沖區(qū) file結(jié)構(gòu)體

一.緩沖區(qū)知識(shí)1.什么是緩沖區(qū)緩沖區(qū)又稱為緩存,它是內(nèi)存空間的一部分。也就是說(shuō),在內(nèi)存空間中預(yù)留了一定的存儲(chǔ)空間,這些存儲(chǔ)空間用來(lái)緩沖輸入或輸出的數(shù)據(jù),這部分預(yù)留的空間就叫做緩沖區(qū)。緩沖區(qū)根據(jù)其對(duì)應(yīng)的

關(guān)鍵字: c++ io 緩沖區(qū)

模擬

31144 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉