資料介紹
在SoPC上實現的波形發生器:可編程片上系統(SoPC)設計是一個嶄新的、富有生機的嵌入式系統設計方向。嵌入式集成化設計已成為電子領域發展的一個重要方向。Xilinx提供的EDK正是用于創建基于FPGA的嵌入式系統的開發工具包。本文介紹基于SoPC的波形發生器在EDK工具包下的設計與實現。本設計采用嵌入式軟處理器核 MicroBlaze以及自主編寫的包括實現DDS在內的多種IP Core,最大限度地實現系統的集成化。
關鍵詞:SoPC IPCore EDK MicroBlaze DDS 波形發生器
引 言
SoPC可編程片上系統是一種特殊的嵌入式微處理器系統。首先,它是片上系統(SoC),即由單個芯片完成整個系統的主要邏輯功能;其次,它是可編程系統,以FPGA為硬件基礎,具有靈活的設計方式,可裁減、可擴充、可升級,并具備軟硬件系統在線可編程的功能。
IP(Intellectual Property)知識產權是SoC設計中非常重要的內容。資源復用(IP Reuse)是指在集成電路設計過程中,通過繼承、共享或購買所需的部分或全部知識產權內核(IP Core)進行設計、綜合和驗證,從而加速流片設計過程的設計方法。IP技術包含兩個方面的內容:IP核的生成和IP核的重用。本設計中采用VHDL語言,構建一個功能強大的完整DDS模塊,并根據IBM CoreConnect總線連接規范,在DDS模塊外面添加OPB(On?chip Peripheral Bus)片上外設總線接口,封裝為自定義IP,添加到硬件系統中。
對于本設計來說,利用SoPC和IP的優勢是可以利用最少的元器件,創建一個易配置、易擴展、易修改并且易于繼承使用的集成系統。該系統的創建是基于Xilinx公司提供的嵌入式開發工具包EDK(Embedded Development Kit)來實現的。EDK自帶了MicroBlaze軟核和PowerPC硬核微處理器及大量免費IP,有利于構建簡易系統。針對MicroBlaze及PowerPC提供的C語言編譯器,可使系統的功能實現更加簡易。對基于MicroBlaze的系統,MicroBlaze通過OPB總線與外設IP及外部存儲器控制接口相連接,通過LMB(Local Memory Bus)總線與FPGA片上塊存儲器BRAM(Block RAM)相連接,還可以通過EMC(External Memory Control)等存儲器控制IP擴展片外RAM或ROM。
1 系統的架構
本設計采用SoPC可編程片上系統的思想,利用Xilinx的Spartan3系列XC3S400 FPGA,通過EDK開發工具包的集成開發環境XPS(Xilinx Platform Studio)完成了FPGA硬件系統設計及基于此硬件系統的軟件開發。圖1是基于EDK的系統開發設計流程圖,設計分為硬件設計和軟件設計兩部分。硬件設計符合基于HDL硬件描述語言的EDA開發流程,是根據硬件系統合理使用總線IP和外設IP,并為各個實例定義地址范圍以及輸出端口和時鐘,經過綜合及布線后形成硬件配置文件。軟件設計與傳統的嵌入式軟件開發設計類似,是在硬件設計的基礎上根據處理器所支持的指令集以及編譯環境編寫程序代碼,然后對代碼編譯燒寫及調試。
圖1EDK系統開發流程圖
該設計通過FPGA實現所有數字部分。系統的示意圖如圖2所示。
圖2系統示意圖
?
圖3FPGA內部的硬件系統
?
圖4MicroBlaze處理器架構圖
在FPGA內部,以MicroBlaze為控制核心,以DDS IP為波形發生功能實現核心,同時加入了其他的IP核,諸如調試用的MDM(Microprocessor Debug Module),用于與PC進行通信的UART(Universal Asynchronous Receiver & Transmitter)通用異步傳輸模塊,以及LCD顯示和4×4按鍵控制模塊,實現了系統的高度集成。FPGA硬件系統為數字系統產生數字量,外圍電路加上高速數模轉換器件DAC902,把波形數據轉換為模擬波形,即實現了完整的可編程片上系統的波形發生器。
2 硬件系統的具體實現
本設計以32位MicroBlaze軟核處理器為系統的核心部分,負責指令的執行。各種IP包括自主編寫的以及EDK自帶的,使用XPS下的ADD/Edit Cores工具,通過相應類型的總線連接到MicroBlaze上。其中UART、LCD、GPIO和自主編寫的DDS的IP都是通過OPB(On?chip Peripheral Bus)片上外設總線連接到處理器上的。程序存儲器RAM則是由FPGA內部的BRAM實現,并通過LMB(Local Memory Bus)本地存儲器總線與MicroBlaze相連接。自主編寫的IP與總線間的接口符合CoreConnect規范,實現了IP間的無縫結合,方便了數據的讀寫及時序控制。圖3給出了在FPGA內部由各種IP組合成的可編程硬件系統。
硬件系統所包含的器件如圖3右部分所示。Microblaze_0是該系統的CPU,其中的debug_module為調試模塊,dlmb_cntlr和 ilmb_cntlr為片上BRAM控制器。Lmb_bram為片上BRAM,它通過LMB總線與 BRAM控制器相連,接受CPU的讀寫訪問。DDFS是為實現DDS編寫的IP模塊。RS232為UART模塊,用于與其他設備的通信以及程序調試。LCD IP負責128×64點陣液晶的顯示控制。 COL和ROW是例化后的GPIO接口,用于連接4×4鍵盤。
2.1 MicroBlaze軟核處理器
MicroBlaze是Xilinx提供的32位微處理器IP核,是哈佛結構的RISC微處理器,有較高的性能。它可以在性價比很高的SpartanIII系列FPGA上實現。EDK為其提供了MBGCC,支持C及C++語言。 MicroBlaze架構如圖4所示。
該處理器含有32個32位的通用寄存器,2個專用寄存器,獨立的32位數據和指令總線,并與IBM的OPB總線完全兼容,具有32位的指令寬度支持三個操作數和兩種尋址模式,以及可選的硬件乘除法及浮點運算單元。
- 基于dac0832的波形發生器設計與實現
- 基于USB的任意波形發生器 14次下載
- 波形發生器的PCB原理圖免費下載 56次下載
- 關于波形發生器的設計 120次下載
- 波形發生器應用的測量 1次下載
- 波形發生器 180次下載
- 簡易波形發生器 29次下載
- 波形發生器軟件 4次下載
- 波形發生器的設計 30次下載
- 波形發生器電路的設計與制作 0次下載
- 波形發生器 30次下載
- 波形發生器設計簡述 0次下載
- FPGA實現智能函數發生器設計 56次下載
- 波形發生器設計指導教材
- 波形發生器設計
- 任意波形發生器和矢量信號發生器有什么區別 3102次閱讀
- 什么是任意波形發生器 1099次閱讀
- 任意波形發生器中波形生成方法 992次閱讀
- 任意波形發生器的使用方法 1505次閱讀
- 任意波形發生器的定義、特點及應用 1360次閱讀
- 任意波形發生器如何輸出電壓 866次閱讀
- 任意波形發生器與示波器怎么連接 1100次閱讀
- 任意波形發生器在汽車電子測試中的應用 574次閱讀
- 任意波形發生器可以產生哪些波形 764次閱讀
- 函數發生器、信號發生器和波形發生器的區別 1704次閱讀
- 波形發生器的詳細解析 1550次閱讀
- 基于STM32的波形發生器設計 3690次閱讀
- 使用pwm波形發生器 首先要掌握以下知識 5400次閱讀
- 高速任意波形發生器的原理及硬件設計方案 7942次閱讀
- 函數信號發生器的介紹和任意波形發生器為什么是仿真實驗的最佳儀器 7453次閱讀
下載排行
本周
- 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 專業版下載 (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次下載 | 免費
評論
查看更多