哈工大威海大四通信課設(shè)_第1頁
哈工大威海大四通信課設(shè)_第2頁
哈工大威海大四通信課設(shè)_第3頁
哈工大威海大四通信課設(shè)_第4頁
哈工大威海大四通信課設(shè)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——哈工大威海大四通信課設(shè)

課程設(shè)計(jì)

報(bào)告

日期:2023.01.09姓名:呂程學(xué)號(hào):100240217

同組成員:于曉菲趙海娜韓天羅紫丹

高尚

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

哈爾濱工業(yè)大學(xué)(威海)

此次課程設(shè)計(jì)主要基于DSP5509A開發(fā)板進(jìn)行板上一系列功能的試驗(yàn)驗(yàn)證與實(shí)現(xiàn),具體內(nèi)容如下:

?LED閃爍試驗(yàn)

?中斷的軟件編程——外部中斷試驗(yàn)?通用計(jì)時(shí)器的使用——timer試驗(yàn)?通用計(jì)時(shí)器的使用——看門狗wdt試驗(yàn)?RTC實(shí)時(shí)時(shí)鐘試驗(yàn)

?外部存儲(chǔ)器接口——SDRAM試驗(yàn)?外部存儲(chǔ)器接口——鍵盤掃描試驗(yàn)?Flash的使用——擴(kuò)展flash讀寫試驗(yàn)?數(shù)字信號(hào)處理——FIR/*鎖相環(huán)的設(shè)置*/

