當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]在SoPC上實現(xiàn)的波形發(fā)生器

摘要:可編程片上系統(tǒng)(SoPC)設(shè)計是一個嶄新的、富有生機的嵌入式系統(tǒng)設(shè)計方向。嵌入式集成化設(shè)計已成為電子領(lǐng)域發(fā)展的一個重要方向。Xilinx提供的EDK正是用于創(chuàng)建基于FPGA的嵌入式系統(tǒng)的開發(fā)工具包。本文介紹基于SoPC的波形發(fā)生器在EDK工具包下的設(shè)計與實現(xiàn)。本設(shè)計采用嵌入式軟處理器核 MicroBlaze以及自主編寫的包括實現(xiàn)DDS在內(nèi)的多種IP Core,最大限度地實現(xiàn)系統(tǒng)的集成化。

關(guān)鍵詞:SoPC IPCore EDK MicroBlaze DDS 波形發(fā)生器

引 言

  SoPC可編程片上系統(tǒng)是一種特殊的嵌入式微處理器系統(tǒng)。首先,它是片上系統(tǒng)(SoC),即由單個芯片完成整個系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),以FPGA為硬件基礎(chǔ),具有靈活的設(shè)計方式,可裁減、可擴充、可升級,并具備軟硬件系統(tǒng)在線可編程的功能。

  IP(Intellectual Property)知識產(chǎn)權(quán)是SoC設(shè)計中非常重要的內(nèi)容。資源復(fù)用(IP Reuse)是指在集成電路設(shè)計過程中,通過繼承、共享或購買所需的部分或全部知識產(chǎn)權(quán)內(nèi)核(IP Core)進行設(shè)計、綜合和驗證,從而加速流片設(shè)計過程的設(shè)計方法。IP技術(shù)包含兩個方面的內(nèi)容:IP核的生成和IP核的重用。本設(shè)計中采用VHDL語言,構(gòu)建一個功能強大的完整DDS模塊,并根據(jù)IBM CoreConnect總線連接規(guī)范,在DDS模塊外面添加OPB(On?chip Peripheral Bus)片上外設(shè)總線接口,封裝為自定義IP,添加到硬件系統(tǒng)中。

  對于本設(shè)計來說,利用SoPC和IP的優(yōu)勢是可以利用最少的元器件,創(chuàng)建一個易配置、易擴展、易修改并且易于繼承使用的集成系統(tǒng)。該系統(tǒng)的創(chuàng)建是基于Xilinx公司提供的嵌入式開發(fā)工具包EDK(Embedded Development Kit)來實現(xiàn)的。EDK自帶了MicroBlaze軟核和PowerPC硬核微處理器及大量免費IP,有利于構(gòu)建簡易系統(tǒng)。針對MicroBlaze及PowerPC提供的C語言編譯器,可使系統(tǒng)的功能實現(xiàn)更加簡易。對基于MicroBlaze的系統(tǒng),MicroBlaze通過OPB總線與外設(shè)IP及外部存儲器控制接口相連接,通過LMB(Local Memory Bus)總線與FPGA片上塊存儲器BRAM(Block RAM)相連接,還可以通過EMC(External Memory Control)等存儲器控制IP擴展片外RAM或ROM。

