專利名稱:一種實(shí)現(xiàn)中央處理器與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置與方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)數(shù)據(jù)傳輸技術(shù),尤其涉及一種實(shí)現(xiàn)中央處理器(CPU)與以太網(wǎng) 進(jìn)行數(shù)據(jù)傳輸?shù)难b置與方法。
背景技術(shù):
隨著電信級(jí)設(shè)備向著高集成化、微型化方向的發(fā)展,在嵌入式系統(tǒng)的設(shè)備中,一塊 單板上集成的功能越來越多,嵌入式系統(tǒng)中對(duì)各個(gè)業(yè)務(wù)單板的管理也逐漸變得越來越重 要。在各個(gè)業(yè)務(wù)單板中,具有以太網(wǎng)接口的器件的應(yīng)用越來越多,由于以太網(wǎng)具有穩(wěn)定、技 術(shù)成熟、應(yīng)用廣泛的優(yōu)點(diǎn),嵌入式系統(tǒng)中的主控板對(duì)各個(gè)業(yè)務(wù)單板的管理越來越多的通過 以太網(wǎng)接口來完成。具體的,現(xiàn)有的嵌入式系統(tǒng)中主控板通過以太網(wǎng)接口對(duì)各個(gè)業(yè)務(wù)單板的管理,如 圖1所示,該裝置包括主控板10、業(yè)務(wù)單板11 業(yè)務(wù)單板IN ;其中,主控板10,用于提供以太網(wǎng)接口和通過以太網(wǎng)接口管理系統(tǒng)中的業(yè)務(wù)單板11 業(yè)務(wù)單板IN ;業(yè)務(wù)單板11 業(yè)務(wù)單板1N,用于通過以太網(wǎng)接口與主控板10進(jìn)行數(shù)據(jù)包傳輸,接 收主控板10的管理。進(jìn)一步的,主控板10還包括主控板CPU 101、三層交換芯片102 ;其中,主控板CPU 101,用于發(fā)送或接收管理數(shù)據(jù)包;三層交換芯片102,用于在網(wǎng)絡(luò)層轉(zhuǎn)發(fā)數(shù)據(jù)包和提供以太網(wǎng)接口。進(jìn)一步的,業(yè)務(wù)單板11中還包括二層交換芯片110、物理層協(xié)議(PHY)芯片111、 CPU 112 ;二層交換芯片110,用于在以太網(wǎng)的數(shù)據(jù)鏈路層轉(zhuǎn)發(fā)數(shù)據(jù)包,向網(wǎng)絡(luò)層提供標(biāo)準(zhǔn)的 數(shù)據(jù)接口 ;PHY芯片111,用于傳送與接收以太網(wǎng)數(shù)據(jù)包,并向數(shù)據(jù)鏈路層設(shè)備提供標(biāo)準(zhǔn)接
π ;CPU 112,用于接收主控板管理業(yè)務(wù)單板的數(shù)據(jù)包和通過內(nèi)部集成的以太網(wǎng)接口 發(fā)送數(shù)據(jù)包。主控板CPU 101通過外設(shè)組件互連標(biāo)準(zhǔn)(PCI)總線連接三層交換芯片102,三層交 換芯片102分配給各個(gè)業(yè)務(wù)單板一個(gè)獨(dú)立的以太網(wǎng)接口,包括以太網(wǎng)接口 1 以太網(wǎng)接口 N,業(yè)務(wù)單板11 業(yè)務(wù)單板IN通過該以太網(wǎng)接口,經(jīng)過二層交換芯片110和PHY芯片111 與內(nèi)部CPU 112集成的以太網(wǎng)接口進(jìn)行數(shù)據(jù)通信,完成主控板對(duì)各個(gè)業(yè)務(wù)單板的管理。可以看出,現(xiàn)有方法中,業(yè)務(wù)單板內(nèi)的CPU大都是通過集成以太網(wǎng)接口,用該接口 與主控板進(jìn)行通信,接受主控板的管理。這樣做的缺點(diǎn)是會(huì)大量占用業(yè)務(wù)單板內(nèi)CPU的以 太網(wǎng)接口資源;另外,如果小的業(yè)務(wù)單板內(nèi)的CPU沒有集成以太網(wǎng)接口,則將無法通過以太 網(wǎng)接口去接受主控板的管理。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實(shí)現(xiàn)CPU與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b 置和方法,能有效解決CPU以太網(wǎng)接口資源不足的問題,以及CPU沒有集成以太網(wǎng)接口時(shí)無 法接受管理的問題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種實(shí)現(xiàn)CPU與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置,包括邏輯模塊,用于在接收以太網(wǎng)數(shù)據(jù)包時(shí),對(duì)以太網(wǎng)數(shù)據(jù)包進(jìn)行同步和定幀的處理, 并通過CPU自身的本地總線傳送給CPU ;在發(fā)送CPU的數(shù)據(jù)包時(shí),對(duì)CPU所要發(fā)送的數(shù)據(jù)包 進(jìn)行以太網(wǎng)幀格式的封裝,并經(jīng)過同步處理發(fā)送到以太網(wǎng);CPU,用于通過自身的本地總線接收邏輯模塊處理過的以太網(wǎng)的數(shù)據(jù)包、或向邏輯 模塊發(fā)送帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包。其中,所述邏輯模塊進(jìn)一步包括CPU接口模塊,用于在CPU接收以太網(wǎng)數(shù)據(jù)包時(shí),通過CPU自身的本地總線與CPU 相連,傳送并緩存接收模塊中緩存的數(shù)據(jù)包,并向CPU請(qǐng)求中斷;在發(fā)送CPU數(shù)據(jù)包時(shí),接收 并緩存CPU要發(fā)送的數(shù)據(jù)包;控制模塊,用于各種控制寄存器的控制;接收模塊,用于將同步處理模塊接收到的數(shù)據(jù)包進(jìn)行定幀、緩存處理,以及進(jìn)行接 收數(shù)據(jù)包的性能統(tǒng)計(jì),并將處理后的數(shù)據(jù)包緩存;發(fā)送模塊,用于控制CPU接口模塊,傳輸其中準(zhǔn)備發(fā)送的數(shù)據(jù)包,并對(duì)數(shù)據(jù)包進(jìn)行 以太網(wǎng)幀格式的封裝處理,以及發(fā)送數(shù)據(jù)包到同步處理模塊;同步處理模塊,用于進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊時(shí)鐘的切換處理,接收以太網(wǎng)幀 格式的數(shù)據(jù)包,并將數(shù)據(jù)包傳送給接收模塊,或者將發(fā)送模塊按照以太網(wǎng)幀格式封裝的數(shù) 據(jù)包,傳送進(jìn)以太網(wǎng)。所述接收模塊進(jìn)一步包括接收數(shù)據(jù)包模塊,用于對(duì)同步處理模塊接收的以太網(wǎng)幀格式的數(shù)據(jù)包進(jìn)行定幀處 理、緩存和進(jìn)行接收數(shù)據(jù)包性能的統(tǒng)計(jì);接收控制模塊,用于將接收數(shù)據(jù)包模塊中緩存的數(shù)據(jù)包緩存在與CPU接口模塊進(jìn) 行交互的緩存中。上述方案中,所述接收控制模塊進(jìn)一步包括接收共享緩存,用于緩存接收緩存中 的數(shù)據(jù)包;所述接收數(shù)據(jù)包模塊進(jìn)一步包括接收協(xié)議處理模塊,用于對(duì)同步處理模塊接收到的以太網(wǎng)數(shù)據(jù)包進(jìn)行定幀處理、 即將接收到的以太網(wǎng)數(shù)據(jù)包進(jìn)行解析;接收緩存,用于將定幀后的以太網(wǎng)數(shù)據(jù)包進(jìn)行緩存 和進(jìn)行對(duì)接收數(shù)據(jù)包性能統(tǒng)計(jì)。上述方案中,該裝置進(jìn)一步包括發(fā)送控制寄存器,用于全局使能控制,對(duì)所有模塊進(jìn)行工作或者非工作的控制;接收控制寄存器,用于指示CPU接收緩存的狀態(tài);清除中斷控制寄存器,用于清除在CPU中斷時(shí)接收控制寄存器的標(biāo)志位。本發(fā)明還提供了一種實(shí)現(xiàn)CPU接收以太網(wǎng)數(shù)據(jù)的方法,在CPU與以太網(wǎng)之間設(shè)置
5用于數(shù)據(jù)傳輸?shù)倪壿嬆K,該方法還包括以下步驟邏輯模塊將以太網(wǎng)時(shí)鐘與自身時(shí)鐘進(jìn)行同步,并接收以太網(wǎng)幀格式的數(shù)據(jù)包;對(duì)數(shù)據(jù)包進(jìn)行定幀處理,將定幀后的數(shù)據(jù)包緩存在向CPU傳送數(shù)據(jù)包的指定緩存 中,并向CPU申請(qǐng)中斷;CPU響應(yīng)中斷,并通過自身的本地總線讀取邏輯模塊內(nèi)緩存的定幀處理后的數(shù)據(jù) 包。上述方案中,所述進(jìn)行同步處理具體為邏輯模塊通過提取以太網(wǎng)時(shí)鐘的上升沿 或下降沿,進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊時(shí)鐘的切換的同步處理。上述方案中,所述進(jìn)行定幀處理具體為解析數(shù)據(jù)包的數(shù)據(jù)、目的物理地址、源物 理地址、標(biāo)簽協(xié)議標(biāo)識(shí)、數(shù)據(jù)類型信息,以及對(duì)數(shù)據(jù)包進(jìn)行循環(huán)校驗(yàn),得到循環(huán)校驗(yàn)信息。本發(fā)明又提供了一種實(shí)現(xiàn)CPU向以太網(wǎng)發(fā)送數(shù)據(jù)的方法,在CPU與以太網(wǎng)之間設(shè) 置用于數(shù)據(jù)傳輸?shù)倪壿嬆K,該方法還包括以下步驟CPU將所要發(fā)送的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包通過本地總線,傳送到邏輯模 塊用于發(fā)送數(shù)據(jù)包的緩存位置進(jìn)行緩存;邏輯模塊將緩存的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝,并 在進(jìn)行同步處理后,將經(jīng)過以太網(wǎng)幀格式封裝后的數(shù)據(jù)包向以太網(wǎng)發(fā)送。其中,所述將數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝具體為邏輯模塊將數(shù)據(jù)包中帶有 以太網(wǎng)幀格式的信息按照以太網(wǎng)幀格式進(jìn)行封裝,所封裝的信息包括數(shù)據(jù)包的數(shù)據(jù)、目的 物理地址、源物理地址、標(biāo)簽協(xié)議標(biāo)識(shí)、數(shù)據(jù)類型、循環(huán)校驗(yàn)信息。其中,所述進(jìn)行同步處理具體為邏輯模塊通過提取以太網(wǎng)時(shí)鐘的上升沿或者下 降沿,將邏輯模塊時(shí)鐘與以太網(wǎng)時(shí)鐘的切換的處理。本發(fā)明所提供的實(shí)現(xiàn)CPU與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置與方法,通過在CPU與以 太網(wǎng)的PHY芯片之間設(shè)置用于數(shù)據(jù)包傳輸?shù)倪壿嬆K,利用CPU自身的本地總線與邏輯模 塊相連,在邏輯模塊內(nèi)進(jìn)行CPU接收以太網(wǎng)數(shù)據(jù)包和CPU向以太網(wǎng)發(fā)送數(shù)據(jù)包的處理,如 此,能夠有效解決業(yè)務(wù)單板的CPU中以太網(wǎng)接口資源不足、以及CPU中沒有集成以太網(wǎng)接口 時(shí)以太網(wǎng)數(shù)據(jù)包的傳輸問題。
圖1為現(xiàn)有嵌入式系統(tǒng)中主控板通過以太網(wǎng)接口對(duì)各個(gè)業(yè)務(wù)單板實(shí)現(xiàn)管理的結(jié) 構(gòu)示意圖;圖2為本發(fā)明實(shí)現(xiàn)CPU與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置一實(shí)施例的結(jié)構(gòu)示意圖;圖3為圖2所示裝置中邏輯模塊接收緩存的內(nèi)部結(jié)構(gòu)示意圖;圖4為圖2所示裝置中邏輯模塊CPU接收緩存的結(jié)構(gòu)示意圖;圖5為本發(fā)明CPU接收以太網(wǎng)數(shù)據(jù)的方法實(shí)現(xiàn)流程示意圖;圖6為本發(fā)明CPU向以太網(wǎng)發(fā)送數(shù)據(jù)的方法實(shí)現(xiàn)流程示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是在CPU與以太網(wǎng)的PHY芯片之間設(shè)置用于數(shù)據(jù)包傳輸?shù)倪?輯模塊,利用邏輯模塊與CPU自身的本地總線相連,在邏輯模塊內(nèi)進(jìn)行接收以太網(wǎng)數(shù)據(jù)包
6的處理和向以太網(wǎng)發(fā)送數(shù)據(jù)包的處理,實(shí)現(xiàn)與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸。下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明。圖2為本發(fā)明實(shí)現(xiàn)CPU與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置的一實(shí)施例結(jié)構(gòu)示意圖,該 裝置包括CPU 20、邏輯模塊21 ;其中,CPU 20,用于通過自身內(nèi)部的本地總線接收經(jīng)由邏輯模塊21處理的以太網(wǎng)的數(shù) 據(jù)包,并向邏輯模塊21發(fā)送帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包;邏輯模塊21,用于在接收以太網(wǎng)數(shù)據(jù)包時(shí),對(duì)以太網(wǎng)數(shù)據(jù)包進(jìn)行同步和定幀處理, 并通過CPU 20的本地總線傳送給CPU 20;在接收CPU 20的帶有以太網(wǎng)幀格式信息的數(shù)據(jù) 包時(shí),對(duì)CPU 20所要發(fā)送的數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝,并經(jīng)過同步處理發(fā)送到以太 網(wǎng);進(jìn)一步的,該裝置還包括PHY芯片21,用于傳輸以太網(wǎng)數(shù)據(jù)包。該邏輯模塊21進(jìn)一步包括CPU接口模塊23、控制模塊24、接收模塊25、發(fā)送模塊 26、同步處理模塊27;其中,CPU接口模塊23,用于在CPU接收以太網(wǎng)數(shù)據(jù)包時(shí),通過CPU 20的本地總線與CPU 20相連,傳送并緩存接收模塊25中緩存的數(shù)據(jù)包,并向CPU 20請(qǐng)求中斷;在CPU 20發(fā)送 數(shù)據(jù)包時(shí),接收并緩存CPU 20要發(fā)送的數(shù)據(jù)包;控制模塊24,用于控制各種控制寄存器,具體包括發(fā)送控制寄存器、接收控制寄 存器、清除中斷控制寄存器;接收模塊25,用于將同步處理模塊27接收到的數(shù)據(jù)包進(jìn)行定幀、緩存處理,以及 進(jìn)行接收數(shù)據(jù)包的性能統(tǒng)計(jì),并將處理后的數(shù)據(jù)包緩存;發(fā)送模塊26,用于控制CPU接口模塊23,傳輸其中準(zhǔn)備發(fā)送的數(shù)據(jù)包,并對(duì)數(shù)據(jù)包 進(jìn)行以太網(wǎng)幀格式的封裝處理,以及發(fā)送數(shù)據(jù)包到同步處理模塊27 ;同步處理模塊27,用于進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊時(shí)鐘的切換處理,接收PHY芯 片22傳輸?shù)囊蕴W(wǎng)幀格式的數(shù)據(jù)包,并將數(shù)據(jù)包傳送給接收模塊25 ;或者將發(fā)送模塊26 按照以太網(wǎng)幀格式封裝的數(shù)據(jù)包,傳送給PHY芯片22 ;其中,接收模塊25進(jìn)一步包括接收數(shù)據(jù)包模塊251、接收控制模塊252 ;接收數(shù)據(jù)包模塊251,用于對(duì)同步處理模塊27接收的以太網(wǎng)幀格式的數(shù)據(jù)包進(jìn)行 定幀處理、緩存和進(jìn)行接收數(shù)據(jù)包性能的統(tǒng)計(jì);接收控制模塊252,用于將接收數(shù)據(jù)包模塊251中緩存的數(shù)據(jù)包緩存在與CPU接口 模塊23進(jìn)行交互的緩存中;其中,接收數(shù)據(jù)包模塊251進(jìn)一步包括接收協(xié)議處理模塊253和接收緩存254 ;接收協(xié)議處理模塊253,用于對(duì)同步處理模塊27接收到的以太網(wǎng)數(shù)據(jù)包進(jìn)行定幀 處理、即將接收到的以太網(wǎng)數(shù)據(jù)包進(jìn)行解析;接收緩存254,用于將定幀后的以太網(wǎng)數(shù)據(jù)包進(jìn)行緩存和進(jìn)行對(duì)接收數(shù)據(jù)包性能 統(tǒng)計(jì);接收緩存254,如圖3所示,進(jìn)一步包括數(shù)據(jù)寄存器組0、數(shù)據(jù)寄存器組1、數(shù)據(jù)寄 存器組2、邏輯控制模塊32、數(shù)據(jù)寄存器組接收數(shù)據(jù)標(biāo)識(shí)寄存器31、數(shù)據(jù)寄存器組空標(biāo)識(shí)寄 存器33 ;其中,數(shù)據(jù)寄存器組0、數(shù)據(jù)寄存器組1、數(shù)據(jù)寄存器組2,用于緩存接收到的數(shù)據(jù);
邏輯控制模塊32,用于對(duì)數(shù)據(jù)寄存器組接收數(shù)據(jù)標(biāo)識(shí)寄存器31和數(shù)據(jù)寄存器組 空標(biāo)識(shí)寄存器33進(jìn)行讀寫操作;數(shù)據(jù)寄存器組接收數(shù)據(jù)標(biāo)識(shí)寄存器31,用于標(biāo)識(shí)數(shù)據(jù)寄存器組接收數(shù)據(jù)包的信息 和接收數(shù)據(jù)包的長度信息;數(shù)據(jù)寄存器組空標(biāo)識(shí)寄存器33,用于標(biāo)識(shí)數(shù)據(jù)寄存器組中為空的組的信息。接收控制模塊252進(jìn)一步包括接收共享緩存255,用于提供與CPU接口模塊23進(jìn) 行交互的緩存;CPU接口模塊23進(jìn)一步包括CPU接收緩存231、CPU發(fā)送緩存232 ;CPU接收緩存231,用于緩存接收共享緩存255中的數(shù)據(jù)包;CPU發(fā)送緩存232,用于緩存CPU 20所要發(fā)送的數(shù)據(jù)包;發(fā)送模塊26進(jìn)一步包括發(fā)送控制模塊261、發(fā)送數(shù)據(jù)包模塊262 ;發(fā)送控制模塊261,用于控制CPU發(fā)送緩存232,將其中的數(shù)據(jù)包傳輸?shù)桨l(fā)送數(shù)據(jù) 包模塊262并通知發(fā)送數(shù)據(jù)包模塊262發(fā)送;發(fā)送數(shù)據(jù)包模塊262,用于對(duì)CPU發(fā)送緩存232中的數(shù)據(jù)包進(jìn)行緩存、以太網(wǎng)幀格 式的封裝處理和性能統(tǒng)計(jì),并將封裝后的數(shù)據(jù)包發(fā)送到同步模塊27 ;其中,發(fā)送數(shù)據(jù)包模塊262進(jìn)一步包括發(fā)送緩存263和發(fā)送協(xié)議處理模塊264 ;發(fā)送緩存263,用于對(duì)CPU發(fā)送緩存232中的數(shù)據(jù)包進(jìn)行緩存;發(fā)送協(xié)議處理模塊264,用于對(duì)數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝和性能統(tǒng)計(jì)。上述裝置中,所需使用的寄存器包括發(fā)送控制寄存器、接收控制寄存器、清除中 斷控制寄存器;其中,發(fā)送控制寄存器,包括八個(gè)比特位,用于全局使能控制,即對(duì)所有模塊進(jìn)行工作 或者非工作的控制,以及對(duì)CPU發(fā)送緩存232的空閑指示;其中,第8位(bit7)為0時(shí),表 示上述所有模塊非工作;bit7為1時(shí),表示上述模塊都正常工作,bit7在軟件對(duì)寄存器初始 化時(shí)設(shè)置為1 ;第1位(bitO)為CPU發(fā)送緩存232的空閑指示,當(dāng)CPU發(fā)送緩存232有數(shù) 據(jù)包時(shí),bitO被修改為1,數(shù)據(jù)包發(fā)送完成后,bitO被修改為0。接收控制寄存器,包括八個(gè)比特位,用于指示CPU接收緩存231的狀態(tài),其中,第8位(bit7)為溢出標(biāo)志位,bit7 = 1,表示CPU接收緩存231中的數(shù)據(jù)包溢出; bit7 = 0,表示CPU接收緩存231中的數(shù)據(jù)包沒有溢出;第2位(bitl),bitl = 1,CPU接收緩存231中偏移地址為N 2N_1的區(qū)間有數(shù) 據(jù)包;bitl = 0,CPU接收緩存231中偏移地址為N 2N-1的區(qū)間沒有數(shù)據(jù)包;第1位(bitO),bit0 = 1,CPU接收緩存231中偏移地址為0 N_1的區(qū)間有數(shù)據(jù) 包;bitO = 0,CPU接收緩存231中偏移地址為0 N-I的區(qū)間沒有數(shù)據(jù)包;其他位,無效。清除中斷控制寄存器,包括八個(gè)比特位,用于要求控制模塊24清除在CPU20中斷 時(shí)的接收控制寄存器的標(biāo)志位,第1位為1 (bitO = 1),表示要求控制模塊24清除在CPU 20 中斷時(shí)接收控制寄存器的標(biāo)志位,bitO = 0,表示沒有要求控制模塊24清除在CPU 20中斷 時(shí)的接收控制寄存器的標(biāo)志位。當(dāng)邏輯模塊21接收PHY芯片22的以太網(wǎng)數(shù)據(jù)包向CPU 20傳送時(shí),該裝置還用到 以下寄存器
接收數(shù)據(jù)包的錯(cuò)誤類型寄存器,用于記錄接收數(shù)據(jù)包的錯(cuò)誤類型;接收數(shù)據(jù)包數(shù)量統(tǒng)計(jì)寄存器,用于統(tǒng)計(jì)接收數(shù)據(jù)包的數(shù)量?;谏鲜瞿K結(jié)構(gòu),下面對(duì)邏輯模塊21接收PHY芯片22數(shù)據(jù)向CPU 20傳送,以 及接收CPU 20的數(shù)據(jù)包向PHY芯片22傳送分別進(jìn)行具體闡述。具體的,當(dāng)邏輯模塊21接收PHY芯片22的以太網(wǎng)數(shù)據(jù)包向CPU 20傳送時(shí)發(fā)送 控制寄存器的bit7在初始化時(shí)設(shè)置為1,使所有模塊進(jìn)行工作,同步處理模塊27通過提取 以太網(wǎng)時(shí)鐘的上升沿或下降沿,進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊21時(shí)鐘切換的同步處理,并從 PHY芯片22接收以太網(wǎng)幀格式的數(shù)據(jù)包,然后,同步處理模塊27將以太網(wǎng)數(shù)據(jù)包傳輸?shù)浇?收模塊25中的接收數(shù)據(jù)包模塊251 ;接收數(shù)據(jù)包模塊251中的接收協(xié)議處理模塊253對(duì)接收的以太網(wǎng)數(shù)據(jù)包進(jìn)行定幀 處理,包括解析數(shù)據(jù)包的數(shù)據(jù)、目的物理地址(目的MAC)、源物理地址(源MAC)、標(biāo)簽協(xié)議 標(biāo)識(shí)(TPID)、數(shù)據(jù)類型(TYPE)等信息,以及對(duì)數(shù)據(jù)包進(jìn)行循環(huán)校驗(yàn)(CRC校驗(yàn)),得到CRC 校驗(yàn)信息,并將經(jīng)過定幀處理后的數(shù)據(jù)包寫入接收緩存254中;接收緩存254對(duì)經(jīng)過定幀處 理后的數(shù)據(jù)包進(jìn)行緩存,并進(jìn)行接收數(shù)據(jù)包錯(cuò)誤和接收數(shù)據(jù)包數(shù)量的統(tǒng)計(jì),對(duì)成功接收數(shù) 據(jù)包時(shí),接收指示信號(hào)置1。具體為首先,接收緩存254中的邏輯控制模塊32讀取數(shù)據(jù)寄存器組空標(biāo)識(shí)寄存器33,確 定可以寫入的空的數(shù)據(jù)寄存器組,然后邏輯控制模塊32將經(jīng)過定幀處理后的數(shù)據(jù)包緩存 在該數(shù)據(jù)寄存器組中,同時(shí),將緩存數(shù)據(jù)包的數(shù)據(jù)寄存器組的信息和數(shù)據(jù)包的長度信息寫 入數(shù)據(jù)寄存器組接收數(shù)據(jù)標(biāo)識(shí)寄存器31中;如果接收的數(shù)據(jù)包的目的MAC、TPID、TPID或者 CRC校驗(yàn)出現(xiàn)錯(cuò)誤,接收緩存254中相應(yīng)的性能統(tǒng)計(jì)寄存器將記錄錯(cuò)誤信息,即將數(shù)據(jù)包出 現(xiàn)的錯(cuò)誤信息記錄在接收數(shù)據(jù)包的錯(cuò)誤類型寄存器中,接收緩存254清除錯(cuò)誤數(shù)據(jù)包;如 果接收的數(shù)據(jù)包沒有錯(cuò)誤,則接收數(shù)據(jù)包數(shù)量統(tǒng)計(jì)寄存器加1,并將接收指示信號(hào)置為1。在接收指示信號(hào)為1時(shí),接收控制模塊252讀取接收緩存254中數(shù)據(jù)寄存器組接 收數(shù)據(jù)標(biāo)識(shí)寄存器31的數(shù)據(jù)寄存器組的信息和數(shù)據(jù)包的長度信息,按照讀取到的信息,在 接收共享緩存255的空滿指示信息為非滿時(shí),接收控制模塊252將接收緩存254中的數(shù)據(jù) 包傳輸?shù)狡鋬?nèi)部的接收共享緩存255中進(jìn)行排隊(duì),并將接收指示信號(hào)置為0;當(dāng)數(shù)據(jù)包傳輸 完畢后,接收緩存254的邏輯控制模塊32將被搬空的數(shù)據(jù)寄存器組的信息寫入數(shù)據(jù)寄存器 組空標(biāo)識(shí)寄存器33,準(zhǔn)備接收下一個(gè)以太網(wǎng)數(shù)據(jù)包;接收控制模塊252將接收共享緩存255 的空滿指示信息傳輸?shù)紺PU接口模塊23 ;CPU接口模塊23判斷接收共享緩存255的空滿指示信息,當(dāng)接收共享緩存255 的空滿指示信息指示為非空時(shí),CPU接口模塊23查詢接收控制寄存器的bitl bito,當(dāng) bitl bitO Φ 11時(shí),說明CPU接收緩存231有空的緩存區(qū)間,則CPU接口模塊23將接收 共享緩存255中的數(shù)據(jù)包傳送到CPU接口模塊23的CPU接收緩存231中空的緩存區(qū)間,否 則CPU接口模塊23不進(jìn)行傳送操作,其中,CPU接收緩存231的結(jié)構(gòu)如圖4所示。具體的,當(dāng)接收控制寄存器的bitl bitO = 00時(shí),說明CPU接收緩存231中偏 移地址為0 2N-1的區(qū)間都為空,CPU接口模塊23將接收共享緩存255中的數(shù)據(jù)包傳送 到CPU接收緩存231中偏移地址為0 N-I的區(qū)間,置接收控制寄存器的bitO = 1,并且, 向CPU 20請(qǐng)求中斷;當(dāng)接收控制寄存器的bitl bitO = 01時(shí),說明CPU 20正在處理CPU接收緩存231中偏移地址為0 N-I的區(qū)間的數(shù)據(jù)包,而偏移地址為N 2N-1的區(qū)間為空,CPU接口 模塊23將接收共享緩存255中的數(shù)據(jù)包傳送到CPU接收緩存231中偏移地址為N 2N-1 的區(qū)間,置接收控制寄存器的bitl = 1,并且,向CPU20請(qǐng)求中斷;當(dāng)接收控制寄存器的bitl bitO = 10時(shí),說明CPU 20正在處理CPU接收緩存 231中偏移地址為N 2N-1的區(qū)間的數(shù)據(jù)包,而偏移地址為0 N-I的區(qū)間為空,CPU接口 模塊23將接收共享緩存255中的數(shù)據(jù)包傳送到CPU接收緩存231中偏移地址為0 N-I 的區(qū)間,置接收控制寄存器的bitO = 1,并且,向CPU 20請(qǐng)求中斷。CPU 20在接收到CPU接口模塊23請(qǐng)求的中斷后,進(jìn)行中斷處理首先,CPU 20讀取接收控制寄存器的內(nèi)容,其中,當(dāng)接收控制寄存器bit7 = 0時(shí), 則CPU接收緩存231沒有溢出,如果在接收控制寄存器的bitO = 1時(shí)進(jìn)入中斷,則CPU 20 讀取CPU接收緩存231中偏移地址為0 N-I的區(qū)間的數(shù)據(jù)包,讀取完成后,將清除中斷控 制寄存器的bitO置為1,清除中斷。當(dāng)清除中斷控制寄存器的bitO = 1時(shí),接收控制寄存器bitO在控制模塊24控制 下置為0,中斷清除后,清除中斷控制寄存器的bitO在控制模塊24的控制下置為0,中斷處 理結(jié)束;如果在接收控制寄存器的bitl = 1時(shí)進(jìn)入中斷,則CPU20讀取CPU接收緩存231 中偏移地址為N 2N-1的區(qū)間的數(shù)據(jù)包,讀取完成后,將清除中斷控制寄存器的bitl置為 1,清除中斷。當(dāng)清除中斷控制寄存器的bitl = 1時(shí),接收控制寄存器bitl在控制模塊24的控 制下置為0,中斷清除后,清除中斷控制寄存器的bitl在控制模塊24的控制下置為0,中 斷處理結(jié)束;在中斷處理中,CPU 20—次只能處理一個(gè)中斷,即按接收控制寄存器bitO和 bitl被置1的先后順序,進(jìn)行上述相應(yīng)的中斷處理。當(dāng)邏輯模塊21接收CPU 20的數(shù)據(jù)向PHY芯片22傳送時(shí)該裝置還用到以下寄存器長度錯(cuò)誤統(tǒng)計(jì)信息寄存器,用于對(duì)發(fā)送數(shù)據(jù)包模塊262對(duì)發(fā)送緩存263中的數(shù)據(jù) 包出現(xiàn)長度信息錯(cuò)誤的數(shù)量進(jìn)行統(tǒng)計(jì),每次出現(xiàn)加1 ;發(fā)送數(shù)據(jù)包數(shù)量統(tǒng)計(jì)寄存器,用于對(duì)發(fā)送數(shù)據(jù)包的數(shù)量進(jìn)行統(tǒng)計(jì),每發(fā)送一個(gè)數(shù) 據(jù)包加1。具體的,當(dāng)邏輯模塊21接收CPU 20的數(shù)據(jù)包向PHY芯片22發(fā)送時(shí),發(fā)送控制寄存 器的bit7在初始化時(shí)設(shè)置為1,使所有模塊進(jìn)行工作。當(dāng)CPU 20有數(shù)據(jù)包需要發(fā)送時(shí),首 先CPU 20查詢發(fā)送控制寄存器,如果發(fā)送控制寄存器的bit7 = 1且bitO = 0,說明邏輯模 塊21處于使能狀態(tài),CPU接口模塊23的CPU發(fā)送緩存232中沒有數(shù)據(jù)包,CPU 20將所要發(fā) 送的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包發(fā)送到CPU發(fā)送緩存232中,包括數(shù)據(jù)包的數(shù)據(jù)、目 的MAC、源MAC、TPID、TYPE等信息,發(fā)送完成后,控制模塊24置發(fā)送控制寄存器的bitO = 1 ;CPU發(fā)送緩存263將接收到的CPU 20發(fā)送的數(shù)據(jù)包進(jìn)行緩存,并產(chǎn)生接收到數(shù)據(jù)包的長 度信息;發(fā)送模塊26中的發(fā)送控制模塊261判斷發(fā)送控制寄存器的bitO = 1時(shí),通知CPU 發(fā)送緩存232,將緩存的數(shù)據(jù)包和數(shù)據(jù)包的長度信息傳輸?shù)桨l(fā)送模塊26中的發(fā)送數(shù)據(jù)包模 塊262,發(fā)送數(shù)據(jù)包模塊262中的發(fā)送緩存263進(jìn)行接收并緩存,傳輸完畢后,控制模塊24 置發(fā)送控制寄存器的bitO = 0,發(fā)送控制模塊261向發(fā)送數(shù)據(jù)包模塊262發(fā)出傳輸完畢脈 沖信號(hào),控制模塊24置發(fā)送控制寄存器的bitO = 0。
發(fā)送數(shù)據(jù)包模塊262在檢測(cè)到發(fā)送控制模塊261的傳輸完畢脈沖信號(hào)后,首先判 斷發(fā)送緩存263中的數(shù)據(jù)包的長度信息是否與CPU發(fā)送緩存232中接收到的數(shù)據(jù)包的長度 信息相符,如果長度信息不相符,則清除發(fā)送緩存263中的數(shù)據(jù)包,長度錯(cuò)誤統(tǒng)計(jì)信息寄存 器加1,并通過控制模塊24將發(fā)送控制寄存器的bitO置為0。如果長度信息正確,則啟動(dòng)發(fā)送數(shù)據(jù)包模塊262的發(fā)送協(xié)議處理模塊264,發(fā)送協(xié) 議處理模塊264對(duì)發(fā)送緩存263中的數(shù)據(jù)包進(jìn)行CRC校驗(yàn),得到CRC校驗(yàn)信息,將發(fā)送緩存 263中的數(shù)據(jù)包連同所得的CRC校驗(yàn)信息按照以太網(wǎng)幀格式進(jìn)行封裝,然后,發(fā)送到同步處 理模塊27,發(fā)送完畢后,通知發(fā)送數(shù)據(jù)包數(shù)量統(tǒng)計(jì)寄存器加1。同步處理模塊27接收到發(fā)送數(shù)據(jù)包模塊262發(fā)來的以太網(wǎng)幀格式的數(shù)據(jù)包,同步 處理模塊27進(jìn)行邏輯模塊時(shí)鐘與以太網(wǎng)時(shí)鐘的切換的同步處理,將數(shù)據(jù)包發(fā)送給PHY芯片 22,完成邏輯模塊21接收CPU 20的數(shù)據(jù)包向PHY芯片22的發(fā)送?;谏鲜鲅b置,本發(fā)明在CPU通過邏輯模塊接收以太網(wǎng)的數(shù)據(jù)包時(shí),如圖5所示, 包括以下步驟步驟501 邏輯模塊將以太網(wǎng)時(shí)鐘與自身時(shí)鐘進(jìn)行同步,并接收以太網(wǎng)幀格式的 數(shù)據(jù)包;邏輯模塊通過提取以太網(wǎng)時(shí)鐘的上升沿或下降沿,進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊時(shí) 鐘的切換的同步處理,接收以太網(wǎng)幀格式的數(shù)據(jù)包。步驟502 邏輯模塊將緩存的數(shù)據(jù)包進(jìn)行定幀處理,并將定幀后的數(shù)據(jù)包緩存在 接收緩存中;這里,邏輯模塊將緩存的數(shù)據(jù)包進(jìn)行定幀處理,包括解析數(shù)據(jù)包的數(shù)據(jù)、目的 MAC、源MAC、TPID、TYPE等信息,以及對(duì)數(shù)據(jù)包進(jìn)行CRC校驗(yàn),得到CRC校驗(yàn)信息;然后,將 定幀后的數(shù)據(jù)包緩存在接收緩存中,置接收指示信號(hào)為1,并且,對(duì)接收的數(shù)據(jù)包的性能進(jìn) 行統(tǒng)計(jì),包括接收的數(shù)據(jù)包的錯(cuò)誤類型的記錄以及接收數(shù)據(jù)包數(shù)量的統(tǒng)計(jì)。步驟503 邏輯模塊控制接收緩存中的數(shù)據(jù)包傳送到接收共享緩存中;邏輯模塊在接收指示信號(hào)為1時(shí),控制接收緩存中的數(shù)據(jù)包在接收共享緩存的空 滿指示信息為非滿時(shí)傳送到接收共享緩存中,按照數(shù)據(jù)包被傳送的先后順序進(jìn)行排隊(duì),并 置接收指示信號(hào)為0。步驟504 邏輯模塊將接收共享緩存中的數(shù)據(jù)包傳送到向CPU傳送數(shù)據(jù)包的指定 緩存中,并向CPU請(qǐng)求中斷;這里,邏輯模塊在接收共享緩存的空滿指示信息為非空時(shí),將接收共享緩存中的 數(shù)據(jù)包傳送到向CPU傳送數(shù)據(jù)包的指定緩存中,置該緩存的接收指示信號(hào)為1,并將該接收 指示信號(hào)作為向CPU請(qǐng)求中斷的標(biāo)志,向CPU請(qǐng)求中斷。步驟505 =CPU響應(yīng)中斷,通過本地總線讀取緩存的定幀處理后的數(shù)據(jù)包;這里,CPU接收到請(qǐng)求中斷后,CPU響應(yīng)中斷,通過本地總線將狀態(tài)寄存器指示的 緩存位置的數(shù)據(jù)包讀取到CPU中,并清除該狀態(tài)寄存器的狀態(tài)指示標(biāo)志。通過上述方法,可通過邏輯模塊對(duì)以太網(wǎng)數(shù)據(jù)包經(jīng)過同步處理和定幀,從而實(shí)現(xiàn) 通過CPU本地總線接收以太網(wǎng)數(shù)據(jù)包?;谏鲜鲅b置,本發(fā)明在CPU通過邏輯模塊向以太網(wǎng)發(fā)送數(shù)據(jù)包時(shí),如圖6所示, 包括以下步驟
步驟601 :CPU將所要發(fā)送的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包通過本地總線,傳送 到邏輯模塊的指定位置進(jìn)行緩存;這里,CPU查詢邏輯模塊用于接收CPU發(fā)送數(shù)據(jù)包的緩存的控制寄存器,當(dāng)該控制 寄存器指示的緩存沒有數(shù)據(jù)包時(shí),CPU將所要發(fā)送的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包,包 括數(shù)據(jù)包的數(shù)據(jù)、目的MAC、源MAC、TPID、TYPE等信息,通過本地總線傳送到邏輯模塊用于 CPU發(fā)送發(fā)送數(shù)據(jù)包的緩存,該緩存接收數(shù)據(jù)包后,產(chǎn)生接收數(shù)據(jù)包的長度信息,并同時(shí)置 控制寄存器的指示標(biāo)志,表明緩存接收到數(shù)據(jù)包。步驟602 邏輯模塊將緩存的數(shù)據(jù)包傳送到用于發(fā)送數(shù)據(jù)包的緩存位置;這里,當(dāng)控制寄存器的指示標(biāo)志表示用于接收數(shù)據(jù)包的緩存有數(shù)據(jù)包時(shí),邏輯模 塊將緩存的數(shù)據(jù)包和接收數(shù)據(jù)包的長度信息傳送到用于發(fā)送數(shù)據(jù)包的緩存位置,并對(duì)該緩 存位置的數(shù)據(jù)包的長度進(jìn)行判斷,如果與接收數(shù)據(jù)包的長度信息不相符,則將長度錯(cuò)誤統(tǒng) 計(jì)信息寄存器加1,如果與接收數(shù)據(jù)包的長度信息相符,對(duì)發(fā)送數(shù)據(jù)包數(shù)量統(tǒng)計(jì)寄存器加 1。步驟603 邏輯模塊將緩存的數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝;邏輯模塊將步驟602中緩存的數(shù)據(jù)包先進(jìn)行CRC校驗(yàn),得到CRC校驗(yàn)的信息,然后 將數(shù)據(jù)包的數(shù)據(jù)、目的MAC、源MAC、TPID、TYPE、CRC校驗(yàn)等信息按照以太網(wǎng)幀格式進(jìn)行封裝。步驟604:邏輯模塊進(jìn)行同步處理,將經(jīng)過以太網(wǎng)幀格式封裝后的數(shù)據(jù)包向以太 網(wǎng)發(fā)送;邏輯模塊通過提取以太網(wǎng)時(shí)鐘的上升沿或者下降沿,進(jìn)行邏輯模塊時(shí)鐘與以太網(wǎng) 時(shí)鐘的切換的處理,將封裝后的數(shù)據(jù)包向以太網(wǎng)發(fā)送。通過上述方法,可利用邏輯模塊對(duì)CPU所要發(fā)送的帶有以太網(wǎng)幀格式信息的數(shù)據(jù) 包進(jìn)行以太網(wǎng)幀格式的封裝,并經(jīng)過與以太網(wǎng)的同步處理,可以實(shí)現(xiàn)通過CPU本地總線接 收以太網(wǎng)數(shù)據(jù)包。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
1權(quán)利要求
一種實(shí)現(xiàn)中央處理器CPU與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置,其特征在于,該裝置包括邏輯模塊,用于在接收以太網(wǎng)數(shù)據(jù)包時(shí),對(duì)以太網(wǎng)數(shù)據(jù)包進(jìn)行同步和定幀的處理,并通過CPU自身的本地總線傳送給CPU;在發(fā)送CPU的數(shù)據(jù)包時(shí),對(duì)CPU所要發(fā)送的數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝,并經(jīng)過同步處理發(fā)送到以太網(wǎng);CPU,用于通過自身的本地總線接收邏輯模塊處理過的以太網(wǎng)的數(shù)據(jù)包、或向邏輯模塊發(fā)送帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述邏輯模塊進(jìn)一步包括CPU接口模塊,用于在CPU接收以太網(wǎng)數(shù)據(jù)包時(shí),通過CPU自身的本地總線與CPU相連, 傳送并緩存接收模塊中緩存的數(shù)據(jù)包,并向CPU請(qǐng)求中斷;在發(fā)送CPU數(shù)據(jù)包時(shí),接收并緩 存CPU要發(fā)送的數(shù)據(jù)包;控制模塊,用于各種控制寄存器的控制;接收模塊,用于將同步處理模塊接收到的數(shù)據(jù)包進(jìn)行定幀、緩存處理,以及進(jìn)行接收數(shù) 據(jù)包的性能統(tǒng)計(jì),并將處理后的數(shù)據(jù)包緩存;發(fā)送模塊,用于控制CPU接口模塊,傳輸其中準(zhǔn)備發(fā)送的數(shù)據(jù)包,并對(duì)數(shù)據(jù)包進(jìn)行以太 網(wǎng)幀格式的封裝處理,以及發(fā)送數(shù)據(jù)包到同步處理模塊;同步處理模塊,用于進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊時(shí)鐘的切換處理,接收以太網(wǎng)幀格式 的數(shù)據(jù)包,并將數(shù)據(jù)包傳送給接收模塊,或者將發(fā)送模塊按照以太網(wǎng)幀格式封裝的數(shù)據(jù)包, 傳送進(jìn)以太網(wǎng)。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述接收模塊進(jìn)一步包括接收數(shù)據(jù)包模塊,用于對(duì)同步處理模塊接收的以太網(wǎng)幀格式的數(shù)據(jù)包進(jìn)行定幀處理、 緩存和進(jìn)行接收數(shù)據(jù)包性能的統(tǒng)計(jì);接收控制模塊,用于將接收數(shù)據(jù)包模塊中緩存的數(shù)據(jù)包緩存在與CPU接口模塊進(jìn)行交 互的緩存中。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述接收控制模塊進(jìn)一步包括接收共享 緩存,用于緩存接收緩存中的數(shù)據(jù)包;所述接收數(shù)據(jù)包模塊進(jìn)一步包括接收協(xié)議處理模塊,用于對(duì)同步處理模塊接收到的以太網(wǎng)數(shù)據(jù)包進(jìn)行定幀處理、即將 接收到的以太網(wǎng)數(shù)據(jù)包進(jìn)行解析;接收緩存,用于將定幀后的以太網(wǎng)數(shù)據(jù)包進(jìn)行緩存和進(jìn)行對(duì)接收數(shù)據(jù)包性能統(tǒng)計(jì)。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的裝置,其特征在于,該裝置進(jìn)一步包括 發(fā)送控制寄存器,用于全局使能控制,對(duì)所有模塊進(jìn)行工作或者非工作的控制; 接收控制寄存器,用于指示CPU接收緩存的狀態(tài);清除中斷控制寄存器,用于清除在CPU中斷時(shí)接收控制寄存器的標(biāo)志位。
6.一種實(shí)現(xiàn)CPU接收以太網(wǎng)數(shù)據(jù)的方法,其特征在于,在CPU與以太網(wǎng)之間設(shè)置用于數(shù) 據(jù)傳輸?shù)倪壿嬆K,該方法還包括以下步驟邏輯模塊將以太網(wǎng)時(shí)鐘與自身時(shí)鐘進(jìn)行同步,并接收以太網(wǎng)幀格式的數(shù)據(jù)包; 對(duì)數(shù)據(jù)包進(jìn)行定幀處理,將定幀后的數(shù)據(jù)包緩存在向CPU傳送數(shù)據(jù)包的指定緩存中, 并向CPU申請(qǐng)中斷;CPU響應(yīng)中斷,并通過自身的本地總線讀取邏輯模塊內(nèi)緩存的定幀處理后的數(shù)據(jù)包。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述進(jìn)行同步處理具體為邏輯模塊通過 提取以太網(wǎng)時(shí)鐘的上升沿或下降沿,進(jìn)行以太網(wǎng)時(shí)鐘與邏輯模塊時(shí)鐘的切換的同步處理。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述進(jìn)行定幀處理具體為解析數(shù)據(jù) 包的數(shù)據(jù)、目的物理地址、源物理地址、標(biāo)簽協(xié)議標(biāo)識(shí)、數(shù)據(jù)類型信息,以及對(duì)數(shù)據(jù)包進(jìn)行循 環(huán)校驗(yàn),得到循環(huán)校驗(yàn)信息。
9.一種實(shí)現(xiàn)CPU向以太網(wǎng)發(fā)送數(shù)據(jù)的方法,其特征在于,在CPU與以太網(wǎng)之間設(shè)置用于 數(shù)據(jù)傳輸?shù)倪壿嬆K,該方法還包括以下步驟CPU將所要發(fā)送的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包通過本地總線,傳送到邏輯模塊用 于發(fā)送數(shù)據(jù)包的緩存位置進(jìn)行緩存;邏輯模塊將緩存的帶有以太網(wǎng)幀格式信息的數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝,并在進(jìn) 行同步處理后,將經(jīng)過以太網(wǎng)幀格式封裝后的數(shù)據(jù)包向以太網(wǎng)發(fā)送。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述將數(shù)據(jù)包進(jìn)行以太網(wǎng)幀格式的封裝 具體為邏輯模塊將數(shù)據(jù)包中帶有以太網(wǎng)幀格式的信息按照以太網(wǎng)幀格式進(jìn)行封裝,所封 裝的信息包括數(shù)據(jù)包的數(shù)據(jù)、目的物理地址、源物理地址、標(biāo)簽協(xié)議標(biāo)識(shí)、數(shù)據(jù)類型、循環(huán)校 驗(yàn)信息。
11.根據(jù)權(quán)利要求9或10所述的方法,其特征在于,所述進(jìn)行同步處理具體為邏輯 模塊通過提取以太網(wǎng)時(shí)鐘的上升沿或者下降沿,將邏輯模塊時(shí)鐘與以太網(wǎng)時(shí)鐘的切換的處理。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)中央處理器(CPU)與以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)难b置,通過利用CPU的本地總線與邏輯模塊相連,邏輯模塊與以太網(wǎng)相連,在邏輯模塊內(nèi)進(jìn)行發(fā)送和接收以太網(wǎng)數(shù)據(jù)包的處理,完成CPU與以太網(wǎng)的數(shù)據(jù)包的交互;本發(fā)明還同時(shí)公開了一種實(shí)現(xiàn)CPU接收以太網(wǎng)數(shù)據(jù)的方法和一種實(shí)現(xiàn)CPU向以太網(wǎng)發(fā)送數(shù)據(jù)的方法;采用本發(fā)明,能有效解決CPU中以太網(wǎng)接口資源不足的問題,以及CPU中沒有集成以太網(wǎng)接口情況下的以太網(wǎng)數(shù)據(jù)包傳輸問題。
文檔編號(hào)H04L12/56GK101938453SQ20091008842
公開日2011年1月5日 申請(qǐng)日期2009年6月29日 優(yōu)先權(quán)日2009年6月29日
發(fā)明者時(shí)立峰, 李向龍, 牛增強(qiáng), 陸志舉 申請(qǐng)人:中興通訊股份有限公司