TMS320LF2407A自編實(shí)驗(yàn)指導(dǎo)書_第1頁(yè)
TMS320LF2407A自編實(shí)驗(yàn)指導(dǎo)書_第2頁(yè)
TMS320LF2407A自編實(shí)驗(yàn)指導(dǎo)書_第3頁(yè)
TMS320LF2407A自編實(shí)驗(yàn)指導(dǎo)書_第4頁(yè)
TMS320LF2407A自編實(shí)驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

10C2000DSP試驗(yàn)箱試驗(yàn)指導(dǎo)用書1 概述TMS320LF2407A 簡(jiǎn)介TMS320LF2407A 芯片作為是TI公司TMS320C2000 系列中的一種16位定點(diǎn)DSP芯片,是目前應(yīng)用最為廣泛的芯片。它為 C2xxCPU 功能強(qiáng)大的TMS320 DSP構(gòu)造設(shè)計(jì)供給了低本錢、低功耗、高性能的處理力量,對(duì)電機(jī)的數(shù)字化掌握格外有用。同時(shí),幾種先進(jìn)的外設(shè)被集成到該芯片內(nèi),形成了真正意義上的數(shù)字掌握器。TMS320LF2407A 的主要特點(diǎn)為:承受了高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3V,削減了掌握器的功耗。最高40MIPS的執(zhí)行速度使得指令周期縮短為25ns,從而提高了掌握器的實(shí)時(shí)掌握力量片內(nèi)有高達(dá)32K字的FLASH程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器包含2K字的SARAM544個(gè)字的DARAM可擴(kuò)展的外部存儲(chǔ)器總共有192K字:64K64K64KI/O尋址空間片內(nèi)集成有兩個(gè)大事治理器模塊EVAEVB,每個(gè)大事治理器包括:兩個(gè)16位通用定時(shí)器〔GP、三個(gè)比較單元、三個(gè)捕獲單元以及一個(gè)正交編碼脈沖電路片內(nèi)集成有模數(shù)轉(zhuǎn)換模塊〔ADC,該模塊是內(nèi)置采樣和保持〔S/H〕的10的模式轉(zhuǎn)換器,共有16個(gè)模擬輸入通道〔ADCIN0~ADCIN15,最小A/D間是375ns掌握器局域網(wǎng)〔CAN〕2.0B模塊,該模塊是一個(gè)完全的CAN掌握器,完全支持CAN2.0B協(xié)議,有六個(gè)郵箱可用于發(fā)送接收數(shù)據(jù)片內(nèi)集成有正交編碼脈沖〔QEP〕電路可用于檢測(cè)電機(jī)的角位移和轉(zhuǎn)向40個(gè)獨(dú)立可編程的雙向通用I/O口兩個(gè)串行通訊口:SPISCI看門狗定時(shí)器模塊〔WDT〕和電源驅(qū)動(dòng)保護(hù)電路,以提高系統(tǒng)的安全牢靠性DSP應(yīng)用軟件的開(kāi)發(fā)流程DSP軟件的開(kāi)發(fā)流程如圖 1所示,涉及C編譯器、匯編器、鏈接器等軟件開(kāi)發(fā)工具〔圖中的灰色局部〕。假設(shè)只是開(kāi)發(fā)一個(gè)匯編程序,則不需要用到 C編譯器。C源程序C源程序C編譯器匯編源程序宏(Macro)匯編器COFF目標(biāo)文件目標(biāo)文件庫(kù)〔objectlib)鏈接器實(shí)時(shí)運(yùn)行支持庫(kù)〔rts.lib)COFF執(zhí)行文件調(diào)試工具DSP目標(biāo)板系統(tǒng)圖1 C語(yǔ)言應(yīng)用軟件的開(kāi)發(fā)流程圖如何編寫源程序和cmd文件TMS320 匯編語(yǔ)言程序是分段編寫的,這就是按所謂的 COFF文件格式組織程序;在程序中除了有硬指令語(yǔ)句外,還有很多匯編指令〔偽指令〕語(yǔ)句,它們是匯編源程序的重要組成局部。在每條語(yǔ)句后面可以用分號(hào)隔開(kāi),寫上注釋,注釋不參與匯編連接和最終的操作,只是為了便于閱讀和修改而作的程序說(shuō)明。一個(gè)完整的匯編程序至少有三種根本的文件:匯編語(yǔ)言文件、頭文件和命令文件。匯編語(yǔ)言文件名的后綴為.ASM。書寫該文件所用指令為 LF2407支持的匯編語(yǔ)言指令。通常在該文件的最開(kāi)頭會(huì)寫上 eH〔或者h(yuǎn)〕,說(shuō)明該程序包含了F2407REGS.H 頭文件里面的一些存放器定義。頭文件中定義DSP系統(tǒng)用到的一些存放器映射地址, 用戶用到的常量和用戶自定義的存放器。頭文件的后綴為 .H。命令文件名的后綴為D,該文件實(shí)現(xiàn)對(duì)程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間的安排。該文件中常用到的偽指令有 MEMORY和SECTIONS。2 DSP集成開(kāi)發(fā)環(huán)境TI公司DSP的集成開(kāi)發(fā)環(huán)境CCS〔CodeComposerStudio 〕供給了環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等工具,可以幫助用戶在一個(gè)軟件環(huán)境下完成編輯、編譯、鏈接、調(diào)試和數(shù)據(jù)分析等工作。CCS一般工作在兩種模式下:軟件仿真和與硬 件開(kāi)發(fā)板相結(jié)合的在線仿真。軟件仿真〔Simulator〕可以脫離DSP芯片,在PC機(jī)上模擬DSP的指令集與工作機(jī)制,主要用于前期算法實(shí)現(xiàn)和調(diào)試。與硬件開(kāi)發(fā)系統(tǒng)相結(jié)合的仿真〔 Emulator〕是程序?qū)崟r(shí)運(yùn)行在DSP芯片上,可以在線編制和調(diào)試應(yīng)用程序。不同的 DSP芯片系列要承受不同型號(hào)的 CCS,對(duì)于TMS320C2000 系列的DSP可承受CCS(‘C2000)來(lái)仿真調(diào)試。CCS的安裝與設(shè)置CCS的安裝過(guò)程包括三個(gè)階段:安裝CCS到系統(tǒng)中。將CCS安裝光盤放入到光盤驅(qū)動(dòng)器中,運(yùn)行安裝程序setup.exe進(jìn)展安裝。安裝完成后,在桌面上會(huì)有“CCS(‘C2000)”和“SetupCCS(‘C2000)”兩個(gè)快捷方式圖標(biāo)。分別對(duì)應(yīng)CCS應(yīng)用程序和CCS配置程序。安裝開(kāi)發(fā)系統(tǒng)的軟件驅(qū)動(dòng)程序,假設(shè)用北京瑞泰公司的仿真器ICETEK-5100PP來(lái)開(kāi)發(fā)2000系列的DSP目標(biāo)系統(tǒng),則安裝驅(qū)動(dòng)程序Itk2xxpp.dvr。運(yùn)行“SetupCCS(‘C2000)”來(lái)配置程序設(shè)置驅(qū)動(dòng)程序。系統(tǒng)將顯示如下界面:圖2驅(qū)動(dòng)程序配置界面〕關(guān)閉彈出的“ImportConfiguration〔單擊Close按鈕?!滁c(diǎn)擊Edit→InstallDriver 選擇相應(yīng)DSP和仿真器的驅(qū)動(dòng)程序 Itk2xxpp.dvr 。圖3選擇驅(qū)動(dòng)程序界面〕點(diǎn)擊圖3中的“翻開(kāi)”,就消滅了如下界面:圖4設(shè)備驅(qū)動(dòng)程序的屬性頁(yè)〕點(diǎn)擊圖4所示的OK,驅(qū)動(dòng)程序就加到了可用目標(biāo)板列表中了。圖5程序設(shè)置界面〕選中圖5中的Itk2xxpp,點(diǎn)擊右鍵選中AddtoSystem …,彈出界面:圖6開(kāi)發(fā)系統(tǒng)的屬性選項(xiàng)〕按圖6中的“Next> ”按鈕連續(xù),在彈出的如圖7的界面中修改相應(yīng)的參數(shù)設(shè)置,把0x240改為0x378,再連續(xù)圖7開(kāi)發(fā)系統(tǒng)的屬性配置界面〕在彈出的如圖 8的界面中點(diǎn)擊“Add Single ”按鈕,把cpu_1參加到配置中,再連續(xù)。圖8開(kāi)發(fā)系統(tǒng)中處理器的配置選項(xiàng)〕按圖22Finish”按鈕完畢配置。圖9系統(tǒng)的初始化GEL文件配置〕選擇配置主界面“CodeComposerSetup ”中的File →Save保存設(shè)置并退出。CCS的應(yīng)用用CCS2000 開(kāi)發(fā)應(yīng)用程序的一般步驟為創(chuàng)立一個(gè)工程。運(yùn)行CCSCCSProject,選擇New…,就可以創(chuàng)立工程,如圖 10所示。圖10CCS的開(kāi)發(fā)界面然后,選擇好路徑,輸入所要建立的工程名〔以 lfdac.pjt 為例〕,點(diǎn)擊“保存”,如圖11所示。圖11建立工程彈出窗口這樣工程lfdac.pjt 就建立了,下一次就可以直接翻開(kāi)這個(gè)工程了?,F(xiàn)在這個(gè)工程中就只有空文件夾,是一個(gè)空的工程。接下來(lái)就是在此工程中參加用戶所需要的程序?!尘帉懜黝愇募?。包括源文件〔C或匯編、命令文件〔d 文件、頭文件〔.h文件〕等?!程砑痈黝愇募焦こ讨腥?,然后對(duì)工程進(jìn)行編譯。從下拉菜單Project 選擇“AddFilestoProject …”或者右擊工作窗口中工程 lfdac.pjt,選擇“AddFiles…,如圖12所示圖12工程顯示窗口這時(shí),要依據(jù)需要,添加 *.C,*.asm,*d 等需要的文件到工程中去,添加時(shí) CCS會(huì)自動(dòng)把文件放到相應(yīng)的名目中,添加后文件會(huì)在 CCS下顯示出來(lái)。假設(shè)在匯編或C語(yǔ)言中包含了某些頭文件,則在工程中會(huì)將這些頭文件自動(dòng)包含 進(jìn)去,在工程名目下的inlcude 文件夾中可以看到。留意:對(duì)于C 語(yǔ)言程序,除了要添加*.C,*d 文件外,還必需添加實(shí)時(shí)運(yùn)行庫(kù)rts2xx.lib,這個(gè)工程才能編譯通過(guò)。對(duì)于有中斷效勞的程序,必需添加中斷向量表進(jìn)去,例如 verctors.asm ,中斷程序才能正常執(zhí)行。等文件添加完了后,就可以進(jìn)展匯編、鏈接了,只要點(diǎn)擊工具條中的 圖標(biāo)或者下拉菜單ProjectRebuildAllCCS最下面的Message窗口中會(huì)消滅如圖 13所示的窗口。圖13輸出窗口圖中說(shuō)明全部文件沒(méi)有任何語(yǔ)法錯(cuò)誤。假設(shè)有語(yǔ)法錯(cuò)誤,將在 Message 窗口中顯示出來(lái)。編程人員可以依據(jù)顯示的信息,直接點(diǎn)擊該信息,鼠標(biāo)就定位到了錯(cuò)誤位置,然后可依據(jù)提示更改錯(cuò)誤,每次修改完了后都要重編譯?!臣虞d程序。選擇下拉窗口 File下的Load Program,在彈出的窗口中加載剛剛生成的*.out文件,點(diǎn)擊“翻開(kāi)”,可執(zhí)行文件就自動(dòng)加載到 DSP中去了。工程調(diào)試

