基于FPGA的報(bào)文數(shù)據(jù)分析模塊的設(shè)計(jì)
4 FPGA設(shè)計(jì)實(shí)現(xiàn)
本文引用地址:http://www.biyoush.com/article/264527.htm4.1 網(wǎng)絡(luò)報(bào)文接收模塊
網(wǎng)絡(luò)報(bào)文接收模塊的任務(wù)是從數(shù)據(jù)緩沖區(qū)A中提取數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行緩存,提取出數(shù)據(jù)中的MAC源地址、目的地址和網(wǎng)絡(luò)報(bào)文到達(dá)時(shí)間。關(guān)鍵是必須檢測(cè)0x58的頭字節(jié),然后解析隨后的24個(gè)字節(jié)的關(guān)鍵參數(shù),最后暫存數(shù)據(jù)。該模塊狀態(tài)機(jī)如圖5所示。
4.2 MAC地址定位處理模塊
MAC地址定位處理模塊的功能是根據(jù)數(shù)據(jù)幀分析出來(lái)的地址查詢不同的終端信息鏈表,并返回終端信息鏈表中該MAC地址對(duì)應(yīng)的鏈表地址,用2個(gè)字節(jié)鏈表的地址來(lái)代替6個(gè)字節(jié)的MAC地址。該模塊的狀態(tài)機(jī)如圖6所示。
4.3 MAC時(shí)差處理模塊
根據(jù)數(shù)據(jù)緩沖區(qū)B的數(shù)據(jù)格式要求,需要計(jì)算出相鄰兩幀的時(shí)間差。相鄰兩幀是指MAC地址相同的兩幀數(shù)據(jù),時(shí)間差是兩幀之間的時(shí)間間隔。為了計(jì)算相鄰兩幀數(shù)據(jù),必須維護(hù)一張時(shí)間鏈表TIME。根據(jù)MAC地址定位處理模塊得出的地址標(biāo)識(shí)來(lái)進(jìn)行TIME鏈表尋址,然后根據(jù)地址中的時(shí)間數(shù)據(jù)計(jì)算相鄰兩幀的時(shí)間差,并更新地址中的數(shù)據(jù)。
該模塊的狀態(tài)機(jī)如圖7所示。系統(tǒng)仿真分析結(jié)果如圖8所示,(a)為幀定位運(yùn)行分析結(jié)果,(b)為時(shí)差處理運(yùn)行分析結(jié)果。
fpga相關(guān)文章:fpga是什么
通信相關(guān)文章:通信原理
交換機(jī)相關(guān)文章:交換機(jī)工作原理
評(píng)論