基于FPGA的工業(yè)以太網(wǎng)控制器IP核研究與設(shè)計(jì)
發(fā)布時(shí)間:2021-03-27 00:22
隨著科學(xué)技術(shù)的不斷發(fā)展,以太網(wǎng)技術(shù)已經(jīng)深入到我們?nèi)粘I钪械姆椒矫婷?同時(shí),從以太網(wǎng)技術(shù)延伸出的工業(yè)以太網(wǎng)技術(shù)在工業(yè)自動(dòng)化系統(tǒng)中扮演著至關(guān)重要的角色。工業(yè)以太網(wǎng)通信環(huán)境具有較大的不確定性,需要針對(duì)現(xiàn)場(chǎng)實(shí)際使用改變硬件或軟件的設(shè)計(jì)。而FPGA具有可靈活配置的特點(diǎn),使用FPGA設(shè)計(jì)工業(yè)以太網(wǎng)控制器正好符合了工業(yè)以太網(wǎng)對(duì)系統(tǒng)靈活性的需求。根據(jù)采用FPGA開(kāi)發(fā)具有高靈活性與高拓展性的工業(yè)以太網(wǎng)控制器的需求以及Zynq良好的發(fā)展前景,本論文基于Xilinx公司Zynq-7000系列FPGA平臺(tái),對(duì)工業(yè)以太網(wǎng)控制器的工作原理以及各功能模塊進(jìn)行分析,采用了軟硬件結(jié)合設(shè)計(jì)的方式,提出一套基于FPGA的工業(yè)以太網(wǎng)控制器IP核系統(tǒng)設(shè)計(jì)方案,能夠?qū)崿F(xiàn)數(shù)據(jù)發(fā)送與接收的功能。論文首先簡(jiǎn)述了TCP/IP協(xié)議族相關(guān)的基礎(chǔ)理論,包括TCP/IP協(xié)議族的分層、CSMA/CD協(xié)議,分析了工業(yè)以太網(wǎng)控制器的工作原理,其中對(duì)數(shù)據(jù)發(fā)送與接收的流程進(jìn)行了詳細(xì)的論述。其次,基于CSMA/CD協(xié)議改進(jìn)了工業(yè)以太網(wǎng)的傳輸實(shí)時(shí)性。通過(guò)對(duì)非堅(jiān)持CSMA/CD中時(shí)隙的再分割,提出一種基于工業(yè)以太網(wǎng)的時(shí)隙非堅(jiān)持CSMA/CD算法,并在MATL...
【文章來(lái)源】:長(zhǎng)春工業(yè)大學(xué)吉林省
【文章頁(yè)數(shù)】:78 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
以太網(wǎng)幀結(jié)構(gòu)
第2章工業(yè)以太網(wǎng)控制器工作原理分析11圖2.2數(shù)據(jù)接收流程圖(1)檢查接收到的數(shù)據(jù)幀長(zhǎng)度是否在合理的范圍之內(nèi),如果是信道沖突導(dǎo)致的碎片,則丟棄。正常情況下一幀的長(zhǎng)度在64字節(jié)到1518字節(jié)之間。(2)確認(rèn)幀長(zhǎng)度有效之后,檢驗(yàn)幀的目的地址。如果目的地址是本機(jī)MAC地址、廣播地址或被認(rèn)可的組播地址,則將數(shù)據(jù)幀留下,準(zhǔn)備進(jìn)行下一步處理。如果地址不匹配則丟棄。(3)對(duì)接收到的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn)來(lái)驗(yàn)證完整性。CRC校驗(yàn)又稱為循環(huán)冗余校驗(yàn),它將多項(xiàng)式L代表即將傳輸?shù)臄?shù)據(jù)M(x),從而得到L除以確定的多項(xiàng)式G(x)的余式,即為所需的循環(huán)冗余校驗(yàn)碼。(4)如果通過(guò)了所有驗(yàn)證,則將幀交給上一層處理。2.2.2流量控制工業(yè)以太網(wǎng)控制器傳輸數(shù)據(jù)時(shí),如果通過(guò)某個(gè)端口的流量超過(guò)了它的數(shù)據(jù)處理能力時(shí),會(huì)發(fā)生端口阻塞,此時(shí)就需要引入流量控制功能來(lái)防止丟鄭流量控制可以通過(guò)控制數(shù)據(jù)幀的優(yōu)先順序有效地減小由于網(wǎng)絡(luò)中大量數(shù)據(jù)相近或相同時(shí)間到來(lái)產(chǎn)生
第2章工業(yè)以太網(wǎng)控制器工作原理分析12的沖擊,從而使得用戶網(wǎng)絡(luò)依然能夠高效而穩(wěn)定的運(yùn)行。在半雙工工作模式下,目前有兩種方法來(lái)進(jìn)行流量控制。第一種基于CSMA/CD協(xié)議,讓接收緩沖區(qū)與將要到達(dá)的幀發(fā)生沖突,這種方法雖然可行,但是存在不利因素[35]。由于CSMA/CD協(xié)議設(shè)置了最高重傳次數(shù)(一般設(shè)置為16次),如果輸入緩沖區(qū)持續(xù)擁塞,當(dāng)沖突次數(shù)超過(guò)16次之后,節(jié)點(diǎn)將丟棄該幀,失去了引入流量控制的意義。因此一般采用第二種方法,當(dāng)端口擁塞時(shí)延時(shí)傳輸,將該幀保留在隊(duì)首,讓載波偵聽(tīng)做出“信道忙”的判斷,且不管時(shí)間有多長(zhǎng)都不會(huì)丟棄該幀,這種方法稱為偽載波技術(shù)。在全雙工工作模式下,接收緩沖區(qū)首先接收到數(shù)據(jù)幀并將其存儲(chǔ),當(dāng)該緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)幀即將超出其最大存儲(chǔ)至?xí)r,上層協(xié)議將拒絕接收新發(fā)送的數(shù)據(jù)幀并向MAC層發(fā)送流量控制請(qǐng)求。MAC層收到流量控制請(qǐng)求后,向數(shù)據(jù)發(fā)送站點(diǎn)發(fā)出一個(gè)暫?刂凄嵲谶@個(gè)暫?刂茙幸(guī)定了暫停發(fā)送的時(shí)間,數(shù)據(jù)發(fā)送站點(diǎn)在這段時(shí)間內(nèi)不得發(fā)送新的數(shù)據(jù)鄭與普通以太網(wǎng)數(shù)據(jù)幀格式不同的是,暫?刂茙话ㄇ皩(dǎo)碼和幀起始符,長(zhǎng)度為以太網(wǎng)幀格式的最小長(zhǎng)度,即為64字節(jié)。暫?刂茙母袷饺鐖D2.3所示。圖2.3暫?刂茙袷狡渲心康牡刂房梢允俏锢淼刂芬材苁墙M播地址,其為暫?刂茙竭_(dá)的地址;源地址則為發(fā)送暫?刂茙军c(diǎn)的地址;長(zhǎng)度/類型是0x8808,為暫停控制幀的保留值;控制操作碼則是0x0001,為暫?刂茙牟僮鞔a;控制參數(shù)是填充字節(jié)或暫停時(shí)間控制參數(shù),其中的暫停時(shí)間是2個(gè)字節(jié)無(wú)符號(hào)數(shù),該時(shí)間參數(shù)乘以傳送512比特所需時(shí)間即為請(qǐng)求暫停的時(shí)間。該字段中需要用0填充未使用的字節(jié)以滿足最小幀長(zhǎng)的要求;幀校驗(yàn)序列則是用于判斷CRC校驗(yàn)接收到的幀是否正確。
本文編號(hào):3102514
【文章來(lái)源】:長(zhǎng)春工業(yè)大學(xué)吉林省
【文章頁(yè)數(shù)】:78 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
以太網(wǎng)幀結(jié)構(gòu)
第2章工業(yè)以太網(wǎng)控制器工作原理分析11圖2.2數(shù)據(jù)接收流程圖(1)檢查接收到的數(shù)據(jù)幀長(zhǎng)度是否在合理的范圍之內(nèi),如果是信道沖突導(dǎo)致的碎片,則丟棄。正常情況下一幀的長(zhǎng)度在64字節(jié)到1518字節(jié)之間。(2)確認(rèn)幀長(zhǎng)度有效之后,檢驗(yàn)幀的目的地址。如果目的地址是本機(jī)MAC地址、廣播地址或被認(rèn)可的組播地址,則將數(shù)據(jù)幀留下,準(zhǔn)備進(jìn)行下一步處理。如果地址不匹配則丟棄。(3)對(duì)接收到的數(shù)據(jù)幀進(jìn)行CRC校驗(yàn)來(lái)驗(yàn)證完整性。CRC校驗(yàn)又稱為循環(huán)冗余校驗(yàn),它將多項(xiàng)式L代表即將傳輸?shù)臄?shù)據(jù)M(x),從而得到L除以確定的多項(xiàng)式G(x)的余式,即為所需的循環(huán)冗余校驗(yàn)碼。(4)如果通過(guò)了所有驗(yàn)證,則將幀交給上一層處理。2.2.2流量控制工業(yè)以太網(wǎng)控制器傳輸數(shù)據(jù)時(shí),如果通過(guò)某個(gè)端口的流量超過(guò)了它的數(shù)據(jù)處理能力時(shí),會(huì)發(fā)生端口阻塞,此時(shí)就需要引入流量控制功能來(lái)防止丟鄭流量控制可以通過(guò)控制數(shù)據(jù)幀的優(yōu)先順序有效地減小由于網(wǎng)絡(luò)中大量數(shù)據(jù)相近或相同時(shí)間到來(lái)產(chǎn)生
第2章工業(yè)以太網(wǎng)控制器工作原理分析12的沖擊,從而使得用戶網(wǎng)絡(luò)依然能夠高效而穩(wěn)定的運(yùn)行。在半雙工工作模式下,目前有兩種方法來(lái)進(jìn)行流量控制。第一種基于CSMA/CD協(xié)議,讓接收緩沖區(qū)與將要到達(dá)的幀發(fā)生沖突,這種方法雖然可行,但是存在不利因素[35]。由于CSMA/CD協(xié)議設(shè)置了最高重傳次數(shù)(一般設(shè)置為16次),如果輸入緩沖區(qū)持續(xù)擁塞,當(dāng)沖突次數(shù)超過(guò)16次之后,節(jié)點(diǎn)將丟棄該幀,失去了引入流量控制的意義。因此一般采用第二種方法,當(dāng)端口擁塞時(shí)延時(shí)傳輸,將該幀保留在隊(duì)首,讓載波偵聽(tīng)做出“信道忙”的判斷,且不管時(shí)間有多長(zhǎng)都不會(huì)丟棄該幀,這種方法稱為偽載波技術(shù)。在全雙工工作模式下,接收緩沖區(qū)首先接收到數(shù)據(jù)幀并將其存儲(chǔ),當(dāng)該緩沖區(qū)中存儲(chǔ)的數(shù)據(jù)幀即將超出其最大存儲(chǔ)至?xí)r,上層協(xié)議將拒絕接收新發(fā)送的數(shù)據(jù)幀并向MAC層發(fā)送流量控制請(qǐng)求。MAC層收到流量控制請(qǐng)求后,向數(shù)據(jù)發(fā)送站點(diǎn)發(fā)出一個(gè)暫?刂凄嵲谶@個(gè)暫?刂茙幸(guī)定了暫停發(fā)送的時(shí)間,數(shù)據(jù)發(fā)送站點(diǎn)在這段時(shí)間內(nèi)不得發(fā)送新的數(shù)據(jù)鄭與普通以太網(wǎng)數(shù)據(jù)幀格式不同的是,暫?刂茙话ㄇ皩(dǎo)碼和幀起始符,長(zhǎng)度為以太網(wǎng)幀格式的最小長(zhǎng)度,即為64字節(jié)。暫?刂茙母袷饺鐖D2.3所示。圖2.3暫?刂茙袷狡渲心康牡刂房梢允俏锢淼刂芬材苁墙M播地址,其為暫?刂茙竭_(dá)的地址;源地址則為發(fā)送暫?刂茙军c(diǎn)的地址;長(zhǎng)度/類型是0x8808,為暫停控制幀的保留值;控制操作碼則是0x0001,為暫?刂茙牟僮鞔a;控制參數(shù)是填充字節(jié)或暫停時(shí)間控制參數(shù),其中的暫停時(shí)間是2個(gè)字節(jié)無(wú)符號(hào)數(shù),該時(shí)間參數(shù)乘以傳送512比特所需時(shí)間即為請(qǐng)求暫停的時(shí)間。該字段中需要用0填充未使用的字節(jié)以滿足最小幀長(zhǎng)的要求;幀校驗(yàn)序列則是用于判斷CRC校驗(yàn)接收到的幀是否正確。
本文編號(hào):3102514
本文鏈接:http://sikaile.net/shoufeilunwen/xixikjs/3102514.html
最近更新
教材專著