圖14加載程序窗口調(diào)試工具可以使用斷點(diǎn)、觀看窗口、探針等調(diào)試工具對(duì)錯(cuò)誤進(jìn)展調(diào)試;還可以對(duì)計(jì)算結(jié)果/輸出數(shù)據(jù)進(jìn)展分析,評(píng)估算法性能?!硵帱c(diǎn)調(diào)試設(shè)置斷點(diǎn)是調(diào)試程序的必要手段。雙擊程序代碼段中的某一行,或單擊工具欄斷點(diǎn)開(kāi)關(guān)按鈕,還有可以單擊快捷鍵F9。設(shè)置了斷點(diǎn)后,該行就變成了粉紅色高亮。斷點(diǎn)設(shè)置成功后,點(diǎn)擊菜單“Debug/Run或者點(diǎn)擊調(diào)試工具條按鈕

,程序就會(huì)運(yùn)行到斷點(diǎn)處停住,PC指針指到斷點(diǎn)位置,黃色和粉紅色同時(shí)在該行消滅。前半段位黃色,后半段為粉紅色。雙擊呈現(xiàn)粉紅色的斷點(diǎn)行,就把斷點(diǎn)消退了。〕Watch窗口調(diào)試選擇下拉菜單View下的選項(xiàng)WatchWindow,就會(huì)彈出一個(gè)空白的Watch窗口,在這個(gè)空白Watch窗口中點(diǎn)擊右鍵,選擇InsertNewExpression就會(huì)彈出如圖15所示的對(duì)話框。圖15設(shè)置表達(dá)式觀看窗口對(duì)話框在上圖窗口中的空白處填入“*〔int*例如變量為DAC0VAL,消滅如圖16所示的窗口。圖16觀看窗口1程序運(yùn)行時(shí)Watch窗口將顯示要查看的變量的值,如圖 17所示?!程结楶robePoint

