CCSDSP開發(fā)環(huán)境和實例課件_第1頁
CCSDSP開發(fā)環(huán)境和實例課件_第2頁
CCSDSP開發(fā)環(huán)境和實例課件_第3頁
CCSDSP開發(fā)環(huán)境和實例課件_第4頁
CCSDSP開發(fā)環(huán)境和實例課件_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

CCS_DSP開發(fā)環(huán)境和實例2023/11/27CCSDSP開發(fā)環(huán)境和實例基于DSP的數(shù)據(jù)采集設(shè)計專題1DSP集成開發(fā)環(huán)境CCS3.3使用方法2基于DSP的數(shù)據(jù)采集實例CCSDSP開發(fā)環(huán)境和實例1CCS集成開發(fā)環(huán)境簡介1.1CCS安裝及設(shè)置1.2CCS的窗口、菜單和工具條1.3CCS工程管理1.4CCS源文件管理CCSDSP開發(fā)環(huán)境和實例概述CCS工作在Windows操作系統(tǒng)下,類似于VC++的集成開發(fā)環(huán)境,采用圖形接口界面,有編輯工具和工程管理工具。它將匯編器、鏈接器、C/C++編譯器、建庫工具等集成在一個統(tǒng)一的開發(fā)平臺中。CCS所集成的代碼調(diào)試工具具有各種調(diào)試功能,能對TMS320系列DSP進行指令級的仿真和可視化的實時數(shù)據(jù)分析。此外,還提供了豐富的輸入/輸出庫函數(shù)和信號處理的庫函數(shù),極大地方便了TMS320系列DSP軟件開發(fā)過程。

利用CCS的軟件開發(fā)流程如圖1.1所示。

CCSDSP開發(fā)環(huán)境和實例1.1CCS安裝及設(shè)置1CCS3.3系統(tǒng)的安裝運行setup.exe應(yīng)用程序,彈出一個安裝界面,然后選擇CodeComposerStudio項,就可以開始CCS2.0的安裝,按照屏幕提示可完成系統(tǒng)的安裝。當CCS軟件安裝在計算機上之后,將在顯示器桌面上出現(xiàn)如圖1.2所示的兩個圖標。

CCSDSP開發(fā)環(huán)境和實例2.系統(tǒng)配置為使CCSIDE能工作在不同的硬件或仿真目標上,必須首先為它配置相應(yīng)的配置文件。具體步驟如下:(1)雙擊桌面上的SetupCCS3.3圖標,啟動CCS設(shè)置。(2)在彈出對話框中單擊“Clear”按鈕,清除以前定義的配置。(3)從彈出的對話框中,單擊“Yes”按鈕,確認清除命令。(4)從列出的可供選擇的配置文件中,選擇能與使用的目標系統(tǒng)相匹配的配置文件。

CCSDSP開發(fā)環(huán)境和實例(5)單擊加入系統(tǒng)配置按鈕,將所選中的配置文件輸入到CCS設(shè)置窗口當前正在創(chuàng)建的系統(tǒng)配置中,所選擇的配置顯示在設(shè)置窗的系統(tǒng)配置欄目的MySystem目錄下,如圖1.3所示。(6)單擊“FileSave(保存)”按鈕,將配置保存在系統(tǒng)寄存器中。(7)當完成CCS配置后,單擊“Save&Quit”按鈕,系統(tǒng)自動打開CCS3.3CCSDSP開發(fā)環(huán)境和實例3.系統(tǒng)啟動當CCS的設(shè)值完成之后,如果下次啟動CCS所使用的模擬調(diào)試環(huán)境未變,可以直接雙擊桌面上的“CCStudiov3.3”來啟動系統(tǒng)。CCSDSP開發(fā)環(huán)境和實例1.2CCS的窗口、菜單和工具條CCS應(yīng)用窗口一個典型的CCS集成開發(fā)環(huán)境窗口如圖1.4所示,整個窗口由主菜單、工具條、工程窗口、編輯窗口、圖形顯示窗口、內(nèi)存單元顯示窗口和寄存器顯示窗口等構(gòu)成。CCSDSP開發(fā)環(huán)境和實例工程窗口用來組織用戶的若干程序并由此構(gòu)成一個項目,用戶可以從工程列表中選中需要編輯和調(diào)試的特定程序。在源程序編輯窗口中,用戶既可以編輯程序,又可以設(shè)置斷點和探針,并調(diào)試程序。反匯編窗口可以幫助用戶查看機器指令,查找錯誤。內(nèi)存和寄存器顯示窗口可以查看、編輯內(nèi)存單元和寄存器。圖形顯示窗口可以根據(jù)用戶需要顯示數(shù)據(jù)。用戶可以通過主菜單條目來管理各窗口。

