資料介紹
在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次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 3次下載 | 免費
- 2AN-1267: 使用ADSP-CM408F ADC控制器的電機控制反饋采樣時序
- 1.41MB | 3次下載 | 免費
- 3AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 4AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 5AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 6AN153-用于電源系統管理的Linduino
- 1.38MB | 次下載 | 免費
- 7AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 8SM2018E 支持可控硅調光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 5美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 18次下載 | 免費
- 7感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論