圖17觀看窗口2探針點(diǎn)調(diào)試可以讓用戶查看程序執(zhí)行到某一位置時(shí),各存儲(chǔ)器窗口值、文件 I/O等。當(dāng)設(shè)置了探測(cè)點(diǎn)與 CI/O、CPU存放器等連接起來(lái)后,實(shí)際程序是運(yùn)行到斷點(diǎn)處,但各窗口的更值并不是斷點(diǎn)處,而是探測(cè)點(diǎn)處的。由于 CCS增加了文件I/O功能,利用探測(cè)點(diǎn)調(diào)試,可以在某一探測(cè)點(diǎn)位置看到外部文件數(shù)據(jù)流與 DSP算法程序代碼交換的狀況。按調(diào)試工具條按鈕“Toggle Probe Point”將光標(biāo)當(dāng)前位置設(shè)置為探測(cè)點(diǎn),可以看到如圖18 所示的對(duì)話框。探測(cè)點(diǎn)設(shè)置成功后,當(dāng)前位置會(huì)消滅藍(lán)色的線條。假設(shè)光標(biāo)仍停留在探測(cè)點(diǎn)位置,再次點(diǎn)擊工具條按鈕“ ToggleProbePoint ,設(shè)置的探測(cè)點(diǎn)將被刪除。圖18探針工具設(shè)置窗口另外,CCS還有剖析點(diǎn)ProfilePoint 等工具。查看調(diào)試中的信息在程序調(diào)試工程中,需要 CCS顯示出程序運(yùn)行的結(jié)果,以和預(yù)期的結(jié)果進(jìn)展比較,從而順當(dāng)?shù)卣{(diào)試成功程序??梢圆榭吹男畔⒂校翰榭创娣牌鳎榭磾?shù)據(jù),查看反匯編程序,查看多個(gè)窗口等。〕查看存放器點(diǎn)擊菜單“View/Registers/CPURegister ,可以查看到CPU存放器的值。如圖19所示。圖19CPU存放器觀看窗口窗口中存放器的內(nèi)容以黑色或紅色表示,未更的值為黑色,更的值為紅色。在這個(gè)窗口中,用戶也可以直接修改其中的存放器的值,以便利調(diào)試程序?!巢榭磾?shù)據(jù)查看數(shù)據(jù)也是程序調(diào)試中常用的手段之一, CCS中可以以多種形式查看數(shù)據(jù)單元中的值,可以滿足各種狀況的需要。查看數(shù)據(jù)單元,選擇 View菜單中的Memory彈出窗口如圖20所示。圖20存儲(chǔ)器觀看窗口的設(shè)置選項(xiàng)在Address 一欄中寫上要查看的數(shù)據(jù)的起始地址, Format一欄中可以選擇查看數(shù)據(jù)的格式,點(diǎn)擊OK就可以在Memory 窗口中看到要查看的數(shù)據(jù)了。對(duì)于數(shù)據(jù)單元也可以直接修改其內(nèi)容以便利調(diào)試,修改方法同修改存放器方法一樣。3DSP仿真器的連接與使用3.1 并口仿真器仿真器的特點(diǎn) 兼容TI全系列DSP產(chǎn)品:TMS320C2000/C5000/C6000/C3X,4X/VC33 ;對(duì)于全部系列DSP仿真器完全通用,只需更換軟件就可以實(shí)現(xiàn)全部 DSP器件的開(kāi)發(fā),同時(shí)每種軟件均支持 C語(yǔ)言和匯編源代碼調(diào)試;支持CodeComposerStudio 集成調(diào)試環(huán)境;仿真不占用任何DSP資源;支持多DSP同時(shí)調(diào)試仿真。對(duì)于多 CPU系統(tǒng),只需購(gòu)置一套開(kāi)發(fā)系統(tǒng),配上多CPU調(diào)試軟件,就可以對(duì)它們進(jìn)展并行調(diào)試。仿真器系統(tǒng)工作環(huán)境仿真器使用并口與計(jì)算機(jī)連接,在使用仿真器之前需要正確配置并行端口和仿真器的相應(yīng)設(shè)置。對(duì)于臺(tái)式機(jī)并行端口有三種工作模式:SPP、EPP、ECP。ICETEK-5100PP 可以在SPP和EPP模式下工作,所以要把計(jì)算機(jī)的并行口配置成 SPP或EPP模式。假設(shè)主機(jī)支持EPP工作模式,推舉使用 EPP模式。安裝步驟:預(yù)備安裝在進(jìn)展安裝前請(qǐng)確認(rèn)已經(jīng)具備了以下部件 :〔1〕并口仿真頭;〔2〕開(kāi)發(fā)系統(tǒng)供電電源〔注:假設(shè)目標(biāo)板是 +5V 的文件,可以不用〕;〕并口電纜;〕目標(biāo)板。圖21 ICETEK-5100PP 開(kāi)發(fā)系統(tǒng)外觀圖如圖21所示為仿真器的外形圖,它的各個(gè)部件的說(shuō)明如下:仿真頭:JTAG接頭;開(kāi)發(fā)系統(tǒng)電源接口;并口電纜;開(kāi)發(fā)系統(tǒng)供電指示燈;e〕正確運(yùn)行指示燈。其次步:在預(yù)備工作做完之后,下面可以進(jìn)展安裝?!酬P(guān)計(jì)算機(jī)〕把主機(jī)的并口電纜與仿真器的接口相接〕+5V 電源與仿真器的電源接口相接〕仿真頭與目標(biāo)板相接〕翻開(kāi)目標(biāo)板電源,這時(shí)仿真頭上的 Power 燈會(huì)亮〕開(kāi)PC機(jī)注:假設(shè)是開(kāi)發(fā)+5V供電的DSP器件,仿真器可以不用外接電源。軟件安裝使用說(shuō)明:并行端口配置:ParallelPortMod:EPPOnboardParallelPort:378/IRQ7啟動(dòng)計(jì)算機(jī),進(jìn)入BIOSINTEGERATEDPERIPHERALSParallelPortMode”項(xiàng)改為“EPPParallelPortMod:EPPOnboardParallelPort:378/IRQ7ICETEK-5100PP 的配置:Port=378Mode=EPPSpeed=0在確定了計(jì)算機(jī)的并行端口工作模式之后 ,還要把ICETEK-5100PP 的參數(shù)設(shè)置與計(jì)算機(jī)對(duì)應(yīng)起來(lái),此時(shí),Port=378Mode=EPPSpeed=0用記錄的“OnboardParallelPort“的值替換“port“參數(shù)的缺省值。例如:假設(shè)記錄值為:278/IRQ7,則把XDS510PP.INI的“port“278“ParallelPortMode“的值替換“mode“參數(shù)的缺省值,例如:假設(shè)設(shè)置值為:SPP,則把XDS510PP.INI的“mode“參數(shù)值改為“SPP“,最終,保存修改后的文件。在設(shè)置并行端口和調(diào)試器之后,假設(shè)連接不穩(wěn)定,則需要修改XDS510PP.INI 中“speed“參數(shù)的值。修改方法如下:將“speed“參數(shù)的值改為20,保存并運(yùn)行調(diào)試軟件。假設(shè)連接穩(wěn)定,可以漸漸減小 “speed“的參數(shù)值,直到保持連接穩(wěn)定的最小值為止。假設(shè)把參數(shù)值改為 20 后仍舊連接不穩(wěn)定,請(qǐng)檢查計(jì)算機(jī)的并行端口。4 基于TMS320LF2407A 試驗(yàn)箱本試驗(yàn)裝置主要可以進(jìn)展以下幾方面試驗(yàn):片內(nèi)外設(shè)試驗(yàn)系統(tǒng)總線試驗(yàn)、A/D輸入試驗(yàn)、PWM信號(hào)的產(chǎn)生、脈沖捕獲試驗(yàn)、旋轉(zhuǎn)碼盤脈沖解碼試驗(yàn)、定時(shí)器相關(guān)試驗(yàn)和 SCI、SPI通信試驗(yàn)。片外設(shè)備掌握試驗(yàn)鍵盤試驗(yàn)、撥碼開(kāi)關(guān)試驗(yàn)、數(shù)碼管顯示試驗(yàn)、 D/A輸出試驗(yàn)、PWM模擬D/A輸出試驗(yàn)、I2C總線試驗(yàn)、四線串行接口〔 microwire〕試驗(yàn)。數(shù)字信號(hào)處理試驗(yàn)FFTFIR和IIR試驗(yàn)、相關(guān)分析和自適應(yīng)濾波器試驗(yàn)。系統(tǒng)綜合試驗(yàn)BLDC掌握系統(tǒng):包含根本的閉環(huán)掌握、過(guò)流過(guò)壓保護(hù)、人機(jī)界面和掌握信號(hào)輸入輸出等功能;可擴(kuò)展相應(yīng)外設(shè)進(jìn)展三相溝通電機(jī)變頻掌握系統(tǒng),包含根本的 V/F掌握、空間矢量掌握、過(guò)流過(guò)壓保護(hù)、人機(jī)界面和掌握信號(hào)輸入輸出等功能。系統(tǒng)組成譯碼譯碼鎖存數(shù)碼管DAC緩沖器DIP開(kāi)關(guān)RS232收發(fā)器RAMDBLEDABTMS320LF2407A電機(jī)CPLDCB模塊220V12V穩(wěn)壓電源 5VJTAG下載AD按鍵圖22硬件系統(tǒng)框圖硬件系統(tǒng)框圖如圖 22所示,系統(tǒng)通過(guò)CPLD來(lái)產(chǎn)生各外設(shè)的片選信號(hào),大大簡(jiǎn)化片選規(guī)律電路的設(shè)計(jì)。板上外擴(kuò) 64K的SRAM,在微處理器模式下作為程序和數(shù)據(jù)存儲(chǔ)器,而在微掌握器模式下,其中 32K作為數(shù)據(jù)存儲(chǔ)器使用,而其片內(nèi)的 32K FLASH作程序存儲(chǔ)器用。除此之外,試驗(yàn)裝置硬件主要包括輸入輸出模塊和電機(jī)驅(qū)動(dòng)模塊等,今后的試驗(yàn)中將分別進(jìn)展具體介紹。性能指標(biāo)TMS320LF2407A 運(yùn)行速度為40MIPS ,128K存儲(chǔ)器空間16路10Bit集成片上A/D 接口雙大事治理器EVAEVB2路的TLC7528D/A 轉(zhuǎn)換符合RS232 標(biāo)準(zhǔn)的UART 串行接口32K片上FLASHCAN總線標(biāo)準(zhǔn)接口用戶開(kāi)關(guān)、測(cè)試指示燈數(shù)據(jù)地址I/O掌握4處擴(kuò)展連接器具有與IEEE1149.1 相兼容的規(guī)律掃描電路,用于測(cè)試和仿真試驗(yàn)箱布局電源指示電源指示LED數(shù)碼管復(fù)位鍵D/A轉(zhuǎn)換模擬量輸入RS-232接口中斷測(cè)試輸入DSPRS-485接口三相無(wú)刷電機(jī)CAN接口EEPROMPWM正交編碼直流電機(jī)撥碼開(kāi)關(guān)按鍵輸入實(shí)時(shí)時(shí)鐘步進(jìn)電機(jī)5 試驗(yàn)例程試驗(yàn)一 CodeComposer 使用教程這個(gè)教程可以幫助你了解Code Composer Studio 的根本功能。它無(wú)意供給一個(gè)關(guān)于CodeComposerStudio 的具體描述,但可以作為開(kāi)發(fā)者使用 CodeComposerStudio 的起點(diǎn)。教程使用一個(gè)例子程序從輸入緩沖區(qū)中讀取數(shù)據(jù),然后乘以某個(gè)系數(shù)后放到輸出緩沖區(qū)中。教程內(nèi)容包括:〕創(chuàng)立工程環(huán)境〕根本調(diào)試功能〕使用觀看窗口〕圖形功能簡(jiǎn)介創(chuàng)立工程環(huán)境這局部為使用者供給了生疏工程環(huán)境的時(shí)機(jī), CCS供給工程文件來(lái)治理應(yīng)用程序。全部有關(guān)的應(yīng)用程序的信息保存在工程文件中。 工程文件記錄生成一個(gè)目標(biāo) DSP程序和庫(kù)程序需要的全部文件和運(yùn)行庫(kù)。它也包含了為編譯、匯編、鏈接目標(biāo)代碼而配置的開(kāi)關(guān)參數(shù)。在這局部,你將學(xué)習(xí)到如何創(chuàng)立工程文件并添加源程序文件和庫(kù)文件到工程中,以及編輯源程序文件和編譯連接生成目標(biāo)代碼。ProjectNew”命令,顯示文件選擇對(duì)話框,轉(zhuǎn)變名目到tutorial名目下〔缺省位置在 c:\ti2xx\c2000 ,輸入“volume”作為工程文件名并保存;添加源程序文件:執(zhí)行“ ProjectAdd File toProjects”命令,打開(kāi)添加文件對(duì)話框.反復(fù)使用這個(gè)命令,添加以下文件到工程中:volume.c〔在C:\TI\MyProjects\volume 名目中〕rts2xx.lib〔在C:\TI\C2400\cgtools\lib 名目中〕轉(zhuǎn)變工程設(shè)置:執(zhí)行“ProjectBuildOptions ”命令,顯示對(duì)話框。這個(gè)對(duì)話框用于配置編譯,匯編和鏈接的開(kāi)關(guān);〕點(diǎn)擊linker屬性頁(yè)〕在AutoinitModel 欄選擇Run-timeAutoinitialization〕選擇“確定”對(duì)話框保存修改并關(guān)閉這個(gè)對(duì)話框4〕編譯工程:執(zhí)行“ProjectBuild”命令完成對(duì)工程的編譯;根本調(diào)試功能在這一節(jié),我們將生疏 CCS的一些根本調(diào)試功能。執(zhí)行FileLoadProgram 在隨后翻開(kāi)的對(duì)話框中選擇剛剛建立的 volume.out 文件;在工程掃瞄窗口中,雙擊 volume.c 激活這個(gè)文件,移動(dòng)光標(biāo)到 main〔〕行上,右擊鼠標(biāo)選擇ToggleBreakpoint 或按F9設(shè)置斷點(diǎn);選擇DebugRun或按F5運(yùn)行程序,程序會(huì)自動(dòng)停在main〔〕〕按F8,執(zhí)行到write_buffer 〔〕函數(shù)上〕持續(xù)按F8,直到程序轉(zhuǎn)到write_buffer 函數(shù)中運(yùn)行留意:在執(zhí)行C語(yǔ)言的程序時(shí),為了快速的運(yùn)行到主函數(shù)調(diào)試自己的代碼,可以使用DebugGomain 命令。使用觀看窗口這一節(jié)介紹如何在CCS中觀看和修改程序變量。執(zhí)行ViewWatchwindow 翻開(kāi)觀看窗口;在volume.c 中,選中任意一個(gè)變量,右擊鼠標(biāo),選擇“Quickwatch,CCS將翻開(kāi)quickwatch 窗口并顯示選中的變量;或者在volume.c 中,選中任意一個(gè)變量,右擊鼠標(biāo),選擇“ Addtowatchwindow ,CC將把變量添加到觀看窗口并顯示選中的變量值;在觀看窗口中選中變量,單擊對(duì)應(yīng)欄中“value”項(xiàng),可以在該欄中轉(zhuǎn)變程序變量的值;依據(jù)上述方法將str變量加到觀看窗口中,點(diǎn)擊變量左邊的“ +,觀看窗口可以構(gòu)造變量,并且顯示構(gòu)造變量的每個(gè)元素的值;把num變量加到觀察窗口中,執(zhí)行程序進(jìn)入 write_buffer 函數(shù),此時(shí)num變量超出了作用范圍,可以利用 stackcall 窗口觀察在不同作用范圍的變量。〕執(zhí)行ViewCallStack 翻開(kāi)堆棧窗口〕雙擊堆棧窗口的main〔〕選項(xiàng),此時(shí)可以觀察num變量的值文件輸入/輸出這一節(jié)介紹如何從 PC機(jī)上加載數(shù)據(jù)到目標(biāo)機(jī)上。這是使用的數(shù)據(jù)流測(cè)試算法的正確性的好方法。在完成下面的操作以前,先介紹 Code Composer Studio的Probe斷點(diǎn)。這種斷點(diǎn)允許用戶在指定位置提取/注入數(shù)據(jù)。Probe 斷點(diǎn)可以設(shè)置在程序的任何位置。當(dāng)程序運(yùn)行到Probe斷點(diǎn)時(shí),與probe斷點(diǎn)相關(guān)的大事將會(huì)被觸發(fā)。當(dāng)大事完畢后,程序會(huì)連續(xù)執(zhí)行,在Probe斷點(diǎn)觸發(fā)的大事是:從PC機(jī)的數(shù)據(jù)文件加載數(shù)據(jù)到目標(biāo)系統(tǒng)的緩沖器中。在真實(shí)的系統(tǒng)中,read_signals函數(shù)用于讀取A/D模塊的數(shù)據(jù)并放到DSP緩沖區(qū)中。在這里,代替A/D模塊完成這個(gè)工作的是Probe斷點(diǎn)。當(dāng)執(zhí)行到函數(shù)read_signals時(shí),Probe斷點(diǎn)完成這個(gè)工作;〕先在程序行read_signals 〔input〕上設(shè)置斷點(diǎn);〕然后右擊鼠標(biāo),選擇 ToggleProbePoint, 設(shè)置Probe斷點(diǎn)。執(zhí)行FileFileI/O,翻開(kāi)對(duì)話框;點(diǎn)擊AddFile 把sine2.dat 文件加到對(duì)話框中;完成設(shè)置;〕在Address 中,輸入inp_buffer,〕在Length中,輸入0x64〕保證warparound 被選中關(guān)聯(lián)大事和Probe斷點(diǎn);〕點(diǎn)擊Add ProbePoint 按鈕,翻開(kāi)對(duì)話框〕點(diǎn)擊ProbePoint 中的內(nèi)容,使之被選中〕在Connect 中選擇sine2.dat 文件〕點(diǎn)擊Replace 按鈕確認(rèn)設(shè)置〕點(diǎn)擊“確定”關(guān)閉對(duì)話框點(diǎn)擊“確定”關(guān)閉對(duì)話框,此時(shí),已經(jīng)配置好了Probe斷點(diǎn)和與之關(guān)聯(lián)的大事。進(jìn)一步的結(jié)果在下一節(jié)顯示。圖形功能簡(jiǎn)介這一節(jié)使用CCS的圖形功能檢驗(yàn)上一節(jié)的結(jié)果。執(zhí)行ViewGraphTime/Frequency 翻開(kāi)GraphPropertyDialog 窗口;GraphTitle:GraphTitle:InputSatrtAddress:inp_bufferAcqusitionBufferSize:100DisplayDataSize:100DSPDataType:16-bitsignedinteger按F12運(yùn)行程序,觀看input窗口的內(nèi)容。試驗(yàn)二 編制鏈接器掌握文件鏈接的目的是生成可執(zhí)行的目標(biāo)代碼,在這一節(jié),我們將學(xué)習(xí)如何正確 的鏈接目標(biāo)代碼,并且學(xué)會(huì)編制鏈接工程文件和使用一些有用的鏈接開(kāi)關(guān),最終,為后繼試驗(yàn)編寫一個(gè)鏈接批處理命令。建立map文件為了把最終的程序編程到程序的 ROM中,我們需要知道程序的大小和位置,下面通過(guò)建立目標(biāo)程序的map文件了解DSP代碼的精準(zhǔn)信息。1〕翻開(kāi)上一個(gè)試驗(yàn)建立的volume工程,執(zhí)行ProjectBuildOptions 命令,翻開(kāi)BuildOptions 對(duì)話框;2〕在Build Options 對(duì)話框中,點(diǎn)擊linker 屬性頁(yè),在Map Filename 中輸入“Volume.map;按“確定”保存對(duì)設(shè)置的修改;執(zhí)行“ProjectRebuildAll”重編譯和鏈接整個(gè)工程文件;執(zhí)行FileOpen 命令,翻開(kāi)volume.map 文件,觀看Memory Configuration 和SECTION ALLOCNTION MAP 了解鏈接器如何缺省定位程序代碼和安排數(shù)據(jù)變量。在map文件中,我們可以了解很多有關(guān)于輸出代碼的信息,比方 代碼的長(zhǎng)度,數(shù)據(jù)空間的長(zhǎng)度等等。在map文件中,有一個(gè)術(shù)語(yǔ) ,它代表了DSP的存儲(chǔ)空間。其中, 0表示程序存儲(chǔ)空間,1表示數(shù)據(jù)存儲(chǔ)空間,而 2表示I/O空間。它們分別與芯片管腳PS#,DS#和IS#片選的存儲(chǔ)空間對(duì)應(yīng)。建立鏈接文件在實(shí)際的應(yīng)用中,我們總是需要定位自己的存儲(chǔ)器,同時(shí),也需要掌握文件的輸出到需要的地方去。下面的內(nèi)容是創(chuàng)立鏈接文件,并用這個(gè)文件掌握程序的地址映射。執(zhí)行FileNewSourceFile 創(chuàng)立一個(gè)的文件;執(zhí)行FileSave保存創(chuàng)立的文件,并命名為 volumed;依據(jù)以下的內(nèi)容輸入MEMORY{0:VECT: origin=0 ,length=40hPROG :origin=2000h,length=7000h1:SARAM:origin=800h,length=1000h}SECTIONS{.text :{}>PROG0.cinit :{}>PROG0.switch :{}>PROG0.data :{}>PROG0.const :{}>SARAM1.bss :{}>SARAM1.stack :{}>SARAM1.sysmem :{}>SARAM1}執(zhí)行FileSave保存程序;執(zhí)行ProjectAddFiletoProject 把volumed 加到工程中;執(zhí)行ProjectRebuildAll 重編譯鏈接工程;執(zhí)行FileOpen翻開(kāi)volume.map,比照與剛剛有哪些不同;執(zhí)行ProjectBuildOption 翻開(kāi)對(duì)話框;單擊linker屬性頁(yè),在stack size中輸入0x100;〕按“確定”保存對(duì)配置的修改;執(zhí)行“ProjectRebuildAll”指令重編譯整個(gè)工程;〕執(zhí)行FileOpen翻開(kāi)volume.map,比照與剛剛有哪些不同;〕修改volumed 文件,如下: FLASH:origin =0x8000,length =0x100;〕重編譯鏈接程序,觀看 map文件有哪些變化。試驗(yàn)三匯編語(yǔ)言程序設(shè)計(jì)由內(nèi)置的硬件模塊支持,數(shù)字信號(hào)處理器可以高速的完成加法和乘法運(yùn)算。但TMS320系列不供給除法指令,為實(shí)現(xiàn)除法運(yùn)算,需要編寫除法子程序來(lái)實(shí)現(xiàn)。二進(jìn)制除法是乘法的逆運(yùn)算。乘法包括一系列的移位和加法,而除法可分解為一系列的減法和移位。本節(jié)要求編寫一個(gè)16位的定點(diǎn)除法子程序。除法運(yùn)算的過(guò)程設(shè)累加器為8位且除法運(yùn)算為10除以3,除的過(guò)程包括與除數(shù)有關(guān)的除數(shù)逐步移位,然后進(jìn)展減法運(yùn)算,假設(shè)所得商為正,則在商中置 1,否則該位商為0.例如4位除法例如:除數(shù)的最低有效位對(duì)齊被除數(shù)的最高有效位00001010-0001100011110010由于減法結(jié)果為負(fù),丟棄減法結(jié)果,將被除數(shù)左移一位再減00010100-0001100011111000結(jié)果仍為負(fù),丟棄減法結(jié)果,將被除數(shù)左移一位再減00101000-0001100000010000結(jié)果為正,將減法結(jié)果左移一位后把商置 1,做最終一次減00100001-0001100000001001結(jié)果為正,將減法結(jié)果左移一位加 1得最終結(jié)果,高4位是余數(shù),低4位商:00010011除法運(yùn)算的實(shí)現(xiàn)為了盡量提高除法運(yùn)算的效率, 2xx系列供給了條件減指令SUBC來(lái)完成除法操作。SUBC指令的功能如下:假設(shè)〔ACC〕≥0且〔數(shù)據(jù)存儲(chǔ)器地址〕≥ PC+1 然后〔ACC〕-[〔數(shù)據(jù)存儲(chǔ)器地址〕×215]ALU輸出假設(shè)ALU0ALU輸出〕×2+1ACC否則:〔ACC×2〕 ACC實(shí)際上,SUBC 指令完成的是除法中的減除數(shù)求商的過(guò)程,即余數(shù)末位補(bǔ) 0,減去除數(shù),假設(shè)結(jié)果為正,該位商為 1,否則商為0。SUBC指令實(shí)現(xiàn)條件減,可以用如下除法:把 16位的正被除數(shù)放在累加器的低 16位,累加器的高16位清0,16位的正除數(shù)放在數(shù)據(jù)存儲(chǔ)單元中。執(zhí)行 SUBC指令16次,最終一次SUBC指令完成后,累加器的低 16位是除法的商,高16位是余數(shù)。假設(shè)累加器和/或數(shù)據(jù)存儲(chǔ)單元的內(nèi)容為負(fù),則不能用 SUBC指令實(shí)現(xiàn)除法。為了完成屢次的 SUBC指令,還需要用到循環(huán)指令 RPT,它可以使RPT后的一條指令重復(fù) 1—256次。SUBC指令僅能對(duì)正數(shù)除法進(jìn)展運(yùn)算,因此,要擴(kuò)展到全部數(shù)值的除法,還需要做如下工作:在程序開(kāi)頭對(duì)被除數(shù)和除數(shù)做乘法, 并保存到臨時(shí)變量,除數(shù)和被除數(shù)分別取確定值,在除法運(yùn)算完成后,依據(jù)臨時(shí)變量的值修改商的符號(hào)。除法運(yùn)算程序流程開(kāi)頭開(kāi)頭對(duì)除數(shù)和被除數(shù)進(jìn)展乘法運(yùn)算保存結(jié)果到臨時(shí)變量分別把除數(shù)和被除數(shù)裝入累加器用ABS指令求確定值并回送到存儲(chǔ)器用SUBC命令和RPT指令求16位正數(shù)除法保存結(jié)果到商YES用BGE指令推斷裝載到累加器臨時(shí)變量符號(hào)No用SUB執(zhí)行0-商的結(jié)果并回送給商試驗(yàn)步驟