CCSDSP開發(fā)環(huán)境和實例2.工具欄CCS集成開發(fā)環(huán)境提供5種工具欄,以便執(zhí)行各種菜單上相應(yīng)的命令。這5種工具欄可在View菜單下選擇是否顯示。(1)StandardToolbar(標準工具欄),如圖1.5所示,包括新建、打開、保存、剪切、復(fù)制、粘貼、取消、恢復(fù)、查找、打印和幫助等常用工具。(2)ProjectToolbar(工程工具欄),如圖1.6所示,包括選擇當前工程、編譯文件、設(shè)置和移去斷點、設(shè)置和移去ProbePoint等功能。

CCSDSP開發(fā)環(huán)境和實例(3)EditToolbar,提供了一些常用的查找和設(shè)置標簽命令,如圖1.7所示。(4)GELToolbar,提供了執(zhí)行GEL函數(shù)的一種快捷方法,如圖1.8所示。在工具欄左側(cè)的文本輸入框中鍵入GEL函數(shù),再單擊右側(cè)的執(zhí)行按鈕即可執(zhí)行相應(yīng)的函數(shù)。如果不使用GEL工具欄,也可以使用Edit菜單下的EditCommandLine命令執(zhí)行GEL函數(shù)。(5)ASM/SourceSteppingToolbar,提供了單步調(diào)試C或匯編源程序的方法,如圖1.9所示。

CCSDSP開發(fā)環(huán)境和實例(6)TargetControlToolbar,提供了目標程序控制的一些工具,如圖1.10所示。(7)DebugWindowToolbar,提供了調(diào)試窗口工具,如圖1.11所示。CCSDSP開發(fā)環(huán)境和實例1.3CCS工程管理1.工程的創(chuàng)建、打開和關(guān)閉(1)創(chuàng)建一個工程選擇“Project→New(工程→新工程)”,如圖1.12所示,在Project欄中輸入工程名字,其他欄目可根據(jù)習慣設(shè)置。工程文件的擴展名是*.pjt。若要創(chuàng)建多個工程,每個工程的文件名必須是唯一的。但可以同時打開多個工程。

CCSDSP開發(fā)環(huán)境和實例(2)打開已有的工程選擇“ProjectOpen(工程打開)”,彈出如圖1.13所示工程打開對話框。雙擊需要打開的文件(*.pjt)即可。(3)關(guān)閉工程選擇“ProjectClose(工程關(guān)閉)”,即可當前關(guān)閉工程。

CCSDSP開發(fā)環(huán)境和實例2.使用工程觀察窗口工程窗口圖形顯示工程的內(nèi)容。當打開工程時,工程觀察窗口自動打開如圖1.14所示。要展開或壓縮工程清單,單擊工程文件夾、工程名(*.pjt)和各個文件夾上的“+/-”號即可。

CCSDSP開發(fā)環(huán)境和實例3.加文件到工程可按以下步驟將與該工程有關(guān)的源代碼、目標文件、庫文件等加入到工程清單中去。加文件到工程(1)選擇“Project→AddFilestoProject(工程→加文件到工程)”,出現(xiàn)AddFilestoProject對話框。(2)在AddFilestoProject對話框,指定要加入的文件。如果文件不在當前目錄中,瀏覽并找到該文件。(3)單擊“打開”按鈕,將指定的文件加到工程中去。當文件加入時,工程觀察窗口將自動的更新。從工程中刪除文件