PLL_ConfigmyConfig={

0,//IAI:thePLLlocksusingthesameprocessthatwasunderway//beforetheidlemodewasentered

1,//IOB:IfthePLLindicatesabreakinthephaselock,//itswitchestoitsbypassmodeandrestartsthePLLphase-locking//sequence

24,//PLLmultiplyvalue;multiply24times

1//Divideby2PLLdividevalue;itcanbeeitherPLLdividevalue//(whenPLLisenabled),orBypass-modedividevalue//(PLLinbypassmode,ifPLLmultiplyvalueissetto1)};

4

(四)

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

/*輸出頻率=(PLL_MULT/(PLL_DIV+1))*輸入時(shí)鐘頻率=12M*24/(1+1)=144M*/main(){

inti=0;/*初始化CSL庫(kù)*/CSL_init();

/*設(shè)置系統(tǒng)的運(yùn)行速度為144MHz*/

PLL_config(/*時(shí)鐘配置/

/*確定方向?yàn)檩敵?/

GPIO_RSET(IODIR,0xFF);/每個(gè)端口通過軟件配置為輸入或輸出,1為輸出*/for(i=0;i哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

delay();}}

voiddelay(){

Uint32j=0,k=0;for(j=0;j#include#include#include#include#include

CSLBoolb;

Uint16eventId0;intold_intm;

interruptvoidint1(void);

//Functionprototypes

/*Referencestartofinterruptvectortable*//*Thissymbolisdefinedinfile,vectors_IP.s55*/

8

源碼及解釋

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

externvoidVECSTART(void);/*鎖相環(huán)的設(shè)置*/

PLL_ConfigmyConfig={

0,//IAI:thePLLlocksusingthesameprocessthatwasunderway//beforetheidlemodewasentered

1,//IOB:IfthePLLindicatesabreakinthephaselock,//itswitchestoitsbypassmodeandrestartsthePLLphase-locking//sequence

12,//PLLmultiplyvalue;multiply12times

1//Divideby2PLLdividevalue;itcanbeeitherPLLdividevalue//(whenPLLisenabled),orBypass-modedividevalue//(PLLinbypassmode,ifPLLmultiplyvalueissetto1)};

/***************5509A終端設(shè)置,使能INT1中斷***********************//*參考資料TMS320C55xChipSupportLibraryAPIReferenceGuide(Rev.J)TMS320VC5509ADataSheet

HX-5509A開發(fā)板使用手冊(cè)*/voidINTconfig(){

/*Temporarilydisableallmaskableinterrupts*/IRQ_setVecs((Uint32)(

/*Temporarilydisableallmaskableinterrupts*/old_intm=IRQ_globalDisable();

/*GetEventIdassociatedwithExternalINT1(8019),forusewith*/eventId0=IRQ_EVT_INT0;

/*ClearanypendingINT1interrupts*/IRQ_clear(eventId0);

/*Placeinterruptserviceroutineaddressat*//*associatedvectorlocation*/IRQ_plug(eventId0,

/*EnableINT1(8019)interrupt*/IRQ_enable(eventId0);

/*Enableallmaskableinterrupts*/IRQ_globalEnable();}main(){

/*初始化CSL庫(kù)*/CSL_init();

9

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

/*EMIF為全EMIF接口*/

CHIP_RSET(XBSR,0x0a01);

/*設(shè)置系統(tǒng)的運(yùn)行速度144MHz*/PLL_config(

//設(shè)置并使能5509A芯片的INT0中斷(EXINT中斷)INTconfig();

while(1);}

//ExternalINT0(EXINT)中斷處理函數(shù)interruptvoidint1(){

inti,j;

printf(\for(i=0;i

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

{

xfchange=1;}

if(timer0_cnt==2000){

timer0_cnt=0;xfchange=0;}}

(二)試驗(yàn)現(xiàn)象

板上LED燈閃亮,間隔時(shí)間約1s。

四、通用計(jì)時(shí)器的使用——看門狗wdt試驗(yàn)

(一)

看門狗簡(jiǎn)介

1.概念

硬件看門狗是利用了一個(gè)定時(shí)器,來監(jiān)控主程序的運(yùn)行,也就是說在主程序的運(yùn)行過程中,我們要在定時(shí)時(shí)間到之前對(duì)定時(shí)器進(jìn)行復(fù)位假使出現(xiàn)死循環(huán),或者說PC指針不能回來。那么定時(shí)時(shí)間到后就會(huì)使單片機(jī)復(fù)位。常用的WDT芯片MAX813,5045,IMP813等。

軟件看門狗技術(shù)的原理和這差不多,只不過是用軟件的方法實(shí)現(xiàn),用DSP的片上外設(shè)資源定時(shí)器timer來對(duì)主程序的運(yùn)行進(jìn)行監(jiān)控。

2.作用

監(jiān)控主程序的運(yùn)行,也就是說在主程序的運(yùn)行過程中,我們要在定時(shí)時(shí)間到之前對(duì)定時(shí)器進(jìn)行復(fù)位假使出現(xiàn)死循環(huán),或者說PC指針不能回來。那么定時(shí)時(shí)間到后就會(huì)使DSP復(fù)位。即:防止由于軟件死循環(huán)而造成的系統(tǒng)死鎖。

3.HX-5509看門狗的結(jié)構(gòu)

WatchdogTimer包括一個(gè)16bit的預(yù)定標(biāo)計(jì)數(shù)器和一個(gè)16bit的主計(jì)數(shù)器,從而提供一個(gè)32bit動(dòng)態(tài)范圍的計(jì)數(shù)器

16

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

當(dāng)預(yù)定標(biāo)計(jì)數(shù)器達(dá)到0時(shí),就會(huì)被重新加載,并重新開始計(jì)數(shù)。

裝入的值由WDTCR中TDDR位+WDTCR2中的預(yù)定標(biāo)模式PREMD位來決定。當(dāng)PREMD位為0時(shí),4位TDDR域的值直接加載到預(yù)定標(biāo)計(jì)數(shù)器上,提供20位動(dòng)態(tài)范圍;當(dāng)PREMD位為1時(shí),預(yù)定標(biāo)計(jì)數(shù)器通過非直接的方式加載16位的TDDR,這種模式提供32位動(dòng)態(tài)范圍的看門狗計(jì)時(shí)器。

當(dāng)主計(jì)時(shí)器減為0時(shí),產(chǎn)生超時(shí)事件,引發(fā)以下的可編程事件:

00b,一個(gè)看門狗定時(shí)器中斷10b,DSP復(fù)位

01b,一個(gè)非屏蔽中斷(NMI)11b,不發(fā)生任何事件

所產(chǎn)生的超時(shí)事件,通過編程控制寄放器WDTCR中的WDOUT域來控制(二)

相關(guān)寄放器

計(jì)數(shù)器寄放器

WDTIM

WDPRD周期寄放器WDTCR控制寄放器WDTCR2控制寄放器21.WDTCR:看門狗控制寄放器

17

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

WDOUT:用來控制超時(shí)引發(fā)的可編程事件

PSC:當(dāng)PREMD=0時(shí),用來存放預(yù)定標(biāo)計(jì)數(shù)器的值。

TDDR:當(dāng)PREMD=0時(shí),若預(yù)定標(biāo)計(jì)數(shù)器的值減為0,則將TDDR加載到預(yù)定標(biāo)計(jì)數(shù)器中。當(dāng)PREMD=1時(shí),若預(yù)定標(biāo)計(jì)數(shù)器的值減為0,則通過TDDR中的值選擇加載到預(yù)定標(biāo)計(jì)數(shù)器中的數(shù)。

1.WDTCR2:看門狗控制寄放器

PREMD:預(yù)定標(biāo)寄放器模式選擇位,0為直接模式,1為間接模式。2.WDPRD:看門狗周期寄放器

WDPRD用來加載看門狗定時(shí)器主計(jì)數(shù)寄放器(WDTIM)。

源碼及解釋

#include

#include#include

(三)

inti,pscVal;

WDTIM_ConfiggetConfig;/*配置寄放器*/

WDTIM_ConfigmyConfig={

18

哈爾濱工業(yè)大學(xué)(威海)課程設(shè)計(jì)

0x1000,/*WDPRD*/0x0000,/*WDTCR*/0x1000/*WDTCR2*/

};/*這里看門狗配置時(shí)機(jī)還未完成,只是一個(gè)初始化,下面單獨(dú)的域配置才算完*/main(){

CSL_init();

WDTIM_config(//寄放器設(shè)置

/*對(duì)重要寄放器的域單獨(dú)設(shè)置*/

WDTIM_FSET(WDTCR,WDOUT,1);/*產(chǎn)生超時(shí)事件時(shí)引發(fā)非屏蔽中斷*/WDTIM_FSET(WDTCR,TDDR,0xF);/*設(shè)置加載PSC域的值*/WDTIM_FSET(WDTCR2,PREMD,0);/*設(shè)置為直接模式*//*就是這里,這才算配置完了在WDTIM_service之前配置完~*/WDTIM_service();/*使能看門狗計(jì)時(shí)器*/

for(;;){

WDTIM_getConfig(pscVal=WDTIM_FGET(WDTCR,PSC);printf(\pscVal,getConfig.wdtcr);}}

(四)試驗(yàn)結(jié)果顯示

pscVal:0,wdtcr:110fpscVal:9,wdtcr:134fpscVal:6,wdtcr:128fpscVal:3,wdtcr:11cfpscVal:0,wdtcr:110fpscVal:9,wdtcr:134f

五、RTC實(shí)時(shí)時(shí)鐘試驗(yàn)

(一)

RTC簡(jiǎn)介

RTC為運(yùn)行在DSP上的應(yīng)用程序提供了一個(gè)時(shí)間基準(zhǔn)。當(dāng)前的日期和時(shí)間由一組時(shí)間寄放器提供,每秒更新一次。

RTC時(shí)鐘來源于一個(gè)外部頻率為32768Hz的晶振,連接在RTCINX1和RTCINX2

19

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論