圖23除法運(yùn)算軟件流程圖下面是完成除法運(yùn)算的試驗(yàn)步驟:1〕重啟動(dòng)CodeComposerStudio ;2〕執(zhí)行ProjectNew建立的工程;3〕輸入lab2作為工程的名稱;執(zhí)行FileNewSourceFile 建立的程序文件;為創(chuàng)立的程序文件命名為 lab2.asm 并保存;執(zhí)行ProjectAddNewFiletoProject ,把lab2.asm 參加工程中;7〕執(zhí)行FileNewSourceFile 建立的文件并保存為lab2d;8〕執(zhí)行ProjectAddNewFiletoProject ,把lab2d 參加工程中;編輯lab2.asm參加如下內(nèi)容:.bss NUMERA,1.bss DENOM,1.bss QUOT,1.bss ARIT,1.bss TEMSGN,1.textnopstart:ldp #NUMERAlacccallbNUMERADIVstartDIV:ltNUMERAmpyDENOMpacsachTEMSGNlacDENOMabssaclDENOMlaccNUMERAabsrpt#15subcDENOMsaclQUOTsachARITlacTEMSGNbgezdonezacsubQUOTsaclQUOTzacsaclARITdone:lacQUOTret〕編輯lab2d 參加如下內(nèi)容MEMORY{0:VECT:o=0PROG:o=02000h,,ll=40h=7000h1:SARAM:o=0800h,l=01000h}SECTIONS{.text:{}>PROG0.bss:{}>SARAM1}執(zhí)行ProjectRebuildAll 編譯工程;〕編譯錯(cuò)誤如下:warning:entrypointsymbol_c_int0undefined缺省時(shí)CodeComposer 設(shè)置工程程序?yàn)镃語(yǔ)言編譯。因此,當(dāng)我們編譯匯編程序時(shí),要對(duì)工程做配置;〕執(zhí)行ProjectBuildOptions 翻開(kāi)編譯選項(xiàng);〕在linker上單擊,把AutoinitModel 欄改為NoAutoinitialization ,在Compiler 屬性頁(yè)上單擊Assembly 名目選中“KeepLabelsasSymbols ,然后執(zhí)行ProjectRebuildAll〕按“確定”保存對(duì)配置的修改;〕執(zhí)行“FileLoadProgram ”裝載程序,裝載完程序后,CodeComposer 把指針指向0000處。為了執(zhí)行我們的程序代碼,需要修改 DSP的PC值;〕執(zhí)行ViewRegistersCPURegister 翻開(kāi)存放器窗口;〕雙擊窗口中的PCCC彈出修改對(duì)話框供修改存放器;〕在對(duì)話框中輸入“start”,程序?qū)⑻幱谖覀兊某绦蛉肟邳c(diǎn)上;20〕執(zhí)行ViewWatchWindow 翻開(kāi)觀看窗口;21〕在觀看窗口中添加如下變量:〕在觀看窗口右擊鼠標(biāo),在 Watch窗口“name”欄下,輸入“*(int*)NUMERA 觀看該變量的值〕重復(fù)a的操作,參加*(int*)DENOM 、*(int*)QUOT 和*(int*)ARIT 四個(gè)變量〔留意變量名要與程序中的全都〕這樣,我們就添加了為完成除法操作而需要的輸入和輸出。其中NUMERA是被除數(shù),DENOM是除數(shù),QUOT是商,而ARIT是余數(shù)〕雙擊觀看窗口上的 NUMERA變量,輸入數(shù)據(jù)“10;〕雙擊觀看窗口上的 DENOM變量,輸入數(shù)據(jù)“3;〕按F10執(zhí)行程序到“b start,觀看程序的QUOT 和ARIT兩個(gè)變量是否是正的結(jié)果。此外,還可以多運(yùn)行幾次程序,分別用不同的數(shù)據(jù)測(cè)試除法程序;〕為匯編程序添參加口地址。在剛剛的 C語(yǔ)言程序中,當(dāng)我們裝載完程序后,PC指針指向程序的入口地址,現(xiàn)在,我們要為自己的匯編語(yǔ)言添參加口地址。雙擊工程掃瞄窗口中的Lab2.asm 激活源程序窗口;26〕在程序的開(kāi)頭參加下述代碼: .global start27〕執(zhí)行ProjectBuildOption 翻開(kāi)對(duì)話框;28〕在對(duì)話框中單擊Linker屬性頁(yè),在CodeEntryPoint 中輸入“start29〕按“確定”保存對(duì)設(shè)置的修改;〕執(zhí)行“ProjectRebuildAll”選項(xiàng),重編譯鏈接整個(gè)工程;〕執(zhí)行“FileReloadProgram ,CodeComposer 將會(huì)自動(dòng)把上次選中的文件裝載目標(biāo)系統(tǒng)中。觀看這次裝載與上次是否不同;〕執(zhí)行“ViewRegistersCPURegister ”翻開(kāi)存放器觀看窗口,觀察 PC指針的值是否有些不同;〕構(gòu)造完備的應(yīng)用程序,C2000系列的芯片在上電復(fù)位后將 PC機(jī)的值置為0x0000,這里實(shí)際上是復(fù)位向量的地址。一般的,要在這里添加一個(gè)無(wú)條件跳轉(zhuǎn)指令,跳到程序真正的入口地址去。雙擊工程掃瞄窗口中的 Lab2.asm 激活源程序窗口;〕在程序中.bssNUMER,1 指令前參加如下指令:.sect“.vectors”bstart〕保存對(duì)lab2.asm 的修改;〕雙擊工程掃瞄窗口中的 lab2d,激活該窗口;〕在.text:{}>PROG0 的下一行參加如下行:.vectors:{}>VECT038〕執(zhí)行ProjectBuild重編譯源程序;39〕執(zhí)行FileExit退出CodeComposer ;〕在桌面上雙擊CCS(C2000)圖標(biāo)重啟動(dòng) CodeComposer ;〕執(zhí)行FileLoadProgram 裝載lab2.out;〕按F5運(yùn)行程序;〕按Shift-F5 完畢程序運(yùn)行;〕執(zhí)行DebugResetCPU 命令,觀看程序的運(yùn)行過(guò)程。試驗(yàn)四 數(shù)模轉(zhuǎn)換試驗(yàn)試驗(yàn)?zāi)康睦斫釺MS320LF2407A 存儲(chǔ)器空間的概念:程序空間、數(shù)據(jù)空間和 I/O空間把握DA轉(zhuǎn)換器的原理和使用方法把握CCS開(kāi)發(fā)環(huán)境平臺(tái)的使用試驗(yàn)內(nèi)容DSP的初始化配置存儲(chǔ)器I/O空間的使用DA轉(zhuǎn)換的寫入、轉(zhuǎn)換結(jié)果的觀看可編程運(yùn)算放大器試驗(yàn)硬件原理圖圖24數(shù)模轉(zhuǎn)換電路硬件原理圖試驗(yàn)箱上配置的是一個(gè) 2通道8位并行輸入DA轉(zhuǎn)換器,電流型輸出,單電源供給。由于輸出的電流與輸入的電壓極性正好相反, 因此電路上配置了一個(gè)電流 /電壓轉(zhuǎn)換和一個(gè)電壓反向器,使得輸出信號(hào)是與參考源極性全都的電壓信號(hào)。 DAC轉(zhuǎn)換器輸出電壓公式為:VoVrefD)D=輸入的8位二進(jìn)制轉(zhuǎn)換為10進(jìn)制的值256DA轉(zhuǎn)換器有2個(gè)輸出通道,每一個(gè)通道的數(shù)字量輸入通過(guò)內(nèi)部的鎖存器進(jìn)展鎖存,DSP通過(guò)DA轉(zhuǎn)換器的WR、A0A1三個(gè)引腳,經(jīng)過(guò)CPLD譯碼后,進(jìn)展DA數(shù)字量的寫入,圖26為操作時(shí)序圖。圖25數(shù)模轉(zhuǎn)換芯片的內(nèi)部原理構(gòu)造試驗(yàn)步驟