(1)按需要展開工程清單。(2)右擊要刪除的文件名。(3)從上下文菜單,選擇“RemovefromProject(從工程中刪除)”。在操作過程中,注意文件擴展名,因為文件通過其擴展名來辨識CCSDSP開發(fā)環(huán)境和實例1.4CCS源文件管理1.創(chuàng)建新的源文件可按照以下步驟創(chuàng)建新的源文件:(1)選擇“File→New→SourceFile(文件→新文件→源文件)”,將打開一個新的源文件編輯窗口。如下圖1.15所示。

(2)在新的源代碼編輯窗口輸入代碼。(3)選擇“File→Save(文件→保存)”或“File→SaveAs(文件→另存為)”,保存文件。

CCSDSP開發(fā)環(huán)境和實例2.打開文件可以在編輯窗口打開任何ASCII文件。(1)選擇“File→Open(文件→打開)”,將出現(xiàn)如圖5.17所示打開文件對話框。

(2)在打開文件對話框中雙擊需要打開的文件,或者選擇需要打開的文件,并單擊“打開”按鈕。CCSDSP開發(fā)環(huán)境和實例3.保存文件(1)單擊編輯窗口,激活需要保存的文件。(2)選擇“File→Save(文件→保存)”,輸入要求保存的文件名。(3)在保存類型欄中,選擇需要的文件類型,如圖5.18所示。(4)單擊“保存”按鈕。

