《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于Spartan3在SoPC上實(shí)現(xiàn)波形發(fā)生器
基于Spartan3在SoPC上實(shí)現(xiàn)波形發(fā)生器
摘要: SoPC可編程片上系統(tǒng)是一種特殊的嵌入式微處理器系統(tǒng)。首先,它是片上系統(tǒng)(SoC),即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),以FPGA為硬件基礎(chǔ),具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級(jí),并具備軟硬件系統(tǒng)在線可編程的功能。
Abstract:
Key words :

       引 言

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

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

  對(duì)于本設(shè)計(jì)來(lái)說(shuō),利用SoPC和IP的優(yōu)勢(shì)是可以利用最少的元器件,創(chuàng)建一個(gè)易配置、易擴(kuò)展、易修改并且易于繼

 

承使用的集成系統(tǒng)。該系統(tǒng)的創(chuàng)建是基于Xilinx公司提供的嵌入式開(kāi)發(fā)工具包EDK(Embedded Development Kit)來(lái)實(shí)現(xiàn)的。EDK自帶了MicroBlaze軟核和PowerPC硬核微處理器及大量免費(fèi)IP,有利于構(gòu)建簡(jiǎn)易系統(tǒng)。針對(duì)MicroBlaze及PowerPC提供的C語(yǔ)言編譯器,可使系統(tǒng)的功能實(shí)現(xiàn)更加簡(jiǎn)易。對(duì)基于MicroBlaze的系統(tǒng),MicroBlaze通過(guò)OPB總線與外設(shè)IP及外部存儲(chǔ)器控制接口相連接,通過(guò)LMB(Local Memory Bus)總線與FPGA片上塊存儲(chǔ)器BRAM(Block RAM)相連接,還可以通過(guò)EMC(External Memory Control)等存儲(chǔ)器控制IP擴(kuò)展片外RAM或ROM。

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

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

      

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

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

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

      

系統(tǒng)示意圖

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

    

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

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



  

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

                             

 

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

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

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

  本設(shè)計(jì)以32位MicroBlaze軟核處理器為系統(tǒng)的核心部分,負(fù)責(zé)指令的執(zhí)行。各種IP包括自主編寫的以及EDK自帶的,使用XPS下的ADD/Edit Cores工具,通過(guò)相應(yīng)類型的總線連接到MicroBlaze上。其中UART、LCD、GPIO和自主編寫的DDS的IP都是通過(guò)OPB(Onchip Peripheral Bus)片上外設(shè)總線連接到處理器上的。程序存儲(chǔ)器RAM則是由FPGA內(nèi)部的BRAM實(shí)現(xiàn),并通過(guò)LMB(Local Memory Bus)本地存儲(chǔ)器總線與MicroBlaze相連接。自主編寫的IP與總線間的接口符合CoreConnect規(guī)范,實(shí)現(xiàn)了IP間的無(wú)縫結(jié)合,方便了數(shù)據(jù)的讀寫及時(shí)序控制。圖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,它通過(guò)LMB總線與 BRAM控制器相連,接受CPU的讀寫訪問(wèn)。DDFS是為實(shí)現(xiàn)DDS編寫的IP模塊。RS232為UART模塊,用于與其他設(shè)備的通信以及程序調(diào)試。LCD IP負(fù)責(zé)128×64點(diǎn)陣液晶的顯示控制。 COL和ROW是例化后的GPIO接口,用于連接4×4鍵盤。

       2.1 MicroBlaze軟核處理器

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

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

       2.2 DDS IP的實(shí)現(xiàn)

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


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

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

 

度進(jìn)行精確的控制。

       2.3 其余部分

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

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

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

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

        

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

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

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

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



       4 總結(jié)

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