圖26數(shù)模轉(zhuǎn)換芯片的操作時(shí)序圖數(shù)模轉(zhuǎn)換試驗(yàn)是利用 DSP將內(nèi)存中正弦表〔或者余弦表〕所設(shè)定數(shù)字量,由 DSP定時(shí)依次將這些數(shù)字量送入到 DAC的2路通道內(nèi),通過(guò)DAC轉(zhuǎn)換為的模擬正弦波,我們可以通過(guò)示波器顯示出波形。圖 27為產(chǎn)生正弦波信號(hào)的軟件流程圖。1〕如果你的軟件安裝在C 盤的根目錄下,那么實(shí)驗(yàn)程序目錄應(yīng)該是C:\ti\myprojects\DA\ 〔X\ti\myprojects\DA\ ,其中X代表CCS的安裝名目〕;CodeComposerStudio 主界面中翻開(kāi)Project 選項(xiàng)選擇New 選項(xiàng);在Save New Project 對(duì)話框中,選擇試驗(yàn)程序所在的工作名目。在文件名編輯框中輸入DA做為工程名稱,建立工程工程文件 DA.pjt;翻開(kāi)Project 選項(xiàng)選擇Add file to project,在隨后翻開(kāi)的窗口中轉(zhuǎn)變文件類型為〔*.*,選擇全部后綴名為asm、c和cmd的文件并按翻開(kāi)按鈕;屏幕左側(cè)的窗口是ProjectList單擊列表項(xiàng)旁的+ProjectDA.pjtSource項(xiàng),觀看上述文件是否都被包含到工程中;留意:工程掃瞄器,假設(shè)在屏幕上看不到工程掃瞄器,請(qǐng)翻開(kāi)View選項(xiàng)選擇Projects工程。假設(shè)工程掃瞄器已經(jīng)翻開(kāi)但看不到工程文件,在工程掃瞄器窗口下的File標(biāo)簽上單擊。在工程掃瞄器中,雙擊 main.c,激活main.c文件,掃瞄該文件的內(nèi)容;CodeComposerStudio 可以自動(dòng)的保存工程工程的狀態(tài)。你可以使用 Project 下的Open 翻開(kāi)一個(gè)工程工程文件的同時(shí),恢復(fù)上 次退出CodeComposer Studio 時(shí)工作環(huán)境的設(shè)置值;翻開(kāi)Project選項(xiàng),選擇RebuildallCodeComposerStudio重編譯和鏈接這個(gè)工程工程,整個(gè)的處理過(guò)程在屏幕下方的Message窗口中返回信息,當(dāng)轉(zhuǎn)變了設(shè)置后必需從編譯全部的文件;翻開(kāi)File 選項(xiàng),選擇LoadProgram 選項(xiàng),在LoadProgram 對(duì)話框中,選中建名目下的DA.out 文件此時(shí)CodeComposerStudio 將把這個(gè)目標(biāo)文件裝載到LF2407 試驗(yàn)箱中,同時(shí)CodeComposerStudio 翻開(kāi)反匯編窗口,顯示被加載程序的匯編指令碼;〕翻開(kāi)Debug 選項(xiàng),選擇Run 選項(xiàng)或按F5 運(yùn)行程序,將示波器一端接在從板上引出的地線上〔JP3的2腳一端分別接在DA芯片的輸出引腳JP3的1、3腳上,這樣我們就可以通過(guò)示波器看到這 2路通道中輸出的正弦波;翻開(kāi)Debug 選項(xiàng),選擇Halt 選項(xiàng)或按Shift-F5 終止試驗(yàn)結(jié)果?!侈D(zhuǎn)變?cè)趍ain.c 文件中,將periodDA 添加到變量觀看窗口中,再次運(yùn)行,在變量觀看窗口轉(zhuǎn)變periodDA 的值,同時(shí)觀看輸出正弦波形的變化。開(kāi)頭開(kāi)頭DSP初始化設(shè)置參數(shù)參數(shù)定時(shí)到?YN調(diào)整數(shù)據(jù)送入DAC試驗(yàn)結(jié)果