CCSDSP開發(fā)環(huán)境和實例2基于DSP的數(shù)據(jù)采集設(shè)計實例1.CCS3.3配置及相關(guān)驅(qū)動安裝2.建立一個AD數(shù)據(jù)采集工程CCSDSP開發(fā)環(huán)境和實例1.1相關(guān)驅(qū)動安裝1.安裝仿真器驅(qū)動程序連接仿真器、DSP開發(fā)板,將仿真器經(jīng)USB接口連上電腦之后系統(tǒng)提示“使用找到新硬件向?qū)А?,選擇驅(qū)動文件“XDS510USBDriver”,完成之后系統(tǒng)提示新硬件可用。CCSDSP開發(fā)環(huán)境和實例2.安裝仿真器的CCS驅(qū)動找到驅(qū)動文件“XDS510CCSDriver”,運行,安裝到CCS3.3軟件所在的文件夾里面,具體如下圖所示。CCSDSP開發(fā)環(huán)境和實例1.2啟動CCS前的設(shè)置1.打開“SetupCCStudioV3.3”,在“AvailableFactoryBoards”下選擇“F2812XDS510Emulator”2.在“systemconfiguration”下的“F2812XDS510Emulator”右鍵選擇“properties”,對其進項設(shè)置,具體設(shè)置如下圖。3.點擊“SaveandQuit”完成芯片設(shè)置,系統(tǒng)自動啟動CCS3.3操作界面。CCSDSP開發(fā)環(huán)境和實例2.建立AD數(shù)據(jù)采集工程2.1創(chuàng)建一個工程(1)選擇“Project→New(工程→新建)”,彈出工程建立對話框。(2)在Project欄輸入文件名adshujucaiji。工作目錄是D:\ccstudio_v3.3\myprojects\,其他兩項也選默認即可。(3)單擊完成按鈕,將在工程窗口的Project下面創(chuàng)建adshujucaiji工程。CCSDSP開發(fā)環(huán)境和實例2.2向工程中添加源文件(1)將從ti官方網(wǎng)站上下載的源文件復(fù)制到D:\ccstudio_v3.3\myprojects\adshujucaiji文件夾內(nèi)。(2)在“projects”下右鍵點擊工程名“adshujucaiji”選擇“addFiletoproject…”,將復(fù)制到文件夾“adshujucaiji”中的源文件全部加載進來。如下圖所示。CCSDSP開發(fā)環(huán)境和實例2.3程序編寫2.3.1程序編寫思路(1)一個DSP程序的構(gòu)成。一個完整的DSP程序主要由庫文件,.c源文件,.h頭文件以及.cmd連接命令文件組成。(2)DSP程序的編寫思路一個DSP程序要完成設(shè)想的功能,需要完成系統(tǒng)初始化,所使用的外設(shè)的初始化,中斷初始化,已經(jīng)終端服務(wù)程序的編寫。其中系統(tǒng),外設(shè)初始化只需要對相應(yīng)的寄存器進行設(shè)置即可以完成。中斷服務(wù)程序根據(jù)我們所需要的處理算法進行編寫。(3)現(xiàn)在總結(jié)起來DSP2812其實可以分為以下幾個部分:時鐘(DSP工作的動力)、外設(shè)(DSP實現(xiàn)相應(yīng)的功能都是有對應(yīng)的外設(shè)來實現(xiàn)的)、中斷和中斷服務(wù)程序。只要把這四個部分弄懂了,DSP的使用應(yīng)該就沒多大問題。DSP的不同功能主要有對應(yīng)的外設(shè)實現(xiàn),實際上只要掌握了一種外設(shè)的使用方(寄存器、中斷、時鐘的設(shè)置)其他的都可以用同樣的步驟使用。CCSDSP開發(fā)環(huán)境和實例首先將程序分成:系統(tǒng)初始化、所使用的外設(shè)的初始化、三級中斷設(shè)置、中斷服務(wù)程序、鏈接命令文件(.cmd文件)和頭文件幾個部分。在系統(tǒng)初始化程序中了解系統(tǒng)時鐘、外設(shè)端口、看門狗的設(shè)置方法以及相關(guān)寄存器的使用,在外設(shè)初始化程序中,對應(yīng)該外設(shè)的使用原理,了解“這個寄存器起什么作用,這樣設(shè)置起什么作用”,掌握該外設(shè)設(shè)備(聯(lián)想到所有的外設(shè))初始化時必須設(shè)置的內(nèi)容有哪些,需要特殊設(shè)施的寄存器有哪些。之后了解外設(shè)級、PIE級和CPU級中斷初始化、開中斷、關(guān)中斷的設(shè)置方法、順序和原因。中斷服務(wù)程序完成特殊的數(shù)據(jù)處理,按照自己的算法編寫就可以,但要注意在所有的中斷服務(wù)程序中都要對三級中斷進行相應(yīng)的設(shè)置,以保證中斷服務(wù)程序能夠連續(xù)不斷地運行下去。在.CMD文件中完成對內(nèi)部存儲器外擴存儲器的分配,了解相關(guān)指令的作用和使用方法。CCSDSP開發(fā)環(huán)境和實例2.3.2程序工作流程在進行軟件設(shè)計之前,首先明確系統(tǒng)的工作流程,簡單介紹如下:(1)DSP上電,等待采集開始命令。(2)使用事件管理器EVA的通用定時器周期中斷來觸發(fā)ADC的采集動作。(3)進行數(shù)據(jù)的校正和融合處理。(4)將融合后的數(shù)據(jù)經(jīng)eCAN總線傳送到上位機。本系統(tǒng)使用EVA的通用定時器1的周期中斷來觸發(fā)AD的轉(zhuǎn)換,當ADC完成SEQ1中定義的端口的數(shù)據(jù)采集轉(zhuǎn)換時,觸發(fā)中斷,進入中斷服務(wù)程序。DSPF2812的AD為12位精度,由于各種因素的影響,測量值存在誤差,需進行校正。校正完成之后對該次測量獲得的兩個數(shù)值進行聯(lián)合kalman濾波器數(shù)據(jù)融合,完成融合操作后將得到的數(shù)據(jù)存入eCAN總線的發(fā)送郵箱,將數(shù)據(jù)發(fā)送到上位機,一次操作完成。之后退出中斷程序,等待下一次中斷觸發(fā)信號的到來。本系統(tǒng)就按照怎樣的順序完成真空度的數(shù)據(jù)采集、校正、融合和傳輸操作。CCSDSP開發(fā)環(huán)境和實例整個軟件系統(tǒng)可以分為如下幾個部分:系統(tǒng)初始化,用來完成DSP寄存器的設(shè)置,各級中斷的清零,系統(tǒng)時鐘、外設(shè)時鐘的設(shè)置,踢除看門狗、初始化AD、EVA等操作;終端服務(wù)程序的設(shè)置,用來完成采樣結(jié)果的移位操作、校正,聯(lián)合kalman濾波器數(shù)據(jù)融合以及eCAN總線的數(shù)據(jù)傳輸;鏈接命令文件的編寫,由于使用了外擴存儲器,為保證程序執(zhí)行的速度,將程序空間分配到片內(nèi)存儲器,程序執(zhí)行過程中產(chǎn)生的數(shù)據(jù)存儲到片外存儲器中。CCSDSP開發(fā)環(huán)境和實例2.3.3系統(tǒng)初始化sysctrl()(1)系統(tǒng)時鐘設(shè)置,通過高速時鐘預(yù)訂標志寄存器(HISPCP)、低速時鐘預(yù)訂標志寄存器(LOSPCP)和鎖相環(huán)寄存器設(shè)置,獲得高、第速時鐘,使能相關(guān)外設(shè)時鐘。如下圖所示CCSDSP開發(fā)環(huán)境和實例(2)中斷初始化首先關(guān)閉全局中斷,關(guān)閉外設(shè)中斷,并清除所左右的中斷標志位。DINT; //關(guān)閉總中斷IER=0x0000; //關(guān)閉外設(shè)中斷IFR=0x0000; //清中斷標志

