引 言
System on Chip的縮寫(xiě),稱為系統(tǒng)級(jí)芯片,也有稱片上系統(tǒng),意指它是一個(gè)產(chǎn)品,是一個(gè)有專用目標(biāo)的集成電路,其中包含完整系統(tǒng)并有嵌入軟件的全部?jī)?nèi)容。 它是信息系統(tǒng)核心的芯片集成,是將系統(tǒng)關(guān)鍵部件集成在一塊芯片上;從廣義角度講, SoC是一個(gè)微小型系統(tǒng),如果說(shuō)中央處理器(CPU)是大腦,那么SoC就是包括大腦、心臟、眼睛和手的系統(tǒng)。國(guó)內(nèi)外學(xué)術(shù)界一般傾向?qū)oC定義為將微處理器、模擬IP核、數(shù)字IP核和存儲(chǔ)器(或片外存儲(chǔ)控制接口)集成在單一芯片上,它通常是客戶定制的,或是面向特定用途的標(biāo)準(zhǔn)產(chǎn)品。 集成電路的發(fā)展已有40年的歷史,它一直遵循摩爾所指示的規(guī)律推進(jìn),現(xiàn)已進(jìn)入深亞微米階段。由于信息市場(chǎng)的需求和微電子自身的發(fā)展,引發(fā)了以微細(xì)加工(集成電路特征尺寸不斷縮?。橹饕卣鞯亩喾N工藝集成技術(shù)和面向應(yīng)用的系統(tǒng)級(jí)芯片的發(fā)展。隨著半導(dǎo)體產(chǎn)業(yè)進(jìn)入超深亞微米乃至納米加工時(shí)代,在單一集成電路芯片上就可以實(shí)現(xiàn)一個(gè)復(fù)雜的電子系統(tǒng),諸如手機(jī)芯片、數(shù)字電視芯片、DVD 芯片等。在未來(lái)幾年內(nèi),上億個(gè)晶體管、幾千萬(wàn)個(gè)邏輯門(mén)都可望在單一芯片上實(shí)現(xiàn)。 SoC設(shè)計(jì)技術(shù)始于20世紀(jì)90年代中期,隨著半導(dǎo)體工藝技術(shù)的發(fā)展,IC設(shè)計(jì)者能夠?qū)⒂鷣?lái)愈復(fù)雜的功能集成到單硅片上, SoC正是在集成電路( IC)向集成系統(tǒng)( IS)轉(zhuǎn)變的大方向下產(chǎn)生的。1994年Motorola發(fā)布的FlexCore系統(tǒng)(用來(lái)制作基于68000和PowerPC的定制微處理器)和1995年LSILogic公司為Sony公司設(shè)計(jì)的SoC,可能是基于IP核完成SoC設(shè)計(jì)的最早報(bào)導(dǎo)。由于SoC可以充分利用已有的設(shè)計(jì)積累,顯著地提高了ASIC的設(shè)計(jì)能力,因此發(fā)展非常迅速,引起了工業(yè)界和學(xué)術(shù)界的關(guān)注。
l 系統(tǒng)總體設(shè)計(jì)
該設(shè)計(jì)是基于SoPC技術(shù)設(shè)計(jì)的Chirp函數(shù)信號(hào)發(fā)生器,該系統(tǒng)把微處理器模塊和DDS模塊集成到單片F(xiàn)PGA芯片內(nèi)部,通過(guò)在嵌入式操作系統(tǒng)μC/OS-Ⅱ編寫(xiě)的程序,實(shí)時(shí)控制微處理器對(duì)DDS的控制字輸出,DDS模塊根據(jù)頻率控制字的不同,輸出不同的數(shù)字化正弦波。使之符合Chirp函數(shù)的時(shí)變頻率特征。Chirp函數(shù)根據(jù)輸出頻率的遞變規(guī)律一般分為兩種:線性Chirp函數(shù)和非線性Chirp函數(shù),以下是兩種Chirp函數(shù)在頻域上的表現(xiàn)圖如圖2,圖3所示。
從圖2,圖3可以看出Chirp函數(shù)的頻率輸出與時(shí)間的f-t關(guān)系可以總結(jié)為:
(1)對(duì)于線性Chirp函數(shù)
在連續(xù)域時(shí)間域內(nèi)有關(guān)系式:
式中:k為常數(shù);f0為初始輸出頻率;t為連續(xù)時(shí)間。
在離散時(shí)間域有關(guān)系式:
式中:k為常數(shù);f0為初始輸出頻率;n為采樣點(diǎn)。
(2)對(duì)于非線性Chirp函數(shù)
在連續(xù)域時(shí)間域內(nèi)有關(guān)系式:
式中:f為非線性函數(shù);f0為初始輸出頻率;t為連續(xù)時(shí)間。
在離散時(shí)間域有關(guān)系式:
式中:f為非線性函數(shù);f0為初始輸出頻率;n為采樣點(diǎn)。
因此該Chirp信號(hào)源的功能是:在NiosⅡ中建立的微控制器;使用嵌入式操作系統(tǒng)μC/OS-Ⅱ建立對(duì)DDS頻率控制字輸出實(shí)時(shí)改變的任務(wù);根據(jù)線性和非線性Chirp函數(shù)的特點(diǎn)控制字的輸出根據(jù)需要線性或者非線性輸出,并且在此設(shè)計(jì)中將該任務(wù)的優(yōu)先級(jí)設(shè)置為最高。利用VHDL語(yǔ)言編寫(xiě)DDS模塊,首先根據(jù)Matlab計(jì)算出需要的正弦數(shù)據(jù),然后將這些數(shù)據(jù)存儲(chǔ)于ROM中供DDS模塊調(diào)用,具體結(jié)構(gòu)如圖4所示。
2 DDS模塊的設(shè)計(jì)
一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計(jì)算器三個(gè)部分(如Q2220)。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸入的頻率控制碼;而相位累加器根據(jù)頻率控制碼在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行相位累加,得到一個(gè)相位值;正弦計(jì)算器則對(duì)該相位值計(jì)算數(shù)字化正弦波幅度(芯片一般通過(guò)查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過(guò)高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬頻率信號(hào)。在各行各業(yè)的測(cè)試應(yīng)用中,信號(hào)源扮演著極為重要的作用。但信號(hào)源具有許多不同的類型,不同類型的信號(hào)源在功能和特性上各不相同,分別適用于許多不同的應(yīng)用。目前,最常見(jiàn)的信號(hào)源類型包括任意波形發(fā)生器,函數(shù)發(fā)生器,RF信號(hào)源,以及基本的模擬輸出模塊。信號(hào)源中采用DDS技術(shù)在當(dāng)前的測(cè)試測(cè)量行業(yè)已經(jīng)逐漸稱為一種主流的做法。
數(shù)字式頻率合成器(DDS)模塊的工作原理是:將O~2π的正弦函數(shù)值分為N份,將各點(diǎn)的幅度值存入ROM中,再用一個(gè)相位累加器每次累加相位值ωT,得到當(dāng)前的相位值,通過(guò)查找ROM得到當(dāng)前的幅度值。其系統(tǒng)框如圖5所示。
DDS的幾個(gè)主要參數(shù)是:系統(tǒng)時(shí)鐘頻率,頻率控制字長(zhǎng),頻率分辨率,ROM單元數(shù),ROM字長(zhǎng)。該設(shè)計(jì)的DDS是32位的,時(shí)鐘頻率為50 MHz,頻率控制字長(zhǎng)為32位,ROM單元數(shù)為2的11次方,ROM字長(zhǎng)為16位。而且有如下關(guān)系:
頻率分辨率=系統(tǒng)時(shí)鐘頻率/232;
頻率控制字(FTW)=f×232/T;
其中:f為要合成的頻率;T為系統(tǒng)時(shí)鐘。
DDS的工作過(guò)程為:每次時(shí)鐘的上升沿到來(lái)時(shí),相位累加器(32位)中的值累加上頻率寄存器(32位)中的值,再利用累加器的高11位作為地址進(jìn)行ROM查表,輸出相應(yīng)的幅值數(shù)字信號(hào)。
如果是掃頻工作,只需要根據(jù)一定的規(guī)律實(shí)時(shí)修改頻率控制字,就可以達(dá)到掃頻輸出的目的。但是該系統(tǒng)的性能受到以下兩個(gè)方面的制約:ROM單元數(shù)和ROM數(shù)值的有限字長(zhǎng)。由于ROM大小的限制,ROM的單元地址位數(shù)一般都遠(yuǎn)小于相位累加器的位數(shù),這樣只能取相位累加器的高位作為ROM的地址進(jìn)行查詢,這就相當(dāng)于引入了一個(gè)相位誤差。為了解決ROM的受限問(wèn)題,該設(shè)計(jì)采用ROM壓縮技術(shù)。因?yàn)檎液瘮?shù)存在對(duì)稱和反轉(zhuǎn)特性,即:
對(duì)于O~2兀的幅度值,可以只存儲(chǔ)O~π/2的部分。這樣原本需要的2的11次方個(gè)單元的ROM現(xiàn)在只需要2的9次方個(gè)單元的ROM就可以實(shí)現(xiàn)。在MatIab中產(chǎn)生16位512點(diǎn)的O~π/2正弦波數(shù)據(jù)的命令如下:
將Y數(shù)據(jù)依次存入Altera公司提供的Megawiz-ard宏單元實(shí)現(xiàn)的ROM中即可。
3 嵌入式微處理器的實(shí)現(xiàn)
嵌入式微控制器的典型代表是單片機(jī)(Microcontroller Unit),這種8位(8根數(shù)據(jù)線,8位指令)的電子器件目前在嵌入式設(shè)備中仍然有著極其廣泛的應(yīng)用。微控制器的最大特點(diǎn)是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。嵌入式微處理器的設(shè)計(jì)包括3個(gè)部分:利用SoPCBuilder定制的軟核CPU,在QuartusⅡ環(huán)境下設(shè)計(jì)的電路和NiosⅡ編程。
本設(shè)計(jì)的軟核CPU采用NiosⅡ/S標(biāo)準(zhǔn)型內(nèi)核,帶有16 KB的Cache;集成了外部的FLASH和SDRAM控制器用于保存程序數(shù)據(jù);Jtag_Hart電腦開(kāi)發(fā)板傳輸接口用于建立良好的用戶交互接口使用戶能在console界面上觀察程序運(yùn)行情況;兩個(gè)位寬分別為8位和3位的輸出口作為輸出DDS模塊的控制字。
NiosⅡ的編程主要是基于嵌入式操作系統(tǒng)μC/OS-Ⅱ,μC/OS-Ⅱ是一個(gè)完整的、可移植、固化和剪裁的占先式實(shí)時(shí)多任務(wù)核(Kernel)。從1992年發(fā)布至今,μC/OS-Ⅱ已經(jīng)有了上百個(gè)的商業(yè)應(yīng)用案例,在40多種處理器上成功移植。
μC/OS-Ⅱ提供以下系統(tǒng)服務(wù):任務(wù)管理(TaskManagement);事件標(biāo)志(Event Flag);消息傳遞(Message Passing);內(nèi)存管理(Memory Management);信號(hào)量(Semaphores);時(shí)間管理(Time Management)。
在該設(shè)計(jì)中建立一個(gè)主函數(shù)和兩個(gè)任務(wù)函數(shù),主函數(shù)的功能:調(diào)用系統(tǒng)任務(wù)初始化函數(shù)OSTaskCreateExt()初始化兩個(gè)任務(wù)函數(shù):調(diào)用系統(tǒng)開(kāi)始函數(shù)OSStart()啟動(dòng)系統(tǒng)開(kāi)始工作。
任務(wù)1:實(shí)時(shí)的改變DDS控制字的輸出,并且保持一段時(shí)間,在遍歷完所有的需要頻率以后,延遲調(diào)用系統(tǒng)延遲函數(shù)OSTimeDlyHMSM(),延遲63 s將該使用權(quán)交付給任務(wù)2。
任務(wù)2:為了保證該系統(tǒng)以后能有功能擴(kuò)展,建立一個(gè)任務(wù),其僅僅是通過(guò)函Jtag_uart接口使用函數(shù)printf(),向電腦發(fā)送一個(gè)任務(wù)2已經(jīng)開(kāi)始工作的提示信息,如果以后需要擴(kuò)展功能則只需修改任務(wù)2即可。程序的具體流程圖如圖6所示。
在任務(wù)1中實(shí)時(shí)改變變量i的值步進(jìn)為1,通過(guò)定義的Chirp函數(shù)關(guān)于時(shí)間和輸出頻率控制字之間的關(guān)系函數(shù)function(),計(jì)算得到此時(shí)的頻率控制字f,并且將f的值通過(guò)API函數(shù)IOWR_ALTERA_AVALON_PIO_DATA()從I/O端口輸出以控制DDS,然后延遲2 s使DDS保持該輸出頻率一段時(shí)間,并且通過(guò)Jtag_uart端口在Console調(diào)試界面向用戶提示當(dāng)前的信號(hào)源的輸出頻率,程序如下:
圖7為QuartusⅡ中生成的嵌入式軟核示意圖。
4 結(jié) 語(yǔ)
該設(shè)計(jì)在21controll公司提供的V4.O FPGA/SoPC開(kāi)發(fā)學(xué)習(xí)套件上面通過(guò)仿真驗(yàn)證,該套件的核心芯片為CycloneⅡ系列:EP2C20F484C8,其具有18 752個(gè)邏輯單元(LE)和52個(gè)M4K RAM塊,能夠很好地設(shè)計(jì)存儲(chǔ)需要的數(shù)據(jù),完全符合設(shè)計(jì)要求。
-
嵌入式
+關(guān)注
關(guān)注
5089文章
19170瀏覽量
306802 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6875瀏覽量
123577 -
信號(hào)發(fā)生器
+關(guān)注
關(guān)注
28文章
1480瀏覽量
108909
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論