圖27 用D/A發(fā)生正弦波信號(hào)的軟件流程試驗(yàn)的最終現(xiàn)象:通過(guò)示波器可以看到 1路標(biāo)準(zhǔn)的正弦波和1路標(biāo)準(zhǔn)的鋸齒波。擴(kuò)展:請(qǐng)修改程序,把輸出的鋸齒波變?yōu)槿遣āT囼?yàn)五 用戶使用開(kāi)關(guān)試驗(yàn)試驗(yàn)?zāi)康睦斫釺MS320LF2407A 存儲(chǔ)器空間的概念:程序空間、數(shù)據(jù)空間和 I/O空間CCS開(kāi)發(fā)環(huán)境平臺(tái)的使用試驗(yàn)內(nèi)容DSP的初始化配置存儲(chǔ)器I/O空間的使用TMS320LF2407A 存儲(chǔ)器空間簡(jiǎn)介L(zhǎng)F240xA 的存儲(chǔ)器包括RAM〔單口RAM和雙口RAM、ROM和Flash。對(duì)于以LF為前綴的DSP芯片具有Flash,而以LC為前綴的DSP芯片具有ROM。240xA具有16位地址總線,可以獨(dú)立訪問(wèn)如下三種空間〔共 192K:64K字的程序空間、64K字的數(shù)據(jù)空間和64K字的I/O空間。圖282407A 的存儲(chǔ)器映射圖本章還介紹程序、數(shù)據(jù)和I/O空間的地址映像以及240xA的可訪問(wèn)的存儲(chǔ)器配置選項(xiàng)。圖28是LF2407A 的存儲(chǔ)器映像。2407A芯片的設(shè)計(jì)基于增加型的哈佛構(gòu)造,它具有多塊存儲(chǔ)空間,通過(guò)程序地址總線〔PAB、數(shù)據(jù)讀地址總線〔DRAB〕和數(shù)據(jù)寫地址總線〔DWAB〕這三條并行總線可以被訪問(wèn)。每條總線在操作的不同階段訪問(wèn)不同的存儲(chǔ)空間。由于 CPU的總線操作是相互獨(dú)立的,所以CPU能夠同時(shí)對(duì)程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間進(jìn)展訪問(wèn)。在一個(gè)給定的機(jī)器周期內(nèi),中心算術(shù)規(guī)律單元〔 CALU〕能夠執(zhí)行三條并行的存儲(chǔ)器操作。240xA器件的地址映像可以分為 3個(gè)獨(dú)立的選擇空間,總計(jì) 192K字的地址范圍:·程序存儲(chǔ)器〔64K字·數(shù)據(jù)存儲(chǔ)器〔64K字·/輸出I/O空間〔64K字:用于和外設(shè)接口,并包含片內(nèi)外圍設(shè)備的存放器。2407A芯片內(nèi)還含有大量的片內(nèi)存儲(chǔ)器。這些存儲(chǔ)器集成度高,運(yùn)行速度快,功耗和本錢較低且使用便利,有助于提高系統(tǒng)的整體性能,較片外存儲(chǔ)器操作有更多的優(yōu)點(diǎn)。但是對(duì)于片外存儲(chǔ)器操作來(lái)說(shuō),可以訪問(wèn)更大的地址空間。在240xA 系列的器件中,只有2407A具有外部存儲(chǔ)器接口,其他的器件只 有片內(nèi)存儲(chǔ)器。試驗(yàn)硬件原理圖圖29用戶撥碼開(kāi)關(guān)輸入及LED顯示硬件電路原理如圖29所示,撥碼開(kāi)關(guān)通過(guò)緩沖器連接到 DSP的數(shù)據(jù)總線上,緩沖器的規(guī)律使能是經(jīng)過(guò)CPLD的內(nèi)部譯碼產(chǎn)生的。從DIP開(kāi)關(guān)取數(shù)據(jù)到I/O空間,再送到LEDLED的狀態(tài)反映了對(duì)應(yīng)的 DIP的狀態(tài)。用戶使用開(kāi)關(guān)的使用試驗(yàn)主要是將用戶使用開(kāi)關(guān)的狀態(tài)與指示燈的狀態(tài)相統(tǒng)一,當(dāng)開(kāi)關(guān)設(shè)置在 ON 時(shí),指示燈為亮;當(dāng)設(shè)置為OFF時(shí),指示燈為滅。2〕軟件流程圖開(kāi)頭開(kāi)頭DSP初始化存儲(chǔ)空間安排讀取DIP開(kāi)關(guān)的狀態(tài)將DIP開(kāi)關(guān)的狀態(tài)存儲(chǔ)在指示燈狀態(tài)上輸出指示燈狀態(tài)完畢試驗(yàn)步驟

圖30用戶使用開(kāi)關(guān)軟件流程圖1〕CC:\ti\myprojects\dip\〔X\ti\myprojects\dip\,其中X代表CCS的安裝名目〕;CodeComposerStudio 主界面中翻開(kāi)Project 選項(xiàng)選擇New 選項(xiàng);在Save New Project 對(duì)話框中,選擇試驗(yàn)程序所在的工作名目。在文件名編輯框中輸入dip 做為工程名稱,建立工程工程文件 dip.pjt;翻開(kāi)Project 選項(xiàng),選擇Addfiletoproject ,在隨后翻開(kāi)的窗口中選擇main.c 并按“翻開(kāi)”按鈕;同樣添加 initsystem.c,vectors.asm 到工程中。翻開(kāi)Project選項(xiàng),選擇Addfiletoproject,在隨后翻開(kāi)的窗口中轉(zhuǎn)變文件類型為〔*d〕選擇test2d并按“翻開(kāi)”按鈕;屏幕左側(cè)的窗口是 Project List,單擊列表項(xiàng)旁的“+”開(kāi)放Project、dip.pjt 和Source項(xiàng),觀看上述文件是否都被包含到工程中;留意:工程掃瞄器,假設(shè)在屏幕上看不到工程掃瞄器,請(qǐng)翻開(kāi)View選項(xiàng),選擇Projects工程。假設(shè)工程掃瞄器已經(jīng)翻開(kāi),但看不到項(xiàng)目文件,在工程掃瞄器窗口下的File標(biāo)簽上單擊;在工程掃瞄器中,雙擊main.c,激活main.c文件,掃瞄該文件的內(nèi)容;翻開(kāi)Project 選項(xiàng),選擇Rebuildall 選項(xiàng),CodeComposerStudio 重編譯和鏈接這個(gè)工程工程,整個(gè)的處理過(guò)程在屏幕下方的 Message 窗口中返回信息,當(dāng)轉(zhuǎn)變了設(shè)置后必需重編譯全部的文件;翻開(kāi)File 選項(xiàng),選擇LoadProgram 選項(xiàng),在LoadProgram 對(duì)話框中選中,建名目下的dip.out 文件此時(shí)CodeComposerStudio 將把這個(gè)目標(biāo)文件裝載到 LF2407 試驗(yàn)箱系統(tǒng)中,同時(shí),CodeComposerStudio 翻開(kāi)反匯編窗口顯示被加載程序的匯編指令碼;〕翻開(kāi)Debug選項(xiàng),選擇Run選項(xiàng)或按F5運(yùn)行程序,我們對(duì)用戶使用開(kāi)關(guān)S5進(jìn)展設(shè)置就可以定制指示燈是否為亮;翻開(kāi)Debug 選項(xiàng),選擇Halt 選項(xiàng)或按Shift-F5 終止試驗(yàn)結(jié)果。試驗(yàn)的最終現(xiàn)象:可以看到哪一個(gè)用戶開(kāi)關(guān)設(shè)置在 ON狀態(tài)上哪一盞指示燈就為亮。試驗(yàn)六 數(shù)字I/O口掌握試驗(yàn)試驗(yàn)?zāi)康陌盐誘MS320LF2407A 中通用I/O口的功能與使用CCS開(kāi)發(fā)環(huán)境平臺(tái)的使用把握按鍵輸入時(shí)軟件去抖動(dòng)方法試驗(yàn)內(nèi)容DSP的初始化配置按鍵采樣和去抖動(dòng)數(shù)字I/O口的使用試驗(yàn)硬件的介紹圖31按鍵輸入電路硬件原理圖如圖31所示,試驗(yàn)箱的四個(gè)按鍵接入到 DSP的PA4~PA7四個(gè)通用I/O接口上,同時(shí)這四個(gè)I/O口的狀態(tài)又通過(guò)緩沖器連接了四個(gè) LED發(fā)光二極管。當(dāng)按下一個(gè)按鍵,對(duì)應(yīng)的發(fā)光二極管就會(huì)發(fā)光,因此當(dāng)對(duì)應(yīng) I/O口被配置成通用輸入口時(shí),可以用于按鍵采樣;當(dāng)其被配置成輸出時(shí),又可以掌握指示燈的顯示,它們分別對(duì)應(yīng)按鍵輸入試驗(yàn)和指示燈顯示試驗(yàn)。按鍵輸入試驗(yàn)的目的是通過(guò) I/O口采樣鍵盤信號(hào),經(jīng)過(guò)軟件消抖后作為系統(tǒng)的用戶輸入;指示燈顯示試驗(yàn)結(jié)果。2〕軟件流程圖初始化內(nèi)核和初始化內(nèi)核和IO按鍵采樣定時(shí)到?NY采樣值與上次值相等?NY去相應(yīng)操作函數(shù)顯示鍵盤掌握的數(shù)值開(kāi)頭DSP初始化存儲(chǔ)器安排第一燈亮調(diào)用延時(shí)子程序開(kāi)頭DSP初始化存儲(chǔ)器安排第一燈亮調(diào)用延時(shí)子程序指示燈顯示位減1指示燈顯示位回減完畢試驗(yàn)步驟

