




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 DSP原理與應(yīng)用課件第1章 緒論第2章 TMS320C54x硬件系統(tǒng) 第3章 TMS320C54x指令系統(tǒng) 第4章 TMS320C54x的軟件開發(fā) 第5章 CCS集成開發(fā)軟件 第6章 TMS320C54x片內(nèi)外設(shè) 走信息路 讀北郵書本書的封面第1章 緒論第2章 TMS320C54x硬件系統(tǒng) 第3章 TMS320C54x指令系統(tǒng) 第4章 TMS320C54x的軟件開發(fā) 第5章 CCS集成開發(fā)軟件 第6章 TMS320C54x片內(nèi)外設(shè) 走信息路 讀北郵書 1.1 數(shù)字信號(hào)處理概述 1.2 可編程DSP芯片 1.3 DSP芯片的發(fā)展及應(yīng)用 DSP原理及應(yīng)用課件第1章 緒論第2章 TMS320C54
2、x硬件系統(tǒng) 第3章 TMS320C54x指令系統(tǒng) 第4章 TMS320C54x的軟件開發(fā) 第5章 CCS集成開發(fā)軟件 第6章 TMS320C54x片內(nèi)外設(shè) DSP原理及應(yīng)用課件走信息路 讀北郵書 2.1 TMS320C54x硬件結(jié)構(gòu)特性 2.2 總線結(jié)構(gòu) 2.3 中央處理單元2.4 存儲(chǔ)器和I/O空間 2.5 硬件復(fù)位操作 2.6 TMS320VC5402引腳及說(shuō)明 第1章 緒論第2章 TMS320C54x硬件系統(tǒng) 第3章 TMS320C54x指令系統(tǒng) 第4章 TMS320C54x的軟件開發(fā) 第5章 CCS集成開發(fā)軟件 第6章 TMS320C54x片內(nèi)外設(shè) 3.1 尋址方式 3.2 指令系統(tǒng)
3、走信息路 讀北郵書 DSP原理及應(yīng)用課件第1章 緒論第2章 TMS320C54x硬件系統(tǒng) 第3章 TMS320C54x指令系統(tǒng) 第4章 TMS320C54x的軟件開發(fā) 第5章 CCS集成開發(fā)軟件 第6章 TMS320C54x片內(nèi)外設(shè) 4.1 TMS320C54x軟件開發(fā)過(guò)程 4.2 匯編語(yǔ)言程序的編寫方法 4.3 匯編語(yǔ)言程序設(shè)計(jì)實(shí)例 4.4 軟件編程時(shí)需注意的幾個(gè)問(wèn)題 走信息路 讀北郵書 DSP原理及應(yīng)用課件第1章 緒論第2章 TMS320C54x硬件系統(tǒng) 第3章 TMS320C54x指令系統(tǒng) 第4章 TMS320C54x的軟件開發(fā) 第5章 CCS集成開發(fā)軟件 第6章 TMS320C54x片
4、內(nèi)外設(shè) 6.1 中斷系統(tǒng) 6.2 定時(shí)器 6.3 時(shí)鐘發(fā)生器 6.4 軟件可編程等待狀態(tài)發(fā)生器 6.5可編程分區(qū)切換邏輯 走信息路 讀北郵書6.6通用I/O引腳 6.7主機(jī)接口6.8串行口 DSP原理及應(yīng)用課件可編程DSP芯片 DSP產(chǎn)品簡(jiǎn)介1.2.1 DSP芯片的特點(diǎn) 1.2.2 與CPU、MCU、FPGA/CPLD的比較 Digital Processing of Continuous-Time SignalsDigital processing of a continuous-time signal involves the following basic steps:A
5、nti-aliasing filterprevents aliasing before the S/H circuitSample-and-Hold(S/H)circuit samples the analog signal and holds the sampled value for sufficient time for accurate conversion by the A/D converter.Analog-to-Digital (A/D) converter converts each sampled value into one of a finite number of d
6、iscrete valueDSP system processes the discrete-time signal Digital-to-Analog (D/A) converter converts the processed discrete sequence into a continuous-time signalReconstruction filtereliminates any components outside the baseband.A/D ConversionNyquestsampling theorem DSP芯片的特點(diǎn)1.2.1 采用哈佛結(jié)構(gòu) 多總線結(jié)構(gòu)流水線結(jié)構(gòu)
7、 專用的硬件乘法器特殊的DSP指令 指令周期短 硬件配置強(qiáng) 多處理器結(jié)構(gòu)DSP芯片的特點(diǎn)DSP產(chǎn)品簡(jiǎn)介1.2.3在生產(chǎn)通用DSP的廠家中,最有影響的有:AD公司、AT&T公司(現(xiàn)在的Lucent公司)、TI公司(美國(guó)德州儀器公司)和NEC公司。 DSP產(chǎn)品簡(jiǎn)介DSP芯片的發(fā)展及應(yīng)用 DSP芯片的應(yīng)用1.3.1 DSP芯片的發(fā)展 DSP芯片的應(yīng)用1.2.1 (1)通用數(shù)字信號(hào)處理:如數(shù)字濾波、快速傅立葉變換、卷積、相關(guān)運(yùn)算、波形產(chǎn)生等。(2)通信:如高速調(diào)制解調(diào)器、數(shù)據(jù)加密、數(shù)據(jù)壓縮、糾錯(cuò)編碼、可視電話等。(3)語(yǔ)音處理:如語(yǔ)音識(shí)別、合成、矢量編碼、語(yǔ)音信箱等。(4)圖形/圖像
8、處理:如三維圖像變換、模式識(shí)別、圖像增強(qiáng)、動(dòng)畫、電子地圖等。(5)自動(dòng)控制:如機(jī)器人控制、自動(dòng)駕駛、發(fā)動(dòng)機(jī)控制、磁盤控制等。DSP芯片的應(yīng)用TMS320C54x的硬件結(jié)構(gòu)特性 TMS320C54X的主要特性2.1.1 TMS320C54X的硬件結(jié)構(gòu)TMS320C54x的硬件結(jié)構(gòu)2.1.1硬件結(jié)構(gòu)TMS320C54x是目前應(yīng)用較為廣泛的16bit定點(diǎn)DSP,適應(yīng)遠(yuǎn)程通信等實(shí)時(shí)嵌入式應(yīng)用的需要。它具有高度的操作靈活性和運(yùn)行速度,使用改進(jìn)的哈佛結(jié)構(gòu)(一組程序存儲(chǔ)器總線、3組數(shù)據(jù)存儲(chǔ)器總線、4組地址總線),具有專用硬件邏輯的CPU、片內(nèi)存儲(chǔ)器、片內(nèi)外圍設(shè)備以及一個(gè)高度專業(yè)化的指令集。使
9、C54xx具有功耗小、高度并行等優(yōu)點(diǎn),可以滿足電信等眾多領(lǐng)域?qū)崟r(shí)處理的要求。 TMS320C54x的主要特性CPU1存儲(chǔ)器22.1.2片內(nèi)外設(shè)3指令系統(tǒng)4CPU2.1.2(1) 先進(jìn)的多總線結(jié)構(gòu)(1條程序總線、3條數(shù)據(jù)總線和4條地址總線)。(2) 40位算術(shù)邏輯運(yùn)算單元(ALU)。包括1個(gè)40位桶形移位寄存器和2個(gè)獨(dú)立的40位累加器。(3) 1717位并行乘法器,與40位專用加法器相連, 用于非流水線式單周期乘法/累加(MAC)運(yùn)算。(4) 比較、選擇、存儲(chǔ)單元(CSSU),用于加法/比較選擇。(5) 指數(shù)編碼器,可以在單個(gè)周期內(nèi)計(jì)算40位累加器中數(shù)值的指數(shù)。(6) 雙地址生成器,包括8個(gè)輔助
10、寄存器和2個(gè)輔助寄存器算術(shù)運(yùn)算單元(ARAU) CPU存儲(chǔ)器2.1.2(1) 具有192 K字(16bit)可尋址存儲(chǔ)空間:(2) 片內(nèi)雙尋址 RAM(DARAM) 但一般情況下,DARAM總是映射到數(shù)據(jù)空間,用于存放數(shù)據(jù) (3) 片內(nèi)單尋址RAM(SARAM):SARAM也可分成若干塊,但在一個(gè)機(jī)器周期內(nèi)只能讀一次或?qū)懸淮巍?ARAU) 存儲(chǔ)器指令系統(tǒng)2.1.2在DSP的指令系統(tǒng)中,設(shè)計(jì)了一些特殊的DSP指令,主要有:(1)單指令重復(fù)和塊指令重復(fù)操作。(2)用于程序和數(shù)據(jù)管理的塊存儲(chǔ)器傳送指令。(3)32位長(zhǎng)操作數(shù)指令。(4)同時(shí)讀入2或3個(gè)操作數(shù)的指令。(5)可以并行存儲(chǔ)和并行加載的算術(shù)指
11、令。(6)條件存儲(chǔ)指令。(7)從中斷快速返回的指令。指令系統(tǒng)總線結(jié)構(gòu)2.2TMS320C54x DSP的總線結(jié)構(gòu)是圍繞8條16位的總線建立的,即一條程序總線、三條數(shù)據(jù)總線和4條地址總線。1一條程序總線(PB):傳送取自程序存儲(chǔ)器的指令代碼和立即操作數(shù)。2三條數(shù)據(jù)總線(CB、DB和EB):將內(nèi)部各單元(如CPU、數(shù)據(jù)地址生成電路、程序地址生成電路、在片外圍電路以及數(shù)據(jù)存儲(chǔ)器)連接在一起。其中,CB和DB總線傳送從數(shù)據(jù)存儲(chǔ)器讀出的操作數(shù),EB總線傳送寫到存儲(chǔ)器中的數(shù)據(jù)。3四條地址總線(PAD,CAB,DAB和EAB):傳送執(zhí)行指令所需要的地址。 總線結(jié)構(gòu)累加器A和B2.3.1CPU有兩個(gè)40位累加
12、器A和B,用來(lái)存放參加運(yùn)算的數(shù)據(jù)或存放ALU運(yùn)算的結(jié)果。累加器A和BCPU狀態(tài)和控制寄存器 2.3.2TMS320C54x有三個(gè)狀態(tài)和控制寄存器,分別為狀態(tài)寄存器ST0、狀態(tài)寄存器ST1和處理器方式狀態(tài)寄存器PMST。ST0和ST1包括各種工作條件和工作方式的狀態(tài),PMST包括存儲(chǔ)器配置狀態(tài)和控制信息。 CPU狀態(tài)和控制寄存器 狀態(tài)寄存器ST01513121110980ARPTCCOVAOVBDP狀態(tài)寄存器ST0位結(jié)構(gòu)狀態(tài)寄存器ST11514131211109876540BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM狀態(tài)寄存器ST1的位結(jié)構(gòu)處理器方式狀態(tài)寄存器PMST
13、1576543210IPTRMP/MCOVLYAVISDROMCLKOFFtSMULtSSTt圖2-11 處理器方式狀態(tài)寄存器PMST的位結(jié)構(gòu)存儲(chǔ)器和I/O空間程序存儲(chǔ)器 2.4.1 存儲(chǔ)器空間的分配 2.4.4 I/O存儲(chǔ)器2.4.3 數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器空間的分配2.4.1所有TMS320C54x芯片都包括隨機(jī)訪問(wèn)存儲(chǔ)器RAM和只讀存儲(chǔ)器ROM。RAM可分為兩種:雙訪問(wèn)RAM(DARAM)和單訪問(wèn)RAM(SARAM)。片內(nèi)DARAM分成若干塊,每一個(gè)塊可以在一個(gè)機(jī)器周期內(nèi)讀兩次或讀一次寫一次,SARAM也分成若干塊,在一個(gè)機(jī)器周期內(nèi)只能讀一次或?qū)懸淮?。C54x所有內(nèi)部和外部程序
14、存儲(chǔ)器及內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器分別統(tǒng)一編址。內(nèi)部RAM總是映射到數(shù)據(jù)存儲(chǔ)空間,但也可映射到程序存儲(chǔ)空間。 存儲(chǔ)器空間的分配TMS320VC5402存儲(chǔ)器分配圖 TMS320VC5402存儲(chǔ)器分配圖 TMS320VC5402存儲(chǔ)器分配圖程序存儲(chǔ)器2.4.2程序存儲(chǔ)空間用來(lái)存放要執(zhí)行的指令和執(zhí)行中所需的系數(shù)表。C5402共有20條地址線,可尋址l兆字的外部程序存儲(chǔ)器。它的內(nèi)部ROM和DARAM可通過(guò)軟件映射到程序空間。當(dāng)存儲(chǔ)單元映射到程序空間時(shí),CPU可自動(dòng)地按程序存儲(chǔ)器對(duì)它們進(jìn)行尋址。如果程序地址生成器(PAGEN)產(chǎn)生的地址處于外部存儲(chǔ)器,CPU可自動(dòng)地對(duì)外部存儲(chǔ)器尋址。 程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器2
15、.4.3C54x的數(shù)據(jù)存儲(chǔ)器空間為64K字??梢酝ㄟ^(guò)設(shè)置寄存器PMST中的DROM位,將片內(nèi)ROM配置在數(shù)據(jù)存儲(chǔ)器空間,這樣可以用指令將片內(nèi)ROM作為數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)ROM來(lái)讀取。 數(shù)據(jù)存儲(chǔ)器I/O存儲(chǔ)器2.4.4C54x除了程序和數(shù)據(jù)存儲(chǔ)器空間外,還有一個(gè)I/O存儲(chǔ)器空間。它是一個(gè)64K字的地址空間(0000HFFFFH),都在片外??梢杂脙蓷l指令(輸入指令PORTR和輸出指令PORTW)對(duì)I/O空間尋址。 I/O存儲(chǔ)器硬件復(fù)位操作2.5復(fù)位(RS)是一個(gè)不可屏蔽的外部中斷,復(fù)位后VC5402將進(jìn)入一個(gè)已知狀態(tài)。正常操作是上電后RS應(yīng)至少保持5個(gè)時(shí)鐘周期的低電平,以確保數(shù)據(jù)、地址和控制線的
16、正確配置。復(fù)位后( RS變高電平),處理器從FF80H處取指,并開始執(zhí)行程序。硬件復(fù)位操作TMS320VC5402引腳及說(shuō)明 2.5TMS320VC5402引腳圖TMS320VC5402引腳及說(shuō)明 TMS320VC5402引腳圖 TMS320VC5402引腳圖尋址方式 絕對(duì)尋址 3.1.1 立即數(shù)尋址3.1.4 直接尋址3.1.3 累加器尋址3.1.5 間接尋址3.1.6 存儲(chǔ)器映像寄存器尋址3.1.7 堆棧尋址立即數(shù)尋址 2.1.2立即數(shù)尋址,即需要尋找的數(shù)就在指令里,不需要到存儲(chǔ)器中去找。一條指令中可對(duì)兩種立即數(shù)編碼,一種是短立即數(shù)(3、5、8或9位),另一種是16位的長(zhǎng)立
17、即數(shù)。短立即數(shù)指令編碼為一個(gè)字長(zhǎng),16位立即數(shù)的指令編碼為兩個(gè)字長(zhǎng)。立即數(shù)尋址指令中在數(shù)字或符號(hào)前加一個(gè)“#”號(hào),來(lái)表示立即數(shù) 立即數(shù)尋址絕對(duì)尋址 3.1.2絕對(duì)尋址有四種類型:(1)數(shù)據(jù)存儲(chǔ)器地址(dmad)尋址;(2)程序存儲(chǔ)器地址(pmad)尋址;(3)端口地址(PA)尋址;(4)*(lk)尋址(適用與支持單數(shù)據(jù)存儲(chǔ)器操作數(shù)的指令)。絕對(duì)尋址的代碼為16位,所以包含有絕對(duì)尋址的指令至少有兩個(gè)字長(zhǎng)。 絕對(duì)尋址數(shù)據(jù)存儲(chǔ)器地址尋址3.1.2數(shù)據(jù)存儲(chǔ)器地址(dmad)尋址是用程序標(biāo)號(hào)或一個(gè)表示16位地址的數(shù)據(jù)來(lái)確定指令所需要的數(shù)據(jù)空間的地址。 數(shù)據(jù)存儲(chǔ)器地址程序存儲(chǔ)器地址尋址3.1.2程序存儲(chǔ)器
18、地址(pmad)尋址是用一個(gè)符號(hào)或一個(gè)具體的數(shù)來(lái)確定程序存儲(chǔ)器中的一個(gè)地址。 程序存儲(chǔ)器尋址端口尋址3.1.2端口(PA)尋址使用一個(gè)符號(hào)或一個(gè)常數(shù)來(lái)確定外部I/O口地址 端口尋址*(lk)尋址 3.1.2長(zhǎng)立即數(shù)*(lk)尋址是用一個(gè)符號(hào)或一個(gè)常數(shù)來(lái)確定數(shù)據(jù)存儲(chǔ)器中的一個(gè)地址。 *(lk)尋址 累加器尋址 3.1.3累加器尋址是用累加器中的數(shù)作為一個(gè)地址。這種尋址方式可用來(lái)對(duì)存放數(shù)據(jù)的程序存儲(chǔ)器尋址。只有兩條指令PEADA和WRITA可以采用累加器尋址。 累加器尋址直接尋址 3.1.4直接尋址是一種常用的尋址方式,直接尋址是指在指令中包含有數(shù)據(jù)存儲(chǔ)器地址的低7位。這7位作為偏移地址,與基地址
19、(數(shù)據(jù)頁(yè)指針DP或堆棧指針SP)一同構(gòu)成16位數(shù)據(jù)存儲(chǔ)器地址。利用這種尋址方式,可以在不改變數(shù)據(jù)頁(yè)指針DP或堆棧指針SP內(nèi)容的情況下,隨機(jī)地尋址128個(gè)存儲(chǔ)單元中的任何一個(gè)單元。直接尋址的優(yōu)點(diǎn)是每條指令只需要一個(gè)字。 直接尋址間接尋址 3.1.5DSP控制器內(nèi)含8個(gè)輔助寄存器(AR0AR7)和輔助寄存器算術(shù)單元(ARAU),專用于間接尋址的操作,不但提供了靈活而強(qiáng)大的間接尋址能力。而且使得間接尋址的速度非???。間接尋址有四種類型:(1)單操作數(shù)間接尋址; (2)雙操作數(shù)間接尋址;間接尋址單操作數(shù)間接尋址3.1.5單操作數(shù)間接尋址形式間接尋址可以完成增量、減量、變址、循環(huán)等常規(guī)尋址要求外,還可以
20、完成數(shù)字信號(hào)處理算法常用的尋址功能 單操作數(shù)間接尋址單操作數(shù)間接尋址形式單操作數(shù)間接尋址形式雙操作數(shù)間接尋址3.1.5雙數(shù)據(jù)存儲(chǔ)器操作數(shù)間接尋址類型為*ARx、*ARx-、*ARx+、*ARx+0%。所用輔助寄存器只能是AR2、AR3、AR4、AR5。其特點(diǎn)是:占用程序空間小,運(yùn)行速度快,在一個(gè)機(jī)器周期內(nèi)通過(guò)兩個(gè)16位數(shù)據(jù)總線(C和D)讀兩個(gè)操作數(shù)。指令中Xmem表示從DB總線上讀出的16位操作數(shù),Ymem表示從CB總線上讀出的16位操作數(shù)。 雙操作數(shù)間接尋址存儲(chǔ)器映像寄存器尋址 3.1.6存儲(chǔ)器映像寄存器尋址主要用于不改變DP、SP的情況下,修改MMR中的內(nèi)容。因此,這種尋址方式對(duì)MMR執(zhí)行
21、寫操作開銷小。存儲(chǔ)器映像寄存器MMR尋址有兩種方法。(1)采用直接尋址方式,高9位數(shù)據(jù)存儲(chǔ)器地址置0(無(wú)論SP、DP為何值),利用指令中的低7位地址直接訪問(wèn)MMR,相當(dāng)于基地址為0的直接尋址方式。(2)采用間接尋址方式,高9位數(shù)據(jù)存儲(chǔ)器地址置0(無(wú)論SP、DP為何值),按照當(dāng)前輔助寄存器的低7位地址訪問(wèn)MMR。此種方式訪問(wèn)MMR,尋址操作完成后,輔助寄存器的高9位被強(qiáng)迫置成0。 存儲(chǔ)器映像寄存器尋址 堆棧尋址 3.1.7堆棧在調(diào)用子程序或者中斷時(shí)能夠自動(dòng)保存程序計(jì)數(shù)器PC值,它也可以用來(lái)保存當(dāng)前的環(huán)境或要傳遞的數(shù)據(jù)。堆棧存放數(shù)據(jù)是從高端地址向低端地址進(jìn)行的。DSP用一個(gè)16位的堆棧指針SP來(lái)對(duì)
22、堆棧尋址,SP總是指向堆棧中最后存入的數(shù)據(jù)單元。下而4條語(yǔ)句采用了堆棧尋址的方式來(lái)訪問(wèn)堆棧: PSHD:將一個(gè)數(shù)據(jù)存儲(chǔ)器的值壓入堆棧 PSHM:將一個(gè)存儲(chǔ)器映射寄存器的值壓入堆棧 POPD:將一個(gè)數(shù)據(jù)存儲(chǔ)器的值彈出堆棧 POPM:將個(gè)存儲(chǔ)器映射寄存器的值彈出堆棧 堆棧尋址 指令系統(tǒng) 算術(shù)運(yùn)算指令 3.2.1 數(shù)據(jù)傳送指令3.1.4 程序控制指令3.1.3邏輯運(yùn)算指令 數(shù)據(jù)傳送指令3.2.1數(shù)據(jù)傳送指令是把源操作數(shù)從源存儲(chǔ)器中送到目的操作數(shù)制定的存儲(chǔ)器中。包括裝載指令、存儲(chǔ)指令、條件存儲(chǔ)指令、并行裝載和存儲(chǔ)指令、并行裝載和乘法指令、并行存儲(chǔ)和加/減指令、并行存儲(chǔ)和乘法指令、混合裝
23、載和存儲(chǔ)指令 數(shù)據(jù)傳送指令裝載指令3.2.1裝載指令是取數(shù)或賦值指令,將存儲(chǔ)器內(nèi)容或立即數(shù)賦值給目的寄存器。裝載指令共有21條。裝載指令裝載指令表裝載指令表 裝載指令存儲(chǔ)指令3.2.1存儲(chǔ)指令是將源操作數(shù)或立即數(shù)存入存儲(chǔ)器或寄存器。共有18條。 存儲(chǔ)指令存儲(chǔ)指令表存儲(chǔ)指令表 存儲(chǔ)指令并行裝載和存儲(chǔ)指令3.2.1并行裝載和存儲(chǔ)指令共有2條并行裝載和存儲(chǔ)指令并行裝載和存儲(chǔ)指令指令表并行裝載和存儲(chǔ)指令表 并行裝載和存儲(chǔ)指令并行裝載和乘法指令3.2.1并行裝載和乘法指令共有4條 并行裝載和乘法指令并行裝載和乘法指令指令表并行裝載和乘法指令表 并行裝載和乘法指令并行存儲(chǔ)和加減指令3.2.1并行存儲(chǔ)和加減
24、指令共有2條 并行存儲(chǔ)和加減指令并行存儲(chǔ)和加減指令表并行存儲(chǔ)和加減指令表 并行存儲(chǔ)和加減指令并行存儲(chǔ)和乘法指令3.2.1并行存儲(chǔ)和乘法指令共有5條 并行存儲(chǔ)和乘法指令并行存儲(chǔ)和乘法指令表并行存儲(chǔ)和乘法指令表 并行存儲(chǔ)和乘法指令算術(shù)運(yùn)算指令3.2.2C54xx的算術(shù)運(yùn)算指令非常豐富,而且運(yùn)算功能強(qiáng)大。包括加法指令、減法指令、乘法指令、乘累加指令、乘累減指令、雙字運(yùn)算指令及特殊應(yīng)用指令 算術(shù)運(yùn)算指令加法指令3.2.2加法指令共有13條 加法指令加法指令表加法指令表 加法指令減法指令3.2.2減法指令共有13條 減法指令減法指令表減法指令表 減法指令乘法指令3.2.2乘法指令共有10條 乘法指令乘法
25、指令表乘法指令表 乘法指令乘加和乘減指令3.2.2乘加和乘減指令共有9條 乘加和乘減指令乘加和乘減表乘加和乘減指令表 乘加和乘減指令雙操作數(shù)指令3.2.2雙操作數(shù)指令共有3條 雙操作數(shù)指令雙操作數(shù)指令表雙操作數(shù)指令表 雙操作數(shù)指令特殊應(yīng)用指令3.2.2特殊應(yīng)用指令共有15條特殊應(yīng)用指令特殊應(yīng)用指令表特殊應(yīng)用指令表 特殊應(yīng)用指令邏輯運(yùn)算指令3.2.3邏輯運(yùn)算指令包括與指令(AND)、或指令(OR)、異或指令(XOR)、移位指令(ROL)和測(cè)試指令(BITF) 邏輯運(yùn)算指令與指令3.2.3與指令共有5條 與指令與指令表與指令表 與指令或指令3.2.3或指令共有5條 或指令或指令表或指令表 或指令異
26、或指令3.2.3異或指令共有5條 異或指令異或指令表異或指令表 異或指令移位指令3.2.3移位指令共有6條 移位指令移位指令表移位指令表 移位指令測(cè)試指令3.2.3測(cè)試指令共有5條 測(cè)試指令測(cè)試指令表測(cè)試指令表 測(cè)試指令程序控制指令3.2.4程序控制指令包括分支指令、調(diào)用指令、中斷指令、返回指令、重復(fù)指令、堆棧操作指令、空閑及空操作指令 程序控制指令分支指令3.2.4分支指令共有6條 分支指令分支指令表分支指令表 分支指令子程序調(diào)用指令3.2.4子程序調(diào)用指令共有5條 子程序調(diào)用指令子程序調(diào)用指令表子程序調(diào)用指令表 子程序調(diào)用指令中斷指令3.2.4中斷指令共有2條 中斷指令中斷指令表中斷指令表
27、 中斷指令返回指令3.2.4返回指令共有6條 返回指令返回指令表返回指令表 返回指令重復(fù)指令3.2.4重復(fù)指令共有5條 重復(fù)指令重復(fù)指令表重復(fù)指令表 重復(fù)指令堆棧操作指令3.2.4堆棧操作指令共有5條 堆棧操作指令堆棧操作指令表堆棧操作指令表 堆棧操作指令TMS320C54x軟件開發(fā)過(guò)程 4.11 建立源程序2C 編譯器(C Compiler) 3匯編器(Assembler)4鏈接器(Linker)5調(diào)試工具6十六進(jìn)制轉(zhuǎn)換公用程序(Hex Conversion Utility)開發(fā)過(guò)程匯編語(yǔ)言程序的編寫方法 鏈接命令文件 4.2.4 堆棧的使用 4.2.3 匯編語(yǔ)言中的常數(shù)和
28、運(yùn)算符 4.2.1 匯編語(yǔ)言源程序格式 匯編語(yǔ)言源程序格式 4.2.1匯編語(yǔ)言源程序以.asm為其擴(kuò)展名,匯編代碼的編寫可以在任何一種文本編輯器中進(jìn)行。匯編語(yǔ)言源程序中可能包含匯編語(yǔ)言指令、匯編偽指令和宏命令等匯編語(yǔ)言要素。 匯編語(yǔ)言源程序格式 指令 4.2.1匯編語(yǔ)言源程序的每一行都可以由4個(gè)部分組成。指令的形式為: 標(biāo)號(hào): 助記符 操作數(shù) ;注釋指令偽指令 4.2.1偽指令不生成最終代碼(即不占據(jù)存儲(chǔ)單元),但對(duì)匯編器、鏈接器有重要指示作用,包括段(Section)定義、條件匯編、文件引用、宏定義等。偽指令常用的匯編偽指令表 偽指令表 偽指令 匯編偽指令 作 用 舉 例 .title緊隨其
29、后的是用雙引號(hào)括起的源程序名.title example.asm .end結(jié)束匯編命令放在匯編語(yǔ)言源程序的最后 .text緊隨其后的是匯編語(yǔ)言源程序正文.text段是源程序正文。經(jīng)匯編后,緊隨.text后的是可執(zhí)行程序代碼.data緊隨其后的是已初始化數(shù)據(jù)有兩種數(shù)據(jù)形式:.int 和.word .int用來(lái)設(shè)置一個(gè)或多個(gè)16位無(wú)符號(hào)整型量常數(shù)table: .word 1,2,3,4.word 8,6,4,2表示在標(biāo)號(hào)為table的程序存儲(chǔ)器開始的8個(gè)單元中存放初始化數(shù)據(jù)1、2、3、4、8、6、4和2,table的值為第一個(gè)字的地址 .word用來(lái)設(shè)置一個(gè)或多個(gè)16位帶符號(hào)整型量常數(shù) .bss為
30、未初始化變量保留存儲(chǔ)空間.bss x,4表示在數(shù)據(jù)存儲(chǔ)器中空出4個(gè)存儲(chǔ)單元存放變量x1、x2、x3和x4,x代表第一個(gè)單元的地址 .sect建立包含代碼和數(shù)據(jù)的自定義段.sect vector定義向量表,緊隨其后的是復(fù)位向量和中斷向量,名為vector .usect為未初始化變量保留存儲(chǔ)空間的自定義段STACK .usect STACK, 10h表示在數(shù)據(jù)存儲(chǔ)器中留出16個(gè)單元作為堆棧區(qū),名為STACK(堆棧地址)鏈接命令文件 4.2.2DSP的鏈接不是僅僅將.obj文件轉(zhuǎn)換為.out文件,在轉(zhuǎn)換的過(guò)程中系統(tǒng)必須要求有一個(gè).cmd文件,也就是鏈接命令文件。.cmd文件在鏈接過(guò)程中將定義DSP的
31、RAM和ROM空間,然后將程序中的各個(gè)段分配到所定義的存儲(chǔ)空間,也就是對(duì)存儲(chǔ)空間起配置作用。這一點(diǎn)和以前的單片機(jī)不同,因?yàn)镈SP內(nèi)部的存儲(chǔ)空間已經(jīng)相當(dāng)大,有必要進(jìn)行人為配置,而單片機(jī)的存儲(chǔ)空間很小,沒有配置的必要。此外DSP為了編程的方便,在程序中引入了各個(gè)段的概念,相應(yīng)地鏈接時(shí)就有必要進(jìn)行各個(gè)段的分配。在鏈接命令文件中使用MEMORY命令和SECTIONS命令來(lái)定義目標(biāo)系統(tǒng)的存儲(chǔ)器配置圖及段的映射。 鏈接命令文件 匯編語(yǔ)言中的常數(shù)和運(yùn)算符 4.2.3DSP匯編程序中常數(shù)和字符串 小數(shù)的表示方法 編語(yǔ)言中的運(yùn)算符 匯編語(yǔ)言中的常數(shù)和運(yùn)算符 DSP匯編程序中常數(shù)和字符串DSP匯編程序中常數(shù)和字符
32、串 小數(shù)的表示方法4.2.3C54xDSP采用2的補(bǔ)碼小數(shù),小數(shù)點(diǎn)的位置始終在最高位后,其最高位(D15)為符號(hào)位,為Q15格式,數(shù)值范圍從-1 +1。一個(gè)16位2的補(bǔ)碼小數(shù)(Q15格式)的每一位的權(quán)值為:MSB LSB-1 1/2 1/4 1/8 2-15小數(shù)的表示方法 編語(yǔ)言中的運(yùn)算符 編語(yǔ)言中的運(yùn)算符堆棧的使用4.2.4堆棧被用于保存中斷程序、調(diào)用子程序的返回地址,也用于保護(hù)和恢復(fù)用戶指定的寄存器和數(shù)據(jù),還可用于程序調(diào)用時(shí)的參數(shù)傳遞。C54x提供一個(gè)16位堆棧指針(SP)尋址的軟件堆棧,在用戶指定的存儲(chǔ)區(qū)開辟一塊存儲(chǔ)區(qū) 作為堆棧存儲(chǔ)器。當(dāng)向堆棧中壓入數(shù)據(jù)時(shí),堆棧從高地址向低地址增長(zhǎng)。堆棧
33、指針是減在前、加在后,即先SP-1再壓入數(shù)據(jù),先彈出數(shù)據(jù)后SP+1。 堆棧的使用 匯編語(yǔ)言程序設(shè)計(jì)實(shí)例 重復(fù)操作 4.3.4 雙操作數(shù)乘法4.3.3 數(shù)據(jù)塊傳送 4.3.1 程序的控制與轉(zhuǎn)移 4.3.5 長(zhǎng)字運(yùn)算和并行運(yùn)算4.3.6 浮點(diǎn)運(yùn)算程序的控制與轉(zhuǎn)移 4.3.1C54x具有豐富的程序控制與轉(zhuǎn)移指令,利用這些指令可以執(zhí)行分支轉(zhuǎn)移、循環(huán)控制以及子程序操作。 C54x的分支轉(zhuǎn)移操作分為:有條件的分支轉(zhuǎn)移和無(wú)條件的分支轉(zhuǎn)移,兩者都可以帶延遲操作(指令助記符帶后綴D)和不帶延遲操作。 程序的控制與轉(zhuǎn)移 條件分支轉(zhuǎn)移 4.3.1條件分支轉(zhuǎn)移操作與無(wú)條件分支轉(zhuǎn)移操作類似,但僅當(dāng)用戶
34、規(guī)定的一個(gè)或多個(gè)條件得到滿足時(shí)才執(zhí)行。如果條件滿足,就用分支轉(zhuǎn)移指令的第2個(gè)字(分支轉(zhuǎn)移地址)加載PC,并從這個(gè)地址繼續(xù)執(zhí)行程序。條件分支轉(zhuǎn)移指令或條件調(diào)用、條件返回指令都用條件來(lái)限制分支轉(zhuǎn)移、調(diào)用和返回操作。指令的條件代碼所對(duì)應(yīng)的條件表?xiàng)l件分支轉(zhuǎn)移指令的條件代碼所對(duì)應(yīng)的條件表 指令的條件代碼所對(duì)應(yīng)的條件 延遲分支轉(zhuǎn)移 4.3.1當(dāng)分支轉(zhuǎn)移指令到達(dá)流水線的執(zhí)行階段時(shí),其后面的兩個(gè)指令字則已經(jīng)被取指了。這兩個(gè)指令字如何處置,則部分地取決于此分支轉(zhuǎn)移指令是帶延遲的還是不帶延遲的。如果是帶延遲分支轉(zhuǎn)移,則緊跟在分支轉(zhuǎn)移指令后面的一條雙字指令或兩條單字指令被執(zhí)行后再進(jìn)行分支轉(zhuǎn)移;如果是不帶延遲轉(zhuǎn)移,就
35、先要將已被讀入的一條雙字指令或兩條單字指令從流水線中清除(沒有被執(zhí)行),然后再進(jìn)行分支轉(zhuǎn)移。因此,合理地設(shè)計(jì)好延遲轉(zhuǎn)移指令,可以提高程序的效率。延遲分支轉(zhuǎn)移循環(huán)操作 4.3.1在程序設(shè)計(jì)時(shí),經(jīng)常需要重復(fù)執(zhí)行某一段程序。利用BANZ(當(dāng)輔助寄存器不為0時(shí)轉(zhuǎn)移)指令執(zhí)行循環(huán)計(jì)數(shù)和操作是十分方便的。循環(huán)操作重復(fù)操作 4.3.2C54x有3條重復(fù)操作指令:RPT(重復(fù)下條指令)、RPTZ(累加器清0并重復(fù)下條指令)以及RPTB(塊重復(fù)指令)。利用這些指令進(jìn)行循環(huán)比用BANZ指令要快得多。 重復(fù)操作重復(fù)執(zhí)行單條指令 4.3.2重復(fù)指令RPT或RPTZ允許重復(fù)執(zhí)行緊隨其后的那一條指令。如果要重復(fù)執(zhí)行n次,
36、則重復(fù)指令中應(yīng)規(guī)定計(jì)數(shù)值為n1,即重復(fù)的次數(shù)是指令操作數(shù)加1,這個(gè)值保存在16位的重復(fù)計(jì)數(shù)寄存器(RC)中,這個(gè)值只能由重復(fù)指令(RPT或RPTZ)加載,而不能編程設(shè)置RC寄存器中的值,一次給定指令重復(fù)執(zhí)行的最大次數(shù)是65536。由于要重復(fù)的指令只需要取指一次,與利用BANZ指令進(jìn)行循環(huán)相比,效率要高得多。特別是對(duì)于那些乘法累加和數(shù)據(jù)傳送的多周期指令(如MAC、MVDK、MVDP和MVPD等指令),在執(zhí)行一次之后就變成了單周期指令,大大提高了運(yùn)行速度。 重復(fù)執(zhí)行單條指令 塊程序重復(fù)操作 4.3.2塊程序重復(fù)操作指令RPTB將重復(fù)操作的范圍擴(kuò)大到任意長(zhǎng)度的循環(huán)回路。由于塊程序重復(fù)指令RPTB的操
37、作數(shù)是循環(huán)回路的結(jié)束地址,而且,其下條指令就是重復(fù)操作的內(nèi)容,因此必須先用STM指令將所規(guī)定的迭代次數(shù)加載到塊重復(fù)計(jì)數(shù)器(BRC)。RPTB指令的特點(diǎn)是:對(duì)任意長(zhǎng)的程序段的循環(huán)開銷為0;其本身是一條2字4周期指令;循環(huán)開始地址(RSA)是RPTB指令的下一行,結(jié)束地址(REA)由RPTB指令的操作數(shù)規(guī)定。塊程序重復(fù)操作 數(shù)據(jù)塊傳送 4.3.3數(shù)據(jù)傳送指令是最常用的一類指令,這些指令傳送速度比加載和存儲(chǔ)指令快,傳送數(shù)據(jù)不需要通過(guò)累加器,可以尋址程序存儲(chǔ)空間,與RPT指令相結(jié)合(一旦啟動(dòng)了流水線,這些指令就成為單周期指令),可以實(shí)現(xiàn)數(shù)據(jù)塊傳送。 數(shù)據(jù)塊傳送雙操作數(shù)乘法 4.3.4雙操作數(shù)MAC型式
38、的指令有4種,MACP指令與眾不同,它規(guī)定了一個(gè)程序存儲(chǔ)器的絕對(duì)地址,而不是Ymem。因此,這條指令就多一個(gè)字(雙字指令),執(zhí)行時(shí)間也長(zhǎng)(需3個(gè)機(jī)器周期)。 雙操作數(shù)乘法長(zhǎng)字運(yùn)算和并行運(yùn)算 4.3.5長(zhǎng)字運(yùn)算并行運(yùn)算長(zhǎng)字運(yùn)算和并行運(yùn)算長(zhǎng)字運(yùn)算4.3.5C54xx可以利用長(zhǎng)操作數(shù)(32位)進(jìn)行長(zhǎng)字運(yùn)算。除DST指令存儲(chǔ)32位數(shù)要用兩個(gè)機(jī)器周期外,其他都是單字單周期指令,在單個(gè)周期內(nèi)同時(shí)利用C總線和D總線得到32位操作數(shù)。長(zhǎng)操作數(shù)指令中有一個(gè)重要問(wèn)題,既高16位操作數(shù)和低16位操作數(shù)在存儲(chǔ)器中的排列問(wèn)題。按指令中給出的地址存取的總是高16位操作數(shù),這樣就有兩種數(shù)據(jù)排列方法。偶地址排列法:指令中給出
39、的地址為偶地址,存儲(chǔ)器中低地址存放高16位操作數(shù)。 長(zhǎng)字運(yùn)算并行運(yùn)算4.3.5并行運(yùn)算,就是同時(shí)利用D總線和E總線。其中,D總線用來(lái)執(zhí)行加載或算術(shù)運(yùn)算,E總線用來(lái)存放先前的結(jié)果。在不引起硬件資源沖突的情況下,C54x允許某些指令并行執(zhí)行(即同時(shí)執(zhí)行),以提高運(yùn)行速度。并行指令有并行加載存儲(chǔ)指令、并行加載乘法指令、并行存儲(chǔ)乘法指令,以及并行存儲(chǔ)加/減法指令,所有并行指令都是單字單周期指令。 并行運(yùn)算浮點(diǎn)運(yùn)算 4.3.6浮點(diǎn)數(shù)的表示方法定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) 浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù) 浮點(diǎn)運(yùn)算浮點(diǎn)數(shù)的表示方法4.3.6浮點(diǎn)數(shù)由尾數(shù)和指數(shù)兩部分組成。浮點(diǎn)數(shù)=尾數(shù)2(指數(shù)) 浮點(diǎn)數(shù)的尾數(shù)和指數(shù)可正可負(fù),均用補(bǔ)碼
40、表示。指數(shù)的范圍從831。浮點(diǎn)數(shù)的表示方法定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)4.3.6指數(shù)值通過(guò)計(jì)算src的冗余符號(hào)位數(shù)并減8得到,冗余符號(hào)位數(shù)等于去掉40位src中除符號(hào)位以外的有效位所需左移的位數(shù)。累加器src中的內(nèi)容不變。指數(shù)的數(shù)值范圍是831。定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) 浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)4.3.6 按指數(shù)值將尾數(shù)右移(指數(shù)為負(fù)時(shí)是左移) 浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)軟件編程時(shí)需注意的幾個(gè)問(wèn)題 4.4系統(tǒng)上電時(shí)要注意的問(wèn)題 流水線沖突 編譯模式的選擇 合理使用存儲(chǔ)器 程序的模塊化、程式化設(shè)計(jì) 引導(dǎo)方式 軟件編程時(shí)需注意的幾個(gè)問(wèn)題 CCS主要功能 5.1源代碼編輯功能 生成(Build)功能 調(diào)試功能 CCS主要功能 C
41、CS的安裝和設(shè)置 CCS系統(tǒng)安裝 5.2.2 CCS系統(tǒng)設(shè)置 CCS系統(tǒng)安裝5.2.1進(jìn)行CCS系統(tǒng)安裝時(shí),將CCS安裝盤放入光驅(qū),運(yùn)行光盤根目錄下的setup.exe,按照安裝向?qū)У奶崾緦CS安裝到硬盤中。安裝完成后,安裝程序?qū)⒆詣?dòng)在計(jì)算機(jī)桌面上創(chuàng)建“CCS”,“Setup CCS”,等快捷圖標(biāo),前一個(gè)是執(zhí)行程序,后一個(gè)是系統(tǒng)設(shè)置程序,在安裝CCS之后、運(yùn)行CCS軟件之前,首先需要運(yùn)行CCS設(shè)置程序,根據(jù)用戶所擁有的軟、硬件資源對(duì)CCS進(jìn)行適當(dāng)?shù)脑O(shè)置。 CCS系統(tǒng)安裝CCS系統(tǒng)設(shè)置安裝硬件仿真驅(qū)動(dòng)程序 1安裝軟件仿真驅(qū)動(dòng)程序 25.2.2安裝硬件仿真驅(qū)動(dòng)程序5.2.2在仿
42、真器連接到PC機(jī)后,要添加相應(yīng)的硬件仿真驅(qū)動(dòng)程序,此時(shí)選擇圖5-1 Code Composer Studio Setup 窗口中的Install a Device Driver項(xiàng),選擇相應(yīng)的驅(qū)動(dòng)程序如“tixds54x.dvr”打開,彈出“Device Driver Properties”窗口,如圖5-3所示,在此窗口里,可以為驅(qū)動(dòng)程序命名。 安裝硬件仿真驅(qū)動(dòng)程序1安裝軟件仿真驅(qū)動(dòng)程序5.2.2在沒有目標(biāo)板的情況下,設(shè)計(jì)者可以使用Simulator(軟件模擬器)模擬DSP程序的運(yùn)行。若安裝Simulator驅(qū)動(dòng)程序,在圖5-1中的Available Board/Simulator Types欄
43、中用鼠標(biāo)將C54XX Simulator (Texas Instruments)拖拽到System Configuration欄中,會(huì)彈出Board Properties對(duì)話框,此對(duì)話框的設(shè)置方法與安裝硬件驅(qū)動(dòng)程序類似,保存設(shè)置后,運(yùn)行CCS即可啟動(dòng)Simulator的運(yùn)行。 安裝軟件仿真驅(qū)動(dòng)程序2CCS的使用 窗口 5.2.2 菜單窗口5.3.1(1) 工程視窗(2) 信息顯示窗口(3) 代碼顯示窗口(4)數(shù)據(jù)顯示窗口 窗口菜單File菜單 1Edit菜單25.3.2View菜單 3Project菜單4Debug菜單5Profile菜單6Option菜單7GEL菜單8Too
44、ls菜單9File菜單 File菜單Edit菜單Edit菜單View菜單View菜單Project菜單 Project菜單 Debug菜單 Debug菜單 Profile菜單 Profile菜單 Option菜單 Option菜單 GEL菜單 GEL菜單 Tools菜單 Tools菜單 用CCS實(shí)現(xiàn)簡(jiǎn)單程序開發(fā) 創(chuàng)建新的工程文件 5.4.2 將文件添加到工程中 5.4.3生成和運(yùn)行工程文件 創(chuàng)建新的工程文件5.4.1CCS對(duì)一個(gè)實(shí)時(shí)DSP系統(tǒng)的管理是通過(guò)工程進(jìn)行的,工程中包含著設(shè)計(jì)中所有的源代碼文件、鏈接器命令文件、庫(kù)函數(shù)、頭文件等。因此,在設(shè)計(jì)某一DSP系統(tǒng)時(shí),首先應(yīng)建立新
45、的工程文件。對(duì)每一個(gè)工程最好建立一個(gè)單獨(dú)的子目錄。在啟動(dòng)的CCS窗口,選擇ProjectNew菜單項(xiàng),在彈出的Save New Project As窗口上,選擇你建立的目錄,輸入所建立的新工程名(以example.mak為例)并保存,這樣一個(gè)新工程example.mak就創(chuàng)建了,下一次就可以直接打開此工程?,F(xiàn)在這個(gè)工程沒有包含任何文件,是一個(gè)空的工程。接下來(lái)必須在此工程下加入用戶所需要的程序。 將文件添加到工程中5.4.2(1) 建立新文件(2) 添加文件到工程(3) 查看工程結(jié)構(gòu)生成和運(yùn)行工程文件 5.4.3CCS可以對(duì)已創(chuàng)建的工程進(jìn)行生成并運(yùn)行,具體步驟如下:(1) 選擇ProjectRe
46、build All 菜單或圖標(biāo),CCS將對(duì)工程中的所有文件進(jìn)行重新編譯、匯編和鏈接,如果匯編鏈接失敗,返回工程中繼續(xù)修改程序,如果程序匯編鏈接通過(guò),則生成目標(biāo)文件 *.out。(2) 選擇FileLoad Program菜單,選擇生成的目標(biāo)文件*.out,然后點(diǎn)擊打開。正常時(shí),程序就可以載入,然后打開一個(gè)顯示程序匯編指令的反匯編窗口。單擊任何一個(gè)匯編指令,或?qū)⑹髽?biāo)放在一條指令上,按F1鍵CCS將搜索該指令的幫助,這是獲取一條不熟悉指令幫助的好方法。(3) 選擇DebugRun菜單或圖標(biāo),運(yùn)行該程序。 CCS工程文件的調(diào)試 斷點(diǎn)調(diào)試 5.5.2代碼執(zhí)行時(shí)間分析 5.5.3查看調(diào)試
47、中的信息 5.5.4 CCS對(duì)數(shù)據(jù)的文件處理 斷點(diǎn)調(diào)試5.5.1設(shè)置斷點(diǎn)是調(diào)試程序的必要手段。斷點(diǎn)的作用在于暫停程序的運(yùn)行,以便觀察、修改中間變量或寄存器的數(shù)值。將光標(biāo)停留在程序代碼段中的某一行單擊工具欄斷點(diǎn)開關(guān)按鈕,此行將被設(shè)置成斷點(diǎn),變成粉紅色。 代碼執(zhí)行時(shí)間分析 5.5.2CCS所擁有的Profile Points(分析點(diǎn))調(diào)試功能,可以讓用戶在調(diào)試程序時(shí),統(tǒng)計(jì)某條或某段指令的執(zhí)行時(shí)間。Profile Points和Profile Clock作為統(tǒng)計(jì)代碼執(zhí)行的兩種機(jī)制,常常一起配合使用 查看調(diào)試中的信息 5.5.3在程序調(diào)試過(guò)程中,需要CCS顯示出程序運(yùn)行的結(jié)果,以便和預(yù)期的結(jié)果進(jìn)行比較
48、,從而順利地調(diào)試程序。 CCS對(duì)數(shù)據(jù)的文件處理 5.5.4(1)直接復(fù)制一組數(shù)據(jù)到其他地址(2)直接修改一組數(shù)據(jù)內(nèi)容(3)數(shù)據(jù)導(dǎo)出設(shè)置CCS的圖形顯示功能 5.6CCS提供了強(qiáng)大的圖形顯示功能,這一點(diǎn)在數(shù)字信號(hào)處理中很有用處,可以從總體上分析處理前和處理后的數(shù)據(jù),以觀察程序運(yùn)行的效果。在CCS的View菜單下選擇Graph將彈出選擇菜單。 CCS中的其他問(wèn)題 5.7(1)CCS不論對(duì)TI公司的C24x系列,還是C54x、C6x系列,其軟件都是一樣的,不同之處是不同的系列需要不同的驅(qū)動(dòng)程序,如CCS2000、CCS5000、CCS6000的軟件操作平臺(tái)基本上是一樣的,真正的區(qū)別只是驅(qū)動(dòng)程序。(2
49、)CCS的驅(qū)動(dòng)程序可能和很多的常用軟件的驅(qū)動(dòng)程序有沖突(尤其和一些殺毒軟件),如出現(xiàn)同樣的CCS光盤在這一臺(tái)計(jì)算機(jī)上正常安裝并運(yùn)行,在另外一臺(tái)則不能運(yùn)行。這時(shí),建議改變計(jì)算機(jī)的軟件配置。(3)CCS可以創(chuàng)建一個(gè)新工程,但無(wú)法進(jìn)行編譯和鏈接,提示找不到asm.exe或DSPA.exe文件。此時(shí)是路徑設(shè)置錯(cuò)誤,CCS編譯時(shí)必須要能夠找到asm.exe或DSPA.exe這個(gè)可執(zhí)行文件,應(yīng)設(shè)置正確的路徑,也可以將asm.exe或DSPA.exe文件直接拷貝到用戶程序所在文件夾中。(4)Load載入程序出現(xiàn)CCS報(bào)告無(wú)法寫入存儲(chǔ)空間。此時(shí)應(yīng)在安裝CCS時(shí)設(shè)置正確的DSP型號(hào),在載入程序前將DSP復(fù)位一次
50、,選擇GEL菜單下的C5400下的RESET就可以了。TMS320C54x中斷系統(tǒng) 中斷概述 6.1.2中斷寄存器 6.1.4重新映像中斷向量地址 6.1.5中斷服務(wù)程序 6.1.3中斷響應(yīng)過(guò)程 中斷概述 6.1.1C54x的中斷可以分為以下兩大類:(1) 非屏蔽中斷這種中斷不能被屏蔽,C54x對(duì)這一類中斷總是響應(yīng)的,并從主程序轉(zhuǎn)移到中斷服務(wù)程序。C54x的非屏蔽中斷包括所有的軟件中斷以及兩個(gè)外部硬件中斷:復(fù)位RS和NMI(也可以用軟件進(jìn)行RS 和NMI設(shè)置)。RS是對(duì)C54x所有操作方式都產(chǎn)生影響的非屏蔽中斷,而NMI中斷不會(huì)對(duì)C54x的任何操作方式發(fā)生影響,但NMI中斷響應(yīng)
51、時(shí),所有其他中斷將被禁止。(2) 可屏蔽中斷中斷寄存器 6.1.2涉及中斷的寄存器有中斷標(biāo)志寄存器和中斷屏蔽寄存器 中斷標(biāo)志寄存器中斷標(biāo)志寄存器中斷屏蔽寄存器6.1.2中斷屏蔽寄存器(IMR)也是存儲(chǔ)器映像的CPU寄存器,主要用來(lái)屏蔽外部和內(nèi)部的可屏蔽中斷,其結(jié)構(gòu)圖同IFR完全一致。如果狀態(tài)寄存器ST1中的中斷屏蔽位INTM=0,IMR寄存器中的某一位為1,就開放相應(yīng)的中斷。NMI和RS都不包括在IMR中,IMR不能屏蔽這兩個(gè)中斷。 中斷響應(yīng)過(guò)程 6.1.3(1) 中斷請(qǐng)求(2)中斷響應(yīng)(3)中斷服務(wù)程序重新映像中斷向量地址 6.1.4中斷向量表可放在程序空間中以128字為一頁(yè)的任何位置。PM
52、ST寄存器中的中斷向量指針I(yè)PTR(9位)形成中斷向量地址的高9位,低7位由中斷向量號(hào)(K值)左移兩位(乘4)決定。在DSP復(fù)位時(shí),IPTR總為1FFH,因此復(fù)位向量(K=0)的中斷向量地址高9位為全1,低7位為全0,即FF80H,DSP復(fù)位后總是從FF80地址處執(zhí)行程序。用戶可以改變IPTR值來(lái)重定位中斷響量表。 中斷服務(wù)程序 6.1.5標(biāo)準(zhǔn)的中斷服務(wù)程序 定時(shí)器 6.2TMS320VC5402片內(nèi)有2個(gè)預(yù)定標(biāo)的定時(shí)器,這種定時(shí)器是一個(gè)減法計(jì)數(shù)器,通過(guò)軟件編程,可以周期性地產(chǎn)生中斷和脈沖輸出。定時(shí)器的組成框圖 定時(shí)器控制寄存器(TCR)是一個(gè)16位的存儲(chǔ)器映像寄存器, 定時(shí)器的組成框圖定時(shí)器
53、的組成框圖定時(shí)器控制寄存器(TCR)定時(shí)器控制寄存器(TCR)時(shí)鐘發(fā)生器 6.3時(shí)鐘發(fā)生器由一個(gè)內(nèi)部振蕩器和一個(gè)鎖相環(huán)(PLL)電路組成。設(shè)計(jì)者可以選擇器件的時(shí)鐘源。器件的時(shí)鐘可以來(lái)自晶體振蕩器:在DSP芯片引腳X1和X2/CLKIN接一枚晶體,內(nèi)部振蕩器就可以工作;器件的時(shí)鐘還可以來(lái)自外部時(shí)鐘,外部時(shí)鐘直接從X2/CLKIN引腳輸入,X1腳懸空。 軟件可編程等待狀態(tài)發(fā)生器 6.4VC5402訪問(wèn)慢速外設(shè)時(shí),需要用軟等待或硬等待的方法來(lái)降低對(duì)外設(shè)的訪問(wèn)速度。硬等待靠外部送到管腳READY的信號(hào)來(lái)實(shí)現(xiàn),軟等待則依靠軟件可編程等待狀態(tài)發(fā)生器來(lái)設(shè)置。軟件可編程等待狀態(tài)發(fā)生器是由軟件可編程等待狀態(tài)寄存器(SWWSR)和軟件等待狀態(tài)控制寄存器(SWCR)來(lái)控制,SWWSR將程序和數(shù)據(jù)存儲(chǔ)器空間各劃分為2個(gè)32K字的塊,I/O空間有一個(gè)64K字的塊。每一個(gè)塊在SWWSR中都有一個(gè)3位的字段,可以分別設(shè)置這5塊的軟等待周期數(shù)。 軟件可編程等待
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《高等數(shù)學(xué)》上冊(cè)課件09-05冪級(jí)數(shù)的應(yīng)用
- 2025年關(guān)于環(huán)境科學(xué)的專業(yè)考試試卷及答案分析
- 小學(xué)數(shù)學(xué)微課制作培訓(xùn)
- 中國(guó)傳統(tǒng)射箭課件
- 2025年工程項(xiàng)目管理概念復(fù)習(xí)試卷及答案
- 2025年校外教育機(jī)構(gòu)教師資格考試試卷及答案
- 2025年電子工程與通信技術(shù)考試題及答案
- 接機(jī)禮儀培訓(xùn)課件
- 內(nèi)蒙古牙克石市2025屆英語(yǔ)八年級(jí)第二學(xué)期期末統(tǒng)考模擬試題含答案
- 教育學(xué)學(xué)生與教師的協(xié)同發(fā)展路徑
- 《口腔固定修復(fù)工藝技術(shù)》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 高等數(shù)學(xué)基礎(chǔ)-006-國(guó)開機(jī)考復(fù)習(xí)資料
- 《常用法蘭墊片特性》課件
- 印刷企業(yè)安全培訓(xùn)
- 糖葫蘆課件教學(xué)課件
- GNSS定位測(cè)量學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 氣胸完整版本
- 事業(yè)單位考試職業(yè)能力傾向測(cè)驗(yàn)(醫(yī)療衛(wèi)生類E類)試卷與參考答案(2025年)
- DB34∕T 4515-2023 智慧醫(yī)院評(píng)價(jià)指南
- 湖北省新高考聯(lián)考協(xié)作體(八市)2023-2024學(xué)年高二下學(xué)期期末考試+生物試卷
- 上海市市轄區(qū)(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)部編版期末考試((上下)學(xué)期)試卷及答案
評(píng)論
0/150
提交評(píng)論