版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、選用2812DSP,30MHz外部無源晶振,CY7C1021(64KWSRAM存儲器,請設(shè)計一個DSP應(yīng)用系統(tǒng)的硬件電路,包括電源電路、時鐘電路、復(fù)位電路、JTAG接口電路、存儲器電路,并給出擴展存儲器的地址。采用TPS767D318芯片的DSP電源電路C1X1/XCLKINC230MHzDSPX2(a無源晶振(b外時鐘源方式RC復(fù)位電路JTAG接口XA15XA0XD15XD0DSP/XWE/XRD/XZC2XA16TMS320F2812A15A0IO15二、已知2812DSP的GPI0B1引腳連接一個LED指示燈,低電平點亮。要求用C語言編程時該指示燈閃爍、每400ms亮滅一次。要求采用
2、定時器T2中斷方式,定時1ms。已知晶振頻率為30MHz,要求CPU的工作頻率為150MHz。請編寫初始化程序、主程序與中斷服務(wù)程序。voidInitSysCtrl(voidUint16i;EALLOW;/禁止看門狗模塊SysCtrlRegs.WDCR=0x0068;/初始化PLL模塊SysCtrlRegs.PLLCR=0xA;/如果外部晶振為30M,則SYSCLKOUT=30*10/2=150MHzfor(i=0;i<5000;i+/延時,使得PLL模塊能夠完成初始化操作高速時鐘預(yù)定標器和低速時鐘預(yù)定標器,產(chǎn)生高速外設(shè)時鐘HSPCLK和低速外設(shè)時鐘LSPCLKSysCtrlRegs.H
3、ISPCP.all=0x0001;/HSPCLK=150/2=75MHzSysCtrlRegs.LOSPCP.all=0x0002;/LSPCLK=150/4=37.5MHz/對工程中使用到的外設(shè)進行時鐘使能,不用的外設(shè)不使能,以降低功耗SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;/使能EVA,T2定時器/SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;/使能EVB/SysCtrlRegs.PCLKCR.bit.ADCENCLK=1;/ADC模塊時鐘使能EDIS;IO0/WE/RD/士旦且存儲器N1SN74HC02/CECY7C1021DSP存儲器擴
4、展voidInitPieCtrl(void/系統(tǒng)PIE子程序PieCtrlRegs.PIECRTL.bit.ENPIE=0;/禁止PIEPieCtrlRegs.PIEIER1.all=0;清除PIEIER寄存器PieCtrlRegs.PIEIER12.all=0;PieCtrlRegs.PIEIFR1.all=0;清除PIEIFR寄存器PieCtrlRegs.PIEIFR12.all=0;/PieCtrlRegs.PIECRTL.bit.ENPIE=0;/允許PIE中斷PieCtrlRegs.PIEACK.all=0xFFFF;/寫1清0#include"DSP281x_Device
5、.h"interruptvoideva_timer2_isr(void;intcounter;/全局變量軟件計數(shù)器,擴大定時時間VoidEVA_Timer2(EvaRegs.GPTCONA.all=0;/初始化EVATimer1EvaRegs.T2PR=0x249;/定時周期為1.707us*(T1PR+1=1msEvaRegs.EVAIMRA.bit.T2PINT=1;/使能定時器2的周期中斷EvaRegs.EVAIFRA.bit.T2PINT=1;/寫1清除定時器2的周期中斷標志EvaRegs.T2CNT=0x0000;EvaRegs.T2CON.all=0x1740;/連續(xù)增計
6、數(shù),128分頻,開啟定時器voidmain(voidInitSysCtrl(;/初始化系統(tǒng)控制寄存器,時鐘頻率150MHz/高速時鐘的工作頻率HSPCLK=75MHzEALLOW;GpioMuxRegs.GPBMUX.all=0;/把GPIOBO7設(shè)置為一般I/O口GpioMuxRegs.GPFDIR.all=Oxff;/GPIOB70為輸出EDIS;DINT;/關(guān)閉總中斷,清除中斷標志IER=0x0000;/關(guān)閉外圍中斷IFR=0x0000;/清中斷標志InitPieCtrl(;初始化PIE控制寄存器InitPieVectTable(;/初始化PIE中斷向量表EVA_Timer2(;初始化E
7、VATimer2EALLOW;PieVectTable.T2PINT=&eva_time2_isr;/中斷服務(wù)程序入口地址放入中斷向量表EDIS;/依次使能各級中斷:外設(shè)中相應(yīng)中斷位->PIE控制器->CPUPieCtrlRegs.PIEIER3.all=M_INT1;/GP定時器2使能位于PIE第3組第1個,將其使能(62頁)IER1=M_INT3;/PIE第3組對應(yīng)于CPU的可屏蔽中斷3(INT3),將其使能EINT;開總中斷counter=0;/軟件計數(shù)器初值GpioDataRegs.GPBDAT.bit.GPIOB1=1;/指示燈滅for(;interruptvoi
8、deva_timer2_isr(voidcounter+;if(counter=400/400*1ms=400mscounter=0;GpioDataRegs.GPBDAT.bit.GPIOBl人=1;/GPIOB5取反產(chǎn)生方波,指示燈亮滅切換EvaRegs.EVAIMRA.bit.T2PINT=1;/使能定時器2的周期中斷EvaRegs.EVAIFRA.bit.T2PINT=1;/寫1清除定時器2的周期中斷標志PieCtrlRegs.PIEACK.all=PIEACK_GR0UP3;清零PIEACK中的第3組中斷對應(yīng)位三、采用CCS集成開發(fā)環(huán)境進行程序調(diào)試,其工程文件通常包括哪些文件?其中哪
9、些文件粗要編寫者自己編寫?哪些文件能夠自動生成?一般應(yīng)用程序開發(fā)調(diào)試的過程是什么?1CCS工程文件(擴展名為.pjt。由CCS自動生成。在CC(CodeComposer軟件環(huán)境中,擴展名為.mak。2源程序文件。匯編語言文件(*.asm,C文件(*.c或二者混合編程。3頭文件(*.h。定義寄存器映射地址,用戶自定義的常量等。例如,頭文件DSP281x_Adc.h定義了ADC寄存器,頭文件DSP281x_PieVec.h定義了PIE中斷矢量。4鏈接命令文件(*.cmd)。包含鏈接器選項、對程序和數(shù)據(jù)存儲器空間的分配。5庫文件(*.lib)。標準運行時支持庫rts2800_ml.lib。6目標文件
10、(*.obj。由匯編器產(chǎn)生,COFF公共目標文件格式。7列表文件(*.lst。匯編生成的文件。8映射文件(*.map。匯編器生成的變量與符號存儲器地址分配文件。9可執(zhí)行代碼文件(*.out。由鏈接器生成,COFF格式。該文件可以裝入到存儲器進行調(diào)試與執(zhí)行。這些文件中,用戶需要編寫源程序文件(.c、.asm)、鏈接命令文件.cmd)和頭文件(.h)。程序開發(fā)調(diào)試的過程:1.連續(xù)運行與單步運行。2.設(shè)置斷點。3.查看與修改存儲單元。4.查看與修改寄存器內(nèi)容。5.觀察和編輯變量。6.程序Animate運行和數(shù)據(jù)圖形顯示。四、采用DSPC語言編程,將DSP片內(nèi)RAM200H地址開始的20個存儲單元分別
11、設(shè)置為015。main(inti;unsignedint*px;px=(unsignedint*0x200;for(i=0;iv20;i+,px+(*px=i;while(l;五、2個模擬量(03.3V)分別連接到2812DSP的ADCINA0ADCINA7引腳。要求采用定時器T1的周期匹配觸發(fā)A/D轉(zhuǎn)換,T1定時150ps。A/D轉(zhuǎn)換采用連續(xù)轉(zhuǎn)換方式,每次轉(zhuǎn)換兩個通道。A/D轉(zhuǎn)換的結(jié)果分別存放到兩個數(shù)組中,采樣200次。已知CPU的工作頻率為150MHz。請采用DSPC語言編程。voidInitSysCtrl(voidUint16i;EALLOW;/禁止看門狗模塊SysCtrlRegs.WD
12、CR=0x0068;/初始化PLL模塊SysCtrlRegs.PLLCR=0xA;/如果外部晶振為30M,則SYSCLKOUT=30*10/2=150MHzfor(i=0;i<5000;i+/延時,使得PLL模塊能夠完成初始化操作/高速時鐘預(yù)定標器和低速時鐘預(yù)定標器,產(chǎn)生高速外設(shè)時鐘HSPCLK和低速外設(shè)時鐘LSPCLKSysCtrlRegs.HISPCP.all=0x0001;/HSPCLK=150/2=75MHzSysCtrlRegs.LOSPCP.all=0x0002;/LSPCLK=150/4=37.5MHz/對工程中使用到的外設(shè)進行時鐘使能SysCtrlRegs.PCLKCR.
13、bit.ADCENCLK=1;/ADC模塊時鐘使能EDIS;#include"DSP28_Device.h"interruptvoidadc_isr(void/ADC中斷函數(shù)聲明Uint16SampleCount;Uint16adcresulta0200;/用于保存ADCINA0通道的200次采樣結(jié)果Uint16adcresulta7200;/用于保存ADCINA7通道的200次采樣結(jié)果main(inti;InitSysCtrl(;/初始化系統(tǒng)函數(shù)DINT;InitPieCtrl(;初始化PIE控制寄存器IER=0x0000;/禁止CPU中斷IFR=0x0000;清除CPU
14、中斷標志InitPieVectTable(;初始化PIE中斷向量表EALLOW;PieVectTable.ADCINT=&adc_isr;EDIS;AdcRegs.ADCTRL1.bit.RESET=1;/復(fù)位ADCasm("RPT#10|NOP"等待12個時鐘周期是ADC復(fù)位產(chǎn)生作用AdcRegs.ADCTRL3.all=0x00C8;/ADC參考電壓與帶隙基準電路上電,順序采樣AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;AdcRegs.ADCTRL3.bit.ADCPWDN=1;PieCtrlRegs.PIEIER1.bit.INTx6=1;
15、/使能PIE模塊中的AD采樣中斷IER|=M_INT1;/開CPU中斷EINT;/使能全局中斷ERTM;/使能實時中斷DBGMSampleCount=0;AdcRegs.MAXCONV.all=0x0001;/總共采樣2路AdcRegs.ADCCHSELSEQl.bit.CONV00=0;/選擇ADCINAO為第1轉(zhuǎn)換通道AdcRegs.ADCCHSELSEQl.bit.CONV01=7;/選擇ADCINA7為第2轉(zhuǎn)換通道AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;/選擇EVA啟動SEQ1轉(zhuǎn)換AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;/使能
16、SEQ1中斷(每個EOS)EvaRegs.T1PR=0x2BF1;周期為150ps=(11249+1/75MHzEvaRegs.GPTCONA.bit.T1TOADC=2;設(shè)置EVA(T1)周期匹配啟動ADCEvaRegs.T1CON.all=0x1044;/設(shè)置T1為連續(xù)增模式,并啟動定時器T1for(;interruptvoidadc_isr(void/ADC中斷函數(shù)adcresultaOSampleCount-1=AdcRegs.ADCRESULT0>>4;/將ADCINAO通道采樣到的數(shù)據(jù)存入數(shù)組adcresultaO中adcresulta7SampleCount-1=Ad
17、cRegs.ADCRESULT1>>4;將ADCINA7通道采樣到的數(shù)據(jù)存入數(shù)組adcresulta1中if(SampleCount=199SampleCount=0;elseSampleCount+;/采樣計數(shù)器計數(shù)AdcRegs.ADCTRL2.bit.RST_SEQ1=1;/復(fù)位SEQ1AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;/清除AD中斷的標志位PieCtrl.PIEACK.all=0xffff;/寫1清0六、要求采用2812DSP定時器T3和PWM電路產(chǎn)生一個頻率為20kHz(50ps)的非對稱PWM波形,占空比為50%,PWM波形從PWM1引腳
18、輸出。已知CPU的工作頻率為150MHz。請采用DSPC語言編程。#include"DSP281x_Device.h"voidEVA_PWM(EvbRegs.EXTCONB.bit.INDCOE=1;/獨立使能比較輸出模式EvbRegs.ACTRB.all=0x0aaa;/空間矢量不動作,高電平有效EvbRegs.COMCONB.all=0xa400;/空間向量禁止,禁止全比較voidEVB_Timer3(EvbRegs.EXTCONB.bit.INDCOE=1;/獨立使能比較輸出模式EvbRegs.GPTCONB.all=0x0012;/GP定時器3比較輸出低有效EvbRegs.T3PR=0x0009;/定時周期為(T1PR+1*128/25MHz=50psEvbRegs.T3CMPR=0x0005;/GP定時器3的比較寄存器EvbRegs.T3CNT=0x0000;/定時器3初值EvbRegs.T3CON.all=0x1742;/連續(xù)增計數(shù),128分頻,使能比較,打開定時器voidIOi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古自治區(qū)呼和浩特市實驗中學(xué)2025屆中考生物模擬預(yù)測題含解析
- 2024至2030年陶砂濾料項目投資價值分析報告
- 2025至2031年中國前撥鏈器行業(yè)投資前景及策略咨詢研究報告
- 2025年江蘇潤城排水有限公司招聘筆試參考題庫含答案解析
- 2025年安徽新橋投資開發(fā)公司招聘筆試參考題庫含答案解析
- 2025年神華集團有限責任公司招聘筆試參考題庫含答案解析
- 2025年貴州平塘縣供排水公司招聘筆試參考題庫含答案解析
- 二零二五年度汽車經(jīng)銷商合作協(xié)議書3篇
- 二零二五年度智能公寓宿管員全面聘用與管理服務(wù)合同3篇
- 年度審記軟件市場分析及競爭策略分析報告
- 錨桿框格梁施工技術(shù)交底
- 商戶清場協(xié)議書
- 涉詐風(fēng)險賬戶審查表
- 10以內(nèi)的加減法(兩步計算)練習(xí)
- GMP廠房設(shè)施和設(shè)備培訓(xùn)課件
- 銀行數(shù)據(jù)安全風(fēng)險排查報告6篇
- 北師大版初三上課后習(xí)題及答案
- 護理三基三嚴題庫及答案匯總
- 2013日產(chǎn)天籟全電路圖維修手冊45車身控制系統(tǒng)
- 人教部編版三年級語文上冊古詩詞日積月累默寫模板
- (完整版)綜合醫(yī)院康復(fù)醫(yī)學(xué)科建設(shè)與管理指南
評論
0/150
提交評論