圖33指示燈掌握軟件流程圖〕指示燈控制試驗(yàn)1〕如果你的軟件安裝在C 盤的根目錄下,那么實(shí)驗(yàn)程序目錄應(yīng)該是C:\ti\myprojects\LED(O)CodeComposerStudio 主界面中翻開(kāi)Project 選項(xiàng)選擇New選項(xiàng);在Save New Project 對(duì)話框中,選擇試驗(yàn)程序所在的工作名目。在文件名編輯框中輸入LED 做為工程名稱,建立工程工程文件 LED.pjt;翻開(kāi)Project 選項(xiàng),選擇Addfiletoproject 在隨后翻開(kāi)的窗口中選擇 main.c 并按翻開(kāi)按鈕;翻開(kāi)Project 選項(xiàng),選擇Addfiletoproject ,在隨后翻開(kāi)的窗口中轉(zhuǎn)變文件類型為SelectLinkerCommandFile〔*d〕選擇test2d并按翻開(kāi)按鈕;屏幕左側(cè)的窗口是ProjectList ,單擊列表項(xiàng)旁的“+”開(kāi)放Project Button.pjt 和Source項(xiàng),觀看上述文件是否都被包含到工程中;留意:工程掃瞄器,假設(shè)在屏幕上看不到工程掃瞄器,請(qǐng)翻開(kāi)View選項(xiàng),選擇Projects工程。假設(shè)工程掃瞄器已經(jīng)翻開(kāi),但看不到項(xiàng)目文件,在工程掃瞄器窗口下的File標(biāo)簽上單擊。在工程掃瞄器中,雙擊main.c,激活main.c文件,掃瞄該文件的內(nèi)容;并把程序補(bǔ)充完整。翻開(kāi)Project選項(xiàng),選擇RebuildallCodeComposerStudio重編譯和鏈接這個(gè)工程工程,整個(gè)的處理過(guò)程在屏幕下方的Message窗口中返回信息,當(dāng)轉(zhuǎn)變了設(shè)置后必需重編譯全部的文件;翻開(kāi)File 選項(xiàng),選擇LoadProgram 選項(xiàng),在LoadProgram 對(duì)話框中,選中建名目下的button.out 文件,此時(shí),CodeComposerStudio 將把這個(gè)目標(biāo)文件裝載到LF2407試驗(yàn)箱系統(tǒng)中,同時(shí),CodeComposer Studio 翻開(kāi)反匯編窗口顯示被加載程序的匯編指令碼;10〕翻開(kāi)Debug選項(xiàng),選擇Run選項(xiàng)或按F5 運(yùn)行程序,觀看指示燈閃耀狀況;11〕翻開(kāi)Debug選項(xiàng),選擇Halt選項(xiàng)或按Shift-F5 終止試驗(yàn)結(jié)果。試驗(yàn)結(jié)果:試驗(yàn)的最終現(xiàn)象,可以看到指示燈依次閃耀?!嘲存I輸入試驗(yàn)翻開(kāi)Button名目下的Button工程〔或者建,文件包含步驟同上不再重復(fù)〕,編譯連接并下載程序到目標(biāo)系統(tǒng)中,運(yùn)行程序。按鍵 S2和S1掌握對(duì)指定位數(shù)碼管的增減,按鍵S4 和S3 掌握用來(lái)指定4位數(shù)碼管中的哪一位受S2,S1 的掌握。轉(zhuǎn)變main.c 文件里TICKS_OF_MS(50) 括號(hào)中的值〔即轉(zhuǎn)變軟件消抖延時(shí),重、編譯連接、下載和運(yùn)行,觀看按鍵輸入效果。轉(zhuǎn)變 Algorithm.c 文件里KeyProcess 函數(shù)中keepC的值,觀看連續(xù)按住增減鍵時(shí),數(shù)碼管中顯示的計(jì)數(shù)值變化速度的差異。功能擴(kuò)展:請(qǐng)修改程序使 6個(gè)數(shù)碼管依次顯示1、2、3、4、5、6,并一起閃耀。試驗(yàn)七 SPI接口試驗(yàn)試驗(yàn)?zāi)康陌盐帐褂肨MS320LF2407A 中的SPI接口的根本原理和使用方法把握CCS開(kāi)發(fā)環(huán)境平臺(tái)試驗(yàn)內(nèi)容DSP的初始化配置SPI串行接口的初始化SPI串行接口推動(dòng)數(shù)碼管顯示試驗(yàn)硬件連接圖34SPI驅(qū)動(dòng)及接口電路硬件原理圖表174HC595 真值表輸入信號(hào)功能SERSRCLKSRCLRRCLKOEXXXXHQA?QH輸出制止。XXXXLQA?QH輸出訪能。XXLXX移位存放器清空。L↑HXX第一級(jí)移位存放器變?yōu)榈?,其它?jí)存放器相應(yīng)存儲(chǔ)前一級(jí)的數(shù)據(jù)。H↑HXX第一級(jí)移位存放器變?yōu)楦?,其它?jí)存放器相應(yīng)存儲(chǔ)前一級(jí)的數(shù)據(jù)。XXX↑X移位存放器數(shù)據(jù)存入存儲(chǔ)存放器。串行外設(shè)接口(SPI)是一個(gè)高速、同步串行 I/O 口,它允許長(zhǎng)度可編程的串行位流〔 1到16位〕以可編程的位傳輸率移入或移出器件。通常 SPI用于DSP掌握器和外設(shè)或另一個(gè)處理器之間的通信。典型的應(yīng)用包括外設(shè) I/O或通過(guò)如移位存放器、顯示驅(qū)動(dòng)器或模數(shù)轉(zhuǎn)換器等器件所做的外設(shè)擴(kuò)展。通過(guò)雙緩沖發(fā)送和雙緩沖接收,此串行外設(shè)接口具有16位發(fā)送和接收力量。全部數(shù)據(jù)存放器是 16位。需要特別留意的:寫傳輸數(shù)據(jù)到串聯(lián)數(shù)據(jù)存放器SPIDAT時(shí)必需左對(duì)齊。試驗(yàn)箱中,SPI 接口用于顯示的驅(qū)動(dòng),通過(guò)移并轉(zhuǎn)換器將串行輸入的數(shù)據(jù)轉(zhuǎn)換成為并行數(shù)據(jù),推動(dòng)數(shù)碼管顯示成為所需要的代碼。SPI中的時(shí)鐘極性位CLOCK POLARITY〔SPICCR.6〕和時(shí)鐘相位位CLOCK PHASE〔SPICTL.3〕掌握著引腳SPICLK 上的四種不同的時(shí)鐘數(shù)據(jù)格式。CLOCK POLARITY 位選擇時(shí)鐘有效沿為上升沿還是下降沿。 CLOCK PHASE位則選擇時(shí)鐘的1/2周期延時(shí)。四種不同的時(shí)鐘設(shè)計(jì):1〕無(wú)延時(shí)的下降沿;2〕有延時(shí)的下降沿;3〕無(wú)延時(shí)的上升沿;4〕有延時(shí)的上升沿。依據(jù)移位存放器的時(shí)序要求,需要在數(shù)據(jù)穩(wěn)定后,使用上升沿進(jìn)展鎖存,這里選用有延時(shí)的上升沿方式傳送,即串行外設(shè)接口在 SPICLK 信號(hào)的上升沿之前的半個(gè)周期時(shí)發(fā)送數(shù)據(jù),而在SPICLK信號(hào)的上升沿接收數(shù)據(jù)。軟件流程初始化系統(tǒng)初始化系統(tǒng)讀取顯示數(shù)據(jù)顯示譯碼發(fā)送緩沖器預(yù)備好接收數(shù)據(jù)NY寫入發(fā)送緩沖器N全部數(shù)據(jù)發(fā)送完畢Y完畢試驗(yàn)步驟

圖35SPI通信試驗(yàn)的軟件流程在CodeComposerStudio 中建立的工程工程文件,編寫源文件,并添加到工程中;編譯、鏈接,檢查并修正錯(cuò)誤。下載運(yùn)行,觀看結(jié)果,有問(wèn)題重檢查源文件。正常顯示后,試驗(yàn)數(shù)碼管的滅零顯示、小數(shù)點(diǎn)顯示等試驗(yàn)。試驗(yàn)八 存儲(chǔ)器試驗(yàn)試驗(yàn)?zāi)康睦斫釺MS320LF2407A 片內(nèi)各隨機(jī)訪問(wèn)存儲(chǔ)器塊的映射。理解TMS320LF2407A 中I/O空間的映射和使用。把握CCS開(kāi)發(fā)環(huán)境平臺(tái)。試驗(yàn)原理硬件原理試驗(yàn)的硬件原理框圖見(jiàn)圖 22,試驗(yàn)的目的是利用數(shù)碼管顯示結(jié)果來(lái)檢查 B0、B1、B2和外部數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)。軟件流程圖試驗(yàn)步驟

圖36存儲(chǔ)器試驗(yàn)軟件流程假設(shè)你的軟件安裝在 C盤的根名目下,那么試驗(yàn)程序名目應(yīng)當(dāng)是 C:\ti\myprojects\lfmem\〔或者X\ti\myprojects\memorytest\ ,其中X代表CCS的安裝名目〕;CodeComposerStudio 主界面中翻開(kāi)Project 選項(xiàng)選擇New選項(xiàng);在Save New Project 對(duì)話框中,選擇試驗(yàn)程序所在的工作名目。在文件名編輯框中輸入Memorytest 做為工程名稱,建立工程工程文件 Memorytest.pjt ;翻開(kāi)Project 選項(xiàng),選擇Addfiletoproject ,在隨后翻開(kāi)的窗口中選擇memorytest.c并按“翻開(kāi)”按鈕;翻開(kāi)Project 選項(xiàng),選擇Addfiletoproject ,在隨后翻開(kāi)的窗口中轉(zhuǎn)變文件類型為SelectLinkerCommandFile 〔*d〕選擇memorytestd 并按“翻開(kāi)”按鈕;屏幕左側(cè)的窗口是ProjectList+”開(kāi)放ProjectMemorytest.pjtSource項(xiàng),觀看上述文件是否都被包含到工程中;留意:工程掃瞄器,假設(shè)在屏幕上看不到工程掃瞄器,請(qǐng)翻開(kāi)View選項(xiàng),選擇Projects工程。假設(shè)工程掃瞄器已經(jīng)翻開(kāi),但看不到項(xiàng)目文件,在工程掃瞄器窗口下的File標(biāo)簽上單擊。在工程掃瞄器中,雙擊memorytest.c,激活memorytest.c文件,掃瞄該文件的內(nèi)容;并依據(jù)要求把程序補(bǔ)充完整。翻開(kāi)Project 選項(xiàng),選擇Rebuildall 選項(xiàng),CodeComposerStudio 重編譯和鏈接這個(gè)工程工程,整個(gè)的處理過(guò)程在屏幕下方的 Message 窗口中返回信息,當(dāng)轉(zhuǎn)變了設(shè)置后必需重編譯全部的文件;翻開(kāi)File 選項(xiàng),選擇LoadProgram 選項(xiàng),在LoadProgram 對(duì)話框中選中,建名目下的memorytest.out 文件,此時(shí),Code Composer Studio 將把這個(gè)目標(biāo)文件裝載到LF2407 試驗(yàn)箱系統(tǒng)中。同時(shí),Code Composer Studio 翻開(kāi)反匯編窗口顯示被加載程序的匯編指令碼;10〕翻開(kāi)Debug選項(xiàng),選擇Run選項(xiàng)或按F5 運(yùn)行程序,觀看指示燈閃耀狀況;11〕翻開(kāi)Debug選項(xiàng),選擇Halt選項(xiàng)或按Shift-F5,終止實(shí)驗(yàn)結(jié)果。試驗(yàn)結(jié)果試驗(yàn)的最終現(xiàn)象:可以看到數(shù)碼管依次挨次顯示為 1111,或者為EEEE。請(qǐng)解釋所看到的結(jié)果。試驗(yàn)九 AD模數(shù)轉(zhuǎn)換試驗(yàn)試驗(yàn)?zāi)康?把握TMS320LF2407A中ADC轉(zhuǎn)換模塊的功能與使用 把握TMS320LF2407A中定時(shí)器模塊的功能與使用 把握TMS320LF2407A的中斷使用與中斷子程序的編寫試驗(yàn)內(nèi)容ADC的初始化和采樣排序器的使用定時(shí)器的初始化與使用AD采樣中斷子程序的編寫與調(diào)試TMS320LF2407A ADC轉(zhuǎn)換模塊的介紹TMS320LF2407A具有內(nèi)置采樣和保持器〔S/H〕的10ADC,具有最短達(dá)375ns的轉(zhuǎn)換時(shí)間〔S/H+轉(zhuǎn)換〕;一共具有16個(gè)模擬輸入通道〔ADCIN0~ACDIN15。AD的轉(zhuǎn)換可以承受多個(gè)觸發(fā)源可以啟動(dòng)轉(zhuǎn)換〔SOC,包括:軟件馬上啟動(dòng)〔用SEQn位;大事治理器A〔在EVA中有多個(gè)大事源可以啟動(dòng)轉(zhuǎn)換〕或者大事治理器B〔在EVB中有多個(gè)大事源可以啟動(dòng)轉(zhuǎn)換〕,也可以使用外部ADCSOC引腳啟動(dòng)。芯片具有輸入通道的自動(dòng)排序力量,一次最多可執(zhí)行 16個(gè)通道的“自動(dòng)轉(zhuǎn)換”,而每次要轉(zhuǎn)換的通道可以通過(guò)編程來(lái)選擇。排序器 可工作在啟動(dòng)/停頓模式,允很多個(gè)按時(shí)間排序的觸發(fā)源同步轉(zhuǎn)換轉(zhuǎn)換結(jié)果存儲(chǔ)在可單獨(dú)訪問(wèn)的16 個(gè)結(jié)果存放器用來(lái)存放轉(zhuǎn)換結(jié)果〔RESULT0~RESULT15。采樣保持時(shí)間可以獨(dú)立設(shè)置,用于適應(yīng)不同內(nèi)阻的信號(hào)源。ADC的具體介紹和使用請(qǐng)參閱芯片的使用手冊(cè)試驗(yàn)箱硬件連接介紹本試驗(yàn)系統(tǒng)中將全部的 16個(gè)2407A的AD輸入口擴(kuò)展,其中AD0~AD3設(shè)置為四個(gè)專用功能,分別是:AD0通道:電位器給定輸入。接入的是一個(gè)電位器的活動(dòng)抽頭,電位器一段接 3.3V,另外一端接地,調(diào)整電位器可以產(chǎn)生 AD轉(zhuǎn)換全量程的電壓值。AD1和AD2通道:該兩個(gè)通道是用來(lái)測(cè)量溝通信號(hào)〔比方音頻信號(hào)〕的輸入。由于2407A 自帶的AD轉(zhuǎn)換器是單極性的,即輸入電壓只能為 0~3.3V。因此對(duì)于采樣溝通信號(hào),首先需要將該電壓值的中點(diǎn)〔 0電平點(diǎn)〕提升至AD輸入量程的中點(diǎn),然后 AD才能夠進(jìn)展采樣。同時(shí)考慮到電源電壓波動(dòng)和電阻值的離散性,提升的中點(diǎn)電壓值可能會(huì)有波動(dòng),因此還需要通過(guò)采樣 AD1通道的中點(diǎn)電壓值。AD3通道是用于電機(jī)掌握的電流量的采樣。具體電路連接如圖 37。3.3V以上接到AD輸入引腳,否則將燒毀芯片!圖37 AD電位器給定輸入電路硬件原理3.3VAC23

