專(zhuān)利名稱(chēng):一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,屬于電子信息技術(shù)領(lǐng)域。
背景技術(shù):
以太網(wǎng)作為目前應(yīng)用最廣泛的局域網(wǎng)技術(shù),憑借其開(kāi)放性好、成本低廉、數(shù)據(jù)傳輸 率高等諸多優(yōu)勢(shì),在工業(yè)自動(dòng)化和過(guò)程控制、家庭智能化領(lǐng)域得到了越來(lái)越多的應(yīng)用。 目前,已經(jīng)存在的大量的終端,例如單片機(jī)系統(tǒng)、嵌入式系統(tǒng)通過(guò)以太網(wǎng)連接到國(guó)際 互聯(lián)網(wǎng)上。
隨著集成電路技術(shù)的發(fā)展,片上系統(tǒng)和片上可編程系統(tǒng)已經(jīng)被大量應(yīng)用在智能終端
系統(tǒng)之中。片上系統(tǒng)(S0C: System on Chip)指的是在單個(gè)芯片上集成一個(gè)完整的系統(tǒng), 將多個(gè)IC芯片整合到單一芯片中。隨著集成電路技術(shù)的進(jìn)一步發(fā)展,Altera和Xilinx 公司將自己生產(chǎn)的可配置CPLD (復(fù)雜可編程邏輯器件)、FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列)與 可配置處理器內(nèi)核結(jié)合在一起,推出了片上可編程系統(tǒng)(S0PC, System On Programmable Chip)解決方案。可編程片上系統(tǒng)(S0PC)具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升 級(jí),并具備軟硬件在系統(tǒng)可編程的功能,正在被廣泛應(yīng)用于智能控制領(lǐng)域。
目前,SOPC系統(tǒng)通常是在FPGA芯片內(nèi)部硬件實(shí)現(xiàn)TCP/IP協(xié)議、MAC協(xié)議、PHY協(xié)議, 或者內(nèi)部硬件實(shí)現(xiàn)TCP/IP協(xié)議、MAC協(xié)議,外接PHY芯片,或者內(nèi)部軟件實(shí)現(xiàn)TCP/IP 協(xié)議,硬件實(shí)現(xiàn)亂C協(xié)議,外接PHY芯片。這種實(shí)現(xiàn)過(guò)程比較復(fù)雜,實(shí)現(xiàn)周期比較長(zhǎng), 所以本發(fā)明使用韓國(guó)Wiznet公司的內(nèi)部集成TCP/IP協(xié)議、MAC協(xié)議、PHY協(xié)議的網(wǎng)絡(luò)芯 片——W5100,簡(jiǎn)化了片上系統(tǒng)的聯(lián)網(wǎng)設(shè)計(jì)過(guò)程。
DW8051核是Synopsys公司Design Ware庫(kù)中的一個(gè)IP (Intellectual property) 核,指令兼容MCS-51系列單片機(jī),其平均運(yùn)行速度是普通單片機(jī)的3倍。是經(jīng)過(guò)業(yè)界驗(yàn) 證的成熟的8位IP核。
串行外設(shè)接口 (Serial Peripheral interface)主要用來(lái)完成并行總線接口到外部 串行總線接口之間的數(shù)據(jù)轉(zhuǎn)換。串行外設(shè)接口邏輯簡(jiǎn)單、接口引腳少、編程應(yīng)用方便, 正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來(lái)越多的芯片集成了這種通信協(xié)議。
傳統(tǒng)的基于DW8051核的片上可編程系統(tǒng)聯(lián)網(wǎng)方法通常是,使用硬件描述語(yǔ)言編寫(xiě)復(fù) 雜的以太網(wǎng)聯(lián)網(wǎng)模塊。以太網(wǎng)聯(lián)網(wǎng)模塊包括TCP/IP (Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)絡(luò)協(xié)議)協(xié)議、MAC (Media Access Control,介質(zhì)訪問(wèn)控制)協(xié)議、PHY (Physical Layer,物理層)協(xié)議。這種方法編程 實(shí)現(xiàn)復(fù)雜,開(kāi)發(fā)周期長(zhǎng),不利于產(chǎn)品開(kāi)發(fā),快速占領(lǐng)市場(chǎng)。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)比較復(fù)雜的缺點(diǎn),本發(fā)明提供一種簡(jiǎn)單易行的片上可編程系統(tǒng)聯(lián)接到 以太網(wǎng)的方法。 技術(shù)術(shù)語(yǔ)說(shuō)明FPGA芯片現(xiàn)場(chǎng)可編程門(mén)陣列。
DW8051核是代碼模塊,可寫(xiě)入FPGA芯片生成硬件電路。 SFR譯碼模塊特殊功能寄存器譯碼模塊。 SPI模塊串行外圍接口模塊。
一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,將DW8051核下載到FPGA芯片,形成一 個(gè)處理器,該處理器通過(guò)SFR總線與SFR譯碼模塊連接,SFR譯碼模塊與SPI模塊相連接, SPI模塊通過(guò)SPI總線與網(wǎng)絡(luò)芯片進(jìn)行數(shù)據(jù)通信,網(wǎng)絡(luò)芯片通過(guò)網(wǎng)絡(luò)接口傳輸數(shù)據(jù)到以太 網(wǎng)或接受來(lái)自以太網(wǎng)的數(shù)據(jù),從而實(shí)現(xiàn)片上可編程系統(tǒng)與以太網(wǎng)的通信。
所述的FPGA芯片是一個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列,型號(hào)為美國(guó)ALTERA公司的Cyclone II EP2C20芯片。
所述的DW8051核是代碼模塊,為美國(guó)Synopsys公司Design Ware庫(kù)中的一個(gè)IP核。
所述的SFR譯碼模塊為特殊功能寄存器譯碼模塊,是使用硬件描述語(yǔ)言Verilog HDL 編寫(xiě)代碼,然后下載到FPGA芯片中形成的硬件模塊,其作用是,把有關(guān)數(shù)據(jù)傳遞到SPI 模塊,或者,接受來(lái)自SPI模塊的數(shù)據(jù),把數(shù)據(jù)存儲(chǔ)到DW8051模塊的相應(yīng)寄存器。
所述的SPI模塊是一個(gè)串行外圍接口模塊,是使用硬件描述語(yǔ)言Verilog HDL編寫(xiě) 代碼,然后下載到FPGA芯片中形成的硬件模塊,其作用是SPI模塊將數(shù)據(jù)送出到SPI總 線,或者,接收SPI總線上的數(shù)據(jù)。
所述的網(wǎng)絡(luò)芯片型號(hào)為韓國(guó)Wiznet公司的W5100芯片。
所述的網(wǎng)絡(luò)接口型號(hào)為常用的以太網(wǎng)接口 RJ45。
DW8051和傳統(tǒng)的8051有相同的尋址結(jié)構(gòu)和指令集,但是DW8051與傳統(tǒng)的8051單 片機(jī)又不完全相同,傳統(tǒng)的單片機(jī)與外圍器件通信是通過(guò)四個(gè)端口,即PO、 Pl、 P2、 P3, 而DW8051是通過(guò)SFR總線與外圍器件通信,正是由于這種不同,本發(fā)明才提出一種片上 可編程系統(tǒng)連接到以太網(wǎng)的方法。
傳統(tǒng)的沒(méi)有內(nèi)置SPI接口的單片機(jī)與內(nèi)置SPI接口的芯片進(jìn)行通信的時(shí)候,只需要 使用普通的I/O 口與內(nèi)置SPI接口的芯片連接,然后用C語(yǔ)言或匯編語(yǔ)言編程模擬SPI 總線的時(shí)序,就可以實(shí)現(xiàn)單片機(jī)沒(méi)有內(nèi)置SPI接口的單片機(jī)與內(nèi)置SPI接口的芯片的通 信。本發(fā)明針對(duì)DW8051核與普通單片機(jī)的不同點(diǎn)設(shè)計(jì)了SFR譯碼模塊和SPI模塊,通過(guò) 這種設(shè)計(jì)DW8051核就與FPGA芯片外部的網(wǎng)絡(luò)芯片在硬件上建立起聯(lián)系。通過(guò)本發(fā)明的 這種設(shè)計(jì),我們可以把DW8051核當(dāng)作普通的沒(méi)有內(nèi)置SPI接口的單片機(jī),這樣就可以使 用C語(yǔ)言或者匯編語(yǔ)言編程模擬SPI總線的時(shí)序?qū)崿F(xiàn)DW8051核與外部網(wǎng)絡(luò)芯片的通信。
如圖1所示,SPI模塊需要掛接在DW8051核的SFR總線上,完成外部數(shù)據(jù)到內(nèi)部RAM 的SFR寄存器的映射。當(dāng)需要把有關(guān)數(shù)據(jù)傳遞到以太網(wǎng)的時(shí)候,DW8051通過(guò)SFR總線的 地址線(如圖2的sfr—addr)將SFR寄存器的地址送出,通過(guò)SFR譯碼模塊,產(chǎn)生選通 端(如圖3的sfr—cs(9:0)),選擇相應(yīng)的外設(shè)接口,同時(shí)DW8051把有關(guān)數(shù)據(jù)放在SFR 輸出數(shù)據(jù)總線(如圖2的sfr—data—out)上,數(shù)據(jù)通過(guò)如圖4的sfr—data—out (7:0)進(jìn) 入SPI模塊,SPI模塊將數(shù)據(jù)送出到SPI總線,網(wǎng)絡(luò)芯片接收到SPI總線上的數(shù)據(jù)后,對(duì) 數(shù)據(jù)進(jìn)行處理,然后送到以太網(wǎng)上;當(dāng)以太網(wǎng)上有數(shù)據(jù)要傳遞給片上可編程系統(tǒng)的時(shí)候, 網(wǎng)絡(luò)芯片接收來(lái)自以太網(wǎng)的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理,然后把數(shù)據(jù)放到存儲(chǔ)區(qū)域,并且通知DW8051核有數(shù)據(jù)到達(dá);DW8051讀取網(wǎng)絡(luò)芯片的存儲(chǔ)區(qū)域的時(shí)候,數(shù)據(jù)通過(guò)如圖4的 spi—miso進(jìn)入SPI模塊,SPI模塊將數(shù)據(jù)送入到SFR譯碼模塊,SFR譯碼模塊會(huì)通過(guò)SFR 輸入數(shù)據(jù)總線(如圖2的sfr_data—in)把數(shù)據(jù)輸入到DW8051的相關(guān)SFR寄存器之中。
本發(fā)明的優(yōu)點(diǎn)本發(fā)明不需要使用硬件描述語(yǔ)言編寫(xiě)復(fù)雜的以太網(wǎng)聯(lián)網(wǎng)模塊,只需 要編寫(xiě)簡(jiǎn)單的SFR譯碼模塊和SPI模塊,硬件實(shí)現(xiàn)簡(jiǎn)單、方便,縮減了產(chǎn)品開(kāi)發(fā)時(shí)間。
圖l是本發(fā)明的系統(tǒng)框圖。
圖2是寫(xiě)入FPGA芯片的DW8051核的模塊圖。
圖3是特殊功能寄存器譯碼模塊圖。
圖4是串行外圍接口模塊圖。
其中,1、 FPGA芯片,2、 DW8051核,3、 SFR譯碼模塊,4、 SPI模塊,5、網(wǎng)絡(luò)芯片, 6、網(wǎng)絡(luò)接口, 7、以太網(wǎng)。
具體實(shí)施例方式
實(shí)施例
一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,系統(tǒng)框圖如圖l所示,將DW8051核2下 載到FPGA芯片1,形成一個(gè)處理器,該處理器通過(guò)SFR總線與SFR譯碼模塊3連接,SFR 譯碼模塊3與SPI模塊4相連接,SPI模塊4通過(guò)SPI總線與網(wǎng)絡(luò)芯片5進(jìn)行數(shù)據(jù)通信, 網(wǎng)絡(luò)芯片5通過(guò)網(wǎng)絡(luò)接口 6傳輸數(shù)據(jù)到以太網(wǎng)7或接受來(lái)自以太網(wǎng)7的數(shù)據(jù),從而實(shí)現(xiàn)
片上可編程系統(tǒng)與以太網(wǎng)的通信。
所述的FPGA芯片l是一個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列,型號(hào)為美國(guó)ALTERA公司的Cyclone II
EP2C20芯片。
所述的DW8051核2是代碼模塊,為美國(guó)Synopsys公司Design Ware庫(kù)中的一個(gè)IP核。
所述的SFR譯碼模塊3為特殊功能寄存器譯碼模塊,是使用硬件描述語(yǔ)言Verilog HDL編寫(xiě)代碼,然后下載到FPGA芯片中形成的硬件模塊,其作用是,把有關(guān)數(shù)據(jù)傳遞到 SPI模塊,或者,接受來(lái)自SPI模塊的數(shù)據(jù),把數(shù)據(jù)存儲(chǔ)到DW8051模塊的相應(yīng)寄存器。
所述的SPI模塊4是一個(gè)串行外圍接口模塊,是使用硬件描述語(yǔ)言Verilog HDL編 寫(xiě)代碼,然后下載到FPGA芯片中形成的硬件模塊,其作用是SPI模塊將數(shù)據(jù)送出到SPI 總線,或者,接收SPI總線上的數(shù)據(jù)。
所述的網(wǎng)絡(luò)芯片5型號(hào)為韓國(guó)Wiznet公司的W5100芯片。
所述的網(wǎng)絡(luò)接口 6型號(hào)為常用的以太網(wǎng)接口 RJ45。
權(quán)利要求
1、一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,將DW8051核下載到FPGA芯片,形成一個(gè)處理器,該處理器通過(guò)SFR總線與SFR譯碼模塊連接,SFR譯碼模塊與SPI模塊相連接,SPI模塊通過(guò)SPI總線與網(wǎng)絡(luò)芯片進(jìn)行數(shù)據(jù)通信,網(wǎng)絡(luò)芯片通過(guò)網(wǎng)絡(luò)接口傳輸數(shù)據(jù)到以太網(wǎng)或接受來(lái)自以太網(wǎng)的數(shù)據(jù),從而實(shí)現(xiàn)片上可編程系統(tǒng)與以太網(wǎng)的通信。
2、 如權(quán)利要求l所述的一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,所 述的FPGA芯片是一個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列,型號(hào)為美國(guó)ALTERA公司的Cyclone II EP2C20 心片。
3、 如權(quán)利要求l所述的一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,所 述的DW8051核是代碼模塊,為美國(guó)Synopsys公司Design Ware庫(kù)中的一個(gè)IP核。
4、 如權(quán)利要求l所述的一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,所 述的SFR譯碼模塊為特殊功能寄存器譯碼模塊,是使用硬件描述語(yǔ)言Verilog HDL編寫(xiě) 代碼,然后下載到FPGA芯片中形成的硬件模塊,其作用是,把有關(guān)數(shù)據(jù)傳遞到SPI模塊, 或者,接受來(lái)自SPI模塊的數(shù)據(jù),把數(shù)據(jù)存儲(chǔ)到DW8051模塊的相應(yīng)寄存器。
5、 如權(quán)利要求l所述的一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,所 述的SPI模塊是一個(gè)串行外圍接口模塊,是使用硬件描述語(yǔ)言Verilog HDL編寫(xiě)代碼, 然后下載到FPGA芯片中形成的硬件模塊,其作用是SPI模塊將數(shù)據(jù)送出到SPI總線,或 者,接收SPI總線上的數(shù)據(jù)。
6、 如權(quán)利要求l所述的一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,所 述的網(wǎng)絡(luò)芯片型號(hào)為韓國(guó)Wiznet公司的W5100芯片。
7、 如權(quán)利要求l所述的一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,其特征在于,所 述的網(wǎng)絡(luò)接口型號(hào)為常用的以太網(wǎng)接口 RJ45。
全文摘要
一種片上可編程系統(tǒng)連接到以太網(wǎng)的方法,屬于電子信息技術(shù)領(lǐng)域。將DW8051核下載到FPGA芯片,形成一個(gè)處理器,該處理器通過(guò)SFR總線與SFR譯碼模塊連接,SFR譯碼模塊與SPI模塊相連接,SPI模塊通過(guò)SPI總線與網(wǎng)絡(luò)芯片進(jìn)行數(shù)據(jù)通信,網(wǎng)絡(luò)芯片通過(guò)網(wǎng)絡(luò)接口傳輸數(shù)據(jù)到以太網(wǎng)或接受來(lái)自以太網(wǎng)的數(shù)據(jù)。FPGA芯片為美國(guó)ALTERA公司的Cyclone II EP2C20芯片,DW8051核是代碼模塊,SFR譯碼模塊為特殊功能寄存器譯碼模塊,SPI模塊是一個(gè)串行外圍接口模塊,網(wǎng)絡(luò)芯片型號(hào)為韓國(guó)Wiznet公司的W5100芯片。網(wǎng)絡(luò)接口型號(hào)為常用的以太網(wǎng)接口RJ45。本發(fā)明不需要使用硬件描述語(yǔ)言編寫(xiě)復(fù)雜的以太網(wǎng)聯(lián)網(wǎng)模塊,硬件實(shí)現(xiàn)簡(jiǎn)單、方便,縮減了產(chǎn)品開(kāi)發(fā)時(shí)間。
文檔編號(hào)H04L29/06GK101651673SQ20091001876
公開(kāi)日2010年2月17日 申請(qǐng)日期2009年9月17日 優(yōu)先權(quán)日2009年9月17日
發(fā)明者仝紅紅, 楠 岑, 超 徐, 徐加利, 賀 林, 恒 王, 王鳳菊, 石祚夫, 全 苗, 袁東風(fēng), 賈會(huì)超, 斌 魏, 權(quán) 黃 申請(qǐng)人:山東大學(xué)