資料介紹
在SoPC上實現(xiàn)的波形發(fā)生器:可編程片上系統(tǒng)(SoPC)設計是一個嶄新的、富有生機的嵌入式系統(tǒng)設計方向。嵌入式集成化設計已成為電子領域發(fā)展的一個重要方向。Xilinx提供的EDK正是用于創(chuàng)建基于FPGA的嵌入式系統(tǒng)的開發(fā)工具包。本文介紹基于SoPC的波形發(fā)生器在EDK工具包下的設計與實現(xiàn)。本設計采用嵌入式軟處理器核 MicroBlaze以及自主編寫的包括實現(xiàn)DDS在內的多種IP Core,最大限度地實現(xiàn)系統(tǒng)的集成化。
關鍵詞:SoPC IPCore EDK MicroBlaze DDS 波形發(fā)生器
引 言
SoPC可編程片上系統(tǒng)是一種特殊的嵌入式微處理器系統(tǒng)。首先,它是片上系統(tǒng)(SoC),即由單個芯片完成整個系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),以FPGA為硬件基礎,具有靈活的設計方式,可裁減、可擴充、可升級,并具備軟硬件系統(tǒng)在線可編程的功能。
IP(Intellectual Property)知識產權是SoC設計中非常重要的內容。資源復用(IP Reuse)是指在集成電路設計過程中,通過繼承、共享或購買所需的部分或全部知識產權內核(IP Core)進行設計、綜合和驗證,從而加速流片設計過程的設計方法。IP技術包含兩個方面的內容:IP核的生成和IP核的重用。本設計中采用VHDL語言,構建一個功能強大的完整DDS模塊,并根據(jù)IBM CoreConnect總線連接規(guī)范,在DDS模塊外面添加OPB(On?chip Peripheral Bus)片上外設總線接口,封裝為自定義IP,添加到硬件系統(tǒng)中。
對于本設計來說,利用SoPC和IP的優(yōu)勢是可以利用最少的元器件,創(chuàng)建一個易配置、易擴展、易修改并且易于繼承使用的集成系統(tǒng)。該系統(tǒng)的創(chuàng)建是基于Xilinx公司提供的嵌入式開發(fā)工具包EDK(Embedded Development Kit)來實現(xiàn)的。EDK自帶了MicroBlaze軟核和PowerPC硬核微處理器及大量免費IP,有利于構建簡易系統(tǒng)。針對MicroBlaze及PowerPC提供的C語言編譯器,可使系統(tǒng)的功能實現(xiàn)更加簡易。對基于MicroBlaze的系統(tǒng),MicroBlaze通過OPB總線與外設IP及外部存儲器控制接口相連接,通過LMB(Local Memory Bus)總線與FPGA片上塊存儲器BRAM(Block RAM)相連接,還可以通過EMC(External Memory Control)等存儲器控制IP擴展片外RAM或ROM。
1 系統(tǒng)的架構
本設計采用SoPC可編程片上系統(tǒng)的思想,利用Xilinx的Spartan3系列XC3S400 FPGA,通過EDK開發(fā)工具包的集成開發(fā)環(huán)境XPS(Xilinx Platform Studio)完成了FPGA硬件系統(tǒng)設計及基于此硬件系統(tǒng)的軟件開發(fā)。圖1是基于EDK的系統(tǒng)開發(fā)設計流程圖,設計分為硬件設計和軟件設計兩部分。硬件設計符合基于HDL硬件描述語言的EDA開發(fā)流程,是根據(jù)硬件系統(tǒng)合理使用總線IP和外設IP,并為各個實例定義地址范圍以及輸出端口和時鐘,經過綜合及布線后形成硬件配置文件。軟件設計與傳統(tǒng)的嵌入式軟件開發(fā)設計類似,是在硬件設計的基礎上根據(jù)處理器所支持的指令集以及編譯環(huán)境編寫程序代碼,然后對代碼編譯燒寫及調試。
圖1EDK系統(tǒng)開發(fā)流程圖
該設計通過FPGA實現(xiàn)所有數(shù)字部分。系統(tǒng)的示意圖如圖2所示。
圖2系統(tǒng)示意圖
?
圖3FPGA內部的硬件系統(tǒng)
?
圖4MicroBlaze處理器架構圖
在FPGA內部,以MicroBlaze為控制核心,以DDS IP為波形發(fā)生功能實現(xiàn)核心,同時加入了其他的IP核,諸如調試用的MDM(Microprocessor Debug Module),用于與PC進行通信的UART(Universal Asynchronous Receiver & Transmitter)通用異步傳輸模塊,以及LCD顯示和4×4按鍵控制模塊,實現(xiàn)了系統(tǒng)的高度集成。FPGA硬件系統(tǒng)為數(shù)字系統(tǒng)產生數(shù)字量,外圍電路加上高速數(shù)模轉換器件DAC902,把波形數(shù)據(jù)轉換為模擬波形,即實現(xiàn)了完整的可編程片上系統(tǒng)的波形發(fā)生器。
2 硬件系統(tǒng)的具體實現(xiàn)
本設計以32位MicroBlaze軟核處理器為系統(tǒng)的核心部分,負責指令的執(zhí)行。各種IP包括自主編寫的以及EDK自帶的,使用XPS下的ADD/Edit Cores工具,通過相應類型的總線連接到MicroBlaze上。其中UART、LCD、GPIO和自主編寫的DDS的IP都是通過OPB(On?chip Peripheral Bus)片上外設總線連接到處理器上的。程序存儲器RAM則是由FPGA內部的BRAM實現(xiàn),并通過LMB(Local Memory Bus)本地存儲器總線與MicroBlaze相連接。自主編寫的IP與總線間的接口符合CoreConnect規(guī)范,實現(xiàn)了IP間的無縫結合,方便了數(shù)據(jù)的讀寫及時序控制。圖3給出了在FPGA內部由各種IP組合成的可編程硬件系統(tǒng)。
硬件系統(tǒng)所包含的器件如圖3右部分所示。Microblaze_0是該系統(tǒng)的CPU,其中的debug_module為調試模塊,dlmb_cntlr和 ilmb_cntlr為片上BRAM控制器。Lmb_bram為片上BRAM,它通過LMB總線與 BRAM控制器相連,接受CPU的讀寫訪問。DDFS是為實現(xiàn)DDS編寫的IP模塊。RS232為UART模塊,用于與其他設備的通信以及程序調試。LCD IP負責128×64點陣液晶的顯示控制。 COL和ROW是例化后的GPIO接口,用于連接4×4鍵盤。
2.1 MicroBlaze軟核處理器
MicroBlaze是Xilinx提供的32位微處理器IP核,是哈佛結構的RISC微處理器,有較高的性能。它可以在性價比很高的SpartanIII系列FPGA上實現(xiàn)。EDK為其提供了MBGCC,支持C及C++語言。 MicroBlaze架構如圖4所示。
該處理器含有32個32位的通用寄存器,2個專用寄存器,獨立的32位數(shù)據(jù)和指令總線,并與IBM的OPB總線完全兼容,具有32位的指令寬度支持三個操作數(shù)和兩種尋址模式,以及可選的硬件乘除法及浮點運算單元。
- 基于dac0832的波形發(fā)生器設計與實現(xiàn)
- 基于USB的任意波形發(fā)生器 14次下載
- 波形發(fā)生器的PCB原理圖免費下載 52次下載
- 關于波形發(fā)生器的設計 120次下載
- 波形發(fā)生器應用的測量 1次下載
- 波形發(fā)生器 179次下載
- 簡易波形發(fā)生器 29次下載
- 波形發(fā)生器軟件 4次下載
- 波形發(fā)生器的設計 29次下載
- 波形發(fā)生器電路的設計與制作 0次下載
- 波形發(fā)生器 30次下載
- 波形發(fā)生器設計簡述 0次下載
- FPGA實現(xiàn)智能函數(shù)發(fā)生器設計 55次下載
- 波形發(fā)生器設計指導教材
- 波形發(fā)生器設計
- 任意波形發(fā)生器和矢量信號發(fā)生器有什么區(qū)別 1203次閱讀
- 什么是任意波形發(fā)生器 570次閱讀
- 任意波形發(fā)生器中波形生成方法 454次閱讀
- 任意波形發(fā)生器的使用方法 661次閱讀
- 任意波形發(fā)生器的定義、特點及應用 876次閱讀
- 任意波形發(fā)生器如何輸出電壓 521次閱讀
- 任意波形發(fā)生器與示波器怎么連接 536次閱讀
- 任意波形發(fā)生器在汽車電子測試中的應用 361次閱讀
- 任意波形發(fā)生器可以產生哪些波形 429次閱讀
- 函數(shù)發(fā)生器、信號發(fā)生器和波形發(fā)生器的區(qū)別 967次閱讀
- 波形發(fā)生器的詳細解析 817次閱讀
- 基于STM32的波形發(fā)生器設計 2792次閱讀
- 使用pwm波形發(fā)生器 首先要掌握以下知識 4947次閱讀
- 高速任意波形發(fā)生器的原理及硬件設計方案 7587次閱讀
- 函數(shù)信號發(fā)生器的介紹和任意波形發(fā)生器為什么是仿真實驗的最佳儀器 7179次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多