SOPC技術課程設計報告書_第1頁
SOPC技術課程設計報告書_第2頁
SOPC技術課程設計報告書_第3頁
SOPC技術課程設計報告書_第4頁
SOPC技術課程設計報告書_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、物理與電子信息學院SOPC技術課程設計報告書專業(yè)班級:09電信本學生姓名:胡雯瑩學號:090802054指導教師:管立新設計時間:2011.12.30基于SOPC技術實現(xiàn)數(shù)字鬧鐘一、課題簡介SOPC技術是美國Altrea公司于2000年最早提出的,并同時推出了相應的開發(fā)軟件QuartusII。SOPC是基于FPGA解決方案的SOC,與ASIC的SOC解決方案相比,SOPC系統(tǒng)及其開發(fā)技術具有更多的特色,構成SOPC的方案有多種途徑,我們主要用到的是:基于FPGA嵌入IP硬核的SOPC系統(tǒng)1基于FPGA嵌入IP硬核的SOPC系統(tǒng)即在FPGA中預先植入嵌入式系統(tǒng)處理器。目前最為常用的嵌入式系統(tǒng)大多

2、采用了含有ARM的32位知識產權處理器核的器件。盡管由這些器件構成的嵌入式系統(tǒng)有很強的功能,但為了使系統(tǒng)更為靈活完備,功能更為強大,對更多任務的完成具有更好的適應性,通常必須為此處理器配置許多接口器件才能構成一個完整的應用系統(tǒng)。如除配置常規(guī)的SRAM、DRAM、Flash外,還必須配置網(wǎng)絡通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他專用接口等。這樣會增加整個系統(tǒng)的體積、功耗,而降低系統(tǒng)的可靠性。但是如果將ARM或其他知識產權核,以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源和IP軟核,直接利用FPGA中的邏輯宏單元來構成該嵌入式系統(tǒng)處理器的接口功能模塊,就能很好

3、地解決這些問題。2基于FPGA嵌入IP軟核的SOPC系統(tǒng)這種SOPC系統(tǒng)是指在FPGA中植入軟核處理器,如:NIOSII核等。用戶可以根據(jù)設計的要求,利用相應的EDA工具,對NIOSII及其外圍設備進行構建,使該嵌入式系統(tǒng)在硬件結構、功能特點、資源占用等方面全面滿足用戶系統(tǒng)設計的要求。二、數(shù)字鬧鐘的工作原理及設計過程1、工作原理時鐘設定FPGA顯示鬧鐘設定數(shù)字鬧鐘組成結構數(shù)字鬧鐘一般由振蕩器、分頻器、計數(shù)器、譯碼器、顯示器及部分擴展電路等組成。1.1振蕩器振蕩器是數(shù)字電子鐘的核心,其作用是產生一個頻率標準,即時間標準信號,然后再由分頻器生成秒脈沖,所以,振蕩器頻率的精度和穩(wěn)定度就基本決定了數(shù)字

4、電子鐘的準確度,為產生穩(wěn)定的時間標準信號,一般采用石英晶體振蕩器。從數(shù)字電子鐘的精度考慮,振蕩頻率越高記數(shù)精度越高。但這回使振蕩器的耗電量增大,分頻器級數(shù)增多。所以在確定頻率時應同時考慮這兩方面的因素再選擇器材。如果精度要求不是很高的話我們可以采用由集成邏輯門與RC組成的時鐘源振蕩器或由集成電路定時器555與RC組成的多諧振蕩器。一般而言,選用石英晶體振蕩器所選用的晶振頻率為32768Hz,再通過15級2分頻集成電路得到1Hz的標準秒脈沖。1.2分頻器振蕩器產生的時標信號頻率很高,要使它變成用來計時的“秒”信號,需要若干級分頻電路,分頻器的級數(shù)和每級分頻次數(shù)要根據(jù)時標信號的頻率來決定。其功能主