參考文獻(xiàn)
1 徐欣,盧啟中,于紅旗. 基于FPGA的嵌入式系統(tǒng)設(shè)計(jì). 北京:機(jī)械工業(yè)出版社,2004
2 高吉祥,丁文霞. 電子技術(shù)基礎(chǔ)實(shí)驗(yàn)課程與設(shè)計(jì). 北京:電子工業(yè)出版社,2002
3 Xilinx Software tools User Guide
 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区四区在线| 欧美一区二区三区四区在线观看| 国产精品女同互慰在线看| 欧美国产综合| 欧美18av| 免费观看成人| 欧美11—12娇小xxxx| 蜜臀av一级做a爰片久久| 久久久久se| 久久精品成人| 久久久久国产精品午夜一区| 久久精品日产第一区二区| 欧美永久精品| 久久激情综合| 久久久久一区二区三区| 久久久999精品免费| 久久久久欧美| 玖玖在线精品| 欧美国产日韩一区二区三区| 欧美国内亚洲| 欧美日韩精品免费看| 欧美日韩一区在线| 欧美婷婷六月丁香综合色| 国产精品成人一区二区三区夜夜夜 | 亚洲欧美成人网| 午夜精品久久久久久久99黑人| 久久福利影视| 免费欧美日韩国产三级电影| 久久久中精品2020中文| 麻豆精品一区二区综合av| 国产中文一区| 国产精品久久福利| 久久香蕉精品| 制服丝袜激情欧洲亚洲| 久久婷婷综合激情| 久久精品在线观看| 销魂美女一区二区三区视频在线| 亚洲宅男天堂在线观看无病毒| 亚洲自拍偷拍麻豆| 欧美综合第一页| 这里只有精品在线播放| 亚洲欧美日韩区| 亚洲第一福利视频| 日韩午夜激情av| 亚洲一区二区在线观看视频| 欧美一区二区啪啪| 另类综合日韩欧美亚洲| 欧美国产日韩亚洲一区| 欧美四级电影网站| 国产欧美日韩激情| 亚洲大片在线| 亚洲午夜羞羞片| 亚洲电影免费观看高清完整版在线观看| 亚洲日本一区二区| 亚洲免费中文字幕| 日韩一区二区高清| 国产午夜亚洲精品理论片色戒| 狠狠噜噜久久| 亚洲高清一区二| 亚洲综合国产| 国产精品视频免费| 久久精品国产欧美激情| 亚洲午夜精品17c| 激情亚洲网站| 欧美午夜视频| 欧美日韩成人在线视频| 国产日韩专区| 亚洲香蕉在线观看| 亚洲一区视频| 性久久久久久久久久久久| 亚洲电影在线观看| 一本综合精品| 久久精品欧洲| 欧美日韩播放| 国产日本欧美一区二区| 亚洲高清网站| 亚洲欧美国产高清va在线播| 亚洲伦伦在线| 久久久999精品免费| 欧美日韩中文字幕在线视频| 激情亚洲一区二区三区四区| 亚洲色图制服丝袜| 91久久夜色精品国产网站| 香蕉久久一区二区不卡无毒影院 | 欧美一区免费| 欧美激情在线播放| 国产亚洲福利| 亚洲天堂免费在线观看视频| 亚洲日本va午夜在线电影 | 欧美在线观看一区二区| 欧美精品一区二区蜜臀亚洲| 国产午夜精品一区二区三区欧美| 99在线|亚洲一区二区| 亚洲国产老妈| 久久成人在线| 国产精品hd| 亚洲精选视频在线| 亚洲国产免费| 久久精品一区二区三区不卡牛牛| 欧美性猛交xxxx乱大交退制版| 亚洲国产午夜| 久久精品国产69国产精品亚洲 | 在线观看中文字幕不卡| 亚洲综合导航| 亚洲欧美不卡| 欧美日韩中文| 亚洲精品乱码久久久久久久久| 亚洲高清资源| 久久深夜福利免费观看| 国产日韩欧美成人| 亚洲一区二区成人在线观看| 亚洲网站在线| 欧美日韩在线观看视频| 亚洲精品一区二区三区福利| 亚洲美女免费视频| 免费中文字幕日韩欧美| 黄色精品网站| 久久国产精品99国产| 久久精品观看| 国内精品亚洲| 亚洲电影自拍| 另类春色校园亚洲| 一区二区三区无毛| 亚洲国产99精品国自产| 老司机亚洲精品| 亚洲高清在线| 日韩一级黄色av| 欧美精品少妇一区二区三区| 亚洲日本va午夜在线电影| 亚洲美女福利视频网站| 欧美精品在欧美一区二区少妇| 91久久综合| 亚洲视频香蕉人妖| 国产精品国产a级| 亚洲欧美日韩电影| 久久国产精品黑丝| 国产亚洲网站| 亚洲国产第一页| 欧美国产第二页| 亚洲伦理中文字幕| 亚洲欧美日韩在线| 国产日韩精品视频一区二区三区| 欧美一区久久| 老司机免费视频一区二区| 亚洲国产成人高清精品| 99国产精品久久久久老师| 欧美日韩亚洲一区二区三区在线| 夜夜嗨网站十八久久| 午夜视频久久久| 国产一区二区精品久久99| 亚洲国产欧美一区| 欧美麻豆久久久久久中文| 在线亚洲欧美视频| 久久精品首页| 亚洲国产第一页| 在线天堂一区av电影| 国产精品日韩在线| 亚洲第一在线视频| 欧美日韩亚洲视频| 午夜精品久久久久久久99水蜜桃| 久久一区二区三区四区| 最新国产精品拍自在线播放| 亚洲一区欧美一区| 韩国av一区二区三区四区| 亚洲片国产一区一级在线观看| 欧美日本国产在线| 亚洲综合色激情五月| 久久亚洲一区二区三区四区| 亚洲精品国产欧美| 性欧美18~19sex高清播放| 一区二区亚洲| 亚洲性夜色噜噜噜7777| 国产三级欧美三级日产三级99| 亚洲欧洲视频在线| 国产精品美女www爽爽爽| 久久国产精品亚洲va麻豆| 欧美理论视频| 欧美一区在线看| 欧美日韩国产一区二区三区| 亚洲欧美一区二区视频| 欧美看片网站| 欧美诱惑福利视频| 欧美日韩一区二区三区在线视频| 欧美在线日韩| 欧美日韩一区二区免费视频| 久久狠狠亚洲综合| 国产精品久久久久9999高清| 亚洲高清视频在线观看| 国产精品美女久久久| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产欧美视频一区二区三区| 亚洲伦理在线| 国产亚洲女人久久久久毛片| 中国亚洲黄色| 有坂深雪在线一区| 欧美一区二区性| 一本色道久久综合亚洲精品婷婷 | 午夜精品国产更新| 欧美日韩视频| 亚洲电影在线看|