1 系統(tǒng)的架構(gòu)

  本設(shè)計采用SoPC可編程片上系統(tǒng)的思想,利用Xilinx的Spartan3系列XC3S400 FPGA,通過EDK開發(fā)工具包的集成開發(fā)環(huán)境XPS(Xilinx Platform Studio)完成了FPGA硬件系統(tǒng)設(shè)計及基于此硬件系統(tǒng)的軟件開發(fā)。圖1是基于EDK的系統(tǒng)開發(fā)設(shè)計流程圖,設(shè)計分為硬件設(shè)計和軟件設(shè)計兩部分。硬件設(shè)計符合基于HDL硬件描述語言的EDA開發(fā)流程,是根據(jù)硬件系統(tǒng)合理使用總線IP和外設(shè)IP,并為各個實例定義地址范圍以及輸出端口和時鐘,經(jīng)過綜合及布線后形成硬件配置文件。軟件設(shè)計與傳統(tǒng)的嵌入式軟件開發(fā)設(shè)計類似,是在硬件設(shè)計的基礎(chǔ)上根據(jù)處理器所支持的指令集以及編譯環(huán)境編寫程序代碼,然后對代碼編譯燒寫及調(diào)試。

      
                圖1EDK系統(tǒng)開發(fā)流程圖

  該設(shè)計通過FPGA實現(xiàn)所有數(shù)字部分。系統(tǒng)的示意圖如圖2所示。

      
                 圖2系統(tǒng)示意圖

    
                圖3FPGA內(nèi)部的硬件系統(tǒng)

  
               圖4MicroBlaze處理器架構(gòu)圖

  在FPGA內(nèi)部,以MicroBlaze為控制核心,以DDS IP為波形發(fā)生功能實現(xiàn)核心,同時加入了其他的IP核,諸如調(diào)試用的MDM(Microprocessor Debug Module),用于與PC進行通信的UART(Universal Asynchronous Receiver & Transmitter)通用異步傳輸模塊,以及LCD顯示和4×4按鍵控制模塊,實現(xiàn)了系統(tǒng)的高度集成。FPGA硬件系統(tǒng)為數(shù)字系統(tǒng)產(chǎn)生數(shù)字量,外圍電路加上高速數(shù)模轉(zhuǎn)換器件DAC902,把波形數(shù)據(jù)轉(zhuǎn)換為模擬波形,即實現(xiàn)了完整的可編程片上系統(tǒng)的波形發(fā)生器

2 硬件系統(tǒng)的具體實現(xiàn)

  本設(shè)計以32位MicroBlaze軟核處理器為系統(tǒng)的核心部分,負(fù)責(zé)指令的執(zhí)行。各種IP包括自主編寫的以及EDK自帶的,使用XPS下的ADD/Edit Cores工具,通過相應(yīng)類型的總線連接到MicroBlaze上。其中UART、LCD、GPIO和自主編寫的DDS的IP都是通過OPB(On?chip Peripheral Bus)片上外設(shè)總線連接到處理器上的。程序存儲器RAM則是由FPGA內(nèi)部的BRAM實現(xiàn),并通過LMB(Local Memory Bus)本地存儲器總線與MicroBlaze相連接。自主編寫的IP與總線間的接口符合CoreConnect規(guī)范,實現(xiàn)了IP間的無縫結(jié)合,方便了數(shù)據(jù)的讀寫及時序控制。圖3給出了在FPGA內(nèi)部由各種IP組合成的可編程硬件系統(tǒng)。

  硬件系統(tǒng)所包含的器件如圖3右部分所示。Microblaze_0是該系統(tǒng)的CPU,其中的debug_module為調(diào)試模塊,dlmb_cntlr和 ilmb_cntlr為片上BRAM控制器。Lmb_bram為片上BRAM,它通過LMB總線與 BRAM控制器相連,接受CPU的讀寫訪問。DDFS是為實現(xiàn)DDS編寫的IP模塊。RS232為UART模塊,用于與其他設(shè)備的通信以及程序調(diào)試。LCD IP負(fù)責(zé)128×64點陣液晶的顯示控制。 COL和ROW是例化后的GPIO接口,用于連接4×4鍵盤。

2.1 MicroBlaze軟核處理器

  MicroBlaze是Xilinx提供的32位微處理器IP核,是哈佛結(jié)構(gòu)的RISC微處理器,有較高的性能。它可以在性價比很高的SpartanIII系列FPGA上實現(xiàn)。EDK為其提供了MBGCC,支持C及C++語言。 MicroBlaze架構(gòu)如圖4所示。

  該處理器含有32個32位的通用寄存器,2個專用寄存器,獨立的32位數(shù)據(jù)和指令總線,并與IBM的OPB總線完全兼容,具有32位的指令寬度支持三個操作數(shù)和兩種尋址模式,以及可選的硬件乘除法及浮點運算單元。