20k

R39 AD110uFJ6 R372 20k1

+ 1003

102U12A

100

AD23C80102

Q22BAT54SJ5ACSIGNALC22 1 1 221 10U

R18 2 3.3V10KAUDIOIN

4R21

LM358試驗(yàn)步驟和程序說(shuō)明

10K37AD采樣電路硬件原理圖根本流程AD采樣由定時(shí)器1來(lái)軟件觸發(fā),定時(shí)器周期設(shè)為 0.1ms。故每0.1ms 采樣一次,在AD中斷效勞程序中,把采樣結(jié)果保存到內(nèi)存中去。開(kāi)頭DSP開(kāi)頭DSP初始化定時(shí)器1初始化ADC模塊初始化開(kāi)啟定時(shí)器1空語(yǔ)句中斷效勞程序入口保存AD 采樣結(jié)果去除AD 中斷標(biāo)志開(kāi)總中斷中斷返回圖38 AD采樣軟件流程圖試驗(yàn)步驟翻開(kāi)AD名目下的工程〔或者建工程,文件包含步驟同上不再重復(fù)〕 ,編譯連接并下載程序到目標(biāo)系統(tǒng)中,運(yùn)行程序。根本試驗(yàn)步驟與前幾個(gè)例子都是根本上一樣的。我們可以用信號(hào)發(fā)生器產(chǎn)生幅度為 0-3V,頻率為1000HZ的正弦波作為A/D的輸入;我們還可以使用電位器給定作為 A/D的輸入。試驗(yàn)結(jié)果運(yùn)行程序一會(huì)之后,把程序停頓〔 halt。翻開(kāi)View選項(xiàng),用CCS自帶的圖形繪制窗口“Graph Property Dialog”繪制曲線,設(shè)置的參數(shù)如圖39所示。需要說(shuō)明的是,AD試驗(yàn)中共對(duì)2個(gè)通道進(jìn)展采樣,即AD0通道和AD2通道,采樣的結(jié)果保存在結(jié)果存放器中。當(dāng)需要通過(guò)繪制圖表來(lái)查看采樣結(jié)果時(shí),圖標(biāo)中的起始地址為各結(jié)果存放器的地址。AD0通道:直流電壓采樣,設(shè)置如下:圖39-1 采樣AD0通道的設(shè)置AD2通道:對(duì)信號(hào)發(fā)生器產(chǎn)生的正弦波采樣,設(shè)置如下:圖40-2 采樣AD2通道的設(shè)置A/D的采樣結(jié)果如圖 41所示。圖41圖形窗口中顯示的A/D采樣結(jié)果接線說(shuō)明:當(dāng)需要外部輸入模擬量時(shí),在輸入信號(hào)為單極性信號(hào)時(shí),請(qǐng)務(wù)必確保輸入電壓在〔0~3.3V。溝通信號(hào)請(qǐng)確保信號(hào)的幅度在0~3.3Vp-p。當(dāng)需要測(cè)量電流值時(shí),需要在輸入端參加一個(gè)取樣電阻,請(qǐng)確保改取樣電阻連接牢靠下輸入信號(hào),并且確保輸入電流在取樣電阻上的電壓值在 0~3.3V。試驗(yàn)十 PWM產(chǎn)生試驗(yàn)試驗(yàn)?zāi)康陌盐誘MS320LF2407A 中大事治理器模塊的 PWM功能與使用把握TMS320LF2407A 中PWM模塊的功能與使用試驗(yàn)內(nèi)容大事治理器的初始化和采樣排序器的使用定時(shí)器的初始化與使用PWM比較輸出單元的設(shè)置與調(diào)試PWM單元作為DA轉(zhuǎn)換SPWM調(diào)制生產(chǎn)正弦波TMS320LF2407A 中大事治理器模塊的介紹2407A芯片中的大事治理器〔EV〕模塊供給了強(qiáng)大的功能和性能,其中的 PWM功能尤其適合在運(yùn)動(dòng)掌握和電動(dòng)機(jī)掌握中。要使用 PWM功能需要使用到以下單元:兩個(gè)通用〔GP〕定時(shí)器比較單元脈寬調(diào)制〔PWM〕電路和輸出電路。脈寬調(diào)制〔PWM〕電路包括了空間矢量 PWM電路,死區(qū)產(chǎn)生單元。中斷規(guī)律利用PWM單元不僅可以發(fā)出所需要的不同頻率和占空比的波形,還可以通過(guò)參加外部電路來(lái)使用PWM單元來(lái)實(shí)現(xiàn)DA數(shù)模轉(zhuǎn)換功能和正弦波的發(fā)生。試驗(yàn)箱硬件介紹PWM〔PulseWidthModulate 〕即脈寬調(diào)制功能是大事治理器自帶的功能,通過(guò)設(shè)置內(nèi)部的存放器可以產(chǎn)生不同頻率、占空比的 PWM信號(hào)。當(dāng)用于電機(jī)掌握時(shí),還可以生成 H橋一臂中的上下互補(bǔ)的、帶死區(qū)時(shí)間的 PWM波形。生成的PWM波形還可以設(shè)定為對(duì)稱和不對(duì)稱兩種波形,前者有利于削減波形中高次諧波的重量。試驗(yàn)箱上引出了兩個(gè)定時(shí)器 PWM比較輸出,并且通過(guò)撥碼開(kāi)關(guān)的選擇來(lái)掌握觀看不同載波頻率下的的 PWM 波形,還可以觀看未經(jīng)濾波的原始PWM 波信號(hào)和經(jīng)過(guò)〔500Hz和1KHz帶寬〕兩個(gè)不同帶寬的低通濾波器后的波形。 PWM方波經(jīng)過(guò)濾波電路后可以用來(lái)模擬DA輸出直流信號(hào)或者低頻正弦波信號(hào)的效果 。試驗(yàn)步驟和程序介紹軟件流程圖圖42時(shí)間治理器A的功能構(gòu)造圖開(kāi)頭開(kāi)頭DSP初始化配置PWM存放器空轉(zhuǎn)圖43PWM 試驗(yàn)軟件流程圖圖44PWM輸出濾波電路試驗(yàn)步驟:〔1〕PWM發(fā)生試驗(yàn)PWM試驗(yàn)是產(chǎn)生1個(gè)矩形波的模擬信號(hào)在 PWM1上,通過(guò)測(cè)量PWM1管腳可監(jiān)測(cè)到矩形波的產(chǎn)生。1)如果你的軟件安裝在 C 盤的根目錄下,那么實(shí)驗(yàn)程序目錄應(yīng)該是C:\ti\myprojects\PWM 〔或者X\ti\myprojects\PWM\ ,其中X代表CCS的安裝名目〕;CodeComposerStudio 主界面中翻開(kāi)Project 選項(xiàng)選擇New 選項(xiàng);在Save New Project 對(duì)話框中,選擇試驗(yàn)程序所在的工作名目。在文件名編輯框中輸入test1 做為工程名稱,建立工程工程文件 test1.pjt;翻開(kāi)“Project”選項(xiàng),選擇“Addfiletoproject ,在隨后翻開(kāi)的窗口中轉(zhuǎn)變“文類型”為〔*c*,*.a*〕選擇全部c語(yǔ)言和匯編語(yǔ)言文件,并按“翻開(kāi)”按鈕;翻開(kāi)“Project”選項(xiàng),選擇“Addfiletoproject ,在隨后翻開(kāi)的窗口中轉(zhuǎn)變“文類型”為SelectLinkerCommandFile 〔*d〕選擇test1d 并按“翻開(kāi)”按鈕;屏幕左側(cè)的窗口是 Project List,單擊列表項(xiàng)旁的“+”開(kāi)放Project、test1.pjt 和Source項(xiàng),觀看上述文件是否都被包

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論