專利名稱:嵌入式網(wǎng)絡通訊系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是一種功能可配置的嵌入式網(wǎng)絡通訊系統(tǒng)的FPGA實現(xiàn) 方法。
背景技術(shù):
隨著各種電子、機械設備智能化程度越來越高、應用范圍越來越 廣,對通過網(wǎng)絡實現(xiàn)設備間相互通訊、與控制中心間互相通訊的要求 也越來越迫切。當前連接于網(wǎng)絡上的各類非PC設備數(shù)量已經(jīng)遠遠超 過普通PC的數(shù)量,連通性、網(wǎng)絡功能等將成為各類設備的標準功能, 以擴展、增強設備性能。這些設備對網(wǎng)絡功能的需求與普通PC用戶
不同,工作環(huán)境也具備獨特性,普通的網(wǎng)絡通訊系統(tǒng)往往不能簡單移 植到各類電子、機械設備上。而且由于各種設備互不相同,對網(wǎng)絡通 訊的要求也各不相同,難以完全統(tǒng)一,通常需要單獨開發(fā)嵌入式的網(wǎng) 絡通訊系統(tǒng)。
另一方面,隨著各類基于網(wǎng)絡的應用不斷增加,網(wǎng)絡的建設呈現(xiàn) 出爆炸性的發(fā)展,網(wǎng)絡速度不斷提高,使得網(wǎng)絡協(xié)議的處理成為瓶頸。 傳統(tǒng)的基于軟件的網(wǎng)絡協(xié)議處理方式也不再適合新的網(wǎng)絡傳播速度。
發(fā)明內(nèi)容
技術(shù)問題為了滿足當前網(wǎng)絡發(fā)展對網(wǎng)絡協(xié)議處理速度的要求, 滿足各類專業(yè)設備對網(wǎng)絡通訊功能的獨特要求,實現(xiàn)高速性、模塊化、 高移植能力,本發(fā)明提供一套功能可配置的嵌入式網(wǎng)絡通訊系統(tǒng)。
技術(shù)方案整個嵌入式網(wǎng)絡通訊系統(tǒng)分為Ethernet發(fā)送模塊、 Ethernet接收模塊、ARP發(fā)送模塊、ARP接收模塊、IP數(shù)據(jù)發(fā)送模 塊、IP數(shù)據(jù)接收模塊、ICMP模塊、UDP模塊、RAM模塊等部分。 通過VHDL語言在FPGA上實現(xiàn)整體系統(tǒng)。
有益技術(shù)效果通過VHDL語言和FPGA硬件實現(xiàn)系統(tǒng)功能可配 置性、高移植性,在配套設備升級變化時,可同時實現(xiàn)本發(fā)明系統(tǒng)升 級。同時硬件實現(xiàn)的嵌入式網(wǎng)絡通訊系統(tǒng)在網(wǎng)絡通訊協(xié)議處理速度上 也大大優(yōu)于傳統(tǒng)的軟件系統(tǒng)。
圖1為本發(fā)明嵌入式網(wǎng)絡通訊系統(tǒng)流程圖。 具體實施方案
一種嵌入式網(wǎng)絡通訊系統(tǒng)的實現(xiàn)方法,包括UDP模塊、ICMP 模塊、IP數(shù)據(jù)發(fā)送模塊、IP數(shù)據(jù)接收模塊、ARP數(shù)據(jù)發(fā)送模塊、ARP 數(shù)據(jù)接收模塊、Ethernet數(shù)據(jù)發(fā)送模塊、Ethernet數(shù)據(jù)接收模塊、RAM 模塊等部分。通過使用VHDL語言在FPGA硬件上實現(xiàn)。
UDP模塊用于實現(xiàn)UDP協(xié)議(用戶數(shù)據(jù)報協(xié)議)。UDP協(xié)議是一種無連接協(xié)議,不提供可靠性保障。發(fā)送端將不接收被發(fā)送數(shù)據(jù)的 反饋信息,也不提供錯誤恢復功能,這些功能由其他模塊的其他協(xié)議
實現(xiàn)(具體實現(xiàn)過程將在下面的其他模塊說明中詳細介紹)。UDP模 塊包括UDP數(shù)據(jù)的發(fā)送和接收。當IP數(shù)據(jù)包通過網(wǎng)絡到達接收端, 并且對應協(xié)議域設置為UDP類型時,UDP模塊將把UDP數(shù)據(jù)包的 包頭移除,并到數(shù)據(jù)包指定的端口取數(shù)據(jù)。
ICMP模塊負責處理ICMP協(xié)議(網(wǎng)間控制報文協(xié)議)。ICMP信 息通常用來實現(xiàn)PING功能。 一個有效的PING操作包含0到216個 8字節(jié)數(shù)據(jù),通常由發(fā)送端向其他設備發(fā)送,其他設備接收到PING 請求之后返回ICMP反饋信息。如果及時收到反饋信息,說明網(wǎng)絡連 接情況良好。反之則說明網(wǎng)絡通訊出現(xiàn)問題。當一個IP數(shù)據(jù)包通過 網(wǎng)絡到達接收端,并且對應協(xié)議域設置為ICMP類型時,ICMP模塊 將把ICMP數(shù)據(jù)包頭剝離,并把剩余信息放入反饋ICMP數(shù)據(jù)包發(fā)送 回數(shù)據(jù)發(fā)送端。
IP數(shù)據(jù)發(fā)送模塊負責處理網(wǎng)絡協(xié)議中最重要的協(xié)議之一IP協(xié) 議(網(wǎng)際協(xié)議)。IP數(shù)據(jù)發(fā)送模塊負責對上層UDP模塊、ICMP模塊 產(chǎn)生的數(shù)據(jù)包進行打包,增加IP協(xié)議所需相關(guān)數(shù)據(jù)包頭,并且當數(shù) 據(jù)長度超過1480個字節(jié)時,對數(shù)據(jù)進行分割操作。IP數(shù)據(jù)包產(chǎn)生后 將被傳遞到下層的ARP數(shù)據(jù)發(fā)送模塊。當IP數(shù)據(jù)包在網(wǎng)絡中傳輸所 通過的路由器數(shù)目超過發(fā)送端的限定后,該IP數(shù)據(jù)包將被丟棄,并 返回一個ICMP反饋數(shù)據(jù)包到IP數(shù)據(jù)發(fā)送模塊。IP數(shù)據(jù)發(fā)送模塊在 打包過程中將對該數(shù)據(jù)包增加目的IP地址、源IP地址、協(xié)議參數(shù)、數(shù)據(jù)長度等內(nèi)容。
IP數(shù)據(jù)接收模塊同樣負責處理IP協(xié)議。該模塊對下層接收模塊 傳遞上來的數(shù)據(jù)包進行IP數(shù)據(jù)包頭剝離,計算出下一步需要進行的 操作。如果本次IP數(shù)據(jù)包包含內(nèi)容為部分碎片,則把碎片內(nèi)容存放 在存儲區(qū),等待與該碎片相關(guān)的其他碎片。并在每接收到一個新的碎 片時,重新計時。如果超過時間限制,存儲區(qū)內(nèi)容將被清空。如果在 限定時間內(nèi)接收到所有碎片內(nèi)容,則按包頭包含信息次序進行重新組 合,恢復后傳遞給上層接收模塊。
ARP數(shù)據(jù)發(fā)送模塊負責處理ARP協(xié)議(地址解析協(xié)議)。ARP 協(xié)議負責實現(xiàn)IP地址和物理地址之間的相互轉(zhuǎn)換。IP地址的存在是 為了把五花八門的物理地址統(tǒng)一對應于固定格式的IP地址,以方便 傳輸、管理和使用。ARP數(shù)據(jù)發(fā)送模塊除了完成IP地址和物理地址 的相互轉(zhuǎn)換外,還負責ARP表格的査找、更新、管理。ARP表格用 來存儲各個IP地址和物理地址的對應關(guān)系。當一個ARP請求數(shù)據(jù)包 被發(fā)送時,計算程序開始運行,如果在21.5秒后還沒有收到有效的 ARP反饋數(shù)據(jù)包,該請求將被標記為無效。
ARP數(shù)據(jù)接收模塊同樣負責處理ARP協(xié)議。ARP數(shù)據(jù)接收模塊 負責處理接收到的ARP應答信息、ARP請求信息,同時也進行ARP 表格的管理、更新和査詢。ARP表格是一個雙入口的先進先出表格。 當一個有效的ARP數(shù)據(jù)包到達時,ARP數(shù)據(jù)接收模塊將在ARP表格 中查找對應的IP地址,如果該IP地址已經(jīng)存在,則進行下一步操作。 如果該IP地址不存在于ARP表格中,則更新ARP表格,增加對應關(guān)系。
Ethernet數(shù)據(jù)發(fā)送模塊負責把上層數(shù)據(jù)打包后通過網(wǎng)絡發(fā)送到接 收端。Ethernet數(shù)據(jù)發(fā)送模塊既可以處理ARP數(shù)據(jù)包,也可以處理 IP數(shù)據(jù)包。接收到上層傳遞的數(shù)據(jù)包后,增加包頭內(nèi)容(主要包括目 的地址,本地地址、包含的數(shù)據(jù)包類型等);如果數(shù)據(jù)包長度不足46 個字節(jié),則自動填充到46個字節(jié);最后在包尾增加4個字節(jié)的CRC 碼(循環(huán)冗余校驗碼)發(fā)送。CRC機制用來檢測數(shù)據(jù)包在網(wǎng)絡傳輸 過程中發(fā)生的錯誤,幫助進行錯誤恢復,以提高網(wǎng)絡通訊的正確率。
Ethernet數(shù)據(jù)接收模塊負責接收通過網(wǎng)絡傳輸過來的有效數(shù)據(jù) 包,過濾部分包頭后傳遞給上層模塊處理。數(shù)據(jù)包長度大于490字節(jié)、 目的地址不等于當前接收端地址或者非廣播類數(shù)據(jù)包、包類型既不是 IP類型也不是ARP類型等情況都將被視為無效數(shù)據(jù)包而丟棄。數(shù)據(jù) 包被判斷有效后,將繼續(xù)對CRC部分進行校驗,校驗結(jié)果不正確的 數(shù)據(jù)包將被丟棄。通過校驗的數(shù)據(jù)被傳遞到上層模塊。
RAM模塊用來存放中間數(shù)據(jù)、備份數(shù)據(jù)和碎片數(shù)據(jù),以提高系 統(tǒng)對網(wǎng)絡堵塞、延時、傳輸錯誤等情況的適應能力。
權(quán)利要求
1、嵌入式網(wǎng)絡通訊系統(tǒng),其特征在于通過VHDL語言和FPGA硬件實現(xiàn)系統(tǒng)功能可配置性、高移植性。
2、 根據(jù)權(quán)利要求1所述的嵌入式網(wǎng)絡通訊系統(tǒng),其特征在于整個 嵌入式網(wǎng)絡通訊系統(tǒng)分為Ethernet發(fā)送模塊、Ethernet接收模塊、 ARP發(fā)送模塊、ARP接收模塊、IP數(shù)據(jù)發(fā)送模塊、IP數(shù)據(jù)接收模塊、 ICMP模塊、UDP模塊、RAM模塊等部分。
3、 權(quán)利要求1所述的嵌入式網(wǎng)絡通訊系統(tǒng),其特征在于在配套設 備升級變化時,可同時實現(xiàn)本發(fā)明系統(tǒng)升級。
4、 根據(jù)權(quán)利要求1所述的嵌入式網(wǎng)絡通訊系統(tǒng),其特征在于硬件 實現(xiàn)的嵌入式網(wǎng)絡通訊系統(tǒng)在網(wǎng)絡通訊協(xié)議處理速度上也大大優(yōu)于 傳統(tǒng)的軟件系統(tǒng)。
全文摘要
本發(fā)明介紹的嵌入式網(wǎng)絡通訊系統(tǒng),其特征在于通過UDP模塊、ICMP模塊、IP數(shù)據(jù)發(fā)送模塊、IP數(shù)據(jù)接收模塊、ARP數(shù)據(jù)發(fā)送模塊、ARP數(shù)據(jù)接收模塊、Ethernet數(shù)據(jù)發(fā)送模塊、Ethernet數(shù)據(jù)接收模塊、RAM模塊等部分。通過VHDL語言和FPGA硬件實現(xiàn)系統(tǒng)功能可配置性、高移植性,在配套設備升級變化時,可同時實現(xiàn)本發(fā)明系統(tǒng)升級。同時硬件實現(xiàn)的嵌入式網(wǎng)絡通訊系統(tǒng)在網(wǎng)絡通訊協(xié)議處理速度上也大大優(yōu)于傳統(tǒng)的軟件系統(tǒng)。
文檔編號H04L29/06GK101442517SQ20071017085
公開日2009年5月27日 申請日期2007年11月23日 優(yōu)先權(quán)日2007年11月23日
發(fā)明者王鐵城 申請人:上海千鐳星電子科技有限公司