版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試內(nèi)容提要
C55x外設(shè)完成的功能包括采集原始數(shù)據(jù)、輸出處理結(jié)果,還可以通過外設(shè)來控制外部其他設(shè)備的工作狀態(tài)。
C55x的片內(nèi)外設(shè)分為如下幾類。
1.時鐘與定時器
2.外部設(shè)備連接接口
3.信號采集
4.通信接口
5.其他外設(shè)2023/2/41TMS320C55xDSP原理及應(yīng)用知識要點●
C55x片內(nèi)外設(shè)與芯片支 持庫簡介●
C55x的片內(nèi)外設(shè)第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2023/2/42TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.1C55x片內(nèi)外設(shè)與芯片支持庫簡介
C55x的片內(nèi)外設(shè)分為如下幾類。
1.時鐘與定時器
時鐘與定時器包括時鐘產(chǎn)生器、通用定時器、實時時鐘以及看門狗定時器等。時鐘產(chǎn)生器的功能是產(chǎn)生CPU的工作時鐘,并提供CLKOUT時鐘輸出;通用定時器、實時時鐘及看門狗定時器的功能是通過計數(shù)器為系統(tǒng)提供定時時鐘和年、月、日、時、分、秒等時鐘信號,以及監(jiān)控系統(tǒng)正常運行的看門狗時鐘,并能發(fā)出相應(yīng)中斷。2023/2/43TMS320C55xDSP原理及應(yīng)用
2.外部設(shè)備連接接口
外部設(shè)備連接接口包括外部存儲器連接接口、主機(jī)接口等。外部存儲器接口主要用來同并行存儲器連接,這些存儲器包括SDRAM、SBSRAM、Flash、SRAM存儲器等,外部存儲器接口還可以同外部并行設(shè)備進(jìn)行連接,這些設(shè)備包括并行A/D、D/A轉(zhuǎn)換器、具有異步并行接口的專用芯片,并可以通過外部存儲器接口同F(xiàn)PGA、CPLD等連接;主機(jī)接口主要用來為主控CPU和C55x處理器之間提供一條方便、快捷的并行連接接口,這個接口用來對DSP進(jìn)行控制、程序加載、數(shù)據(jù)傳輸?shù)裙ぷ?。?章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2023/2/44TMS320C55xDSP原理及應(yīng)用3.信號采集
信號采集類的外設(shè)包括采集模擬信號的模/數(shù)轉(zhuǎn)換器和提供數(shù)字信號輸入、輸出功能的通用輸入/輸出接口。模/數(shù)轉(zhuǎn)換器為DSP提供了多通道模擬/數(shù)字轉(zhuǎn)換能力,通用輸入、輸出接口可以完成數(shù)字信號的采集,當(dāng)其被設(shè)置為輸出模式時,可以通過這些接口對其他設(shè)備進(jìn)行控制。4.通信接口
C55x處理器為用戶提供了多種類型的通信接口,包括多通道緩沖串口、I2C接口、異步串口、USB接口以及多媒體卡/SD卡接口等。多通道緩沖串口可以連接串行存儲器、A/D、D/A轉(zhuǎn)換器,并可以通過該接口實現(xiàn)與其他處理器的高速串行連接,多媒體卡/SD卡接口可以用來擴(kuò)展SD存儲卡等移動存儲設(shè)備,I2C接口、異步串口和USB接口為DSP通過了各種通用通信接口。
第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2023/2/45TMS320C55xDSP原理及應(yīng)用5.其他外設(shè)
其他外設(shè)包括DMA控制器、指令流水線等,這些外設(shè)主要用來輔助CPU工作,提高DSP的工作效率。
①在通用計算機(jī)(PC機(jī))上用軟件(如Fortran、C語言)實現(xiàn),但速度慢,不適合實時數(shù)字信號處理,只用于算法的模擬;
②在通用計算機(jī)系統(tǒng)中加入專用的加速處理機(jī)實現(xiàn),用以增強(qiáng)運算能力和提高運算速度。不適合于嵌入式應(yīng)用,專用性強(qiáng),應(yīng)用受到限制;
③用單片機(jī)實現(xiàn),用于不太復(fù)雜的數(shù)字信號處理。不適合于以乘法-累加運算為主的密集型DSP算法;
④用通用的可編程DSP芯片實現(xiàn),具有可編程性和強(qiáng)大的處理能力,可完成復(fù)雜的數(shù)字信號處理的算法,在實時DSP領(lǐng)域中處于主導(dǎo)地位;
⑤用專用的DSP芯片實現(xiàn),可用在要求信號處理速度極快的特殊場合,如專用于FFT、數(shù)字濾波、卷積、相關(guān)算法的DSP芯片,相應(yīng)的信號處理算法由內(nèi)部硬件電路實現(xiàn)。用戶無需編程,但專用性強(qiáng),應(yīng)用受到限制;
第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2023/2/46TMS320C55xDSP原理及應(yīng)用
為了方便地實現(xiàn)C55x外設(shè)的控制,德州儀器公司為用戶提供了片上外設(shè)支持庫,片上外設(shè)支持庫為用戶提供了控制片上外設(shè)的函數(shù)、宏等工具,用戶可以通過程序或DSP/BIOS完成這些函數(shù)和宏的調(diào)用。
片上外設(shè)支持庫具有如下特點:(1)采用標(biāo)準(zhǔn)協(xié)議對外設(shè)進(jìn)行編程
片上外設(shè)支持庫采用標(biāo)準(zhǔn)協(xié)議實現(xiàn)片上外設(shè)的編程,這些協(xié)議包括數(shù)據(jù)類型、定義外設(shè)配置的宏定義,以及實現(xiàn)各種外設(shè)操作的函數(shù)等。(2)基本資源管理
可以通過程序?qū)崿F(xiàn)多通道外設(shè)的資源管理。(3)設(shè)備的符號描述
片上外設(shè)支持庫通過對外設(shè)寄存器和寄存器域的符號定義,使程序在不同DSP之間的移植變得容易,而當(dāng)DSP的版本發(fā)生升級時,可以最大程度地減少程序的修改。第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2023/2/47TMS320C55xDSP原理及應(yīng)用5.2時鐘發(fā)生器第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.2.1時鐘模式寄存器
C55x片內(nèi)的時鐘發(fā)生器可以從CLKIN引腳接收輸入的時鐘,將其變換為CPU及其外設(shè)所需要的工作時鐘,工作時鐘經(jīng)過分頻也能夠通過引腳CLKOUT輸出,供其他器件使用,如圖5-1所示。時鐘發(fā)生器內(nèi)有一個數(shù)字鎖相環(huán)(DigitalPhaseLockLoop,DPLL)和一個時鐘模式寄存器(CLKMD)。時鐘模式寄存器用于控制時鐘發(fā)生器的工作狀態(tài),如表5-1所示。2023/2/48TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試CLKINDSP時鐘發(fā)生器CPU時鐘CPU、外設(shè)、其他器件÷CLKDIVCLKOUT圖5-1時鐘輸出2023/2/49TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試表5-1時鐘模式寄存器CLKMD位字段數(shù)值說明15Rsvd保留14IAI01退出IDLE狀態(tài)后,決定PLL是否重新鎖定PLL將使用與進(jìn)入IDLE狀態(tài)之前相同的設(shè)置進(jìn)行鎖定PLL將重新鎖定過程
13IOB01處理失鎖時鐘發(fā)生器不中斷PLL,PLL繼續(xù)輸出時鐘時鐘發(fā)生器自動切換到旁路模式,重新開始跟蹤鎖定后,又自動切換到鎖定模式12TEST0必須保持為02023/2/410TMS320C55xDSP原理及應(yīng)用表5-1時鐘模式寄存器CLKMD(續(xù))11~7PLLMULT0~31鎖定模式下的倍頻值,0~316~5PLL-DIV0~3鎖定模式下的分頻值,0~34PLLENABLE10PLL使能使能,為鎖定模式禁止,為旁路模式3~2BYPASSDIV000110、11
旁路下的分頻值一分頻二分頻四分頻1BREAKLN01錯誤狀態(tài)PLL失鎖鎖定狀態(tài)或有對CLKMD寄存器的寫操作0LOCK01鎖定狀態(tài)PLL處于旁路模式PLL處于鎖定模式第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2023/2/411TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.2.2工作模式在時鐘模式寄存器中的PLLENABLE位控制PLL的兩種工作模式。1.旁路模式(BYPASS)
如果PLLENABLE=0,PLL工作于旁路模式,PLL對輸入時鐘信號進(jìn)行分頻,分頻值由BYPASSDIV確定:
如果BYPASSDIV=00,輸出時鐘信號的頻率與輸入信號的頻率相同,即一分頻。如果BYPASSDIV=01,輸出時鐘信號的頻率是輸入信號頻率一半,即二分頻。如果BYPASSDIV=1x,輸出時鐘信號的頻率是輸入信號頻率1/4,即四分頻。2023/2/412TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2.鎖定模式(LOCK)如果PLLENABLE=1,PLL工作于鎖定模式,輸出的時鐘頻率由下面公式確定:輸出頻率輸入頻率輸入頻率2023/2/413TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.2.3CLKOUT輸出
CPU時鐘也可以通過一個時鐘分頻器提供CLKOUT信號,CLKOUT的頻率由系統(tǒng)寄存器(SYSR)中的CLKDIV確定:如果CLKDIV=000b,CLKOUT的頻率等于CPU時鐘的頻率。如果CLKDIV=001b,CLKOUT的頻率等于CPU時鐘的頻率的1/2。如果CLKDIV=010b,CLKOUT的頻率等于CPU時鐘的頻率的1/3。如果CLKDIV=011b,CLKOUT的頻率等于CPU時鐘的頻率的1/4。如果CLKDIV=100b,CLKOUT的頻率等于CPU時鐘的頻率的1/5。如果CLKDIV=101b,CLKOUT的頻率等于CPU時鐘的頻率的1/6。如果CLKDIV=110b,CLKOUT的頻率等于CPU時鐘的頻率的1/7。如果CLKDIV=111b,CLKOUT的頻率等于CPU時鐘的頻率的1/8。2023/2/414TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.2.4
使用方法
通過對時鐘模式寄存器的操作,可以根據(jù)需要設(shè)定時鐘發(fā)生器的工作模式和輸出頻率,在設(shè)置過程中除了工作模式、分頻值和倍頻值以外,還要注意其他因素對PLL的影響。1.省電(IDLE)
為了節(jié)省功耗,可以使時鐘發(fā)生器處于省電狀態(tài),當(dāng)時鐘發(fā)生器退出省電狀態(tài)時,PLL自動切換到旁路模式,進(jìn)行跟蹤鎖定,鎖定后返回到鎖定模式,時鐘模式寄存器中與省電有關(guān)的位是IAI。2023/2/415TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2.DSP復(fù)位
在DSP復(fù)位期間和復(fù)位之后,PLL工作于旁路模式,輸出的時鐘頻率由CLKMD引腳上的電平確定。如果CLKMD引腳為低電平,輸出頻率等于輸入頻率;如果CLKMD引腳為高電平,輸出頻率等于輸入頻率的一半。3.失鎖
鎖相環(huán)對輸入時鐘跟蹤鎖定之后,由于其他原因使其輸出時鐘發(fā)生偏移,即失鎖。出現(xiàn)失鎖現(xiàn)象后,PLL的動作由時鐘模式寄存器中的IOB確定
2023/2/416TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.2.5使用方法及實例
調(diào)用時鐘發(fā)生器庫函數(shù)首先要在頭文件中包含csl_pll.h文件,接下來介紹利用庫函數(shù)配置時鐘發(fā)生器的方法。
首先要聲明PLL配置結(jié)構(gòu),具體聲明如下:PLL_ConfigConfig_PLL={1, /*iai休眠后重新鎖相*/1, /*iob失鎖后進(jìn)入旁路模式并重新鎖相 */6, /*pllmultCLKIN*pllmult=DSP主時鐘*/0/*divCLKOUT=DSP主時鐘/(div+1)*/};
之后運行配置函數(shù):PLL_config(&Config_PLL);
也可以通過函數(shù)設(shè)置PLL頻率: PLL_setFreq(6,1);
通過PLL_setFreq函數(shù)可以復(fù)位PLL鎖相環(huán),并改變倍頻和分頻數(shù)從而得到所需的頻率。2023/2/417TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.2.6時鐘發(fā)生器的調(diào)試時鐘發(fā)生器所產(chǎn)生的DSP工作時鐘,如果時鐘產(chǎn)生器沒有正常工作,DSP將無法正常運行,而調(diào)試DSP也是不可能的。
調(diào)試時鐘發(fā)生器應(yīng)遵循以下步驟:
(1)檢查DSP的時鐘輸入引腳CLKIN、時鐘輸出引腳CLKOUT和時鐘模式引腳CLKMD連接是否正確,正常情況下CLKIN應(yīng)接時鐘源,而CLKMD應(yīng)拉高或降低,CLKOUT應(yīng)是信號輸出引腳。
(2)系統(tǒng)加電后測量CLKIN引腳時鐘輸入是否正常,信號的高低電平及占空比是否滿足需要。
(3)在沒有進(jìn)行軟件設(shè)置的情況下,DSP在復(fù)位后CLKOUT的輸出直接受CLKMD控制,當(dāng)CLKMD為高,CLKOUT的輸出頻率將等于CLKIN的頻率,CLKMD為低,則CLKOUT輸出將等于CLKIN的頻率的1/2。
(4)如果以上步驟運行正常,則利用軟件設(shè)置CLKMD寄存器,使時鐘產(chǎn)生器工作于PLL鎖相環(huán)模式下,此時再檢測CLKOUT信號,查看鎖相環(huán)是否正常工作。2023/2/418TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.3通用定時器
TMS320VC5510DSP片內(nèi)有兩個20位軟件可編程定時器,利用定時器可向CPU產(chǎn)生周期性中斷或向DSP片外的器件提供周期信號。5.3.1結(jié)構(gòu)框圖
20位的定時器由兩部分組成:一個4位的預(yù)定標(biāo)器(PSC)和一個16位的主計數(shù)器(TIM)。
定時器有兩個計數(shù)寄存器(PSC,TIM)和兩個周期寄存器(TDDR,PRD),在定時器初始化過程中,周期寄存器的內(nèi)容拷貝到計數(shù)寄存器中。2023/2/419TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試CPU時鐘TIN/TOUTTDDR4位預(yù)定標(biāo)器PSCPRD16位主計數(shù)器TIM中斷請求DMA同步事件2023/2/420TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.3.2工作原理定時器的工作時鐘可以來自DSP內(nèi)部的CPU時鐘,也可以來自引腳TIN/TOUT。定時器控制寄存器(TCR)中的字段FUNC可以確定時鐘源和TIN/TOUT引腳的功能,這樣定時器的工作模式包括以下幾種:當(dāng)FUNC=00b時,TIN/TOUT為高阻態(tài),時鐘源是內(nèi)部時鐘(CPU時鐘)。當(dāng)FUNC=01b時,TIN/TOUT為定時器輸出,時鐘源是內(nèi)部時鐘(CPU時鐘)。當(dāng)FUNC=10b時,TIN/TOUT為通用輸出,時鐘源是內(nèi)部時鐘(CPU時鐘)。當(dāng)FUNC=11b時,TIN/TOUT為定時器輸入,時鐘源是外部時鐘。2023/2/421TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試在定時器中,預(yù)定標(biāo)器由輸入時鐘驅(qū)動,PSC在每個輸入時鐘周期減1,當(dāng)其減到0時,TIM減1,當(dāng)TIM減到0,定時器向CPU發(fā)送一個中斷請求(TINT)或向DMA控制器發(fā)送同步事件。定時器發(fā)送中斷信號或同步事件信號的頻率可用下式計算:
通過設(shè)置TCR中的自動重裝控制位ARB,可使定時器工作于自動重裝模式,當(dāng)TIM減到0,重新將周期寄存器(TDDR,PRD)的內(nèi)容拷貝到計數(shù)寄存器(PSC,TIM)中,繼續(xù)定時。
2023/2/422TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
每個定時器包括4個寄存器,即定時器預(yù)定標(biāo)寄存器PRSC、主計數(shù)寄存器TIM、主周期寄存器PRD和定時器控制寄存器TCR
。
定時器預(yù)定標(biāo)寄存器PRSC位字段數(shù)值說明15-10Reserved-保留9-6PSC0h-fh預(yù)定標(biāo)計數(shù)寄存器5-4Reserved-保留3-0TDDR0h-fh當(dāng)PSC重新裝入時,將TDDR的內(nèi)容拷貝到PSC中2023/2/423TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試主計數(shù)寄存器TIM位字段數(shù)值說明15-0TIM0000h-FFFFh主計數(shù)寄存器主周期寄存器PRD
位字段數(shù)值說明15-0PRD0000h-FFFFh當(dāng)TIM必須重新裝入時,將PRD的內(nèi)容拷貝到TIM中2023/2/424TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試定時器控制寄存器TCR
位字段數(shù)值說明15IDLEEN01省電使能位定時器不能處于省電狀態(tài)如果省電狀態(tài)寄存器中的PERIS=1,定時器進(jìn)入省電狀態(tài)14INTEXT01時鐘源從內(nèi)部切換到外部標(biāo)志位定時器沒有準(zhǔn)備好使用外部時鐘源定時器準(zhǔn)備使用外部時鐘源13ERRTIM01定時器錯誤標(biāo)志,正常出錯12-11FUNC
定時器工作模式選擇位10TLB01定時器裝載位,TIM,PSC不重新裝載將PRD、TDDR分別拷貝到TIM、PSC中2023/2/425TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試定時器控制寄存器TCR(續(xù))9SOFT在調(diào)試時遇到斷點定時器的處理方法8FREE7-6PWID00011011定時器輸出脈沖的寬度1個CPU時鐘周期2個CPU時鐘周期4個CPU時鐘周期8個CPU時鐘周期5ARB
自動重裝控制位4TSS01定時器停止?fàn)顟B(tài)位,啟動;停止3C/P01定時器輸出時鐘/脈沖選擇,輸出脈沖;輸出時鐘2023/2/426TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2POLAR01時鐘輸出極性位,正極性;負(fù)極性1DATOUT01當(dāng)TIN/TOUT作為通用輸出引腳,該位控制引腳上的電平,低電平;高電平0Reserved0保留定時器控制寄存器TCR(續(xù))2023/2/427TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.3.3使用方法在定時器的工作過程中,要注意以下因素對定時器的影響。
1.初始化定時器通用定時器的初始化過程如下:(1)停止計時(TSS=1),定時器裝載使能(TLB=1),并將周期寄存器(TIM,PSC)的內(nèi)容拷貝到計數(shù)寄存器(PRD,TDDR);(2)將預(yù)定標(biāo)計數(shù)周期數(shù)寫入TDDR;(3)將主計數(shù)器周期數(shù)裝入PRD;(4)關(guān)閉定時器裝載(TLB=0),啟動計時(TSS=0)。2023/2/428TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2.停止/啟動定時器利用時鐘控制寄存器中的TSS位可以停止或啟動定時器。TSS=1,停止計時TSS=0,啟動計時3.DSP復(fù)位DSP復(fù)位后定時器的寄存器將按照如下規(guī)則復(fù)位:停止定時(TSS=1);預(yù)定標(biāo)計數(shù)器值為0;主計數(shù)器值為FFFFh;定時器不進(jìn)行自動重裝(ARB=0);idle指令不能使定時器進(jìn)入省電模式;仿真時遇到軟件斷點定時器立即停止工作;TIN/TOUT為高阻態(tài),時鐘源是內(nèi)部時鐘(FUNC=00b)。2023/2/429TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.3.4通用定時器的應(yīng)用如果使用芯片支持庫函數(shù)對通用定時器進(jìn)行編程,則必須包含頭文件csl_timer.h。首先定義通用定時器句柄和配置結(jié)構(gòu):TIMER_HandlehTimer;TIMER_ConfigConfig_TIMER={ 0X0310, /*;載入TCR0t: ;IDLE_EN=0(不允許空閑狀態(tài)) ;FUNC=00b(引腳為高阻態(tài)) ;TLB=0(TLB被清除) ;FREE=1(遇到斷點時時鐘不停止) ;PWID=00b(脈沖延遲一個CPU時鐘周期) ;ARB=1(當(dāng)TIM計數(shù)到0時重新載入TIM和 ;PSC)
2023/2/430TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
;TSS=1(停止計數(shù)器) ;C/P=0(引腳輸出為脈沖模式) ;POLAR=0(引腳信號開始為
低) ;其他為0 */
0X197, /* prd=407 */ 0X0007 /*prsc=7TDDR=7 */ //;計數(shù)器每3264(408*8)個時鐘周期輸出: };2023/2/431TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
接下來打開句柄:
hTimer=TIMER_open(TIMER_DEV0,0);//設(shè)置計數(shù)器0,中斷20K/s
調(diào)用定時器配置函數(shù)對計數(shù)器初始化: TIMER_config(hTimer,&Config_TIMER);調(diào)用定時器開始函數(shù)使定時器開始工作:
TIMER_start(hTimer);
如果在程序中需要暫時停止定時器計數(shù)可以調(diào)用定時器停止函數(shù):
TIMER_stop(hTimer);
當(dāng)使能定時器中斷時,則當(dāng)定時中斷發(fā)生時將運行定時中斷服務(wù)程序:
interruptvoidTimer0_Isr() { ……}2023/2/432TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.3.4通用定時器的調(diào)試
通用定時器可以產(chǎn)生定時中斷,或者作為DMA同步事件來同步DMA傳送,如果將通用定時器的輸出從通用定時器引腳引出,也可以為系統(tǒng)的其他部分提供定時。
通用定時器的調(diào)試步驟如下:設(shè)定通用定時器的時鐘源,通用定時器的時鐘源可以是CPU時鐘,也可由外部信號提供,如果選擇外部時鐘,則需要將這個信號從TIN/TOUT引腳引入,應(yīng)當(dāng)注意此時TIN/TOUT引腳將不能夠作為定時器輸出使用;正確設(shè)置定時器寄存器值,使定時器開始工作;在定時器中斷服務(wù)程序中設(shè)置斷點,看能否進(jìn)入定時中斷,如果定時器的時鐘源是CPU時鐘,這時也可以將定時器信號從TIN/TOUT引腳輸出,通過示波器檢測定時器輸出是否正常。2023/2/433TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.4.1功能與作用
如果比較一下C54x和C55X的外部總線接口可以發(fā)現(xiàn)有很大的不同,C54x的外部總線接口分為三個空間——程序、數(shù)據(jù)和I/O空間,這三個空間共用地址和數(shù)據(jù)總線以及部分控制信號線,而通過選通信號區(qū)分不同的空間。
C54x的外部總線存在一些缺點,那就是在連結(jié)外部存儲器時無法做到無縫連接,往往需要添加額外的地址譯碼邏輯電路,這個缺點在C55x系列處理器中已經(jīng)得到了改善,那么C55x處理器是如何做到與外部存儲器無縫連接的呢?這從外部存儲器接口的結(jié)構(gòu)框圖中就可以看出來。5.4外部存儲器接口2023/2/434TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試可以看到在C54x中的空間選通信號已經(jīng)被片選信號所取代,而每個片選信號分別占用不同的地址空間,這樣就不需要外部的譯碼電路從而實現(xiàn)了與外部設(shè)備的無縫連接。
同C54x外部總線接口相比,C55x的外部存儲器接口除了對異步存儲器的支持以外,還提供了對同步突發(fā)靜態(tài)存儲器(SBSRAM)和同步動態(tài)存儲器(SDRAM)的支持。
異步存儲器可以是靜態(tài)隨機(jī)存儲器(SRAM)、只讀存儲器(ROM)和閃存存儲器等存儲器,在實際使用中還可以用異步接口連接并行A/D采樣器件、并行顯示接口等外圍設(shè)備,但使用這些非標(biāo)準(zhǔn)設(shè)備時需要增加一些外部邏輯來保證設(shè)備的正常使用。2023/2/435TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試32位外部存儲器接口
DMA控制器外設(shè)總線控制器CPU數(shù)據(jù)總線CPU程序總線D[31:0]A[21:0]CE[3:0]BE[3:0]外部存儲器共享AOEAWEARE異步存儲器SSADSSSOESSWE同步突發(fā)存儲器HOLDHOLDA總線保持信號SDRASSDCASSDWE同步動態(tài)
存儲器SDA10CLKMEM同步存儲器時鐘2023/2/436TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
在使用外部存儲器接口時應(yīng)區(qū)分字尋址和字節(jié)尋址之間的區(qū)別,當(dāng)TMS320C55x訪問數(shù)據(jù)時,CPU用23位地址訪問16位字,該方式下數(shù)據(jù)空間被分成128頁,每頁字長64K。CPU訪問程序代碼時,用24位地址訪問8位字節(jié),DMA控制器訪問存儲器時也采用字節(jié)尋址方式。2023/2/437TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試數(shù)據(jù)頁字尋址方式地址范圍(16進(jìn)制)外部存儲器字節(jié)尋址方式地址范圍(16進(jìn)制)第2頁后64K字節(jié)3-31028000-1FFFFFCE0空間(4M-320K)字節(jié)050000-3FFFFF32-63200000-3FFFFFCE1空間4M字節(jié)400000-7FFFFF64-95400000-5FFFFFCE2空間4M字節(jié)800000-BFFFFF96-127600000-7FFFFF當(dāng)MP/MC=0CE3空間長度為(4M-32K)字節(jié)剩余地址空間被片上ROM占用當(dāng)MP/MC=1CE3空間長度為4M字節(jié)C00000-FFFFFF2023/2/438TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.4.2外部寄存器接口硬件連接與配置
外部存儲器接口所支持的異步存儲器接口、同步突發(fā)靜態(tài)存儲器接口和同步動態(tài)存儲器接口都支持程序代碼訪問以及32位寬、16位寬和8位寬數(shù)據(jù)訪問。外部存儲器的4個片選空間都可以單獨進(jìn)行設(shè)置,設(shè)置的內(nèi)容包括存儲器類型、存儲器寬度、讀寫時序參數(shù)等內(nèi)容。本節(jié)將分別給出不同接口的硬件連接以及參數(shù)的設(shè)置。
1.異步存儲器接口
異步存儲器的類型多種多樣,它們既包括靜態(tài)隨機(jī)存儲器、閃存存儲器、只讀存儲器等,又有先入先出存儲器、雙端口存儲器等,這些存儲器有著不同的特點,可以根據(jù)需要靈活選用。2023/2/439TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
外部存儲器接口所支持的異步存儲器接口、同步突發(fā)靜態(tài)存儲器接口和同步動態(tài)存儲器接口都支持程序代碼訪問以及32位寬、16位寬和8位寬數(shù)據(jù)訪問。外部存儲器的4個片選空間都可以單獨進(jìn)行設(shè)置,設(shè)置的內(nèi)容包括存儲器類型、存儲器寬度、讀寫時序參數(shù)等內(nèi)容。本節(jié)將分別給出不同接口的硬件連接以及參數(shù)的設(shè)置。
AM29LV320D是一種大容量的閃存存儲器,存儲容量可以達(dá)到2M字/4M字節(jié),數(shù)據(jù)總線寬度可以是8位或16位,下面給出AM29LV320D與DSP的連接關(guān)系示意圖。2023/2/440TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試D[7:0]A[21:0]CE3AOEAWEC55x處理器DQ[7:0]BYTE#A[20:-1]CE#RESET#OE#WE#WP#/ACCAM29LV320DGND系統(tǒng)復(fù)位3.3V2023/2/441TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
從圖中可以看到C55x處理器與AM29LV320D的連接用了數(shù)據(jù)線D7-D0,在這種連接方式下AM29LV320D的DQ15/A-1引腳應(yīng)當(dāng)作為地址線A-1來使用,處理器的地址總線A[21:0]接到AM29LV320D的A[20:-1],AM29LV320D的BYTE#信號接地,RESET#接到系統(tǒng)復(fù)位信號,寫保護(hù)/快速編程WP#/ACC引腳接高電平。AM29LV320D的讀寫時序,如圖5-5和圖5-6所示,從時序圖中可以看到該芯片的一個讀寫周期最短為90ns或120ns,而數(shù)字信號處理器的CLKOUT時鐘是DSP主時鐘的1/1、1/2、1/3、1/4、1/5、1/6、1/7或1/8,如果DSP運行在200MHz,則DSP一個時鐘周期為5ns,如果不能讓DSP的讀寫時序同AM29LV320D的讀寫時序相匹配,就無法實現(xiàn)正確的讀寫。調(diào)整DSP的讀寫時序有兩種方法,一種是將AM29LV320D的RY/BY信號接到DSP的ARDY信號上,通過硬件等待信號實現(xiàn)二者讀寫時序的同步,另外一種方法是通過軟件設(shè)置外部存儲器接口寄存器實現(xiàn)正確讀寫。方法1使用簡單,但靈活性不強(qiáng),如果DSP通過外部存儲器接口連接多個芯片,這種方法就不能使用,軟件設(shè)置的方法靈活、方便,推薦使用該種方法設(shè)置外部存儲器接口的讀寫時序。2023/2/442TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
BYTE#從字切換到字節(jié)模式數(shù)據(jù)輸出(DQ0-DQ14)數(shù)據(jù)輸出(DQ0-DQ7)DQ15輸出地址輸出BYTE#從字節(jié)切換到字?jǐn)?shù)據(jù)輸出(DQ0-DQ7)數(shù)據(jù)輸出(DQ0-DQ14)地址輸出DQ15輸出AM29LV320D讀時序
2023/2/443TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試AM29LV320D寫時序
2023/2/444TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試當(dāng)CLKOUT為4分頻時,設(shè)置建立時間為1個時鐘周期,選通時間為4個時鐘周期,保持時間為2個時鐘周期就可以正確讀取AM29LV320D存儲器。2023/2/445TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試D[15:0]A[15:1]CExAOEAWEC55x處理器LD[15:0]RD[15:0]LA[14:0]RA[14:0]CE0L#CE0R#CE1LCE1ROEL#OER#R/W#LR/W#RTMS320VC55x同IDT70V27的連接
上拉2023/2/446TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
C55x的外部存儲器接口同IDT70V27的L端口數(shù)據(jù)、地址和讀寫控制信號相連接,而IDT70V27的R端口可以同其他處理器相連接,從而實現(xiàn)二者相互通信。應(yīng)當(dāng)注意圖中C55x使用了地址線的第1到第15位,這是因為外部存儲器接口采用了16位數(shù)據(jù)總線的連結(jié)方式,這時地址線A0將不起作用,而只需使用A21~A1地址線。如果讀寫數(shù)據(jù)線為32位,則所用的地址線為A21~A2。
外部存儲器接口為每個片選空間都提供了獨立的片選控制寄存器,通過這些寄存器可以設(shè)置寄存器類型,讀/寫時序以及超時時鐘周期數(shù),具體可參見下表。2023/2/447TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試片選控制寄存器1(CEx_1)位字段數(shù)值說明15~13Reserved保留14~12MTYPE000b001b010b011b100b101b~111b存儲器類型8位寬異步存儲器16位寬異步存儲器32位寬異步存儲器32位寬同步動態(tài)存儲器(SDRAM)32位寬同步靜態(tài)突發(fā)存儲器(SBSRAM)保留11~8READSETUP1~15讀建立時間7~2READSTROBE1~63讀選通時間1~0READHOLD0~3讀保持時間2023/2/448TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試片選控制寄存器2(CEx_2)位字段數(shù)值說明15~14EXTENEDHOLDREAD0~3讀延長保持時間13~12EXTENEDHOLDWRITE0~3寫延長保持時間11~8WRITESETUP1~15寫建立時間7~2WRITESTROBE1~63寫選通時間1~0WRITEHOLD0~3寫保持時間2023/2/449TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試片選控制寄存器3(CEx_3)位字段數(shù)值說明15~8Reserved保留7~0TIMEOUT01≤N≤255超時字段(同步存儲器超時字段無效)超時功能被禁止當(dāng)ARDY信號為低超過N個時鐘周期,則發(fā)生超時錯誤2023/2/450TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試2.同步突發(fā)靜態(tài)存儲器(SBSRAM)
同步突發(fā)靜態(tài)存儲器是一種高密度、高速的存儲器,同同步動態(tài)存儲器相比,同步靜態(tài)存儲器不需要刷新,訪問更加方便、快捷。TMS320C55x外部存儲器接口支持32位寬無校驗同步突發(fā)管道型靜態(tài)存儲器,同步突發(fā)靜態(tài)存儲器的工作頻率在與CPU時鐘同頻或CPU時鐘頻率的1/2。
同步突發(fā)靜態(tài)存儲器所使用的信號包括數(shù)據(jù)總線D[0..31]、地址總線A[21..0]、片選信號CE0-CE3、字節(jié)使能信號BE0-BE3,此外還有SBSRAM地址選通信號SSADS、輸出使能信號SSOE、寫使能信號SSWE和存儲器接口時鐘CLKMEM。
2023/2/451TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
接下來給出C55x外部存儲器接口同32位無校驗管道型SBSRAM的連接圖。圖中SBSRAM占用CE0空間,SBSRAM的MODE信號接到低電平使SBSRAM工作在線性突發(fā)模式,其他未用的SBSRAM信號如ZZ、ADV、ADSP和GW信號都接成非活動狀態(tài)。2023/2/452TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試如果所用的SBSRAM是有校驗型存儲器,連接時則應(yīng)注意SBSRAM的校驗信號DQP[d:a]應(yīng)當(dāng)接地以減少功率消耗。2023/2/453TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
如果要使用SBSRAM的電源關(guān)閉模式,可以將SBSRAM的ZZ引腳同C55x的通用輸入輸出引腳相連接,通過通用輸入輸出引腳控制SBSRAM是否進(jìn)入電源關(guān)閉模式。
控制SBSRAM接口的寄存器包括EMIF全局控制寄存器和片選控制寄存器CEx_1,接下來給出SBSRAM所需設(shè)置字段表,讀者可以根據(jù)該表進(jìn)行設(shè)置。2023/2/454TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試SBSRAM需要設(shè)置字段
所在寄存器位字段名稱數(shù)值說明片選控制寄存器14~12MTYPE100b32位寬SBSRAM全局控制寄存器11~9MEMFREQ000b001bCLKMEM頻率CLKOUT頻率CLKOUT頻率除2全局控制寄存器7WPE01后寫使能禁止后寫后寫使能全局控制寄存器5MEMCEN01存儲器時鐘使能CLKMEM保持高電平CLKMEM輸出使能全局控制寄存器0NOHOLD01外部保持控制允許外部保持禁止外部保持2023/2/455TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試3.同步突發(fā)動態(tài)存儲器(SDRAM)
TMS320C55x外部存儲器接口支持16位、32位寬,64M位和128M位SDRAM,SDRAM可以工作在C55x頻率的1/2或1/1。2023/2/456TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試SDRAM容量及排列方式使用芯片數(shù)量配置位占用CE空間數(shù)邊界/行地址列地址SDACCSDSIZESDWIDSDRAMEMIFSDRAMEMIF64M位4Mx16位10002BA[1:0]和[11:0]A[14:12]、SDA10和A[10:1]A[7:0]A[8:1]64M位4Mx16位2
1004BA[1:0]和[11:0]A[15:13]、SDA10和A[11:2]A[7:0]A[9:2]64M位2Mx32位1
1012BA[1:0和[10:0]A[14:13]、SDA10和A[11:2]A[7:0]A[9:2]64M位2Mx32位2
1014BA[1:0和[10:0]A[14:13]、SDA10和A[11:2]A[7:0]A[9:2]128M位8Mx16位1
0104BA[1:0]和[11:0]A[14:12]、SDA10和A[10:1]A[8:0]A[9:1]128M位4Mx32位1
1114BA[1:0]和[11:0]A[15:13]、SDA10和A[11:2]A[7:0]A[9:2]SDRAM的引腳映射和寄存器配置表2023/2/457TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
SDRAM接口專用信號包括SDRAM行選通信號SDRAS、列選通信號SDCAS和寫使能信號SDWE,SDA10信號在ACTV命令時作為行地址信號,在讀寫操作時作為預(yù)加電使能信號,在DCAB命令下為高,保持模式下為高阻態(tài)。
SDRAM操作時需要一系列命令來支持其運行,下面給出命令列表
。2023/2/458TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試命令說明DCAB關(guān)閉所有邊界ACTV打開所選擇邊界和所選擇行READ輸入起始列地址開始讀操作WRT輸入起始列地址開始寫操作MRS配置SDRAM模式寄存器REFR自動循環(huán)刷新地址NOP不進(jìn)行操作C55xEMIF接口SDRAM命令2023/2/459TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試在進(jìn)行SDRAM操作時需要修改EMIF全局控制寄存器和片選控制寄存器1,接下來給出SDRAM所需設(shè)置字段表。所在寄存器位字段名稱數(shù)值說明全局控制寄存器11~9MEMFREQ000b001bCLKMEM頻率CLKOUT頻率CLKOUT頻率除2全局控制寄存器7WPE01后寫使能禁止后寫后寫使能全局控制寄存器5MEMCEN01存儲器時鐘使能CLKMEM保持高電平CLKMEM輸出使能全局控制寄存器0NOHOLD01外部保持控制允許外部保持禁止外部保持片選控制寄存器114~12MTYPE011b32位寬或16位寬SDRAM2023/2/460TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試除了設(shè)置以上寄存器以外還需要設(shè)置SDRAM控制寄存器
。SDRAM控制寄存器1位字段初始值說明15~11TRC1111b從刷新命令REFR到REFR/MRS/ACTV命令間隔CLKMEM周期數(shù)10SDSIZE0SDRAM寬度0:16位寬1:32位寬9SDWID0SDRAM容量0:64M位1:128M位8RFEN1刷新使能0:禁止刷新1:允許刷新7~4TRCD0100從ACTV命令到READ/WRITE命令CLKMEM周期數(shù)3~0TRP100從DCAB命令到REFR/ACTV/MRS命令CLKMEM周期數(shù)2023/2/461TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試SDRAM控制寄存器2位字段初始值說明10SDACC00:SDRAM數(shù)據(jù)總線接口為16位寬1:SDRAM數(shù)據(jù)總線接口為32位寬9~8TMRD11bACTV/DCAB/REFR延遲CLKMEM周期數(shù)7~4TRAS1111bSDRAS信號有效時持續(xù)CLKMEM周期數(shù)3~0TACTV2ACTV1111bSDRAS到SDRAS有效延遲CLKMEM周期數(shù)2023/2/462TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
SDRAM周期寄存器和計數(shù)寄存器用來設(shè)置SDRAM的刷新周期,其中周期寄存器存放刷新所需CLKMEM時鐘周期數(shù),計數(shù)寄存器存放刷新計數(shù)器當(dāng)前計數(shù)值。接下來分別給出不同寬度、不同容量SDRAM的連接關(guān)系圖。
2023/2/463TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試C55x與一片64M位(16位寬)SDRAM的連接
2023/2/464TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
圖中一片SDRAM的容量為64M位,而一個片選空間只有32M位,則需要占用2個連續(xù)的片選空間。但在連接片選信號時只需要連接第一個CEn信號即可,例在本例中只需要連接CE0信號,而CE1信號不需要連接。其他沒有用到的CEn信號(如CE2、CE3)可以供其他存儲器件使用。2023/2/465TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試C55x與一片64M位(32位寬)SDRAM的連接接2023/2/466TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試64M位(x32)SDRAM也占用了2個片選空間,所以只要連接CE0信號即可。C55x與一片64M位(16位寬)SDRAM的連接
2023/2/467TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試128MSDRAM將占用所有片選空間,而片選信號只需連接CE0信號即可,但應(yīng)注意CE1~CE3信號不能被其他的存儲器所使用。
C55x與一片128M位(32位寬)SDRAM的連接
2023/2/468TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.4.3外部寄存器接口的軟件設(shè)置
應(yīng)用芯片支持庫函數(shù)對外部寄存器接口進(jìn)行設(shè)置首先要在頭文件中包含csl_emif.h,接下來聲明EMIF配置結(jié)構(gòu):EMIF_ConfigConfig_EMIF={ 0x0281,/*EMIF全局控制寄存器*/ /*CLKMEM=OFF */ /*HOLD_disabled */ 0xFFFF,/*EMIF初始化寄存器*/ 0x100c,/*ce01*/ /*MTYPE=001B16位異步存儲器
READSTART=0000b讀建立周期為0 READSTROBE=000011b讀選通周期為3 READHOLD=01b讀保持周期為1 */2023/2/469TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試 0x0FFF,/*ce02*/ /*READEXTHOLD=00b WRITEEXTHOLD=00b WRITESETUP=1111b寫建立周期為=15 WRITESTROBE=111111b寫選通周期為=63 WRITEHOLD=11b寫保持周期為=3 */ 0x00FF,/*ce03*/ /*TIMEOUT=0XFF,timeout=255*/ 0x013E,/*ce11*/ /*MTYPE=000B8位異步存儲器
READSTART=0001b讀建立周期為1 READSTROBE=001111b讀選通周期為15 READHOLD=10b讀保持周期為2 */
2023/2/470TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試 0x0FFF,/*ce12*/ /*READEXTHOLD=00b WRITEEXTHOLD=00b WRITESETUP=1111b寫建立周期為15 WRITESTROBE=111111b寫選通周期為63 WRITEHOLD=11b寫保持周期為3 */ 0x00FF,/*ce13*/ 0x1105,/*ce21*/ /*MTYPE=001B16位異步存儲器
READSTART=0001b讀建立周期為1 READSTROBE=000001b讀選通周期為1 READHOLD=01b讀保持周期為1 */ 0x0105,/*ce22*/ /*READEXTHOLD=00b WRITEEXTHOLD=00b WRITESETUP=0001b寫建立周期為1
2023/2/471TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試 WRITESTROBE=000001b寫選通周期為1 WRITEHOLD=01b寫保持周期為3 0x00FF,/*ce23*/ 0x110D,/*ce31*/ /*MTYPE=001B16位異步存儲器
READSTART=0001b讀建立周期為1 READSTROBE=000011b讀選通周期為3 READHOLD=01b讀保持周期為1 */ 0x010D,/*ce32*/ /*READEXTHOLD=00b WRITEEXTHOLD=00b WRITESETUP=0001b寫建立周期為1 WRITESTROBE=000011b寫選通周期為3 WRITEHOLD=01b寫保持周期為1 */ 2023/2/472TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試 0x00FF,/*ce33*/ 0x07FF,/*sdc1*/ 0x0FFF,/*sdper*/ 0x07FF,/*init*/ 0x03FF/*sdc2*/ /*沒有SDRAM*/ };接下來調(diào)用EMIF配置函數(shù)完成配置過程:
EMIF_config(&Config_EMIF);
2023/2/473TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.5主機(jī)接口(EHPI)
主機(jī)接口可以讓外部的主處理器直接訪問C55x數(shù)字信號處理器內(nèi)存映射中的部分內(nèi)存,而無需DSP干預(yù)。通過主機(jī)接口還可以完成DSP的程序引導(dǎo),DSP向主機(jī)發(fā)出中斷信號要求主機(jī)響應(yīng)中斷等功能。EHPI的連接方式有兩種——非復(fù)用方式和復(fù)用方式。本節(jié)將重點講述兩種連接方式的異同之處,并給出具體實例。2023/2/474TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試EHPI接口信號簡介信號名稱類型說明HD[15:0]輸入/輸出/高阻主機(jī)數(shù)據(jù)總線在非復(fù)用模式下,只傳輸數(shù)據(jù)信號;復(fù)用模式下傳輸數(shù)據(jù)和地址信號HA[19:0]輸入主機(jī)地址總線復(fù)用模式下傳輸主機(jī)到HPI口的地址信號;復(fù)用模式下HA[1]變成HCNTL1,HA[2]變?yōu)镠AS_,其他引腳沒有使用HBE[1:0]輸入主機(jī)字節(jié)選擇信號,但在TMS320VC5510的2.0版本之后不再支持該信號HCS_輸入片選信號,低有效HR/W_輸入讀寫信號2023/2/475TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試HDS1_,HDS2_輸入數(shù)據(jù)選通信號,HPI接口的數(shù)據(jù)選通信號是這兩個信號的同或結(jié)果。選通信號至少應(yīng)持續(xù)2個CPU周期,HDS1_和HDS2_信號的連接根據(jù)主機(jī)選通信號而對應(yīng)不同的接法。主機(jī)有獨立的讀寫選通信號,并且低有效,則一個接HDS1_,另一個接HDS2_;主機(jī)只有一個低有效的選通信號,則這個信號接到HDS1_、HDS2_之一,而另一個引腳接高電平;主機(jī)有一個高有效地選通信號,則這個信號接HDS1_或HDS2_,另一個引腳接低電平HRDY輸出EHPI就緒信號。當(dāng)這個信號為低時,標(biāo)志EHPI接口忙,主機(jī)應(yīng)延長傳輸周期,信號為高時,表示傳輸過程已經(jīng)結(jié)束,主機(jī)可以繼續(xù)下一次傳輸。當(dāng)HCS_信號為高時,HRDY信號總為高EHPI接口信號簡介(續(xù))2023/2/476TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試HCNTL0、HCNTL1輸入EHPI口控制信號非復(fù)用模式下HCNTLO為低時,EHPI接口將訪問數(shù)據(jù)存儲器,為高時訪問EHPI控制寄存器,HCNTL1被地址線占用;復(fù)用模式下,HCNTL1和HCNTL0信號用來選擇訪問的寄存器類型HCNTL[1:0]寄存器訪問類型00HPIC讀或?qū)?1HPID讀寫,并且訪問后地址自動增加110HPIA讀寫11HPID讀寫,訪問后地址不增加HAS_輸入地址選通信號,該信號只在復(fù)用模式下起作用,這個信號使得HCNTL[1:0]和HR/W_信號可以在訪問結(jié)束之前就消失HMODE輸入EHPI模式選擇信號,當(dāng)為高時EHPI接口工作在非復(fù)用模式下,為低工作在復(fù)用模式下RST_MODE輸入復(fù)位模式信號,但該信號在高版本C55x處理器中已經(jīng)不再支持HINT_輸出DSP到主機(jī)中斷信號,該信號受狀態(tài)寄存器ST3_55中HINT位控制
EHPI接口信號簡介(續(xù))2023/2/477TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.5.1EHPI接口的非復(fù)用連接方式
非復(fù)用模式下,EHPI口地址和數(shù)據(jù)分別使用單獨的總線,接下來給出C55xDSP通過EHPI接口采用非復(fù)用方式訪問另一個C55xDSP的信號連接圖。
圖中DSP1的通用IO信號IO7用來選通數(shù)據(jù)寄存器或者控制寄存器,圖中沒有標(biāo)出的EHPI口信號不連接即可。非復(fù)用連接方式下數(shù)據(jù)和地址分別使用不同的總線,地址信號不必再通過EHPI數(shù)據(jù)總線傳遞,訪問更加方便、快捷。
2023/2/478TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
EHPI口非復(fù)用模式下的連接關(guān)系圖DSP1DSP2D[15:0]A[20:1]CE0AWEAREARDYIO7INT0HD[15:0]HA[19:0]HCS_HR/W_HDS1_HDS2_HRDYHCNTL0HINT_HMODE高電平2023/2/479TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.5.2EHPI接口的復(fù)用連接方式
EHPI口如果采用復(fù)用連接方式,地址和數(shù)據(jù)則都將通過數(shù)據(jù)總線傳遞,接下來給出PCI總線控制器PCI2040同C55xEHPI口的連接圖。
PCI2040是為C54x和C6000系列處理器通過HPI接口連接到PCI總線專門提供的,但由于C55x處理器的主機(jī)接口數(shù)據(jù)總線由C54x的8位變?yōu)?6位,因此C55x是模擬C6000的HPI接口同PCI2040相連接的,由于C6000的HRDY信號為低有效,而C55x的HRDY為高有效,因此C55x的HRDY信號必須通過一個非門連接到PCI2040上。PCI2040沒有HAS信號,故而C55x中的HAS_信號接到高電平。2023/2/480TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
PCI2040與C55xEHPI口復(fù)用方式下連接關(guān)系圖PCI2040C55x處理器HAD/GPD[15:0]HCS0HR/WHDSHRDYHCNTL0HCNTL1HINT0HRST0HD[15:0]HCS_HR/W_HDS1_HDS2_HRDYHCNTL0HCNTL1HINT_RESETHMODEHAS_低電平高電平高電平2023/2/481TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試5.5.3EHPI口的寄存器EHPI有下列寄存器:數(shù)據(jù)寄存器(HPID)、地址寄存器(HPIA)和控制寄存器(HPIC),數(shù)據(jù)寄存器是一個16位寄存器,用來存放輸入、輸出的數(shù)據(jù),在非復(fù)用方式下,該寄存器只起緩存作用,對主機(jī)來說該寄存器是透明的;而復(fù)用方式下,主機(jī)對DSP內(nèi)存的訪問都必須經(jīng)過數(shù)據(jù)寄存器,DSP再根據(jù)地址寄存器中的地址訪問數(shù)據(jù)存儲器。地址寄存器是一個16或20位寄存器,該寄存器保存復(fù)用方式下讀寫操作的地址,而地址寄存器也將根據(jù)HCNTL1和HCNTL0的狀態(tài)決定訪問結(jié)束后寄存器內(nèi)的地址是否加1,地址寄存器在非復(fù)用方式下不起作用??刂萍拇嫫鱄PIC控制數(shù)據(jù)的傳輸,主機(jī)還可以通過該寄存器向DSP發(fā)出中斷,要求DSP響應(yīng)中斷,另外主機(jī)通過控制HPIC中的RESET位,在DSP復(fù)位引腳為高時可以控制DSP的復(fù)位或使DSP脫離復(fù)位狀態(tài)。2023/2/482TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試HPIC寄存器的說明位字段復(fù)位值說明15~6Reserved保留5XADD01擴(kuò)展地址使能位。在復(fù)用模式下如果使用20位地址,則須通過設(shè)置該位決定訪問的是HPIA的19~16位還是15~0位。寫到HPIA的15~0位;寫到HPIA的19~16位4~2Reserved保留1DSPINT01主機(jī)對DSP的中斷申請位。清除DSPINT;向DSP發(fā)出中斷申請0RESET01復(fù)位。清除復(fù)位;使DSP停止進(jìn)入復(fù)位狀態(tài)2023/2/483TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試
利用RESET位,主機(jī)可以通過軟件使DSP進(jìn)入復(fù)位狀態(tài),在該狀態(tài)下,主機(jī)可以對DSP進(jìn)行程序加載,加載完成之后清除復(fù)位標(biāo)志,如果DSP設(shè)置的是EHPI引導(dǎo),在主機(jī)清除復(fù)位標(biāo)志后,DSP接下來將從10000h地址開始執(zhí)行程序。下圖給出了通過EHPI口加載DSP程序的流程,EHPI口的加載程序可以參考本書第7章第2節(jié)所給出的程序。
2023/2/484TMS320C55xDSP原理及應(yīng)用第5章TMS320C55x的片內(nèi)集成外設(shè)開發(fā)及測試通過EHPI口加載程序的過程DSP上電復(fù)位或正常運行主機(jī)設(shè)置HPIC中的RESET位為1,使DSP終止運行進(jìn)入復(fù)位狀態(tài)主機(jī)將程序下載到DSP內(nèi)存之中(程序的起始地址為10000h)主機(jī)清除H
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老舊廠區(qū)改造環(huán)境影響評估
- 2024年汽車直租融資租賃合同電子簽名認(rèn)證協(xié)議3篇
- 硬幣分離設(shè)計課程設(shè)計
- 2024年版勞動協(xié)議條款詳述版
- 照明課程設(shè)計前言
- 甲醇丙醇課程設(shè)計
- 2024年美洲航空貨運代理業(yè)務(wù)協(xié)議
- 2024年設(shè)備安裝與質(zhì)量保障分包合同2篇
- 2024年度少兒教育培訓(xùn)機(jī)構(gòu)招商合作教學(xué)合同范本3篇
- 2024年度智慧社區(qū)招投標(biāo)與合同實施保障合同3篇
- 《城市違法建設(shè)治理研究的文獻(xiàn)綜述》2100字
- 《XL集團(tuán)破產(chǎn)重整方案設(shè)計》
- 智慧金融合同施工承諾書
- 《基于Java web的網(wǎng)上招聘系統(tǒng)設(shè)計與實現(xiàn)》10000字(論文)
- 2024年1月國家開放大學(xué)法律事務(wù)專科《民法學(xué)(1)》期末紙質(zhì)考試試題及答案
- 【MOOC】模擬電子技術(shù)基礎(chǔ)-華中科技大學(xué) 中國大學(xué)慕課MOOC答案
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題
- 國家開放大學(xué)電大本科《工程經(jīng)濟(jì)與管理》2023-2024期末試題及答案(試卷號:1141)
- TBT3134-2023機(jī)車車輛驅(qū)動齒輪箱 技術(shù)要求
- 美國史智慧樹知到期末考試答案章節(jié)答案2024年東北師范大學(xué)
- 浙江省杭州市2021-2022學(xué)年九年級(上)期末科學(xué)試題【含答案】
評論
0/150
提交評論