基于嵌入式SoPC的以太網(wǎng)接口設(shè)備
發(fā)布時間:2007/8/28 0:00:00 訪問次數(shù):410
作者:南京電子技術(shù)研究所 林振華 盛磊 來源:今日電子
SoC(片上系統(tǒng))的概念已日益普及,而隨著FPGA技術(shù)的迅速發(fā)展,可編程系統(tǒng)芯片(SoPC)作為一種特殊的嵌入式微處理器系統(tǒng),融合了SoC和FPGA各自的優(yōu)點,并具備軟硬件在系統(tǒng)可編程、可裁減、可擴充、可升級的功能,已逐漸成為一個新興的技術(shù)方向。SoPC的核心是在FPGA上實現(xiàn)的嵌入式微處理器核,目前主要有Xilinx公司的32位軟核MicroBlaze、32位PowerPC系列處理器硬核PowerPC 405,以及Altera公司的Nios系列微處理器軟核等。
本文介紹的系統(tǒng)是一個以PowerPC 405為微處理器,基于VME總線的以太網(wǎng)接口設(shè)備,它通過以太網(wǎng)和VME總線接口,實現(xiàn)VME系統(tǒng)與外部局域網(wǎng)的實時數(shù)據(jù)交換。
硬件開發(fā)
開發(fā)采用Xilinx公司的EDK7.1(嵌入式開發(fā)套件)和ISE7.1工具軟件。EDK工具包中集成了硬件平臺生成器(Platgen)、軟件平臺生成器(Libgen)、仿真模型生成器(Simgen)、軟件編譯器(Mb-gcc/ppc-gcc)和軟件調(diào)試工具(Mb-gdb/ppc-gdb)等,通過提供的集成開發(fā)環(huán)境XPS,用戶可以調(diào)用上述所有工具,來完成嵌入式系統(tǒng)開發(fā)的整個流程。
首先在XPS界面環(huán)境下生成硬件系統(tǒng)框架并添加所需的IP核,也可以用文本編輯器直接編寫硬件描述文件 (.MHS文件),再調(diào)用Platgen將其生成嵌入式處理系統(tǒng)的網(wǎng)表文件(.NGC文件);然后通過系統(tǒng)生成或手工編輯的軟件描述文件(.MSS文件)來設(shè)置系統(tǒng)軟件配置,并調(diào)用Libgen生成驅(qū)動層和庫。雖然EDK的IP庫中有一些很有用的功能模塊和外設(shè)接口的IP核,如DCM(數(shù)字時鐘管理器)、處理器復位、PLB/OPB總線接口、外部存儲控制器(EMC)、UART、GPIO、中斷控制器、定時器等,充分利用這些資源就可以構(gòu)建一個較為完善的嵌入式微處理器系統(tǒng),但是對于許多有特殊專用電路的嵌入式計算機系統(tǒng)的應(yīng)用還是不夠的。如何將用戶專用電路設(shè)計到EDK系統(tǒng)中,一般有兩種方法,第一種是將EDK工程作為一個子系統(tǒng)在XPS中用Export to PorjNav生成ISE工程,然后在ISE中將專用電路和處理器子系統(tǒng)(system.vhd)合成為頂層HDL文件(system_stub.vhd)后,在ISE中完成綜合布線,最后在XPS中用Import from PorjNav得到硬件的.bit文件,便可以回到XPS中完成和應(yīng)用軟件的合成、下載和調(diào)試了。第二種方法是將專用電路設(shè)計成為用戶自定義的IP Core,然后直接在系統(tǒng)中調(diào)用來實現(xiàn)。自定義的IP Core用HDL設(shè)計并要滿足EDK的規(guī)范,如有專門目錄結(jié)構(gòu)和處理器外設(shè)定義文件(.MPD)、外設(shè)分析定義文件(.PAO)等。如果自定義的IP Core要具有軟件驅(qū)動,那設(shè)計還要完全符合相應(yīng)的PLB或OPB總線接口規(guī)范。完成了硬件和驅(qū)動的設(shè)計后,就可以在XPS工程中添加應(yīng)用軟件項目并編寫應(yīng)用軟件,然后調(diào)用處理器對應(yīng)的編譯器編譯并和硬件綜合后生成的.bit文件合成后下載到目標板便可以進行調(diào)試了。
本系統(tǒng)硬件組成框圖如圖1所示。本設(shè)計選用Virtex-II Pro系列FPGA芯片XC2VP40,將系統(tǒng)的程序存儲器和數(shù)據(jù)存儲器都放在片內(nèi)用Block RAM來實現(xiàn),在系統(tǒng)中添加DCM模塊,將外部參考時鐘4倍頻提供給PowerPC 405作處理器時鐘,并分頻后再送給OPB總線作總線時鐘,降低慢速外設(shè)的總線速度,使系統(tǒng)搭配更合理。
圖1 系統(tǒng)硬件組成框圖
PowerPC 405是此嵌入式系統(tǒng)的核心,它通過PLB總線實現(xiàn)和程序存儲器和數(shù)據(jù)存儲器的快速通道,并通過PLB-OPB橋?qū)崿F(xiàn)了片上的OPB總線,然后通過OPB總線進行各種外設(shè)的擴展,OPB外設(shè)包括一個RS232串口,一個OPB_EMC用于擴展以太網(wǎng)控制器芯片,一個GPIO作以太網(wǎng)控制器輸出的中斷請求,一個中斷控制器OPB_INTC將GPIO輸入的外部中斷通知PowerPC 405并可以設(shè)置優(yōu)先級,還有一個用戶自定義的IP Core用于實現(xiàn)和VME總線的接口電路。
PowerPC 405 是專門為嵌入式應(yīng)用而設(shè)計的高性能32位PowerPC系列處理器芯核,對于Virtex-II Pro系列FPGA,其實現(xiàn)型號為PowerPC 405D5。
PLB是處理器本機總線,它為指令和數(shù)據(jù)一側(cè)提供獨立的32位地址和64位數(shù)據(jù)總線。PLB總線架構(gòu)支持多主從設(shè)備,每一個PLB主控機通過獨立的地址總線、讀數(shù)據(jù)總線和寫數(shù)據(jù)總線與PLB連接,有一個中央判決機構(gòu)來授權(quán)對PLB的訪問以允許主控機通過競爭來獲得總線的所有權(quán)。OPB是片上外設(shè)總線,提供分離的32位地址總線和32位數(shù)據(jù)總線,一般用來訪問低速和低性能的系統(tǒng)資源。它是一種完全同步總線,但不直接連接到處理器內(nèi)核,處理器內(nèi)核通過“PLB to OPB”橋和OPB總線來訪問OPB接口外設(shè)。
網(wǎng)絡(luò)控制器采用Cirrus Logic公司的通用單片10/100M以太網(wǎng)控制器CS8900A,該芯片完全遵從與IEEE 802.3以太網(wǎng)標準,支持完全的全雙工操作。應(yīng)用EDK的OPB_EMC IP可以很方便地將CS8900A擴展為系統(tǒng)OPB總線上的一個設(shè)備,只要將EMC端口的地址、數(shù)據(jù)總線以及控制信號分別接到CS8900A的地址、數(shù)據(jù)總線和控制端口上,并將
作者:南京電子技術(shù)研究所 林振華 盛磊 來源:今日電子
SoC(片上系統(tǒng))的概念已日益普及,而隨著FPGA技術(shù)的迅速發(fā)展,可編程系統(tǒng)芯片(SoPC)作為一種特殊的嵌入式微處理器系統(tǒng),融合了SoC和FPGA各自的優(yōu)點,并具備軟硬件在系統(tǒng)可編程、可裁減、可擴充、可升級的功能,已逐漸成為一個新興的技術(shù)方向。SoPC的核心是在FPGA上實現(xiàn)的嵌入式微處理器核,目前主要有Xilinx公司的32位軟核MicroBlaze、32位PowerPC系列處理器硬核PowerPC 405,以及Altera公司的Nios系列微處理器軟核等。
本文介紹的系統(tǒng)是一個以PowerPC 405為微處理器,基于VME總線的以太網(wǎng)接口設(shè)備,它通過以太網(wǎng)和VME總線接口,實現(xiàn)VME系統(tǒng)與外部局域網(wǎng)的實時數(shù)據(jù)交換。
硬件開發(fā)
開發(fā)采用Xilinx公司的EDK7.1(嵌入式開發(fā)套件)和ISE7.1工具軟件。EDK工具包中集成了硬件平臺生成器(Platgen)、軟件平臺生成器(Libgen)、仿真模型生成器(Simgen)、軟件編譯器(Mb-gcc/ppc-gcc)和軟件調(diào)試工具(Mb-gdb/ppc-gdb)等,通過提供的集成開發(fā)環(huán)境XPS,用戶可以調(diào)用上述所有工具,來完成嵌入式系統(tǒng)開發(fā)的整個流程。
首先在XPS界面環(huán)境下生成硬件系統(tǒng)框架并添加所需的IP核,也可以用文本編輯器直接編寫硬件描述文件 (.MHS文件),再調(diào)用Platgen將其生成嵌入式處理系統(tǒng)的網(wǎng)表文件(.NGC文件);然后通過系統(tǒng)生成或手工編輯的軟件描述文件(.MSS文件)來設(shè)置系統(tǒng)軟件配置,并調(diào)用Libgen生成驅(qū)動層和庫。雖然EDK的IP庫中有一些很有用的功能模塊和外設(shè)接口的IP核,如DCM(數(shù)字時鐘管理器)、處理器復位、PLB/OPB總線接口、外部存儲控制器(EMC)、UART、GPIO、中斷控制器、定時器等,充分利用這些資源就可以構(gòu)建一個較為完善的嵌入式微處理器系統(tǒng),但是對于許多有特殊專用電路的嵌入式計算機系統(tǒng)的應(yīng)用還是不夠的。如何將用戶專用電路設(shè)計到EDK系統(tǒng)中,一般有兩種方法,第一種是將EDK工程作為一個子系統(tǒng)在XPS中用Export to PorjNav生成ISE工程,然后在ISE中將專用電路和處理器子系統(tǒng)(system.vhd)合成為頂層HDL文件(system_stub.vhd)后,在ISE中完成綜合布線,最后在XPS中用Import from PorjNav得到硬件的.bit文件,便可以回到XPS中完成和應(yīng)用軟件的合成、下載和調(diào)試了。第二種方法是將專用電路設(shè)計成為用戶自定義的IP Core,然后直接在系統(tǒng)中調(diào)用來實現(xiàn)。自定義的IP Core用HDL設(shè)計并要滿足EDK的規(guī)范,如有專門目錄結(jié)構(gòu)和處理器外設(shè)定義文件(.MPD)、外設(shè)分析定義文件(.PAO)等。如果自定義的IP Core要具有軟件驅(qū)動,那設(shè)計還要完全符合相應(yīng)的PLB或OPB總線接口規(guī)范。完成了硬件和驅(qū)動的設(shè)計后,就可以在XPS工程中添加應(yīng)用軟件項目并編寫應(yīng)用軟件,然后調(diào)用處理器對應(yīng)的編譯器編譯并和硬件綜合后生成的.bit文件合成后下載到目標板便可以進行調(diào)試了。
本系統(tǒng)硬件組成框圖如圖1所示。本設(shè)計選用Virtex-II Pro系列FPGA芯片XC2VP40,將系統(tǒng)的程序存儲器和數(shù)據(jù)存儲器都放在片內(nèi)用Block RAM來實現(xiàn),在系統(tǒng)中添加DCM模塊,將外部參考時鐘4倍頻提供給PowerPC 405作處理器時鐘,并分頻后再送給OPB總線作總線時鐘,降低慢速外設(shè)的總線速度,使系統(tǒng)搭配更合理。
圖1 系統(tǒng)硬件組成框圖
PowerPC 405是此嵌入式系統(tǒng)的核心,它通過PLB總線實現(xiàn)和程序存儲器和數(shù)據(jù)存儲器的快速通道,并通過PLB-OPB橋?qū)崿F(xiàn)了片上的OPB總線,然后通過OPB總線進行各種外設(shè)的擴展,OPB外設(shè)包括一個RS232串口,一個OPB_EMC用于擴展以太網(wǎng)控制器芯片,一個GPIO作以太網(wǎng)控制器輸出的中斷請求,一個中斷控制器OPB_INTC將GPIO輸入的外部中斷通知PowerPC 405并可以設(shè)置優(yōu)先級,還有一個用戶自定義的IP Core用于實現(xiàn)和VME總線的接口電路。
PowerPC 405 是專門為嵌入式應(yīng)用而設(shè)計的高性能32位PowerPC系列處理器芯核,對于Virtex-II Pro系列FPGA,其實現(xiàn)型號為PowerPC 405D5。
PLB是處理器本機總線,它為指令和數(shù)據(jù)一側(cè)提供獨立的32位地址和64位數(shù)據(jù)總線。PLB總線架構(gòu)支持多主從設(shè)備,每一個PLB主控機通過獨立的地址總線、讀數(shù)據(jù)總線和寫數(shù)據(jù)總線與PLB連接,有一個中央判決機構(gòu)來授權(quán)對PLB的訪問以允許主控機通過競爭來獲得總線的所有權(quán)。OPB是片上外設(shè)總線,提供分離的32位地址總線和32位數(shù)據(jù)總線,一般用來訪問低速和低性能的系統(tǒng)資源。它是一種完全同步總線,但不直接連接到處理器內(nèi)核,處理器內(nèi)核通過“PLB to OPB”橋和OPB總線來訪問OPB接口外設(shè)。
網(wǎng)絡(luò)控制器采用Cirrus Logic公司的通用單片10/100M以太網(wǎng)控制器CS8900A,該芯片完全遵從與IEEE 802.3以太網(wǎng)標準,支持完全的全雙工操作。應(yīng)用EDK的OPB_EMC IP可以很方便地將CS8900A擴展為系統(tǒng)OPB總線上的一個設(shè)備,只要將EMC端口的地址、數(shù)據(jù)總線以及控制信號分別接到CS8900A的地址、數(shù)據(jù)總線和控制端口上,并將
熱門點擊
- 嵌入式LwIP協(xié)議棧的內(nèi)存管理
- 基于嵌入式Linux的BACnet控制器軟件
- 面向多媒體應(yīng)用的嵌入式Linux實時性研究
- RF功率MOSFET產(chǎn)品及其工藝開發(fā)
- TLC320AIC23在音頻處理中的應(yīng)用
- 基于嵌入式微處理器EP9315的二次開發(fā)技術(shù)
- 用GNU工具開發(fā)基于ARM的嵌入式系統(tǒng)
- 基于模型和產(chǎn)品代碼生成的汽車嵌入式系統(tǒng)設(shè)計
- 基于嵌入式Web的電子交警系統(tǒng)
- 基于LPC2214的家庭智能終端的設(shè)計與實現(xiàn)
推薦技術(shù)資料
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究