摘 要:目前,SOPC技術(shù)發(fā)展迅速,基于FPGA的SOPC設(shè)計技術(shù)是當(dāng)前電子系統(tǒng)領(lǐng)域最前沿的技術(shù)之一,本文采用FPGA芯片構(gòu)建SOPC系統(tǒng),利用了FPGA高達上百兆的工頻特性以及其算法處理的優(yōu)勢為數(shù)據(jù)處理提供良好的實時性,其內(nèi)部集成了數(shù)字鎖相環(huán)為系統(tǒng)的工作時鐘提供了良好的穩(wěn)定性,F(xiàn)PGA內(nèi)部邏輯資源豐富,通過片外存儲器單元加載程序,節(jié)約了內(nèi)部資源,達到了運行速度和性能、價格的完美統(tǒng)一;此外,該系統(tǒng)的升級和重構(gòu)性強,為系統(tǒng)的升級發(fā)展留有很大余地;通過按鍵調(diào)節(jié)時間,通過液晶顯示時間,通過計算得出閏年,大月與小月。
關(guān)鍵詞:SOPC技術(shù);IP軟核;LCD;萬年歷
中圖分類號:TP319 文獻標(biāo)識碼:A 文章編號:1674-7712 (2014) 02-0000-02
SOPC(System On Programmable Chip,可編程的片上系統(tǒng)),是Altera公司提出的一種靈活、高效的SOC解決方案,是一種新的軟硬件協(xié)同設(shè)計的系統(tǒng)設(shè)計技術(shù)。它將處理器、存儲器、I/O接口、LVDS、CDR等系統(tǒng)設(shè)計需要的功能模塊集成到一個可編程器件上,構(gòu)成一個可編程的片上系統(tǒng)。
SOPC是PLD和ASIC技術(shù)融合的結(jié)果。目前,ASIC產(chǎn)品制造價格仍然昂貴,而集成了硬核或軟核CPU、DSP、存儲器、I/O設(shè)備和可編程器件上,構(gòu)成一個可編程的片上系統(tǒng)。
針對數(shù)字萬年歷系統(tǒng),本文借助最新的SOPC技術(shù)來設(shè)計本系統(tǒng)并結(jié)合LCD液晶顯示,利用IP軟核設(shè)計片上硬件,并通過嵌入式軟件開發(fā)本系統(tǒng)軟件程序。
一、系統(tǒng)總體設(shè)計
(一)設(shè)計要求
(1)以NIOSⅡ構(gòu)建系統(tǒng)運行的CPU模塊;(2)包括定時器IP核、PIO核、LCD核、JTAG_UART核、EPCS核等;(3)通過SDRAM存儲器管理程序,該系統(tǒng)用于管理系統(tǒng)的時間;(4)可以調(diào)節(jié)時間的年、月、日等;(5)通過液晶顯示時間,包括年、月、日、時、分、秒,以及星期數(shù);(6)通過按鍵可以調(diào)節(jié)時間;可以計算閏年,大月與小月。
(二)總體思路設(shè)計
整個系統(tǒng)包括片上系統(tǒng)的硬件系統(tǒng)設(shè)計和軟件設(shè)計,其中硬件設(shè)計就是基于QuartusⅡ和SOPC Build開發(fā)工具的IP軟核配置過程,軟件程序設(shè)計是基于ISE平臺。
二、硬件系統(tǒng)設(shè)計
(一)IP核工作框圖
FPGA是整個系統(tǒng)的核心,通過IP內(nèi)核的調(diào)用,構(gòu)建完成整個系統(tǒng)底層;調(diào)用的IP核包括:CPU內(nèi)核、Interval Timer內(nèi)核、PIO內(nèi)核、SDRAM Controller內(nèi)核、EPCS Serial Flash Controller內(nèi)核、Character LCD內(nèi)核、JTAG_UART內(nèi)核等;IP核工作如圖1所示:
(二)IP軟核配置
本系統(tǒng)調(diào)用CPU內(nèi)核、Interval Timer內(nèi)核、PIO內(nèi)核、SDRAM Controller內(nèi)核、EPCS Serial Flash Controller內(nèi)核、Character LCD內(nèi)核、JTAG_UART內(nèi)核等,設(shè)置CPU為NIOSⅡ處理器,該處理器為32位的RISC處理器的f模式,該模式為高速模式,指令執(zhí)行速度可以高達51MIPS;設(shè)置其Reset Vector為SDRAM,設(shè)置Exception Vector 為SDRAM;該系統(tǒng)采用64Mbit、16位數(shù)寬的片外SDRAM,所以配置SDRAM模塊設(shè)置為custom模式,選擇16位數(shù)據(jù)寬度。EPCS內(nèi)核采用默認(rèn);LCD模塊采用默認(rèn);PIO模塊設(shè)置為4位輸出,下降沿觸發(fā),邊沿觸發(fā)外部中斷;Interval Timer內(nèi)核采用32位寬度,定時為1秒;配置完成的硬件系統(tǒng)如圖2所示:
(三)PLL鎖相環(huán)時鐘電路
在Quartus Ⅱ11。0里面調(diào)用ALT_PLL模塊,配置雙路時鐘輸出即C0,C1,其中C0提供外部的SDRAM,配置其相位差為-75deg,C1提供CPU運行時鐘;配置好的模塊如圖3所示:
三、系統(tǒng)軟件設(shè)計
(一)軟件設(shè)計流程
完成IP軟核的配置,編譯工程文件,得到system。h文件,這個文件包含了底層硬件的訪問地址,軟件程序設(shè)計的目的就是對這些端口地址的訪問,軟件設(shè)計流程圖如圖4所示:
(二)程序設(shè)計
通過Nios II 11.0 Software Build Tools for Eclipse新建工程,把上面配置生成Sopcinfo文件配置進去,建好工程后開始編譯一下工程,編譯生成system。h文件,這是系統(tǒng)硬件的映射文件,包含了硬件配置的基本信息,然后開始編寫程序,程序包含基本的頭文件,如圖5所示,其中system。h文件中包含基本的硬件描述,altera_avalon_timer_regs。h文件定義內(nèi)核寄存器的映射,提供對底層硬件的符號化訪問,altera_avalon_pio_regs。h文件包含基本的I/O口信息,alt_types。h文件包含了Altera公司定義的數(shù)據(jù)類型,sys/alt_irq。h文件包含中斷信息;關(guān)于定時器模塊的初始化函數(shù)需要先注冊中斷函數(shù),然后清狀態(tài)標(biāo)志,再啟動定時器允許中斷,而在定時器服務(wù)中斷函數(shù)里面開始編寫程序執(zhí)行的功能,結(jié)束以后還需要把狀態(tài)寄存器清除。其部分代碼如圖6所示,在按鍵中斷初始化函數(shù)里面同樣需要先開中斷,然后把中斷捕獲寄存器清除,最后注冊中斷,其部分代碼如圖7所示。完成軟件編寫后開始編譯工程,調(diào)試結(jié)束后將程序下載到SDRAM中,下載完成后,關(guān)閉電源,重新加電,液晶就會顯示時間;
四、運行結(jié)果
經(jīng)過程序編寫、調(diào)試,系統(tǒng)的功能完美實現(xiàn),通過按鍵調(diào)整時間的年、月、日、時、分、秒以及星期數(shù),可以啟動喚醒功能,用戶可以自定義時間,實現(xiàn)鬧鐘功能;系統(tǒng)運行界面如圖8所示:
五、結(jié)束語
隨著EDA技術(shù)的不斷發(fā)展,F(xiàn)PGA的市場應(yīng)用前景會越來越廣泛,基于FPGA的電子系統(tǒng)設(shè)計技術(shù)是21世紀(jì)電子應(yīng)用工程師必備的基本技能之一,基于FPGA的SOPC設(shè)計技術(shù)是當(dāng)前電子系統(tǒng)設(shè)計領(lǐng)域最前沿的技術(shù)之一。SOPC技術(shù)是由美國Altera公司于2000年最早提出的,并同時推出了相應(yīng)的開發(fā)軟件。它是現(xiàn)代計算機輔助設(shè)計技術(shù)、EDA技術(shù)和大規(guī)模集成電路技術(shù)的高度發(fā)展的產(chǎn)物,SOPC是基于FPGA決解方案的SOC,與ASIC的SOC解決方案相比,SOPC系統(tǒng)及其開發(fā)具有更多的優(yōu)點和特色,SOPC技術(shù)是將盡可能大而完整的電子系統(tǒng)。
本系統(tǒng)通過FPGA構(gòu)建SOPC,配置IP核,系統(tǒng)運行穩(wěn)定,實現(xiàn)預(yù)期功能,可以實現(xiàn)時間調(diào)整和時間喚醒功能,通過液晶顯示,有利于人機交互。通過DMA技術(shù),可以在此系統(tǒng)的基礎(chǔ)上實現(xiàn)更大規(guī)模的片上系統(tǒng)。可以廣泛用于PDA設(shè)備,智能家居管理系統(tǒng)、以及智能機器人研究中;
本系統(tǒng)的特色之處在于利用片外存儲技術(shù),實現(xiàn)加電引導(dǎo)程序執(zhí)行,節(jié)約了片內(nèi)資源。本系統(tǒng)可以進一步完善,加上適當(dāng)?shù)膫鞲衅鳎梢猿悄芗揖庸芾硐到y(tǒng)方向前進,從而實現(xiàn)更復(fù)雜、更有特色、更智能的管理系統(tǒng)。
參考文獻:
[1]周潤景.基于QuartusⅡ的數(shù)字系統(tǒng)設(shè)計[M].北京:電子工業(yè)出版社,2012(07).
[2]吳繼華.Altera FPGA/CPLD設(shè)計(高級篇)[M].北京:人民郵電出版社,2005(07)
[作者簡介]曹華杰(1991-),男,本科,江蘇省常州市常州大學(xué)信息科學(xué)與工程學(xué)院,研究方向:FPGA應(yīng)用、數(shù)字信號處理等;劉浩東(1992-),男,本科,江蘇省常州市常州大學(xué)信息科學(xué)與工程學(xué)院,研究方向:嵌入式系統(tǒng)設(shè)計與應(yīng)用等。