其次初始化PIE控制寄存器,由函數(shù)InitPiectrl()實現(xiàn)。將所有的PIE級中斷標志位和中斷使能位清零。并將AD中斷所在組對應(yīng)的中斷應(yīng)答寄存器中的相應(yīng)位置零。最后使能PIE向量表,由函數(shù)InitPieVectable()實現(xiàn)。CCSDSP開發(fā)環(huán)境和實例2.3.4端口設(shè)置數(shù)據(jù)采集使用同步轉(zhuǎn)換模式,對通道ADCINA0和ADCINB0同時采樣8次。所以將這兩個端口設(shè)置成普通輸入輸出端口且為輸入模式。voidInitGpio(void){EALLOW;GpioMuxRegs.GPAMUX.bit.PWM3_GPIOA2=0;GpioMuxRegs.GPADIR.bit.GPIOA0=0;GpioMuxRegs.GPBMUX.bit.PWM7_GPIOB0=0;GpioMuxRegs.GPBDIR.bit.GPIOB0=0;GpioMuxRegs.GPFMUX.bit.SCITXDA_GPIOF4=1;GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6=1;GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7=1;GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7=1;GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6=1;EDIS;}

CCSDSP開發(fā)環(huán)境和實例2.3.5.數(shù)據(jù)采集外設(shè)AD的設(shè)置F2812的ADC模塊有16個通道,排序器SEQ1和SEQ2可以作為兩個獨立的8通道模塊,也可以級聯(lián)成一個16通道的模塊。AD模塊的內(nèi)部結(jié)構(gòu)如圖3.5所示。雖然有兩組輸入通道和兩個排序器,但是ADC模塊中只有一個轉(zhuǎn)換器,同一時刻只能對1路輸入信號進行轉(zhuǎn)換,當有多路信號需要進行轉(zhuǎn)換時,ADC模塊通過前端模擬多路復(fù)用器的控制,在同一時刻,只允許1路信號輸入到ADC的轉(zhuǎn)換器中。在這兩種工作方式下,AD能夠通過對相關(guān)寄存器的設(shè)置對需要轉(zhuǎn)換的通道進行排序,通過模擬多路轉(zhuǎn)換器每次轉(zhuǎn)換的通道。每個排序器轉(zhuǎn)換完成,將所轉(zhuǎn)換通道的值存儲在其各自的轉(zhuǎn)換結(jié)果寄存器中。我們可以通過設(shè)置排序寄存器,達到對一個通道進行多次轉(zhuǎn)換的目的,這就是所說的過采樣算法,對比單次采樣轉(zhuǎn)換,能夠有效提高結(jié)果的精度CCSDSP開發(fā)環(huán)境和實例2812的ADC可以工作在順序采樣和同步采樣兩種工作模式。順序采樣也就是按照順序?qū)γ總€通道依次進行采樣。而同步采樣,是同時采樣一對通道,即ADCINA0和ADCINB0同時采樣,ADCINA1和ADCINB1同時采樣。我們使用級聯(lián)排序器的同時采樣模式。此時排序器SEQ1和SEQ2級聯(lián)成最多16個通道的排序器。ADC模塊只有接收到轉(zhuǎn)換觸發(fā)信號才可開始轉(zhuǎn)換,如下表所示,我們采用事件管理器A的周期中斷觸發(fā)ADSEQ1SEQ2級聯(lián)SEQ軟件觸發(fā)(軟件SOC)軟件觸發(fā)(軟件SOC)軟件觸發(fā)(軟件SOC)事件管理器A(EVASOC)事件管理器B(EVBSOC)事件管理器A(EVASOC)事件管理器B(EVBSOC)外部SOC引腳外部SOC引腳CCSDSP開發(fā)環(huán)境和實例2812AD的16個通道是可以通過編程來進行選擇在某一時刻究竟是哪一個通道被選通進行采樣的。這個功能就需要通過ADC輸入通道選擇序列控制寄存器ADCCHSELSEQx(x=1,2,3,4)來實現(xiàn)。每一個輸入通道選擇序列控制寄存器都是16位的,被分成了4個功能位CONVxx,每一個功能位占據(jù)寄存器的4位,在AD轉(zhuǎn)換的過程中,當前CONVxx位定義了要進行采樣和轉(zhuǎn)換的引腳。CCSDSP開發(fā)環(huán)境和實例為了能夠?qū)Χ丝谶M行連續(xù)不斷的采樣,通用定時器1產(chǎn)生的AD采集觸發(fā)信號頻率應(yīng)高于AD采集頻率。我們采用的ADCLK為1.875M,每次觸發(fā)共采集16次,加上采樣窗口時間為6個ADCLK,轉(zhuǎn)換頻率約為13K。EVA使用低速時鐘HISPCP,它的的通用定時器1的時鐘為60M,周期為300,為連續(xù)增計數(shù)模式,它的周期匹配頻率為0.2M,能夠使ADC連續(xù)不斷地采集數(shù)據(jù)。