5、要有兩個:一是產生標準秒脈沖信號,二是提供功能擴展電路所需的信號。1.3計數(shù)器有了“秒”信號了就可以根據(jù)60秒為一分,60分為一小時,24小時為一天的進制,分別選定沒“秒”、“分”、“時”的計數(shù)器。從這些計數(shù)器的輸出可得到一分、一小時、一天的時間進位信號。在秒計數(shù)器鐘因為是60進制通常用兩個十進制計數(shù)器的集成片組成,其中秒個位是十進制的、十位是6進制的??刹捎梅答仛w零法變“秒”十位為6進制,實現(xiàn)秒的60進制,同樣,分計數(shù)器的與秒的一樣,只是時計數(shù)器里需要變成24進制,也用反饋歸零法實現(xiàn)。1.4譯碼器及顯示器因為計數(shù)器全部采用8421BCD碼十進制計數(shù)集成芯片,所以“秒”“分”“時”的個位和十位

6、都有四個狀態(tài)輸出端(Qa、Qb、Qc、Qd)。將這些輸出端接至專門設計制造的譯碼電路,就可產生驅動七段數(shù)碼顯示器的信號。1.5校時電路當數(shù)字鐘接通電源或者計時出現(xiàn)誤差時需要校正時間,校時電路的要求是:在小時校正時不影響分和秒的正常計數(shù);在分校時時不影響時和秒的正常計數(shù);校時方式有“快校時”和“慢校時”兩種,“快校時“是通過開關控制使計數(shù)器對1Hz的校時脈沖計數(shù),“慢校時”是通過手動產生單脈沖作校時脈沖,校時的基本原理是將0.5秒的脈沖信號(可由分頻器的第14級分頻輸出端直接獲得),直接引進“時”計數(shù)器,同時將計數(shù)器置“0”在時的指示調到需要的數(shù)字后,再切斷“05”信號讓計數(shù)器正常工作。2、設計

7、過程SOPC設計首先使用QuartusII建立一個QuartusII的工程,創(chuàng)建完成工程之后,需要創(chuàng)建頂層實體。創(chuàng)建完頂層設計文件之后,使用SOPCBuilder創(chuàng)建NIOSII嵌入式處理器,添加、配置系統(tǒng)的外設IP,組成NiosII系統(tǒng)模塊。NiosII系統(tǒng)模塊設計完成之后要加入到該頂層實體中,然后進行其他片上邏輯的開發(fā)。2.1QuartusII工程的建立:(1)啟動QuartusII軟件;(2)選擇File菜單,出現(xiàn)Introduction頁面,該頁面介紹所要完成NewrrojectWizard的具體任務,點擊next。(3)進行項目名稱的設定、工作目錄的選擇。指定工程存放的目錄,工程名和

8、頂層實體名,工程名和頂層實體名要求相同,工程目錄可以隨意設置,但必須是英文的目錄,工程名和頂層實體名也要求是英文名字,我們的工程名和頂層實體名為clock,選擇Next。NevProjectVizard:DirectoryTop-LevelEntitypag.Whatistheworkingdirectoryforthisproject?FACLOCK1Whatisthenameofthisproje匚t?CLOCK1Whatisthenameofthetop亡亡1designentityforthisproje匚t?Thisnamei:exa匚tlymatchtheentitynameint

9、hedesignfile.scasesensitiveandmustCLOCKUseExistingProjectSettings.|Next|FinishI取消可以為工程添加先期已經輸入的設計文件,指定用戶自定義的元件庫的路徑,這里我們沒有事先輸入好的文件,也沒有自定義的元件庫,點擊Next進入下一步。用戶指定目標器件,根據(jù)開發(fā)板的所使用的器件來選擇,實際開發(fā)中,通過查看核心板的參考手冊來獲取所使用的器件具體型號,可以使用窗口右邊的Filters來加快器件的選擇,選擇完畢點擊Next。指定在QuartusII之外的用于,設計輸入、綜合、仿真、時序分析的第三方EDA工具,QuartusII對第

