dsp交流電機控制開發(fā)板說明_第1頁
dsp交流電機控制開發(fā)板說明_第2頁
dsp交流電機控制開發(fā)板說明_第3頁
dsp交流電機控制開發(fā)板說明_第4頁
dsp交流電機控制開發(fā)板說明_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

翼志翼志200941981)1開發(fā)板硬件說明 4開發(fā)板性能簡介 4控制板特性: 4鍵盤顯示板特性: 4功率板特性: 5控制板硬件說明 6功率板硬件說明 7開發(fā)板實驗說明 12開發(fā)環(huán)境的建立 122.1.1安裝CCS3.3 122.1.2開發(fā)板硬件說明 4開發(fā)板性能簡介 4控制板特性: 4鍵盤顯示板特性: 4功率板特性: 5控制板硬件說明 6功率板硬件說明 7開發(fā)板實驗說明 12開發(fā)環(huán)境的建立 122.1.1安裝CCS3.3 122.1.22.1.3配置CCS3.3 162.1.4測試器 20GPIO實驗 21連接目標(biāo)板 21運行跑馬燈程序 23源程序簡析 25外部RAM實驗 27連接目標(biāo)板 27程序 29Timer實驗 33連接目標(biāo)板 33EEPROM實驗 362.5.1連接目標(biāo)板 36程序 382.6SCI實驗 412.6.1連接目標(biāo)板 412.6.2運行SCI程序 432.7PWM實驗 462.7.1連接目標(biāo)板 462.7.2運行PWM程序 482.8EVA實驗 502.8.12.8.2連接目標(biāo)板 50運行eva程序 52key&led實驗 54連接目標(biāo)板 542.9.2運行key_led程序 562.10flash_download實驗 582.10.12.10.2連接目標(biāo)板 64運行flash_download程序 662.11ad實驗 6922.11.12.11.2連接目標(biāo)板 70運行ad程序 712.12QEP實驗 782.12.12.11.12.11.2連接目標(biāo)板 70運行ad程序 712.12QEP實驗 782.12.12.12.22.12.32.12.4實驗?zāi)康?78硬件連接 78所用到的dsp78軟件流程圖 792.13電機控制試驗 80svpwm理論 82SVPWM的介紹 823.2空間矢量定義3.3SVPWM的原理 844.SVPWM程序說明 904.1先看看程序框圖 90Rampgen模塊 90vhzprof模塊 91RotareVevtor模塊 91Svpwmdq模塊 9231.開發(fā)板硬件說明1.1開發(fā)板性能簡介11.1.1控制板特性:TMS320F2812,32150M。*16位FLASH,利用燒寫插件可以方便的18K*16位SRAM;1.開發(fā)板硬件說明1.1開發(fā)板性能簡介11.1.1控制板特性:TMS320F2812,32150M。*16位FLASH,利用燒寫插件可以方便的18K*16位SRAM;4K*16BOOTROM;片內(nèi)內(nèi)置1K*16位OTPROM;256K*16位SRAM,IS61LV25616。1個蜂鳴器。1RS-232接口,可連接PC進(jìn)行實驗。CAN2.0接口,方便用戶組網(wǎng)。16AD輸入接口。用戶程序,FLASH可加密;24LC16,用與IIC總線數(shù)據(jù)傳輸實驗。GPIO口都被引出,方便用戶二次開發(fā)。提供增量式編碼器接口。1.1.2鍵盤顯示板特性:9600bps81。鍵盤的使用:DSP板鍵盤信息,顯示板的鍵盤依次從左到右,從上0x00~0x07DSP板相應(yīng)的鍵值。按下鍵就能檢測到一個串口中斷,免去了顯示的使用:的麻煩。顯示的控制,只需要通過串口向顯示板8bit的數(shù)。具體的幀格式如下表。4Bit7Bit6~5Bit4Bit3~01:顯示小數(shù)點0:不顯示00:顯示板最左邊一位01:左數(shù)第二位10:左數(shù)第三位0:基本字符0~F1:特殊字符0000~0007:依次為11.1.3功率板特性:電機供電電源5~220VAC/DC1100W電機,最大峰值電流可以達(dá)25A。15VDC的電流0.15A。5VDC電流0.4A,15VDC采用驅(qū)動25A、1200V11.1.3功率板特性:電機供電電源5~220VAC/DC1100W電機,最大峰值電流可以達(dá)25A。15VDC的電流0.15A。5VDC電流0.4A,15VDC采用驅(qū)動25A、1200V的管。用霍爾傳感器檢測輸出電流波形,使低壓側(cè)和高壓側(cè)完全,原邊電流-10A~+10A對應(yīng)直流側(cè)電流采樣,通過線性光耦直流側(cè)電壓采樣,通過線性光耦。。0~150℃溫度檢測,模擬輸出。動板不受高壓干擾。PWM上下橋臂直通硬件保護(hù),過流硬件保護(hù)。。電源輸入指示和LED指示。511:左數(shù)第四位全滅,全亮,d,i,s,p,o,r,-1.2控制板硬件說明電源接口④外供+5V+3.3V1.2控制板硬件說明電源接口④外供+5V+3.3V輸出。該接口為雙排針“+5標(biāo)識對的一排都為+5V輸入“GD“+3.3V”同理。在控制板通電后+5V和+3.3V指示燈會點亮。+5V。通 口②③。③:CAN總線接口,引腳說明:1-CANH,2-CANL。GPIO接口①對應(yīng)的功能如排針旁標(biāo)識所示。顯示板接口⑨顯示板直接用串口控制,免去以前用DSPCPU時間。鍵盤顯示9600bps,無校驗位,數(shù)據(jù)位81。引腳說明:1-+5V,3-GND,5-TXB,7-RXB,8、10-連接顯示板點亮指示燈,2、4、6、9-NC編碼器接口⑧26ls32DSP,在板子上還留出了此信號的引腳便于測試。此接口可以接hall輸出。A,B,Z和U,V,W可以用于接伺服電6引腳說明:1-A3-A\,5引腳說明:1-A3-A\,5-B7-B\9-Z,11-Z。其中差分信號轉(zhuǎn)換后的ADSPQEP1,BQEP2,ZQEP11。2-U,4-U\,6-V,8-V\,10-W,12-W\UDSPQEP3,VQEP4,WQEP12。13-+5V,14-GND功率板接口⑦見功率板硬件說明圖標(biāo)④AD_IN接口⑤模擬信號輸入引腳,引腳說明:1-模擬地,2-3.3V,3~10-ADCINB7~0,1112-ADCLO,13~20-ADCINA0~7。JTJTAG口⑥及程序用。PWMDAC(10)的T3CMPDAC的輸出經(jīng)過一階有源低通濾波的輸出(其中低通濾波的截止頻率可以自己根據(jù)需要修改電阻和電容值)用于調(diào)試的時候輸出需要查看的值,和輸出直流量。1.3功率板硬件說明7②:需外供+15V電源。供電正常,旁邊的指示燈亮,用于給功率板的驅(qū)動部分供電,功耗約1W,此+15V220V②:需外供+15V電源。供電正常,旁邊的指示燈亮,用于給功率板的驅(qū)動部分供電,功耗約1W,此+15V220V整流后的直流側(cè)的地相連,板子上有表明+15V的接頭處為正。注意連接。③:需外供+5V電源,供電正常,旁邊的指示燈亮,用于給控制板供電,注意此電源與+15V完全,所有外部的供電與+15V此外與控制板的+5V供電,控制板就不用供電了。⑦:220V發(fā)板供電,防止意外發(fā)生。的電源線和一個空開,電源經(jīng)過空開再給開輸出接口⑤PWM繼電器接口①絲,我們可以通過外部使用一個電阻和繼電器來防止這種情況。812VDC11制動電阻接口⑥作用:A、在電機需要制動時,斷開繼電器,斷開220V供電,可將電機產(chǎn)生的反電動勢在電阻上消耗)B、在斷電后將此導(dǎo)通消耗掉電容上的余電,以免發(fā)生觸電。指示⑧兩個紅色指示燈同時亮,為上下橋臂同時導(dǎo)通a.12VDC11制動電阻接口⑥作用:A、在電機需要制動時,斷開繼電器,斷開220V供電,可將電機產(chǎn)生的反電動勢在電阻上消耗)B、在斷電后將此導(dǎo)通消耗掉電容上的余電,以免發(fā)生觸電。指示⑧兩個紅色指示燈同時亮,為上下橋臂同時導(dǎo)通a.PWM臂同時導(dǎo)通了,這種情況一定要防止發(fā)生。因為這樣相當(dāng)于把直流側(cè)直接短接,后果嚴(yán)重。我們的開發(fā)板已在硬件上防止這種情況發(fā)生,發(fā)生這種情況會關(guān)閉所有的,并有指示燈指示。b.只有D15,I_OVERLOAD指示燈亮,表示過流。引起的原因:直流側(cè)電流過流,當(dāng)出現(xiàn)此情況時,硬件關(guān)閉所有的 的公式計算。控制板接口④a. 。VUI=N*IxN:經(jīng)過霍爾傳感器線圈的匝數(shù);Ix:VU9b.5:I_dc_dsp直流側(cè)電流的檢測值,計算公式為Idc:實際的直流側(cè)電流值;Vout_Idc:I_dc_dsp,AD的信號;offset_Idc:b.5:I_dc_dsp直流側(cè)電流的檢測值,計算公式為Idc:實際的直流側(cè)電流值;Vout_Idc:I_dc_dsp,AD的信號;offset_Idc:0一個值,一般可用萬用表測量,這里給出一個經(jīng)驗值70mVb.7:U_dc_dsp直流側(cè)電壓的檢測值,計算公式為1.2Vout_Udc=Udc*+offset_Udc151.2Udc:實際的直流側(cè)電壓值;Vout_Udc:U_dc_dsp,AD的信號;offset_Udc:0一個值,一般可用萬用表測量,這里給出一個經(jīng)驗值5mV。c.排針引腳9:t_drive_dsp功率板溫度信號t_drive_dsp=t*10mv+offset_tt:當(dāng)前實際溫度。加。t_drive_dspDSP10d.11:relay_dsp驅(qū)動繼電器信號:高電平有效(5V10ma,(DSP輸出低電平有效)。用以控制繼電器接口(①號接口)所接的繼電器。d.11:relay_dsp驅(qū)動繼電器信號:高電平有效(5V10ma,(DSP輸出低電平有效)。用以控制繼電器接口(①號接口)所接的繼電器。e.13:R_dc_dsp驅(qū)動制動電阻信號,高電平有效(5V10ma,(DSPDSP(⑥號接口)所接的制動電阻是否連接在Udc上。f.2,4:Vcc,Vcc_GND+5V+5Vg.6.8.10.12.14.16:PWM1_dsp~PWM6_dsp高電平有效(5V10ma,(DSPDSPPwm1_dsp,Pwm2_dspUPwm3_dsp,Pwm4_dsp分別對應(yīng)UPwm5_dsp,Pwm6_dsp分別對應(yīng)Uh.18.20:連接控制板點亮指示燈。散熱片⑨板子背面連接有散熱片,但如果長時間連接大功率電機,請加一個軸流風(fēng)機在散熱片上。增強散熱性。使用功率板注意事項a、220V在用手觸碰功率板,斷電后也需隔一段時間才能觸碰,因為直流側(cè)電容仍有高壓存在;(可以在⑥制動電阻接口接一個5K10W)b220V24~48Vflash,220Vc220V220V建議測試時用24~48V,而用220V時需要看參數(shù),此時就用串口發(fā)出在電腦中時時看。112.開發(fā)板實驗說明2.1開發(fā)環(huán)境的建立要進(jìn)行DSPPC機安裝CCS器,和目2.開發(fā)板實驗說明2.1開發(fā)環(huán)境的建立要進(jìn)行DSPPC機安裝CCS器,和目標(biāo)板。我們首先來安裝CCS3.3。打開的光碟,點擊steup.exe開始安裝,一直下一步到圖2-1-1畫面,再點擊Typicalinstall.2-1-1選擇安裝位置(C盤,如2-1-2--待安裝完成。122-1-222.1.器驅(qū)動(以聞亭的TDS510USB為例)(a)USBPC2-1-222.1.器驅(qū)動(以聞亭的TDS510USB為例)(a)USBPCUSB備,如圖2-1-3,選擇從列表或指置安裝,單擊下一步,如圖2-1-4器驅(qū)動。如2-1-5所示。132-1-32-1-4142-1-32-1-4142-1-5(b)安裝完驅(qū)動后,需要CCS能夠使用此器,就需要安裝此器的支2-1-5(b)安裝完驅(qū)動后,需要CCS能夠使用此器,就需要安裝此器的支的路徑,如圖2-1-6。152-1-62.1.3配置CCS3.3(a)SetupCCStudiov3.3,并點擊creat,得到如圖2-1-7所示畫面.并雙擊WintechDig…(這個就是因為安裝了2-1-62.1.3配置CCS3.3(a)SetupCCStudiov3.3,并點擊creat,得到如圖2-1-7所示畫面.并雙擊WintechDig…(這個就是因為安裝了器的支持軟件才將此器加入了CCS)得到如圖2-1-8所示畫面,按圖1-9(選擇器的配置文件目錄)和圖1-10(配置器的頻率,等參數(shù))設(shè)置finish器配置。2-1-7162-1-82-1-9172-1-82-1-9172-1-10(b)配置好器后,下一部需要設(shè)置你的開發(fā)板,主要是要設(shè)置用的是什么類型的芯片,加入相應(yīng)的GEL文件。只有正確加入了GEL文件才能進(jìn)行。配置好器后,在MySystem下面會有我們的wintech,左鍵點擊它,在中部窗口會出現(xiàn)它能支持的2-1-10(b)配置好器后,下一部需要設(shè)置你的開發(fā)板,主要是要設(shè)置用的是什么類型的芯片,加入相應(yīng)的GEL文件。只有正確加入了GEL文件才能進(jìn)行。配置好器后,在MySystem下面會有我們的wintech,左鍵點擊它,在中部窗口會出現(xiàn)它能支持的種類,如圖2-1-11所示。我們雙擊TMS320C2800,出現(xiàn)如圖2-1-12所示畫面,點擊GELfile后面的指定地址按鈕。并選擇f2812.gel如圖2-1-13(注c2812.gel圖2-1-14所示畫面。最后點擊save&Quit。182-1-112-1-12192-1-112-1-12192-1-132-1-14器重啟電腦,打開CCS3.3,接上ccs3.3左下方是2-1-132-1-14器重啟電腦,打開CCS3.3,接上ccs3.3左下方是DISCONNECTED,表明現(xiàn)在無連接,鍵盤ALT+C(連接)后,可以看到ccs3.3左下方是halted。左下方可以實時顯示軟件和目標(biāo)板連接的狀態(tài)。如圖2-1-15所示。中間出現(xiàn)的窗口是軟件讀DSP內(nèi)存的20結(jié)果。第一次連接可能會稍慢就是因為軟件要讀DSP的內(nèi)存。好了到現(xiàn)在為止就把開發(fā)環(huán)境建立好了,馬上我們就可以開始了解DSP的世界。2-1-152.2GPIO實驗實驗本實驗的目的主要是介紹調(diào)試環(huán)境的建立以及DSP開發(fā)板I/O結(jié)果。第一次連接可能會稍慢就是因為軟件要讀DSP的內(nèi)存。好了到現(xiàn)在為止就把開發(fā)環(huán)境建立好了,馬上我們就可以開始了解DSP的世界。2-1-152.2GPIO實驗實驗本實驗的目的主要是介紹調(diào)試環(huán)境的建立以及DSP開發(fā)板I/O口的使用。22.2.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!運行CCStudiov3.3,如圖2-2-1所示。窗口左下角會顯示DISCONNECTED,表示還沒有與目標(biāo)板建立連接。212-2-1Debug->Connec2-2-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-1-2所示。222-2-22.2.2運行跑馬燈程序選擇Project->Open,打開光盤實驗程序中的GPIO2-2-22.2.2運行跑馬燈程序選擇Project->Open,打開光盤實驗程序中的GPIO文件夾內(nèi)的gpio.pjt,如圖2-2-3所示。2-2-2-2-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xGpio.c可打開主程序。如圖2-2-4所示。232-2-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按2-2-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按圖2-2-5所示。這樣就將程序到了DSP2-2-5選擇Debug->Run(或按F5),就可以看到DSPLedDebug->Halt24可以暫停程序的運行。2.2.3源程序簡析源程序的主要部分如下:voidmain(void){unsignedintDisplayBuffer=0x0001;//InitSysCtrl();//DisableandclearallCPUinterrupts:DINT;IER=0x0000;IFR=0x0000;//InitializePieControlRegistersToDefaultState:InitPieCtrl();InitPieVectTable();//RunGPIOtestvar1=0x0000;//setsGPIOMuxsasI/Osvar2=可以暫停程序的運行。2.2.3源程序簡析源程序的主要部分如下:voidmain(void){unsignedintDisplayBuffer=0x0001;//InitSysCtrl();//DisableandclearallCPUinterrupts:DINT;IER=0x0000;IFR=0x0000;//InitializePieControlRegistersToDefaultState:InitPieCtrl();InitPieVectTable();//RunGPIOtestvar1=0x0000;//setsGPIOMuxsasI/Osvar2=0xFFFF;//setsGPIODIRasoutputsvar3=0x0000;//setstheInputqualifiervaluesGpio_select();//ToggleI/OsusingDATAregisterforeverwhile(1)25{GpioDataRegs.GPADAT.all=DisplayBuffer;DisplayBuffer<<=1;if(DisplayBuffer==0x0040){DisplayBuffer=0x0001;}delay_loop();delay_loop();}}voidGpio_select(void){EALLOW;GpioMuxRegs.GPAMUX.all=var1;GpioMuxRegs.GPBMUX.all=var1;GpioMuxRegs.GPDMUX.all=var1;GpioMuxRegs.GPFMUX.all=var1;GpioMuxRegs.GPEMUX.all=var1;GpioMuxRegs.GPGMUX.all=var1;GpioMuxRegs.GPADIR.all=var2;//GPIOPORTs asoutputGpioMuxRegs.GPBDIR.all=var2;//GPIODIRselectGPIOsasoutputGpioMuxRegs.GPDDIR.all=var2;GpioMuxRegs.GPEDIR.all=var2;GpioMuxRegs.GPFDIR.all=var2;26{GpioDataRegs.GPADAT.all=DisplayBuffer;DisplayBuffer<<=1;if(DisplayBuffer==0x0040){DisplayBuffer=0x0001;}delay_loop();delay_loop();}}voidGpio_select(void){EALLOW;GpioMuxRegs.GPAMUX.all=var1;GpioMuxRegs.GPBMUX.all=var1;GpioMuxRegs.GPDMUX.all=var1;GpioMuxRegs.GPFMUX.all=var1;GpioMuxRegs.GPEMUX.all=var1;GpioMuxRegs.GPGMUX.all=var1;GpioMuxRegs.GPADIR.all=var2;//GPIOPORTs asoutputGpioMuxRegs.GPBDIR.all=var2;//GPIODIRselectGPIOsasoutputGpioMuxRegs.GPDDIR.all=var2;GpioMuxRegs.GPEDIR.all=var2;GpioMuxRegs.GPFDIR.all=var2;26GpioMuxRegs.GPGDIR.all=var2;GpioMuxRegs.GPAQUAL.all=var3;//SetGPIOinputqualifiervaluesGpioMuxRegs.GPBQUAL.all=var3;GpioMuxRegs.GPDQUAL.all=var3;GpioMuxRegs.GPEQUAL.all=var3;EDIS;}其中的函數(shù)voidGpio_select(void)用來將I/O口初始化為GPIO,并設(shè)置為輸出模式。MainLEDI/O2.3外部RAMGpioMuxRegs.GPGDIR.all=var2;GpioMuxRegs.GPAQUAL.all=var3;//SetGPIOinputqualifiervaluesGpioMuxRegs.GPBQUAL.all=var3;GpioMuxRegs.GPDQUAL.all=var3;GpioMuxRegs.GPEQUAL.all=var3;EDIS;}其中的函數(shù)voidGpio_select(void)用來將I/O口初始化為GPIO,并設(shè)置為輸出模式。MainLEDI/O2.3外部RAM實驗分為兩部分。前一部分向外部RAM中寫入0~99一百個數(shù),再從外部RAM中讀出,我們可以CCSwatchwindowsRAM,RAM256K0x40000,我們先依次向其中寫入一個數(shù),再讀出,若一樣就測試下一個地址,不一樣就停在那死循環(huán),所以只有外部RAM都是好的才能走過RAM_Test()這個函數(shù),然后開發(fā)板上的燈就能亮了。2.3.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V27注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!運行CCStudiov3.3,如圖注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!運行CCStudiov3.3,如圖2-3-1DISCONNECTED,表示還沒有與目標(biāo)板建立連接。2-3-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-3-2所示。282-3-22.3.2運行外部RAM實驗程序2-3-22.3.2運行外部RAM實驗程序選擇Project->Open,打開光盤實驗程序中的GPIO文件夾內(nèi)的gpio.pjt,如圖2-3-3所示。2-3-329選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xExtRAM.c可打開主程序。如圖2-3-4所示。2-3-4選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xExtRAM.c可打開主程序。如圖2-3-4所示。2-3-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按2-3-5DSP302-3-5RAM_Test()函數(shù)里設(shè)置個斷點,如2-2-3-5RAM_Test()函數(shù)里設(shè)置個斷點,如2-3-6所示:2-3-6buffer處點擊右鍵,然后選擇addtowatchwindows如2-3-7所示:312-3-7然后我們就可以在watchwindows2-3-7然后我們就可以在watchwindows圖2-3-8,可以看到板子上的燈閃爍,說明外部RAM通過檢測。322-3-82.4Timer實驗本實驗的目的主要是介紹2812的CPUTimer的使用。2812的頭文件已經(jīng)把定時器初始化函數(shù)寫好了,我們只需要輸入自己的時鐘120,和需要定時的時間,是us。我們這里定時2-3-82.4Timer實驗本實驗的目的主要是介紹2812的CPUTimer的使用。2812的頭文件已經(jīng)把定時器初始化函數(shù)寫好了,我們只需要輸入自己的時鐘120,和需要定時的時間,是us。我們這里定時1S,讓開發(fā)板上的LED間隔閃爍。22.4.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!運行CCStudiov3.3,如圖2-4-1DISCONNECTED,表示還沒有與目標(biāo)板建立連接。2-4-1Debug->Connec(或按組合鍵ALT+CHALTED33與目標(biāo)板連接成功,如圖2-4-2所示。2-4-2與目標(biāo)板連接成功,如圖2-4-2所示。2-4-2程序所示。342-4-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xTimer.c可打開主程序。如圖2-4-4所示。2-4-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xTimer.c可打開主程序。如圖2-4-4所示。2-4-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按CTRL+L),LoadProgramDebugtimer.out,然后選擇打開,如2-4-5DSP352-4-5選擇Debug->Run(或按F5),就可以看到DSPLedDebug->Halt可以暫停程序的運行。2.5EEPROM實驗實驗本實驗的目的主要是介紹外部EEPROM的使用。在做實際的中,在使用過程一般要EEPROM24lc16I2-4-5選擇Debug->Run(或按F5),就可以看到DSPLedDebug->Halt可以暫停程序的運行。2.5EEPROM實驗實驗本實驗的目的主要是介紹外部EEPROM的使用。在做實際的中,在使用過程一般要EEPROM24lc16I2C,只需要兩根線就可以讀寫數(shù)據(jù),節(jié)約cpu的I/O24C16初始化,讀寫程序都寫在24Cxx.c里面,如果以后其他程序中要用,直接將其次開發(fā)。2.5.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!與目標(biāo)板建立連接。362-5-1Debug->Connec(2-5-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-5-2所示。372-5-22.5.2運行EEPROM程序選擇2-5-22.5.2運行EEPROM程序選擇Project->OpenEEPROMEEPROM.pjt2-5-32-5-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xEEPROM.c可打開主程序。如圖2-5-4所示。382-5-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按2-5-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按2-5-5所示。這樣就將程序DSP2-5-5選擇Debug->Run(或按F5),選擇Debug->Halt,然后再將dat1dat加入到39watchwindows,dat1Addtowatchwindowswatchwindows,dat1Addtowatchwindows2-5-6所示。然后watchwindows2-5-7所示。2-5-6402-5-72.6SCI實驗實驗本實驗的目的主要是介紹DSP開發(fā)板SCIRS232可以直接與電腦的串口通信。將直通串口線把開發(fā)板串口和電腦的COM12-5-72.6SCI實驗實驗本實驗的目的主要是介紹DSP開發(fā)板SCIRS232可以直接與電腦的串口通信。將直通串口線把開發(fā)板串口和電腦的COM1連接起來,下面我程也就是多用了幾個外設(shè),把它們連起來使用。22.6.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!與目標(biāo)板建立連接。412-6-1Debug->Connec2-6-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-6-2所示。422-6-22.6.2運行SCI程序2-6-22.6.2運行SCI程序選擇Project->Open,打開光盤實驗程序中的SCI文件夾內(nèi)的sci.pjt,如圖2-6-3所示。2-6-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊Example_28xGpio.c可打開主程序。如圖2-6-4所示。432-6-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按2-6-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按CTRL+L),LoadProgramDebugsci.out,然后選擇打開,如圖2-6-5到了DSP2-6-544選擇Debug->Run(或按F5),然后打開光盤中工具軟件文件夾的串口調(diào)試助手,注意要正確配置波特率,如圖2-6-6選擇Debug->Run(或按F5),然后打開光盤中工具軟件文件夾的串口調(diào)試助手,注意要正確配置波特率,如圖2-6-6所示。我們程序的功能是把收到的字符再發(fā)回去,我們點擊手動可以看到接受區(qū)收到了我們的字符,如2-6-7所示。2-6-6452-6-72.7PWM實驗本實驗的目的主要是介紹2812PWMEVA1來產(chǎn)生載波,通過T1的比較功能輸出PWM。具體的寄存器初始化可以看程序,我這里主要說下怎么產(chǎn)生特定頻率和特定脈寬的2-6-72.7PWM實驗本實驗的目的主要是介紹2812PWMEVA1來產(chǎn)生載波,通過T1的比較功能輸出PWM。具體的寄存器初始化可以看程序,我這里主要說下怎么產(chǎn)生特定頻率和特定脈寬的PWM。設(shè)定定時器時鐘源為HSPCLK。InitSysCtrl(void)函數(shù)里把HSPCLK/1。InitEv(void)函數(shù)里把定時器時鐘定標(biāo)為/1,計數(shù)模式為連續(xù)曾計數(shù)。假如要生成10K50%的脈寬,T1PR=150M/10K=15000=0x3A98T1CMPR=T1PR*50%=0x1D4C;要產(chǎn)生其他脈寬也可以按上訴公式計算。2.7.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,465V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!與目標(biāo)板建立連接。2-7-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-7-2所示。472-7-22.7.2運行PWM2-7-22.7.2運行PWM程序選擇Project->Open,打開光盤實驗程序中的PWM文件夾內(nèi)的pwm.pjt,如圖2-7-3所示。2-7-348選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊PWM_M.c2-7-42-選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊PWM_M.c2-7-42-7-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按CTRL+L),LoadProgramDebugpwm.out,然后選擇打開,如圖2-7-5到了DSP492-7-5選擇Debug->Run(或按F5),然后用示波器測量T1CMP引腳,可以看到輸出是10K50%脈寬的PWM波形。如果沒有示波器,也可以用萬用表測電壓,得到的應(yīng)該是50%*3.3V=1.65V,大家可以改為不同的脈寬,看看電壓的變化,他們是成線性關(guān)系的。2.8EVA實驗實驗本實驗的目的主要是介紹2-7-5選擇Debug->Run(或按F5),然后用示波器測量T1CMP引腳,可以看到輸出是10K50%脈寬的PWM波形。如果沒有示波器,也可以用萬用表測電壓,得到的應(yīng)該是50%*3.3V=1.65V,大家可以改為不同的脈寬,看看電壓的變化,他們是成線性關(guān)系的。2.8EVA實驗實驗本實驗的目的主要是介紹2812中EVA(管理單元)的使用。用EVA6路PWM寬輸出來點亮板子上的六個LED,但這次我們不是做流水燈,而是讓它們從亮到暗再從暗到亮的循環(huán),其實很多對象都是通過PWM來控制,如直流電機,開關(guān)電源,D類功放,等等。通過這個實驗,可以先了解PWM,以后就可以用這來控制其他設(shè)備,其實都是一個道理。2.8.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!與目標(biāo)板建立連接。502-8-1Debug->Connec2-8-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-8-2所示。512-8-22.8.2運行eva程序2-8-22.8.2運行eva程序選擇Project->Open,打開光盤實驗程序中的eva文件夾內(nèi)的eva.pjt,如圖2-8-3所示。2-8-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊eva.c2-8-4522-8-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按2-8-4選擇Project->RebuildAll編譯一下源程序,選擇File->LoadProgram..(或按CTRL+L),LoadProgramDebugeva.out,然后選擇打開,如圖2-8-5到了DSP2-8-553選擇Debug->Run(或按F5),就可以看到開發(fā)板上的LED亮暗循環(huán)變化。這個程序就是通過CPUTimer2產(chǎn)生20ms的中斷,每個中斷到的時候就把輸出的脈寬增加或減少,以改變LED2.9key&led實驗可以控制,免去以前用DSP鍵盤和控制顯示的麻煩,節(jié)省了cpu時間。首先來介紹下是怎么通信的。鍵盤顯示板的串口波特率是9600,無校驗位,數(shù)據(jù)位8,停止位1。鍵盤的使用:按下顯示板上的按鈕,顯示板向DSP板0x00~0x07,也就是按下相應(yīng)的鍵,顯示板就向DSP相應(yīng)的鍵值。按下鍵就能檢測到一個串口中斷,免去了 的麻煩。顯示的使用:8bit需要顯示什么根據(jù)上表中的幀格式,就可以方便的顯示需要顯示的數(shù)了?,F(xiàn)在來簡單介紹下我們的程序,按下鍵后,串口選擇Debug->Run(或按F5),就可以看到開發(fā)板上的LED亮暗循環(huán)變化。這個程序就是通過CPUTimer2產(chǎn)生20ms的中斷,每個中斷到的時候就把輸出的脈寬增加或減少,以改變LED2.9key&led實驗可以控制,免去以前用DSP鍵盤和控制顯示的麻煩,節(jié)省了cpu時間。首先來介紹下是怎么通信的。鍵盤顯示板的串口波特率是9600,無校驗位,數(shù)據(jù)位8,停止位1。鍵盤的使用:按下顯示板上的按鈕,顯示板向DSP板0x00~0x07,也就是按下相應(yīng)的鍵,顯示板就向DSP相應(yīng)的鍵值。按下鍵就能檢測到一個串口中斷,免去了 的麻煩。顯示的使用:8bit需要顯示什么根據(jù)上表中的幀格式,就可以方便的顯示需要顯示的數(shù)了?,F(xiàn)在來簡單介紹下我們的程序,按下鍵后,串口2收到鍵值,根據(jù)鍵值和上述幀格式,給顯示板顯示相應(yīng)的鍵值。并根據(jù)鍵值依次亮開發(fā)板上的6個LED燈。等閃爍的效果是通過定時器2產(chǎn)生1s的脈沖,再通過此脈沖的高低來控制燈是否亮。這里說的脈沖,其實只是程序中一個變量1,和0的變化,軟件和硬件是相通的,多看幾遍程序就能體會了。2.9.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,54Bit7Bit6~5Bit4Bit3~01:顯示小數(shù)點0:不顯示00:顯示板最左邊一位01:左數(shù)第二位10:左數(shù)第三位11:左數(shù)第四位0:基本字符0~F1:特殊字符0000~0007:依次為全滅,全亮,d,i,s,p,o,r,-5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!與目標(biāo)板建立連接。2-9-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-9-2所示。552-9-22.9.2運行key_led2-9-22.9.2運行key_led程序選擇Project->Open,打開光盤實驗程序中的key_led文件夾內(nèi)的key_led.pjt,如圖2-9-32-9-356選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊key_led.c2-9-42-選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊key_led.c2-9-42-9-4選擇Project->RebuildAllFile->LoadProgram..(或按CTRL+L),打開LoadProgram窗口,打開Debug文件夾選擇key_led.out,然后選擇打開,如圖9-5所示。這樣就將程序DSP572-9-5選擇Debug->Run(或按F5),然后按下按鈕后的反應(yīng),大體的過程可以看最前面的說明,具體的就要仔細(xì)看看程序。2.10flash_download實驗產(chǎn)生的克執(zhí)行代碼裝載到內(nèi)部RAM(H0-SRAM)。一旦程序調(diào)試完成需要系統(tǒng)作為到非易失性器(ROM、EEPROM、Flash)中,系統(tǒng)每次上電后能夠采用特定的引導(dǎo)操作自動運行應(yīng)用程序。C28x上電后有6種不同的啟動模式,主要通過GPIO端口的4個引腳上電復(fù)位過程中所處的狀態(tài)確定選擇哪種方式啟動。引腳狀態(tài)同啟動方式的關(guān)系如表一所示。表一:處理器引腳方式同GPIO引腳狀態(tài)的關(guān)系在調(diào)試程序時程序主要在內(nèi)部H0-SRAM器中運行,如果希望程序從內(nèi)部的Flash運行就需要在系統(tǒng)上電過程中改變F4引腳的狀態(tài)。此外,需要將處理器配置為計算機模式(SMP/MC=0)1Flash58FLASH(128K)LBGPIO引導(dǎo)方式GPIO引導(dǎo)方式F4F12F3F2F4F12-9-5選擇Debug->Run(或按F5),然后按下按鈕后的反應(yīng),大體的過程可以看最前面的說明,具體的就要仔細(xì)看看程序。2.10flash_download實驗產(chǎn)生的克執(zhí)行代碼裝載到內(nèi)部RAM(H0-SRAM)。一旦程序調(diào)試完成需要系統(tǒng)作為到非易失性器(ROM、EEPROM、Flash)中,系統(tǒng)每次上電后能夠采用特定的引導(dǎo)操作自動運行應(yīng)用程序。C28x上電后有6種不同的啟動模式,主要通過GPIO端口的4個引腳上電復(fù)位過程中所處的狀態(tài)確定選擇哪種方式啟動。引腳狀態(tài)同啟動方式的關(guān)系如表一所示。表一:處理器引腳方式同GPIO引腳狀態(tài)的關(guān)系在調(diào)試程序時程序主要在內(nèi)部H0-SRAM器中運行,如果希望程序從內(nèi)部的Flash運行就需要在系統(tǒng)上電過程中改變F4引腳的狀態(tài)。此外,需要將處理器配置為計算機模式(SMP/MC=0)1Flash58FLASH(128K)LBGPIO引導(dǎo)方式GPIO引導(dǎo)方式F4F12F3F2F4F12F3F21FLASH 地址0x3F7FF601xxSPI0010H0-SRAM 地址0x3F7FF60011SCI-A接口引導(dǎo)0001OTP 地址 0x3F7FF60000GPIOB導(dǎo)(1)0x3FFFC0DSPBOOT-ROM(2)BOOT-ROM0x3FFC00(引導(dǎo)代碼初始化任務(wù)和引導(dǎo)模式的選擇。(3)GPIO-F4=1,PC0x3F7FF6(Flash空間的地址)。但該段僅有2Flash跳轉(zhuǎn)到應(yīng)用程序Cc-int00(1)0x3FFFC0DSPBOOT-ROM(2)BOOT-ROM0x3FFC00(引導(dǎo)代碼初始化任務(wù)和引導(dǎo)模式的選擇。(3)GPIO-F4=1,PC0x3F7FF6(Flash空間的地址)。但該段僅有2Flash跳轉(zhuǎn)到應(yīng)用程序Cc-int00(4)c-int00CFlash(5)c-int00main?,F(xiàn)在我們明白了2812flash里運行只需要更改CMD文件,flash里面,還有就是在0x3F7FF6LB_c_int00這句話,使程序跳轉(zhuǎn)至我們的Cflash.cmd和codestart.asm。//flash.cmdMEMORY{PAGE0:59_c_int00PassWords(8)H0-SRAMBootROM(4K)BootCode0x3FFC00{SCANGPIO}BROMvector(32)0x3FFC00RAML0:::originorigin==0x002000,length=0x004000,length=0x0020000x002000=0x001000/*XINTFzone0*//*XINTFzone1*//*on-chipRAMblockorigin=0x008000,lengthL0*/ZONE2ZONE6FLASHJFLASHIFLASHHFLASHGFLASHFFLASHEFLASHDFLASHCFLASHBFLASHACSM_RSVDBEGINCSM_PWLROM(Mp/Mc=0)*/RESET(Mp/Mc=0)*/VECTOR(Mp/Mc=0)*/::::::::::originoriginoriginoriginoriginoriginoriginoriginoriginorigin==========0x080000,0x100000,0x3D8000,0x3DA000,0x3DC000,0x3E0000,0x3E4000,RAML0:::originorigin==0x002000,length=0x004000,length=0x0020000x002000=0x001000/*XINTFzone0*//*XINTFzone1*//*on-chipRAMblockorigin=0x008000,lengthL0*/ZONE2ZONE6FLASHJFLASHIFLASHHFLASHGFLASHFFLASHEFLASHDFLASHCFLASHBFLASHACSM_RSVDBEGINCSM_PWLROM(Mp/Mc=0)*/RESET(Mp/Mc=0)*/VECTOR(Mp/Mc=0)*/::::::::::originoriginoriginoriginoriginoriginoriginoriginoriginorigin==========0x080000,0x100000,0x3D8000,0x3DA000,0x3DC000,0x3E0000,0x3E4000,0x3E8000,0x3EC000,0x3F0000,lengthlengthlengthlengthlengthlengthlengthlengthlengthlength==========0x0800000x0800000x0020000x0020000x0040000x0040000x0040000x0040000x0040000x004000/*XINTFzone2*//*XINTFzone6*//*on-chip/*on-chip/*on-chip/*on-chip/*on-chip/*on-chip/*on-chip/*on-chipflash*/flash*/flash*/flash*/flash*/flash*/flash*/flash*/:origin=0x3F4000,length=0x002000::::originoriginoriginorigin====0x3F6000,0x3F7F80,0x3F7FF6,0x3F7FF8,lengthlengthlengthlength====0x001F800x0000760x0000020x000008/*on-chipflash*/:origin=0x3FF000,length=0x000FC0/*bootrom:origin=0x3FFFC0,length=0x000002/*partofbootrom:origin=0x3FFFC2,length=0x00003E/*partofbootromPAGE1:/*SARAM*/RAMM0:origin=0x000000,length=0x000400RAMM1:origin=0x000400,length=0x000400RAML0L1:origin=0x008000,length=0x002000DRAMH0:origin=0x3f9000,length=0x002000/*PeripheralFrame0:*/DEV_EMU:origin=0x000880,length=0x000180FLASH_REGS:origin=0x000A80,length=0x000060CSM:origin=0x000AE0,length=0x00001060XINTF:origin=0x000B20,length=0x000020CPU_TIMER0:origin=0x000C00,length=0x000008CPU_TIMER1:origin=0x000C08,length=0x000008CPU_TIMER2:origin=0x000C10,length=0x000008PIE_CTRL:origin=0x000CE0,length=0x000020PIE_VECT:origin=0x000D00,length=0x000100/*PeripheralFrame1:*/ECAN_A:origin=0x006000,length=0x000100ECAN_AMBOX:origin=0x006100,length=0x000100/*PeripheralFrame2:*/SYSTEM:origin=0x007010,length=0x000020SPI_A:origin=0x007040,length=0x000010SCI_A:origin=0x007050,length=0x000010XINTRUPT:origin=0x007070,length=0x000010GPIOMUX:origin=0x0070C0,length=0x000020GPIODAT:origin=0x0070E0,length=0x000020ADC:origin=0x007100,length=0x000020EV_A:origin=0x007400,length=0x000040EV_B:origin=0x007500,length=0x000040SPI_B:origin=0x007740,length=0x000010SCI_B:origin=0x007750,length=0x000010MCBSP_A:origin=0x007800,length=0x000040/*IQTABLE*/IQTABLES:origin=0x3FF000,length=0x000b50}61XINTF:origin=0x000B20,length=0x000020CPU_TIMER0:origin=0x000C00,length=0x000008CPU_TIMER1:origin=0x000C08,length=0x000008CPU_TIMER2:origin=0x000C10,length=0x000008PIE_CTRL:origin=0x000CE0,length=0x000020PIE_VECT:origin=0x000D00,length=0x000100/*PeripheralFrame1:*/ECAN_A:origin=0x006000,length=0x000100ECAN_AMBOX:origin=0x006100,length=0x000100/*PeripheralFrame2:*/SYSTEM:origin=0x007010,length=0x000020SPI_A:origin=0x007040,length=0x000010SCI_A:origin=0x007050,length=0x000010XINTRUPT:origin=0x007070,length=0x000010GPIOMUX:origin=0x0070C0,length=0x000020GPIODAT:origin=0x0070E0,length=0x000020ADC:origin=0x007100,length=0x000020EV_A:origin=0x007400,length=0x000040EV_B:origin=0x007500,length=0x000040SPI_B:origin=0x007740,length=0x000010SCI_B:origin=0x007750,length=0x000010MCBSP_A:origin=0x007800,length=0x000040/*IQTABLE*/IQTABLES:origin=0x3FF000,length=0x000b50}61/*2812flash里面運行就把.text和 .cinit放在flash*/SECTIONS{/*Allocateprogramareas:*/.reset:>RESET,PAGE=0,TYPE=DSECT.text:>FLASHC,PAGE=0.cinit:>FLASHC,PAGE=0.vector:>VECTOR,PAGE=0,TYPE=DSECT.codestart:>BEGIN,PAGE=0/*Allocatedataareas:*/.stack:>RAMM1,PAGE=1.bss:>DRAMH0,PAGE=1.ebss:>DRAMH0,PAGE=1.sysmem:>DRAMH0,PAGE=1.const:>DRAMH0,PAGE=1.econst:>DRAMH0,PAGE=1.switch:>FLASHA,PAGE=0/*AllocatePeripheralFrame0RegisterStructures:*/DevEmuRegsFile:>DEV_EMU,PAGE=1FlashRegsFile:>FLASH_REGS,PAGE=1CsmRegsFile:>CSM,PAGE=1XintfRegsFile:>XINTF,PAGE=1CpuTimer0RegsFile:>CPU_TIMER0,PAGE=1CpuTimer1RegsFile:>CPU_TIMER1,PAGE=/*2812flash里面運行就把.text和 .cinit放在flash*/SECTIONS{/*Allocateprogramareas:*/.reset:>RESET,PAGE=0,TYPE=DSECT.text:>FLASHC,PAGE=0.cinit:>FLASHC,PAGE=0.vector:>VECTOR,PAGE=0,TYPE=DSECT.codestart:>BEGIN,PAGE=0/*Allocatedataareas:*/.stack:>RAMM1,PAGE=1.bss:>DRAMH0,PAGE=1.ebss:>DRAMH0,PAGE=1.sysmem:>DRAMH0,PAGE=1.const:>DRAMH0,PAGE=1.econst:>DRAMH0,PAGE=1.switch:>FLASHA,PAGE=0/*AllocatePeripheralFrame0RegisterStructures:*/DevEmuRegsFile:>DEV_EMU,PAGE=1FlashRegsFile:>FLASH_REGS,PAGE=1CsmRegsFile:>CSM,PAGE=1XintfRegsFile:>XINTF,PAGE=1CpuTimer0RegsFile:>CPU_TIMER0,PAGE=1CpuTimer1RegsFile:>CPU_TIMER1,PAGE=1CpuTimer2RegsFile:>CPU_TIMER2,PAGE=162PieCtrlRegsFile:>PIE_CTRL,PAGE=1PieVectTable:>PIE_VECT,PAGE=1/*AllocatePeripheralFrame2RegisterStructures:*/ECanaRegsFile:>ECAN_A,PAGE=1ECanaMboxesFile:>ECAN_AMBOXPAGE=1/*AllocatePeripheralFrame1RegisterStructures:*/SysCtrlRegsFile:>SYSTEM,PAGE=1SpiaRegsFile:>SPI_A,PAGE=1SciaRegsFile:>SCI_A,PAGE=1XIntruptRegsFile:>XINTRUPT,PAGE=1GpioMuxRegsFile:>GPIOMUX,PAGE=1GpioDataRegsFile:>GPIODATPAGE=1AdcRegsFile:>ADC,PAGE=1EvaRegsFile:>EV_A,PAGE=1EvbRegsFile:>EV_B,PAGE=1ScibRegsFile:>SCI_B,PAGE=1McbspaRegsFile:>MCBSP_A,PAGE=1/*CSMPasswordLocations*//*CsmPwlFile:>CSM_PWL,PAGE=0*//*IQMATH*/IQmath:>DRAMH0,PAGE=1IQmathTables:>IQTABLES,PAGE=1,type=NOLOADIQmathTablesRam:>DRAMH0,PAGE=1}63PieCtrlRegsFile:>PIE_CTRL,PAGE=1PieVectTable:>PIE_VECT,PAGE=1/*AllocatePeripheralFrame2RegisterStructures:*/ECanaRegsFile:>ECAN_A,PAGE=1ECanaMboxesFile:>ECAN_AMBOXPAGE=1/*AllocatePeripheralFrame1RegisterStructures:*/SysCtrlRegsFile:>SYSTEM,PAGE=1SpiaRegsFile:>SPI_A,PAGE=1SciaRegsFile:>SCI_A,PAGE=1XIntruptRegsFile:>XINTRUPT,PAGE=1GpioMuxRegsFile:>GPIOMUX,PAGE=1GpioDataRegsFile:>GPIODATPAGE=1AdcRegsFile:>ADC,PAGE=1EvaRegsFile:>EV_A,PAGE=1EvbRegsFile:>EV_B,PAGE=1ScibRegsFile:>SCI_B,PAGE=1McbspaRegsFile:>MCBSP_A,PAGE=1/*CSMPasswordLocations*//*CsmPwlFile:>CSM_PWL,PAGE=0*//*IQMATH*/IQmath:>DRAMH0,PAGE=1IQmathTables:>IQTABLES,PAGE=1,type=NOLOADIQmathTablesRam:>DRAMH0,PAGE=1}63/*.reset放在RESET(0x3fffc0),是.codestartBEGIN(0x3f7ff6)段。也就是前面說的需要寫跳轉(zhuǎn)到_c_int00令,這就要通過下面這個文件實現(xiàn)*///codestart.asm.ref _c_int00.sect".codestart"LB _c_int00;RESETVector/*sect".codestart"是定義的這個段的地址,也就是下面的語句會放在這個段里,這樣編譯后,下面的跳轉(zhuǎn)指令就會放在我們需要的地方,這樣就能在flash/*.reset放在RESET(0x3fffc0),是.codestartBEGIN(0x3f7ff6)段。也就是前面說的需要寫跳轉(zhuǎn)到_c_int00令,這就要通過下面這個文件實現(xiàn)*///codestart.asm.ref _c_int00.sect".codestart"LB _c_int00;RESETVector/*sect".codestart"是定義的這個段的地址,也就是下面的語句會放在這個段里,這樣編譯后,下面的跳轉(zhuǎn)指令就會放在我們需要的地方,這樣就能在flash里運行。下面我們看看如何燒寫flash吧,就以KEY_LED程序為例子*/2.10.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!運行CCStudiov3.3,如圖2-10-1所示。窗口左下角會顯示DISCONNECTED,表示還沒有與目標(biāo)板建立連接。642-10-1Debug->Connec2-10-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-10-2所示。652-10-22.10.2flash_download程序選擇Project->Open2-10-22.10.2flash_download程序選擇Project->Openflash_downloadflash_download.pjt,2-10-32-10-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊flash.cmdCMD2-10-4所示。662-10-4選擇Project->RebuildAllTools->F28xxon-chipflashon-chipflashprogrammer2-10-5選擇,我們的是24M2-10-4選擇Project->RebuildAllTools->F28xxon-chipflashon-chipflashprogrammer2-10-5選擇,我們的是24M。點擊flashprogrammersetting選擇2-10-6OperationBrower..選擇需要2-10-7executeOperation,就開始程序后如圖2-10-8所示。我們可以拔掉 器,按下復(fù)位看看程序是否正常運行。以后要任何程序都只需要將此flash.cmd codestart.Asm文件加到工程中替換以Cmd672-10-52-2-10-52-10-6682-10-72-10-82.11ad2-10-72-10-82.11ad實驗實驗這個實驗我們來使用DSPadAD我們用定時器2來觸發(fā)AD,定時器2的頻率就是我們的頻率,通過下面這個函數(shù)來設(shè)69置ConfigCpuTimer(&CpuTimer2,150,1000);//1ms將的數(shù)放倒a_ch[256]和b_ch[256]中,當(dāng)256個書完成的時候,我們通過一個軟中斷,將DSP中的數(shù)據(jù)傳輸?shù)腃CS中用波形顯示出來。PWM1240ms硬件連接:置ConfigCpuTimer(&CpuTimer2,150,1000);//1ms將的數(shù)放倒a_ch[256]和b_ch[256]中,當(dāng)256個書完成的時候,我們通過一個軟中斷,將DSP中的數(shù)據(jù)傳輸?shù)腃CS中用波形顯示出來。PWM1240ms硬件連接:(5)JP4的ADCLO接到JP4的GND(測試外部信號直接以ADCLO如果要以GND為參考需要先像上面連接起來)(6)JP5PWM1PWM2JP213(JP21,3,5,7,9放+低通濾波+過壓保護(hù)連接到了AD0~5AD盡量從JP2也是對AD的保護(hù)。具體的連接順序請參考原理圖)2.11.1連接目標(biāo)板在USBPC器的JTAGJTAG接口相連,5V注意:在開發(fā)板通電的情況下,不要插拔JTAG接頭!運行CCStudiov3.3,如圖2-11-1所示。窗口左下角會顯示DISCONNECTED,表示還沒有與目標(biāo)板建立連接。702-11-1Debug->Connec(或按組合鍵2-11-1Debug->Connec(或按組合鍵ALT+CHALTED與目標(biāo)板連接成功,如圖2-11-2所示。2-11-22.11.2運行ad程序Project->Openadad.pjt2-11-3示。712-11-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊ad.c2-11-3選擇打開后,窗口左邊會出現(xiàn)文件管理窗口,窗口內(nèi)source文件夾中即為C文件。雙擊ad.c2-11-42-11-4選擇Project->RebuildAllFile->LoadProgram..(或按CTRL+L),打開LoadProgramDebugad.out2-11-725到了DSP2-11-55到了DSP2-11-5這點擊breakpoint。點擊后會在左邊顯示一個紅色的圓點,這代表已經(jīng)成2-11-7所示。2-11-6732-11-7然后點擊view->Graph->Time/Frequency2-11-7然后點擊view->Graph->Time/Frequency,如圖2-11-8所示。然后按照2-11-9設(shè)置。OK。742-11-82-11-9設(shè)置好了后,我們就開始運行了,鍵盤ALT+F5或2-11-82-11-9設(shè)置好了后,我們就開始運行了,鍵盤ALT+F5或Debug->Animate,然后在選中我們的顯示窗口,最大化,就可以看到我們要檢測的波形了。如圖2-11-10所示。圖2-11-11是顯示雙通道,和只是設(shè)置圖2-11-9的時候SingleTimeDualTime2-11-12752-11-102-112-11-102-11-11762-11-122-11-12772.12EP實驗實驗2.12.1實驗?zāi)康脑诳刂瓢褰由暇幋a器后編碼器轉(zhuǎn)動的角度通過顯示板顯示出來。22.12.2硬件連接VCC,GND,A,B,ZA/,B/,Z/接在控制板2.12EP實驗實驗2.12.1實驗?zāi)康脑诳刂瓢褰由暇幋a器后編碼器轉(zhuǎn)動的角度通過顯示板顯示出來。22.12.2硬件連接VCC,GND,A,B,ZA/,B/,Z/接在控制板26ls32取下,再將編碼器信號接在編碼器接口下面的接口上。2.12.3所用到的dsp1.2.SCI-B2用于控制顯示板顯示編碼器角度QEP-A用于檢測編碼器的信號782.12.4軟件流程圖792.12.4軟件流程圖792.13電機控制試驗開發(fā)扳出廠的就了控制交流電機的試驗,程序也試驗程序目錄下的svpwm7seg_2812_DispCtrl文件夾內(nèi)。至于如何調(diào)試,如何燒flash2.13電機控制試驗開發(fā)扳出廠的就了控制交流電機的試驗,程序也試驗程序目錄下的svpwm7seg_2812_DispCtrl文件夾內(nèi)。至于如何調(diào)試,如何燒flash我這里就不說了,因為前弄明白后再來學(xué)習(xí)和修改這個程序。SVPWM的理論說明和程序說明在后面兩章,如果大家要學(xué)習(xí)和修改請先讀懂下面兩章。這里我就介紹下這個程序如何使用。1Led/電機額定電壓,顯示參數(shù)0~A0~100%。如果電機220V而電源484V應(yīng)該輸入2。0K0e加此參數(shù),4K4e小此參數(shù)。2L2d表示運行和停止。:表示運行,r:表示停止。1K1ey5k5ky止。3Le

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論