CCSDSP開發(fā)環(huán)境和實例具體程序如下voidInitADC(void){unsignedinti;AdcRegs.ADCTRL1.bit.RESET=1;//復(fù)位整個ADC模塊AdcRegs.ADCTRL1.bit.SUSMOD=3;//仿真掛起時,序列發(fā)生器和其他程序邏輯立即停止AdcRegs.ADCTRL1.bit.ACQ_PS=5;//采集窗口的大小,控制SOC的脈寬,為6個ADCLK的長度,SOC確定采樣開關(guān)關(guān)閉的時間段SOC的脈寬為ACO_PS+1乘以ADCLKAdcRegs.ADCTRL1.bit.CPS=1;//內(nèi)核時鐘分頻器AdcRegs.ADCTRL1.bit.CONT_RUN=0;//連續(xù)轉(zhuǎn)換模式,一次SEQ1轉(zhuǎn)換完成,序列發(fā)生器SEQ1指針指向CONV))AdcRegs.ADCTRL1.bit.SEQ_OVRD=0;//AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//級聯(lián)模式,SEQ1/2作為一個16通道排序器工作AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0;AdcRegs.ADCTRL2.bit.RST_SEQ1=0;AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;//啟用INT_SEQ1的中斷請求

AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0;//每個SEQ1序列結(jié)束時設(shè)置INT_SEQ1AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;//允許由EVA觸發(fā)啟動SEQ1AdcRegs.ADCTRL2.bit.RST_SEQ2=0;//無操作AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0;//禁用INT_SEQ2對CPU的中斷請求AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;//帶隙和參考電路上電for(i=0;i<10000;i++);AdcRegs.ADCTRL3.bit.ADCPWDN=1;//除帶隙參考電路意外的內(nèi)核模擬電路上電for(i=0;i<10000;i++);AdcRegs.ADCTRL3.bit.ADCCLKPS=8;//ADC內(nèi)核分頻器AdcRegs.ADCTRL3.bit.SMODE_SEL=0;//同步采樣模式AdcRegs.ADCMAXCONV.bit.MAX_CONV1=15;//每次轉(zhuǎn)換的最大轉(zhuǎn)換次數(shù)為8次AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;…………;AdcRegs.ADCCHSELSEQ4.bit.CONV14=0x0;AdcRegs.ADCCHSELSEQ4.bit.CONV15=0x8;AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;AdcRegs.ADCST.bit.INT_SEQ2_CLR=1;//清除SEQ1和SEQ2的中斷標志位AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;CCSDSP開發(fā)環(huán)境和實例2.3.6.EVA的初始化使用EVA通用定時器1的周期中斷觸發(fā)信號,EVA使用低速時鐘HISPCP,它的的通用定時器1的時鐘為60M,周期為300,為連續(xù)增計數(shù)模式,它的周期匹配頻率為0.2M,能夠使ADC連續(xù)不斷地采集數(shù)據(jù)。EVA的初始化程序如下voidInitEVA(void){EALLOW;EvaRegs.T1CMPR=0x0080;EvaRegs.T1PR=0x012C;EvaRegs.GPTCONA.bit.T1TOADC=1;EvaRegs.T1CON.all=0x1042;EvaRegs.T1CNT=0x0000;EDIS;}

CCSDSP開發(fā)環(huán)境和實例2.3.7.中斷設(shè)置(1)DSP的中斷分為外設(shè)級、PIE級和CPU級,為了是CPU能夠響應(yīng)有中斷出發(fā)時間引發(fā)的中斷,需要將三級中斷全部打開。(2)我們使用的是ADC采集完成中斷,當AD模塊完成8次同步采集之后觸發(fā)外設(shè)計中斷,對應(yīng)的中斷標志位ADCIFR自動置位,如果此時ADC中斷使能位ADCIER為1.并且ADC中斷所在的中斷組對應(yīng)的中斷應(yīng)答寄存器PIEACK的相應(yīng)位為0,則將外設(shè)級中斷傳送到PIE級。之后將PIE級雖在組對應(yīng)的中斷標志位置一,檢查該組對應(yīng)的中斷使能位是否為1,如果是一,則將該終端傳送到CPU級,直后執(zhí)行對應(yīng)的中斷服務(wù)程序。(3)為使得中斷事件發(fā)生后CPU能夠找到相應(yīng)的中斷服務(wù)程序,需要將中斷服務(wù)程序的地址賦值給觸發(fā)中斷的外設(shè)事件在中斷矢量列表(pievect)中對應(yīng)的指針。CCSDSP開發(fā)環(huán)境和實例中斷矢量列表中adc中斷對應(yīng)的指針如下圖在本實例中我們通過一下語句實現(xiàn),其中“ad”使我們自己編寫的中斷服務(wù)程序的名字。EALLOW;PieVectTable.ADCINT=&ad;EDIS;CCSDSP開發(fā)環(huán)境和實例(3)為是外設(shè)級中斷傳

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論