10、三方工具的支持比較完善。這里我們不做選擇,直接點擊Next。所見新工程的信息,確認所創(chuàng)建工程的主要信息,點擊Finish完成工程的建立,在開發(fā)的過程中,還可以通過菜單廠.來對這些配置進行修改。點擊Finish按鈕,QuartusassignmentSettingsII自動會打開這個工程,可以看到頂層實體名出現(xiàn)在工程導航窗口中。、新建的工程窗口中,選擇;在DeviceDesignFile頁中,選擇BlockDiagram/rileNewSchematicFile,即原理圖文件,也可以選擇硬件描述語言的文件形式。單擊OK。出現(xiàn)一個模塊編輯窗口;選擇FileSaveAs出現(xiàn)SaveAs對話框,顯示的

11、目錄為之前設置的工程目錄,文件名為之前設置的頂層實體名(由于這是工程的第一個文件,系統(tǒng)會默認為頂層設計實體的名字)。確定AddtoCurrentProject選項被選中,點擊save。ProjectVizard:FuilykDeviceSettingspage3of5岡Selectthehmiriilyanddeviceyouwanttotargetforcompilation.Devices:DevicefamilyFamily:曇Tarqetd已vic已AutodeviceselectedbytheFitter*SpecificdeviceselectedinAvailabledevice

12、slistShowinAvailabledevicelistPackage:Pincount:Speedgrade:臣Showadvanceddevices廠HardCopycompatibleonlyAvailable匚I已vices:Name|Corev.77LEsUserI/.Memor.|Embed.PLL|EP2C15AF484C71.2V14448315239616524EP2C20F484C71.2V18752315239616524EP2C35F484C71.2V33216322483840704EP2C50F484C71.2V505282945944321724JL1-Com

13、paniondeviceHardCopy:|LimitDSF1&RAMtoHardCopydeviceresourcesertier_OTimeoutperiodPeriod:1OOmsvTimercountersizeCounterSize:32ybits-HardwareoptionsPresets:|CusWin7Registers0Writableperiod叼Readablesnapshot0Start/StopcontrolbitsOutputsignalsTimeoutpulse(1clockwide)|Systemresetontimeout(Watchdog)CancelEi