2.2 DDS IP的實現(xiàn)

  數(shù)字直接頻率合成技術(shù)(Direct Digital Frequency Synthesis,簡稱DDS或DDFS)的基本原理是利用采樣定理,通過查表法產(chǎn)生波形,其基本電路原理如圖5所示。

  DDS的頻率及步進容易控制,且合成的頻率取決于累加器及查找表的速度,采用FPGA可以很好的發(fā)揮這項優(yōu)勢,獲得精細(xì)的步進及寬頻帶。使用HDL硬件描述語言,可以很方便的描述出DDS的FPGA硬件實例。在基本的DDS模塊上,添加相應(yīng)的控制寄存器,通過向不同的寄存器內(nèi)寫入相應(yīng)的控制字,實現(xiàn)頻率以及幅度的可控性。最后通過IBM CoreConnect技術(shù),在DDS模塊外面添加總線接口,作為自定義IP,成功地將其掛載到系統(tǒng)總線上,便可以方便的對其進行讀寫操作,實現(xiàn)DDS模塊與MicroBlaze的通信。圖6是從用戶邏輯到成為符合IBM CoreConnect技術(shù)規(guī)范的DDS IP的實現(xiàn)過程。

  DDS的VHDL代碼作為子模塊與opb_core_ssp0_ref.vhd模塊共同構(gòu)成opb_DDS IP Core,其中ipif(IP InterFace )符合IBM CoreConnect規(guī)范,負(fù)責(zé)DDS邏輯與OPB總線之間的通信。在EDK中,通過Create/Import IP工具把opb_DDS添加到系統(tǒng)中,并為其分配地址,建立端口連接,之后就可以使用該IP了。DDS IP配合控制程序可產(chǎn)生各種波形,并對頻率、幅度進行精確的控制。

2.3 其余部分

  系統(tǒng)所需要的LCD顯示、DAC控制等模塊,均通過與生成DDS IP相同的方式,編寫為符合IBM CoreConnect總線規(guī)范的IP,以供使用。

  在硬件系統(tǒng)構(gòu)建完畢之后,使用Platgen工具生成網(wǎng)表文件和Bitgen工具生成相應(yīng)的硬件配置文件。若將工程導(dǎo)入到ISE軟件中,可以進行優(yōu)化設(shè)置,還可以將工程導(dǎo)入到其他的綜合工具如Synplify Pro進行實現(xiàn)。IP核的編寫是在ISE中完成的。無論對于整個系統(tǒng)還是一個單獨的IP,都可以利用Modelsim工具進行行為及時序仿真。最后,為此系統(tǒng)描寫XBD(Xilinx Board Description)板級描述文件,通過此文件,EDK可以通過BSB(Base System Builder)模式自動生成基本的硬件系統(tǒng),并對所添加的端口進行約束,這樣可以實現(xiàn)資源的繼承性使用。


                  圖5DDS原理硬件實現(xiàn)圖

        
                 圖6DDS IP的實現(xiàn)方式示意圖

3 軟件系統(tǒng)的實現(xiàn)

  EDK提供了免費的GNU C Compiler,可以支持標(biāo)準(zhǔn)C。同時,EDK為多種IP以API的形式提供了驅(qū)動函數(shù),有利于程序的開發(fā)。XPS所集成的軟件工程管理工具允許在一個硬件平臺上同時開發(fā)多個軟件工程。完成軟件代碼的編寫后,使用EDK集成的XMD和GDB調(diào)試器對代碼進行仿真和調(diào)試,也可以配合ChipScope(片內(nèi)邏輯分析儀)進行硬件及軟件的協(xié)同調(diào)試。XMD通過MDM模塊和JTAG口連接目標(biāo)板上的CPU,GDB可以對程序進行單步調(diào)試或斷點設(shè)置。針對本設(shè)計及應(yīng)用,編寫了系統(tǒng)控制及液晶顯示程序。程序編譯后生成為elf文件,通過Update bitstream工具把程序同硬件配置文件合成為Download.bit文件,把此文件下載到目標(biāo)板后,F(xiàn)PGA首先根據(jù)硬件配置信息建立硬件系統(tǒng),并把程序代碼映射到片內(nèi)BRAM中,最后啟動MicroBlaze,運行程序。

4 總結(jié)

  本系統(tǒng)基于FPGA,以MicroBlaze為核心,加入具有良好特性的DDS IP,并輔以必要的外圍電路,構(gòu)成了高度集成化的系統(tǒng)。另外,SoPC系統(tǒng)的柔性配置,使得可以基于此系統(tǒng)擴展片外存儲器,并可以實現(xiàn)RTOS操作系統(tǒng)的移植,以實現(xiàn)更豐富的功能和完成更復(fù)雜的任務(wù)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