14、nish添加LCD模塊添加100ms的定時器DeviceFamily:CycloneIIvNameSourceExternalCon.ModuleNameDescriptionClockBaseEndcpu_0:NiosIIProcessorinstruction_m&sterAvalonMemoryMappedMasterclk_0data_masterAvalonMemoryMappedMasterIRQ0IBJQ31,(taq_d已bug_rr忙i日ljI已AvalonMemoryMappedSlaveOsOlOOOSOOOzOlOOOfff日sdram_0SDRAMController

15、s1AvalonMemoryMappedSlaveclk_00 x00800000OzOOfffffflcd_0CharacterLCDcontrol_slaveAvalonMemoryMappedSlaveclk_00010010200z0100102ftimer_0IntervalTimers1AvalonMemoryMappedSlaveclk_00 x01001000OzOlOOlOlfbutton_pio_0PIO(ParallelI/O)s1AvalonMemoryMappedSlaveclk_00z010010300z0100103fswftch_pio_0PIO(Paralle

16、lI/O)s1AvalonMemoryMappedSlaveclk_00 x01001040OzOl001041完整的SOPC的硬件系統(tǒng)INPUTPNI1VCCLVTTLinclk0instinclkOinst1PLLOperitionMode:NomalI,(dg)DC(%)inclk0frequency:50.000MHzcl1/10.0050.00匚CyclReset_nPINR22LVTTLPLLinclkOfrequency:50.000MHzOperationMode:NormalClkPh(dg)DC(%)c01/1Ph(dg丿54005000c10.00kJW.UU50.00生

17、成的PLL模塊c0clINPUTVCCc0c1CyclonelOUTPUTDRAM_CLKPIN_U4dOCKclk_0reset_nPINA14PINB14KEY3肌昭PINT22lvTTlivttiINPUTVCCin_port_to_the_button_pio_02.0LCD_E_from_thecd_0LCD_RS_from_the_lcd_0LCD_RW_from_the_lcd_0LCDdatatoandfromthelcd0/.0PINA16*ICDRWLVTTLSW0LVTTLINPUTVCCinporttotheswitchpio0inst1BIDIRICDdata70zs

18、_addr_from_the_sdram_011.0zs_ba_from_the_sdram_01.0zs_cas_n_from_the_sdram_0zs_cke_from_the_sdram_0zs_cs_n_from_the_sdram_0zs_dq_to_and_from_the_sdram_015.0zs_dqm_from_the_sdram_01.0zs_ras_n_from_the_sdram_0zswenfromthesdram0nRAMCKEOUTPUTDRAM_WE_NSTB3IW5II1IN_M3IIpn_N_N3IPINR1PINR2PIN_T2頂層總原理圖2.3部分程

19、序如下:模24計數(shù)器/counter24.v/filename:counter24.v(BCD:0-23)modulecounter24(CntH,CntL,ncR,EN,CP);inputCP,ncR,EN;output3:0CntH,CntL;reg3:0CntH,CntL;6always(posedgeCP,negedgencR)2beginif(ncR)CntH,CntL2)|(CntL9)|(CntH=2)&(CntL=3)CntH,CntL=8h00;elseif(CntH=2)&(CntL3)beginCntH二CntH;CntL=CntL+1b1;endelseif(CntL=

20、9)beginCntH=CntH+1b1;CntL=4b0000;endelsebeginCntH二CntH;CntL=CntL+1b1;endend31endmodule模60計數(shù)器/counter60.v/countuer6034567891011121314151617181920212223242526272829303132/counter10.v(BCD:0-9)modulecounter10(Q,ncR,EN,CP);inputCP,ncR,EN;outputreg3:0Q;always(posedgeCP,negedgencR)beginif(ncR)Q=4b0000;else

21、if(EN)Q=Q;elseif(Q=4b1001)Q=4b0000;elseQ=Q+1b1;endendmodule/counter6.v(BCD:0-5)modulecounter6(Q,ncR,EN,CP);inputCP,ncR,EN;outputreg3:0Q;always(posedgeCP,negedgencR)beginif(ncR)Q=4b0000;elseif(EN)Q=Q;elseif(Q=4b0101)Q=4b0000;elseQ=Q+1b1;endendmodule38/counter60.v(BCD:0-59)modulecounter60(Cnt,ncR,EN,C

22、P);inputCP,ncR,EN;output7:0Cnt;wire7:0Cnt;wireENP;45counterlOUC0(Cnt3:0,ncR,EN,CP);counter6UC1(Cnt7:4,ncR,ENP,CP);48assignENP=(Cnt3:0=4h9);endmodule鬧鐘/bell.v1/Bell.vmoduleBell(alarm_clock,set_hr,set_min,hour,minute,second,sethrkey,setminkey,_1khz,_500hz,_1hz,ctrlbell);outputalarm_clock;output7:0set_

23、hr,set_min;wirealarm_clock;input_1khz,_500hz,_1hz;inputsethrkey,setminkey;10111213141516171819202122232425262728293031323334353637inputctrlbell;input7:0hour,minute,second;supply1Vdd;wirehrh_equ,hrl_equ,minh_equ,minl_equ;wiretime_equ;counter60SU1(set_min,Vdd,setminkey,_1hz);counter24SU2(set_hr7:4,set

24、_hr3:0,Vdd,sethrkey,_1hz);/comparatethesettime_4bitcomparatorSU4(hrh_equ,set_hr7:4,hour7:4);_4bitcomparatorSU5(hrl_equ,set_hr3:0,hour3:0);_4bitcomparatorSU6(minh_equ,set_min7:4,minute7:4);_4bitcomparatorSU7(minl_equ,set_min3:0,minute3:0);assigntime_equ=(hrh_equ&hrl_equ&minh_equ&minl_equ);assignalarm

25、_clock=ctrlbell?(time_equ&(second0=1b1)&_500hz)|(second0=1b0)&_1khz):1b0;endmodule/4bitcomparator.vmodule_4bitcomparator(equ,a,b);input3:0a,b;outputequ;assignequ=(a=b);endmodule2.3元器件型號及邏輯門芯片:EP2C20F484C71.2v18752315239616524占用了3383個邏輯單元,占器件中18752個邏輯單元的18%Timeoutperiod:100msTimercountersize:32bitsPio:4電容若干開關若干100khz晶振1塊蜂鳴器1個三、設計過程中遇到的問題及方案在連接電路時,用1HZ的信號

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論