DSP原理及應用教程-第二章 DSP芯片結構和CPU外圍電路_第1頁
DSP原理及應用教程-第二章 DSP芯片結構和CPU外圍電路_第2頁
DSP原理及應用教程-第二章 DSP芯片結構和CPU外圍電路_第3頁
DSP原理及應用教程-第二章 DSP芯片結構和CPU外圍電路_第4頁
DSP原理及應用教程-第二章 DSP芯片結構和CPU外圍電路_第5頁
已閱讀5頁,還剩118頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章DSP芯片結構和CPU外圍電路講課內容:1〕TMS320C55x處理器的特點2〕TMS320C55x處理器的CPU結構3〕TMS320C55x處理器的CPU外圍電路2.1DSP芯片結構第二章DSP芯片結構和CPU外圍電路第二章DSP芯片結構和CPU外圍電路2.1DSP芯片結構2.1.1TMS320C55x處理器的特點采用改進的哈佛結構。1條讀程序數(shù)據(jù)總線(PB),5條數(shù)據(jù)總線(BB,CB,DB,EB,FB),和他們對應的6條地址總線(PAB,BAB,CAB,DAB,EAB,FAB)40位和16位的算術邏輯單元(ALU)各1個,1個40位的移位器4個40位的累加器(AC0,AC1,AC2,AC3)和(T0,T1,T2,T3)17×17比特的硬件乘法器和一個40比特專用加法器的組合(MAC)比較、選擇和存儲單元數(shù)據(jù)地址產生單元(DAGEN)和程序地址產生單元(PAGEN)數(shù)據(jù)空間和和程序空間位同一物理空間,采用統(tǒng)一編址第二章DSP芯片結構和CPU外圍電路2.1.2TMS320C55xCPUCPU有4個功能單元:指令緩沖單元(I單元),程序流程單元(P單元),地址數(shù)據(jù)流程單元(A單元)和數(shù)據(jù)計算單元(D單元)CPU結構示意圖第二章DSP芯片結構和CPU外圍電路1、指令緩沖單元(IUnit)由指令緩沖隊列(IBQ)和指令譯碼器構成。I單元從程序數(shù)據(jù)總線接收程序指令代碼(每次接收32比特程序代碼)放到IBQ(最多可存放64字節(jié)的未譯碼指令)中。指令譯碼器從指令緩沖隊列中取指令(每次取6字節(jié)的程序代碼)進行變長8/16/24/32/48位〕指令譯碼。譯碼后的數(shù)據(jù)分別送到P單元,A單元,D單元處理。指令緩沖單元〔I單元〕圖第二章DSP芯片結構和CPU外圍電路2、程序流程單元(PUnit)組成:P單元由程序地址產生邏輯電路和一組存放器組構成。主要功能產生所有I單元讀取指令所需的24比特程序地址、控制指令讀取順序。一般情況下,產生的都是〔連續(xù)〕順序地址。在遇到指令要求讀取非連續(xù)地址程序代碼時,也可以根據(jù)來自I單元的立即數(shù)和D單元的寄存器值產生所需的地址,并將產生地址送到PAB。程序流程P單元結構圖第二章DSP芯片結構和CPU外圍電路在程序流程單元中,控制和影響程序地址的存放器有5類:1)程序流程存放器,包括:PC—程序計數(shù)器,RETA—返回地址存放器,CFCT—控制流程關系存放器;2)塊重復存放器,包括:BRC0、BRC1—塊重復存放器0和1、RSA0、RSA1—塊重復起始地址存放器,REA0、REA1—塊重復結束地址存放器0和1;3)單重復存放器,包括:RPTC—單重復計數(shù)器,CSR—計算單重復存放器;4)中斷存放器,包括:IFR0、IFR1〔標志〕,IER0、IER1〔使能〕,DBIER0、DBIER1〔調試中斷使能〕;5)狀態(tài)存放器:ST0_55、ST1_55、ST2_55、ST3_55第二章DSP芯片結構和CPU外圍電路3、地址流程單元〔AUnit〕功能和組成:產生讀寫數(shù)據(jù)空間的地址。由數(shù)據(jù)地址產生電路(DAGEN),16比特的算術邏輯ALU電路和一組存放器構成。DAGEN可以根據(jù)I單元的立即數(shù)和本A單元的存放器數(shù)據(jù)產生讀寫數(shù)據(jù)空間的所有地址。在間接尋址中,還需要有P單元來指示采用那種尋址模式。地址流程單元結構圖第二章DSP芯片結構和CPU外圍電路A單元16位ALU的功能能接收I單元數(shù)據(jù),又能夠和存儲器、I/O空間、A單元存放器、D單元存放器和P單元存放器進行數(shù)據(jù)交換,完成算術、邏輯、位操作、移位、測試、旋轉等操作。A單元包括的存放器有以下4種類型:1)數(shù)據(jù)頁存放器(DataPageRegister):DPH、DP、〔接口數(shù)據(jù)頁〕PDP2)指針存放器(Pointers):CDPH、CDP—系數(shù)數(shù)據(jù)、SPH、SP、SSP—棧、XAR0~XAR7—輔助3)循環(huán)緩沖存放器(CircularBufferRegisters):BK03、BK47、BKC—大小,BSA01、BSA23、BSA45、BSA67、BSAC—起始地址4)臨時存放器(TemporaryRegisters):T0~T3第二章DSP芯片結構和CPU外圍電路4、數(shù)據(jù)計算單元(DUnit)D單元包括了CPU的主要計算部件,能夠完成高效的計算功能。組成:移位器、40比特算術邏輯ALU電路、兩個乘累加器(MAC)和假設干存放器組構成。移位器D單元移位器能夠接收來自I單元的立即數(shù),與存儲器、I/O空間、A單元存放器、D單元存放器和P單元存放器進行雙向通信。此外,還向D單元的ALU和A單元的ALU提供移位后的數(shù)據(jù)。數(shù)據(jù)計算單元結構圖第二章DSP芯片結構和CPU外圍電路2.1.3CPU外圍電路:除CPU以外的一些功能單元和外部接口。

時鐘發(fā)生器(Clock)

定時器(Timer)

多通道緩沖串口(McBSP)

主機接口(EHPI)

外部存儲器接口(EMIF)

通用輸入/輸出口(GPIO)

片內存儲區(qū)(Momery)DMA控制器高速指令緩沖存儲器

(Instructioncache)第二章DSP芯片結構和CPU外圍電路時鐘發(fā)生器1、工作模式(1)功能將輸入時鐘CLKIN變?yōu)镃PU及外圍電路所需要的工作時鐘。通過時鐘輸出腳CLKOUT輸出,供其它器件使用。(2)組成時鐘發(fā)生器由一個數(shù)字鎖相環(huán)(DPLL)和一個模式控制存放器(CLKMD)組成。DPLLCLKMD寄存器CLKINpinCLKOUTpinCLKMDpin第二章DSP芯片結構和CPU外圍電路(3)兩種工作模式(模式控制存放器標志位的定義)假設PLL_ENABLE=0,DPLL工作于旁路(BYPASS)模式。假設PLL_ENABLE=1,DPLL工作于鎖定(LOCK)模式。旁路模式中:DPLL只對輸入時鐘CLKIN作簡單的分頻,分頻次數(shù)由BYPASS_DIV字段確定。假設BYPASS_DIV=00,為一分頻,即CLKOUT等于CLKIN。假設BYPASS_DIV=01,為二分頻,即CLKOUT等于CLKIN的一半。假設BYPASS_DIV=1x,為四分頻,即CLKOUT等于CLKIN的四分之一。第二章DSP芯片結構和CPU外圍電路鎖定模式中DPLL鎖相環(huán)對輸入時鐘CKLIN進行跟蹤鎖定,可得到如下輸出的時鐘頻率:PLL_MULT:鎖定模式下的倍頻次數(shù),取值0到31PLL_DIV:鎖定模式下的分頻次數(shù),取值0到3。CLKOUT=PLL_MULTPLL_DIV+1×CLKIN1<PLL_MULT≤31時CLKOUT=1PLL_DIV+1×CLKINPLL_MULT=0或1時5比特2比特第二章DSP芯片結構和CPU外圍電路4、使用方法(1)DSP復位對時鐘發(fā)生器的影響在DSP復位期間和復位后,DPLL工作于旁路模式,此時的分頻次數(shù)(BYPASS_DIV)由CLKMD管腳上的電平確定,從而確定了它的輸出時鐘頻率。假設CLKMD管腳為低電平,那么BYPASS_DIV=00,CLKOUT等于CLKIN。假設CLKMD管腳為高電平,那么BYPASS_DIV=01,CLKOUT等于CLKIN的一半。第二章DSP芯片結構和CPU外圍電路(2)失鎖對時鐘發(fā)生器的影響鎖相環(huán)是通過對輸入基準時鐘進行跟蹤鎖定來穩(wěn)定其輸出時鐘的,在鎖定之后,由于某些因素使其輸出時鐘發(fā)生偏移,即失鎖。發(fā)生失鎖時,DPLL的動作由IOB字段控制:假設IOB=1,時鐘電路會自動切換到旁路模式,并重新開始跟蹤鎖定過程,在鎖定后又自動切換回鎖定模式。假設IOB=0,DPLL會繼續(xù)輸出時鐘,而不管鎖相環(huán)是否失鎖第二章DSP芯片結構和CPU外圍電路(3)省電狀態(tài)對時鐘發(fā)生器的影響當時鐘發(fā)生器退出省電(IDLE)狀態(tài)時,不管進入省電狀態(tài)之前工作于什么模式,DPLL都會切換到旁路模式,并由IAI字段確定進一步操作:假設IAI=1,DPLL將重新開始整個跟蹤鎖定過程。假設IAI=0,DPLL將使用與進入省電模式之前相同的設置進行跟蹤鎖定第二章DSP芯片結構和CPU外圍電路5、DPLL模式控制存放器CLKMD(1)BREAKLN為失鎖指示(只讀)0:表示由于某種原因引起PLL失鎖;1:表示處于鎖定狀態(tài),或發(fā)生對CLKMD存放器的寫操作。(2)LOCK為鎖定模式指示(只讀)0:表示DPLL處于旁路模式1:表示DPLL處于鎖定模式第二章DSP芯片結構和CPU外圍電路6、時鐘發(fā)生器應用舉例問題:假定輸入時鐘頻率CLKIN為20MHz,而DSP需要的工作時鐘為160MHz。解:(1)需要將時鐘發(fā)生電路設為鎖定模式;(2)根據(jù)倍頻次數(shù)PLL_MULT與分頻次數(shù)PLL_DIV的關系CLKOUT=PLL_MULTPLL_DIV+1×CLKIN1<PLL_MULT≤31時PLL_MULT=8×(PLL_DIV+1)PLL_DIV和PLL_MULT為(0,8),(1,16),(2,24)或(3,32)第二章DSP芯片結構和CPU外圍電路(3)取PLL_DIV和PLL_MULT為(0,8),要求DPLL失鎖或退出省電狀態(tài)后重新鎖定,即IOB=IAI=1。例程如下:MOV#0X6413,PORT(#CLKMD)01100100000100111000100011第二章DSP芯片結構和CPU外圍電路通用定時器一、組成和框圖C5509DSP片內有兩個定時器:Timer0,Timer1;具有定時或計數(shù)功能。計數(shù)器在每個時鐘周期減1,當減到0就產生一個輸出信號。該輸出信號可用于中斷CPU或觸發(fā)DMA傳輸(稱為定時器事件)。定時器由時鐘、控制存放器、計數(shù)器和定時器事件等局部構成。第二章DSP芯片結構和CPU外圍電路4比特預定標器TIN/TOUT16比特主計數(shù)器CPU中斷DMA同步事件CPU時鐘1、時鐘局部可采用內部CPU時鐘;也可采用來自TIN/TOUT管腳的外部輸入時鐘。2、兩個定時器一個用于定時器工作(遞減方式)一個用于CPU讀寫(設置定時長度)3、定時器事件產生三個輸出信號:CPU中斷、DMA同步事件、TIN/TOUT管腳輸出信號。第六章DSP芯片內的CPU外圍電路二、時鐘局部定時器的工作時鐘可來自DSP內部的CPU時鐘,也可來自TIN/TOUT管腳輸入的外部時鐘。具體時鐘源的選擇和TIN/OUT管腳的功能由控制存放器TCR中的FUNC字段確定。FUNC=00時,TIN/TOUT為高阻態(tài),時鐘源為CPU時鐘。該模式為復位后的缺省模式。FUNC=01時,TIN/TOUT為定時器輸出,時鐘源為CPU時鐘,可以輸出時鐘信號或脈沖信號。FUNC=10時,TIN/TOUT為通用輸出,時鐘源為CPU時鐘。此時,TIN/OUT作為通用輸出,其電平由控制存放器TCR中的DATOUT字段確定。FUNC=11時,TIN/TOUT為時鐘源輸入,定時計數(shù)器將在其上升沿遞減。第二章DSP芯片結構和CPU外圍電路三、計數(shù)器局部C5509定時器的計數(shù)器分為兩類:一類用于定時器工作,一類用于CPU設置定時長度。定時長度為20比特:4比特的預定標器和16比特的主計數(shù)器。其中,4比特的預定標值由預定標存放器PRSC定義:16比特主定時器的值由定時周期存放器PRD定義。第二章DSP芯片結構和CPU外圍電路定時器的工作方式設定時器的工作時鐘周期為Tclock,那么定時長度T可用下式計算:定時器的設置步驟CPU將定時長度的預定標值和周期值分別寫入TDDR和PRD將控制存放器TCR中的TLB設為1,使定時器把PRD值和TDDR值分別拷貝到它的工作存放器TIM和PSC中。把控制存放器TCR中的TSS字段設為0啟動定時器。T=Tclock×(PRD+1)×(TDDR+1)第二章DSP芯片結構和CPU外圍電路四、定時器控制存放器TCRIDLE_EN:省電控制使能位,0:禁止省電模式,1:允許省電模式INT/EXT:時鐘源從內部切換到外部的指示標志,當時鐘源從內部切換到外部要檢測此位來決定是否準備好使用外部時鐘。0:定時器沒準備好使用外部時鐘,1:定時器準備好使用外部時鐘。ERR_TIM:定時器錯誤標志,0:正常,1:錯誤第二章DSP芯片結構和CPU外圍電路FUNC:定時器工作模式選擇;TLB:定時長度拷貝控制,0:停止拷貝,1:拷貝SOFT和FREE:在仿真時遇到高級語言調試器斷點時的處理方式00:定時器立刻停止01和11:定時器繼續(xù)運行10:在主計數(shù)器TIM減為0時停止。PWID:TIN/TOUT管腳輸出脈沖的寬度。當PWID=00時,TIN/TOUT輸出脈寬為1個CLKOUT周期當PWID=01時,TIN/TOUT輸出脈寬為2個CLKOUT周期當PWID=10時,TIN/TOUT輸出脈寬為4個CLKOUT周期當PWID=11時,TIN/TOUT輸出脈寬為8個CLKOUT周期第二章DSP芯片結構和CPU外圍電路ARB:自動重裝控制。0:不自動重裝,1:自動重裝,即每次TIM減為0時,定時器又會把PRD值和TDDR值分別拷到TIM和PSC,繼續(xù)定時。TSS:定時器停止控制,0:啟動,1:停止C/P:TIN/TOUT引腳輸出脈沖/時鐘選擇,0:輸出脈沖,1:輸出時鐘。POLAR:TIN/TOUT引腳輸出信號的極性,0:正極性,1:負極性DATOUT:TIN/TOUT引腳作通用輸出時的電平,0:低電平,1:高電平第二章DSP芯片結構和CPU外圍電路五、應用舉例

假定定時器0的工作時鐘為160MHz,請配置定時長度為5ms的定時器。解:根據(jù)定時器公式:即(PRD+1)×(TDDR+1)=800000取TDDR=15(0x0F)、PRD=49999(0xC34F)。完成這一定時長度的程序如下:

MOV#0x000f,PORT(#PRSC0);寫入預定標值。MOV#0xc34f,PORT(#PRD0);寫入周期值MOV#0x0fd0,PORT(#TCR0);將PRD0和TDDR0分別拷貝到TIM0和PSC0MOV#0x0Bc0,PORT(#TCR0);TLB=TSS=0,停止拷貝,開始定時第二章DSP芯片結構和CPU外圍電路2.4外部存儲器接口EMIF

TMS320C5509DSP的外部存儲器接口EMIF有:

16位的數(shù)據(jù)總線D[15:0];

4個片選輸出CE[3:0]和其它多種控制信號。能支持多種不同類型的外部存儲器件。片選空間EMIF接口的4個片選空間對應的地址如以下圖。ST3_55中的MPNMC字段控制片內ROM的使用

1:CE3空間長度為4MB0:后32KB空間被片上ROM占用。第二章DSP芯片結構和CPU外圍電路一、與外部存儲器接口方法C5510DSP的外部存儲器接口EMIF可以提供高度靈活的接口方式,每個片選都可以連接不同類型的存儲器件,單獨設置讀寫時序參數(shù)等。支持的接口有:

包括異步SRAM、ROM、FLASH(閃速存儲器)、EPROM等,EMIF能夠提供可配置的定時參數(shù),提供高度靈活的存儲器時序。每個接口都可以支持程序代碼訪問32bit數(shù)據(jù)訪問、16bit數(shù)據(jù)訪問、8bit數(shù)據(jù)訪問。第二章DSP芯片結構和CPU外圍電路1、片選控制存放器CEx_1(x=0~3)根據(jù)片選控制存放器中的MTYPE段來設置訪問類型。MTYPE=000:異步,8比特寬MTYPE=001:異步,16比特寬MTYPE=010:保存MTYPE=011:16比特寬的SDRAM第二章DSP芯片結構和CPU外圍電路2、異步存儲器接口方案:低電平有效的片選信號,用于指定要訪問的外部空間。CEn

ARDY:異步訪問就緒指示,使EMIF可以延緩異步訪問速度。A[13:0]:14位地址數(shù)據(jù)總線。:低電平有效的異步輸出使能信號,連接異步存儲器的輸出使能引腳。AOE:低電平有效的異步讀使能信號。ARE:低電平有效的異步寫使能信號。AWE:低電平有效的字節(jié)選擇信號,用于指定要訪問的字節(jié)位置。BE[3:0]D[15:0]:16位數(shù)據(jù)總線第二章DSP芯片結構和CPU外圍電路EMIF的異步讀操作時序地址有效讀選通有效外部器件沒準備好第二章DSP芯片結構和CPU外圍電路EMIF的異步寫操作時序第二章DSP芯片結構和CPU外圍電路與EMIF的異步接口有關的存放器全局控制存放器EGCR全局復位存放器EMI_RST總線錯誤狀態(tài)存放器EMI_BE片選0空間控制存放器1/2/3CE0_1/CE0_2/CE0_3片選1空間控制存放器1/2/3CE1_1/CE1_2/CE1_3片選2空間控制存放器1/2/3CE2_1/CE2_2/CE2_3片選3空間控制存放器1/2/3CE3_1/CE3_2/CE3_3第二章DSP芯片結構和CPU外圍電路全局控制存放器EGCR〔控制4個片選空間的公共參數(shù)〕

MEMFREQ:同步存儲器的時鐘頻率,00:CLKEM是DSPCPU時鐘

01:DSP時鐘的2分頻。

WPE:后寫使能,0:禁止,1:使能

MEMCEN:同步存儲器時鐘輸出使能,決定CLKMEM是否使用

ARDY:ARDY管腳上的輸入電平,0:外部器件沒有準備好,1:表示準備好。

HOLD_:HOLD_管腳上的輸入電平。

HOLDA_:HOLDA_管腳上的輸出電平。表示DSP對外部總線征用的響應。

NOHOLD:外部總線征用使能。第二章DSP芯片結構和CPU外圍電路總線錯誤狀態(tài)存放器EMI_BE〔標志總線錯誤的類型和位置〕如果訪問出錯,置位存放器中相應的標志位,表示出錯的原因TIME:超時錯誤CE3/CE2/CE1/CE0:表示訪問CE3/CE2/CE1/CE0出錯。DMA:DMA出錯FBUS/EBUS/DBUS/CBUS:表示CPU讀或寫這些總線出錯。PBUS:程序總線出錯。第二章DSP芯片結構和CPU外圍電路EMIF全局復位存放器EMI_RST任何對EMI_RST存放器的寫操作都會復位EMIF狀態(tài)機,但是不改變當前的配置,此存放器不可讀。第二章DSP芯片結構和CPU外圍電路片選控制存放器CEx_1(x=0~3)

MTYPE:存儲器的類型READSETUP:讀建立時間,1~15個DSP時鐘周期READSTROBE:讀選通時間,1~15個DSP時鐘周期READHOLD:讀保持時間,0~3個DSP時鐘周期第二章DSP芯片結構和CPU外圍電路片選控制存放器CEx_2(x=0~3)READEXTENDEDREAD:讀延長保持時間,1~3個DSP時鐘周期WRITEEXTENDEDREAD:寫延長保持時間,1~3個DSP時鐘周期WRITESETUP:寫建立時間,1~15個DSP時鐘周期WRITESTROBE:寫選通時間,1~15個DSP時鐘周期WRITEHOLD:寫保持時間,0~3個DSP時鐘周期第二章DSP芯片結構和CPU外圍電路片選控制存放器CEx_3(x=0~3)TIMEOUT:從選通STROBE的第三個周期開始,假設在TIMEOUT個周期后,仍沒有響應,視為訪問超時錯誤。0表示不允許超時,僅對異步存儲器起作用。注意:三個片選控制存放器中除MTPYE外,其它僅對異步存儲器的時序階段設置,對同步存儲器不影響。第二章DSP芯片結構和CPU外圍電路3、同步動態(tài)RAM接口

SDRAM是一種高密度,高速率的同步動態(tài)RAM,它按行列的方式來組織存儲陣列,并通過行列地址對數(shù)據(jù)讀寫。C5509的EMIF能支持容量為64Mbit或128Mbit寬度為16位的SDRAM。5、應用舉例問題:假定有一個16位寬的異步SRAM接在EMIF的片選空間1(CE1)上,要求將C5509片內DARAM中從地址000060H開始的200個16位的數(shù),寫入該SRAM中從地址208800h開始的數(shù)據(jù)區(qū)域中。解:MOV#0x0000,PORT(#EMI_RST);復位EMIF狀態(tài)機等待100個周期

RPT#99;單指令無條件重復,下條指令重復99+1=100次NOP;空操作指令,需要的周期數(shù)為1

MOV#0x000f,PORT(#EGCR);禁止同步時鐘和總線占用請求

MOV#0x121D,PORT(#CE1_1);MTYPE=001,16位異步存儲器,;RSETUP=2,RSTROBE=7,RHOLD=1

MOV#0319,PORT(#CE1_2);沒有延長保持時間,;;WSETUP=3,WSTROBE=6,WHOLD=1

MOV#0x001F,PORT(#CE1_3);TIMEOUT=31第二章DSP芯片結構和CPU外圍電路AMOV#000060h,XAR0AMOV#208800h,XAR2RPT#199MOVdbl(*AR0+),dbl(*AR2+);利用AR間接尋址,生存地址之后+1NOP第二章DSP芯片結構和CPU外圍電路作業(yè):假定有一個16位寬的異步SRAM接在EMIF的片選空間1(CE1)上,要求如下:

將C5510片內DARAM中從地址000060H開始的100個16位的數(shù),寫入該SRAM中從地址208800h開始的數(shù)據(jù)區(qū)域中。讀/寫建立、讀/寫選通、讀/寫保持時間均為3個DSP時鐘周期。讀/寫延長保持時間為2個DSP時鐘周期設計任務:(1)畫出EMIF與該SRAM接口連接圖

(2)試編寫完成設計要求的程序第二章DSP芯片結構和CPU外圍電路2.5增強型主機接口EHPIC5509DSP有一個16位的增強型主機接口EHPI,可與外部主機相連,使DSP系統(tǒng)受控于外部主機。EHPI主要有:地址存放器HPIA,數(shù)據(jù)存放器HPID,控制存放器HPIC和控制邏輯構成。通過專門的EHPI通道與DSP內的DMA控制器相連,使主機能夠訪問DSP的片內存儲空間和局部外部存儲空間。第二章DSP芯片結構和CPU外圍電路一、地址/數(shù)據(jù)14位的地址總線HA[13:0]:可以訪問16K×16的存儲空間數(shù)據(jù)總線HD[15:0]:用于連接外部主機和內部的數(shù)據(jù)存放器HPID,支持8比特、16比特的數(shù)據(jù)訪問。字節(jié)選擇信號HBE[1:0]:用于選擇訪問的字節(jié)HBE[1:0]=00:按字的方式訪問,使用16位數(shù)據(jù)總線HD[15:0]HBE[1:0]=01:訪問字的高8位,使用數(shù)據(jù)總線的高8位HD[15:8]HBE[1:0]=10:訪問字的低8位,使用數(shù)據(jù)總線的低8位HD[7:0]第二章DSP芯片結構和CPU外圍電路二、選通信號EHPI的選通信號包括片選信號HCS_:低電平有效,表示地址線和控制線上的輸入為有效輸入。數(shù)據(jù)選通HDS1_和HDS2_:用于控制主機訪問期間的數(shù)據(jù)傳遞。以兩個信號的異或非為準,低電平有效,脈沖寬度至少為2個DSP時鐘周期。地址選通HAS_:只是在復用模式下使用(與地址線HA2共用一個管腳),EHPI在其上升沿有效,將數(shù)據(jù)總線上的信號鎖存到地址存放器HPIA中。第二章DSP芯片結構和CPU外圍電路三、控制信號1、就緒信號HRDYHRDY為低電平:表示EHPI忙,主機需要插入等待時間HRDY為高電平:表示EHPI已完本錢次數(shù)據(jù)傳輸,主機可以再次發(fā)起訪問。2、讀寫信號HR/W_HR/W_為高電平:主機讀EHPI。HR/W_為低電平:主機寫EHPI。3、主機中斷信號HINT_用于DSP向主機發(fā)送負脈沖形式的中斷信號。第二章DSP芯片結構和CPU外圍電路4、存放器訪問選擇HCNTL0和HCNTL1(用于選擇訪問的存放器)在非復用模式下只使用HCNTL0HCNTL0為低電平:訪問EHPI控制存放器HPIC。HCNTL0為高電平:訪問EHPI數(shù)據(jù)存放器HPID。在復用模式下,使用HCNTL0和HCNTL1來選擇要訪問的存放器HCNTL[1:0]=00:訪問EHPI控制存放器HPIC。HCNTL[1:0]=01:按地址遞增的方式訪問數(shù)據(jù)存放器HPID。HCNTL[1:0]=10:訪問地址存放器HPIA。HCNTL[1:0]=11:按隨機地址方式訪問數(shù)據(jù)存放器HPID。第二章DSP芯片結構和CPU外圍電路四、EHPI的存放器16位的地址存放器HPIA:用于在復用模式下存放地址。工作于自動遞增模式時,HPIA的值在每次訪問后自動加1,因此,只需要設置數(shù)據(jù)塊的起始地址,就可以訪問一連續(xù)存放的數(shù)據(jù)。16位的數(shù)據(jù)存放器HPID:用于存放讀寫的數(shù)據(jù)。16位的控制存放器HPIC15~2:reserved:保存1:DSPINT:主機對DSP的中斷,0:去除中斷;1:向DSP發(fā)送中斷請求。0:reserved:保存第二章DSP芯片結構和CPU外圍電路五、EHPI對DSP的復位DSP的復位信號來自RESET管腳,當復位信號為低電平時,DSP復位。六、接口時序

主機和DSP有兩種接口時序方式:非復用方式和復用方式。第二章DSP芯片結構和CPU外圍電路非復用模式HPID用于臨時存放要通過EHPI傳送的數(shù)據(jù)。如果是讀操作,那么HPID中裝有在DSP存儲區(qū)中讀到的數(shù)據(jù);如果是寫操作那么HPID中裝有要寫入DSP存儲區(qū)的數(shù)據(jù)。通過配置控制存放器HPIC可以向DSP發(fā)中斷,并且可以控制DSP的復位。要訪問HPIC必須使HCNTL0信號為低。第二章DSP芯片結構和CPU外圍電路復用模式(a)為信號被使用時的連接

(b)為高電平(不被使用)時的連接

第二章DSP芯片結構和CPU外圍電路七、應用舉例

用一片C5509(DSP1)的EMIF與另一片C5509(DSP2)的EHPI相連,DSP1為主機,采用非復用模式于DSP2通信,并由GPIO來選擇要訪問的對象(HPIC或數(shù)據(jù)空間)。要求DSP1向DSP2中的緩沖區(qū)寫入一段數(shù)據(jù)后用中斷方式通知DSP2對該段數(shù)據(jù)進行處理。假定DSP1中的數(shù)據(jù)緩沖區(qū)起始地址為000100h,長度為100個字;DSP2中的數(shù)據(jù)緩沖區(qū)的起始地址為000060,長度為200個字。(連接方式如教材32頁所示)第二章DSP芯片結構和CPU外圍電路DSP1中完成該任務的程序如下:MOV#0x000100,XAR0;源地址MOV#0x200060,XAR1;目標地址,采用CE1,起始地址為20000hMOV#0x0001,port(#IODIR);配置GPIO0為輸出MOV#0x0001,port(#IODATA);GPIO0輸出高電平RPT#99MOV*AR0+,*AR1+MOV#0x0000,port(#IODATA);GPIO輸出低電平,要訪問DSP2的HPICMOV#0x0003,*AR1;DSPINT=1,向DSP2發(fā)中斷。RPT#3NopMOV#0x0001,*AR1;DSPINT=0,停止向DSP2發(fā)中斷GPIO0和HCNTL0相連,HCNTL0=1,訪問數(shù)據(jù)區(qū)第二章DSP芯片結構和CPU外圍電路2.6多通道緩沖串口McBSP一、概述1、McBSP的功能全雙工通信雙緩沖數(shù)據(jù)存放器,允許連續(xù)的數(shù)據(jù)流。收發(fā)獨立的幀信號和時鐘信號可以與工業(yè)標準的編/解碼器,以及其它串行A/D、D/A接口數(shù)據(jù)傳輸可以利用外部時鐘、或是片內的可編程時鐘。利用DMA為McBSP效勞時,串口數(shù)據(jù)讀寫具有自動緩沖能力。第二章DSP芯片結構和CPU外圍電路2、其它的特點可與多達128個通道進行收發(fā);支持傳輸?shù)臄?shù)據(jù)字長可以是8bit、12bit、16bit、20bit、24bit、32bit

內置u律和A律壓擴硬件。

對8bit數(shù)據(jù)的傳輸,可選擇LSB先傳,還是MSB先傳??稍O置幀同步信號和數(shù)據(jù)時鐘信號的極性。內部傳輸時鐘和幀同步信號可編程程度高。u律〔m-Law〕壓擴主要用在北美和日本等地區(qū)的數(shù)字通信中。m為確定壓縮量的參數(shù),它反映最大量化間隔和最小量化間隔之比。A律〔A-Law〕壓擴主要用在歐洲和中國大陸等地區(qū)的數(shù)字通信中。A為確定壓縮量的參數(shù),它反映最大量化間隔和最小量化間隔之比。第二章DSP芯片結構和CPU外圍電路一、根本結構C5509有三個多通道緩沖串口McBSP,每個McBSP可以分為收發(fā)通道、時鐘與幀同步、多通道選擇和串口事件等4局部。McBSP在外部通過假設干管腳與其它串行器件相連,在內部通過16位的外設總線與CPU和DMA控制器相連。外時鐘第二章DSP芯片結構和CPU外圍電路1、收發(fā)通道接收通道由接收數(shù)據(jù)管腳DR、接收時鐘CLKR、接收幀同步FSR、接收移位存放器RSR、接收緩沖存放器RBR和數(shù)據(jù)接收存放器DRR組成。發(fā)送通道由發(fā)送數(shù)據(jù)管腳DX、發(fā)送時鐘CLKX、發(fā)送幀同步FSX、發(fā)送移位存放器XSR和數(shù)據(jù)發(fā)送存放器DXR組成。數(shù)據(jù)壓擴器,對發(fā)送的數(shù)據(jù)按μ律或A律壓縮再發(fā)送,對接收的數(shù)據(jù)進行擴展。是個可選項,可通過控制存放器進行選擇。McBSP的收發(fā)通道是相對獨立的,可單獨使用,也可同時使用。可根據(jù)要求對相應的存放器進行配置。第二章DSP芯片結構和CPU外圍電路2、接收通道接收的數(shù)據(jù)到達管腳DR,在接收時鐘CLKR的上升沿(或下降沿)被逐位依次移入RSR。收滿一個字后,被拷貝到緩沖存放器RBR,再拷貝到數(shù)據(jù)接收存放器DRR,同時設置接收標志位RRDY,并通過串口事件通知CPU或DMA已經接到數(shù)據(jù)。CPU或DMA可以通過外設總線從DRR讀取接收到的數(shù)據(jù)。第二章DSP芯片結構和CPU外圍電路3、發(fā)送通道CPU或DMA將數(shù)據(jù)寫入數(shù)據(jù)發(fā)送存放器DXR,接著拷貝到發(fā)送移位存放器XSR,在發(fā)送幀同步FSX后,CLKR的上升沿(或下降沿)到來時,XSR的內容被逐位依次移到發(fā)送管腳DX上。同時,McBSP也會設置發(fā)完標志XRDY,并通過串口事件通知CPU或DMA數(shù)據(jù)已發(fā)出去。這種多級緩沖方式使得片內的數(shù)據(jù)搬移和外部數(shù)據(jù)的通信可以同時進行。第二章DSP芯片結構和CPU外圍電路4、時鐘與幀同步(時鐘和幀同步具有靈活的信號形式和設置手段)McBSP的時鐘與幀同步由一組存放器和一個采樣速率發(fā)生器SRG組成。用戶可以通過存放器設定相應的參數(shù),采樣速率發(fā)生器SRG就會根據(jù)這些參數(shù)將輸入參考時鐘變?yōu)樗枰拇跁r鐘和幀同步信號。(1)采樣速率發(fā)生器的輸入參考時鐘SRG的工作原理:通過對輸入參考時鐘進行分頻得到所需要串口時鐘和幀同步信號??晒┻x擇的輸入參考時鐘有4個。來自CLKX腳的發(fā)送時鐘來自CLKR腳的接收時鐘來自CLKS腳的輸入時鐘(外時鐘)來自時鐘發(fā)生器的CPU時鐘第二章DSP芯片結構和CPU外圍電路究竟選用哪個時鐘,由采樣速率發(fā)生存放器2(SRGR2)中的CLKSM字段和管腳控制存放器(PCR)中的SCLKME字段來確定。當SCLKME=0,CLKSM=0時,選擇CLKS腳上的輸入信號為輸入參考時鐘;當SCLKME=0,CLKSM=1時,選擇CPU時鐘作為參考時鐘;當SCLKME=1,CLKSM=0時,選擇CLKR腳上的時鐘為參考時鐘;當SCLKME=1,CLKSM=1時,選擇CLKX腳上的時鐘為參考時鐘。(2)采樣速率發(fā)生器的輸出時鐘和幀同步輸入的參考時鐘經過分頻產生SRG輸出時鐘CLKG。分頻次數(shù)由采樣速率發(fā)生存放器1(SRGR1)中的CLKDV字段(8bit)根據(jù)如下公式決定:FCLKG=Fclocksource/(CLKDV+1),1≤CLKGDV≤255串口的最高時鐘速率為CPU時鐘的一半第二章DSP芯片結構和CPU外圍電路幀同步信號FSG由CLKG進一步分頻而來,分頻次數(shù)由采樣速率發(fā)生存放器2(SRGR2)中的FPER(12bit)字段根據(jù)如下公式確定:幀同步脈沖的寬度由抽樣速率發(fā)生存放器1〔SRGR1〕中的FWID字段確定:

抽樣速率發(fā)生器產生的時鐘和幀同步信號既可以用來驅動接收通道的時鐘和幀同步,也可以用來驅動發(fā)送通道的時鐘和幀同步。FFSG=FCLKG/(FPER+1)=Fclocksource/(CLKDV+1)(FPER+1)0≤FPER≤4095WFSG=(FWID+1)×TCLKG0≤FWID≤255,TCLKG為CLKG的周期第二章DSP芯片結構和CPU外圍電路(3)時鐘信號的方向性和極性時鐘管腳CLKX和CLKR的方向分別由管腳控制存放器(PCR)中的CLKXM和CLKRM字段控制,而CLKS管腳那么只能是輸入。當CLKX(R)M=1時,CLKX(R)由CLKG驅動,為輸出;當CLKX(R)M=0時,CLKX(R)由外部管腳驅動,為輸入。第二章DSP芯片結構和CPU外圍電路CLKX管腳和CLKR管腳上信號的極性分別由管腳控制存放器(PCR)中的CLKXP和CLKRP字段控制,CLKS管腳上信號的極性由采樣速率發(fā)生器2(SRGR2)中的CLKSP字段確定。CLKXP=CLKRP=CLKSP=0時,CLKX、CLKR和CLKS為正極性,以上升沿開始。CLKXP=CLKRP=CLKSP=1時,CLKX、CLKR和CLKS為負極性,以下降沿開始。第二章DSP芯片結構和CPU外圍電路(4)幀同步信號的方向和極性發(fā)送幀同步FSX的方向由管腳控制存放器(PCR)中的FSXM字段和采樣速率發(fā)生存放器2(SRGR2)中的FSGM字段共同確定。當FSXM=0,F(xiàn)SGM=x時,F(xiàn)SX為輸入,由外部信號源驅動;當FSXM=1,F(xiàn)SGM=0時,F(xiàn)SX為輸出,由DXR到XSR的拷貝動作驅動;當FSXM=1,F(xiàn)SGM=1時,F(xiàn)SX為輸出,由FSG驅動。發(fā)送幀同步FSX的極性由管腳控制存放器(PCR)中的FSXP字段確定。當FSXP=0時,F(xiàn)SX為正極性,即高電平有效;當FSXP=1時,F(xiàn)SX為負極性,即低電平有效。第二章DSP芯片結構和CPU外圍電路接收幀同步FSR的方向由管腳控制存放器(PCR)中的FSRM字段確定。當FSRM=0時,F(xiàn)SR為輸入,由外部信號源驅動;當FSRM=0時,F(xiàn)SR由內部FSG驅動。接收幀同步FSR的極性由管腳控制存放器(PCR)中的FSRP字段確定。當FSRP=0時,F(xiàn)SR為正極性,即高電平有效;當FSRP=1時,F(xiàn)SR為負極性,即低電平有效.第二章DSP芯片結構和CPU外圍電路(5)同步

SRG的輸入參考時鐘可以是內部時鐘(CPU時鐘),也可以是外部輸入時鐘(來自CLKX、CLKR或CLKS管腳)。當采用外部時鐘源時,一般需要同步。同步與否由采樣速率發(fā)生器2(SRGR2)中的GSYNC字段控制。

當GSYNC=0時,SRG將自由運行,并按CLKGDV、FPER和FWID等參數(shù)的配置產生輸出時鐘;

當GSYNC=1時,CLKG和FSG將同步到外部輸入時鐘。第二章DSP芯片結構和CPU外圍電路5、多通道選擇(在一幀數(shù)據(jù)中,最多可包含128個數(shù)據(jù)單元,每個數(shù)據(jù)單元對應一個通道)McBSP屬于多通道串口,最多可以有128個通道,其多通道選擇局部由多通道控制存放器MCR、接收通道使能存放器RCER和發(fā)送通道使能存放器XCER構成。多通道控制存放器MCR作為總控制,可以禁止或使能全部128個通道。RCER和XCER可以分別禁止或使能某個接收和發(fā)送通道。每個存放器控制16個通道。因此,128個通道需要8個通道使能存放器。第二章DSP芯片結構和CPU外圍電路第二章DSP芯片結構和CPU外圍電路6、串口事件McBSP可以發(fā)起6個串口事件接收中斷RINT發(fā)送中斷XINT接收同步事件REVTA_bis模式的接收同步事件REVTA發(fā)送同步事件XEVTA_bis模式的發(fā)送同步事件XEVTARINT和XINT與CPU相連,可以中斷CPUREVT、REVTA、XEVT和XINT那么與DMA控制器相連,可以用于DMA同步事件,觸發(fā)DMA傳輸?shù)诙翫SP芯片結構和CPU外圍電路收發(fā)中斷的產生分別由串口控制存放器1(SPCR1)中的RINTM字段和串口控制存放器2(SPCR2)中的XINTM字段控制。第二章DSP芯片結構和CPU外圍電路用于DMA接收事件和發(fā)送事件的REVT、REVTA、XEVT和XEVTA那么分別由接收標志RRDY和發(fā)送標志XRDY兩個標志觸發(fā)。其中:REVT和XEVT為McBSP工作于常規(guī)模式時的DMA同步事件REVTA和XEVTA為McBSP工作于A_bis模式時的DMA同步事件。第二章DSP芯片結構和CPU外圍電路二、工作模式根據(jù)McBSP在通信中所處的地位和功能,工作模式可分為:多通道緩沖模式

SPI模式

A-bis模式數(shù)字回環(huán)模式

GPIO模式省電模式第二章DSP芯片結構和CPU外圍電路1、多通道緩沖模式是McBSP的一種常規(guī)模式。在此模式下,根據(jù)其所處的地位有可分為主方和從方。主方提供通信所需的時鐘和幀同步,所以其時鐘和幀同步都由內部SRG驅動,為輸出;從方所需的時鐘和幀同步來自主方,其時鐘和幀同步由外部器件驅動,為輸入。在多通道緩沖模式下,傳輸由幀同步上升沿(或下降沿)觸發(fā),并在時鐘上升沿(或下降沿)收(發(fā))一個數(shù)據(jù)比特,支持1到128個傳輸通道的多通道傳輸。第二章DSP芯片結構和CPU外圍電路2、SPI模式

SPI協(xié)議是一種主—從配置的,支持一個主方,一個或多個從方的串行通信協(xié)議。由4個信號構成:串行數(shù)據(jù)輸入MISO(主設備輸入、從設備輸出)、串行數(shù)據(jù)輸出MOSI(主設備輸出、從設備輸入)

、移位時鐘SCK和從方使能SS。McBSP的時鐘停止模式:指其時鐘會在每次數(shù)據(jù)傳輸結束時停止,并在下次數(shù)據(jù)傳輸時立即啟動或延時半個周期后再啟動。第二章DSP芯片結構和CPU外圍電路3、A-bis模式A-bis模式是McBSP提供的一種比特域抽取—擴展的工作模式。此模式下,McBSP能從一條PCM鏈路上接收或發(fā)送1024個比特。發(fā)送時,它將1024個有效數(shù)據(jù)比特按給定的發(fā)送圖案擴展到PCM鏈路上;接收時,那么從PCM幀中按給定的接收圖案抽取出1024個有效比特。4、數(shù)字回環(huán)模式用于在只有一個DSP時,測試其McBSP的情況。數(shù)字回環(huán)DLB模式能在McBSP內部將收發(fā)局部連在一起,即DR與DX、FSR、FSX、CLKX與CLKR,第二章DSP芯片結構和CPU外圍電路在McBSP中有兩種回環(huán)在復位時,McBSP內部將從圖中(1)的位置進行回環(huán),此時假設向DXR寫一個數(shù),4個周期以后就能從DRR收到該數(shù)據(jù)。在復位以后,通過串口控制存放器1(SPCR1)中的DLB的控制使McBSP內部從圖中(2)的位置進行回環(huán)。當DLB=0時,不回環(huán);當DLB=1時,從位置(2)進行回環(huán)。(1)(2)第二章DSP芯片結構和CPU外圍電路5、GPIO模式McBSP處于復位狀態(tài)時,它的7個管腳(書表6-22)在管腳控制存放器PCR和串口控制存放器SPCR的控制下可以用作通用輸入輸出(GPIO)。其中CLKX、CLKR、FSX和FSR既可設為輸入又可設為輸出,輸入/輸出電平值由相應的極性控制位確定;DX只能為輸出;DR和CLKS那么只能為輸入。第二章DSP芯片結構和CPU外圍電路6、省電模式在C5509DSP總的省電控制和管腳控制存放器PCR中IDLE_EN的控制下,可以使McBSP進入省電模式,以降低功耗。第二章DSP芯片結構和CPU外圍電路三、收發(fā)格式與參數(shù)設置幀同步有效表示一幀串行數(shù)據(jù)傳輸?shù)拈_始。每次收發(fā)數(shù)據(jù)傳輸都從幀同步開始,每個數(shù)據(jù)幀可以有兩個階段,即階段1和階段2,每個階段可有1到128個字,每個字可以是8、12、16、20、24、或32比特。每一幀最多傳送4096bit的數(shù)據(jù),因為FPER控制字段只有12bit。〔字段設置參見教材38頁,表2-21〕第二章DSP芯片結構和CPU外圍電路數(shù)據(jù)比特的延遲:當幀同步有效后,一般在其后的第一個時鐘周期啟動該幀的傳輸,如果需要,數(shù)據(jù)的發(fā)送/接收的起始時刻相對于幀信號的起始點可以存在一定的延時。延時范圍可以從0到2個周期的傳輸時鐘。對收發(fā)數(shù)據(jù)還可按μ律或A律進行壓擴,選擇是MSB先還是LSB先由于收發(fā)通道存放器都是16位的,所以對字長缺乏或超過16比特的數(shù)據(jù)可以進行左對齊或右對齊調整。選擇左對齊時,McBSP將用0填充LSB;選擇右對齊時,McBSP可以用0填充MSB,也可用符號擴展方式填充MSB。第二章DSP芯片結構和CPU外圍電路四、異常處理每個多通道緩沖串口McBSP有以下5個事件會導致錯誤:接收過速,由標志RFULL=1表示;接受幀同步錯誤,由標志RSYNCERR=1表示;發(fā)送數(shù)據(jù)重寫;發(fā)送存放器空,由標志=0表示;發(fā)送幀同步錯誤,由標志XSYNCERR=1表示。第二章DSP芯片結構和CPU外圍電路1、接收過速是指在接收通道上的3個存放器已滿時造成的數(shù)據(jù)喪失,通過標志RFULL=1來表示。因為RSR、RBR和DRR中都有數(shù)據(jù),所以當下一個數(shù)據(jù)到來時就會覆蓋RSR使RSR中的數(shù)據(jù)喪失。2、發(fā)送數(shù)據(jù)重寫發(fā)送數(shù)據(jù)重寫是指CPU或DMA在DXR中的數(shù)據(jù)被拷貝到XSR之前又對DXR寫入新的數(shù)據(jù),使DXR中的數(shù)據(jù)被覆蓋而喪失。第二章DSP芯片結構和CPU外圍電路3、發(fā)送存放器空與發(fā)送數(shù)據(jù)重寫相對應,發(fā)送存放器空那么是由于CPU或DMA寫入太慢,使得發(fā)送幀同步出現(xiàn)時,DXR還未寫入新值,這樣XSR中的值就會不斷重發(fā),直到DXR寫入新值為止。第二章DSP芯片結構和CPU外圍電路4、接受幀同步錯誤接受幀同步錯誤是指在當前數(shù)據(jù)幀的所有數(shù)據(jù)比特還未收完時出現(xiàn)了幀同步信號。由于幀同步表示一幀的開始,所以出現(xiàn)幀同步時,接收器就會停止當前幀的接收并重新開始下一幀的接收,從而造成當前幀數(shù)據(jù)的喪失。5、發(fā)送幀同步錯誤與接收幀同步錯誤相對應,發(fā)送幀同步錯誤是指當前幀的所有數(shù)據(jù)比特未發(fā)送完之前出現(xiàn)了發(fā)送幀同步信號。此時,發(fā)送器將終止當前幀的傳送,并重新開始下一幀的傳送。第二章DSP芯片結構和CPU外圍電路應用舉例:利用McBSP0來發(fā)送一段數(shù)據(jù),要求如下:(1)采用多通道緩沖模式;(2)發(fā)送時鐘和幀同步由內部采樣速率發(fā)生器驅動,接收時鐘和幀同步由外部輸入驅動;(3)發(fā)送時鐘速率為CPU時鐘速率的1/4,幀同步周期為18個CLKG,脈沖寬度為2個CLKG;(4)收發(fā)都是每幀1個階段,每階段1個字,字長16比特,不壓擴,1比特延遲;(5)采用查詢發(fā)送標志XRDY和接收標志RRDY的方式進行收發(fā)。第二章DSP芯片結構和CPU外圍電路程序實現(xiàn)分析:MOV#0x0000,PORT(#SPCR1_1);;設置串口控制存放器1,要求(1),RRST_=0:復位McBSP接收機MOV#0x0a00,PORT(#PCR_1);設置串口管腳控制存放器,要求(2)。;設置接收引腳,;FSXM=CLKXM=1,發(fā)送時鐘和幀同步由內部驅動;;FSRM=CLKRM=0,接收時鐘和幀同步由外部驅動MOV#0x0103,PORT(#SRGR1_1);要求(3)。對采樣速率發(fā)生存放器設置;設置發(fā)送時鐘速率,;CLKGDV=(3)10=00000011,SRG輸出時鐘4分頻;;FWID=(1)10=00000001,幀同步脈沖的脈寬為2個CLKG周期0000000100000011第二章DSP芯片結構和CPU外圍電路MOV#0x3011,PORT(#SRGR2_1);對采樣速率發(fā)生存放器2進行設置;0011000000010001;CLKSM=1,選擇CPU時鐘為參考時鐘;FSGM=1,采用FSG做內部幀同步驅動;FPER=(17)10=(000000010001)2MOV#0x0040,PORT(#XCR1_1);要求(4),對發(fā)送控制存放器1進行設置;XFRLEN1=0000000,幀長為一個字;;XWDLEN1=010,字長為16比特MOV#0x0001,PORT(#XCR2_1);對發(fā)送控制存放器2進行設置;XPHASE=0,每幀一個階段;0000000000000001;XDATDLY=01,發(fā)送時1比特延遲0000000001000000第二章DSP芯片結構和CPU外圍電路MOV#0x0040,PORT(#RCR1_1);要求(4),對接收控制存放器1進行設置,;RFRLEN1=0000000,幀長為一個字;;RWDLEN1=010,字長為16比特MOV#0x0001,PORT(#RCR2_1);對接收控制存放器2進行設置,;RPHASE=0,每幀一個階段;RDATDLY=01,發(fā)送時1比特延遲MOV#0x0001,PORT(#MCR1_1);對多通道控制存放器1進行設置,;無需多個通道。RMCM=1,不使能所有接收通道MOV#0x0001,PORT(#MCR2_1);對多通道控制存放器2進行設置;;XMCM=01,不使能所用發(fā)送通道00000000010000000000000000000001第二章DSP芯片結構和CPU外圍電路MOV#0x0040,PORT(#SPCR2_1);設置串口控制存放器2;GRST=1,啟動采樣速率發(fā)生器。MOV#0x00C1,PORT(#SPCR2_1);FRST=1,啟動幀同步。MOV#0x0041,PORT(#SPCR2_1);XRST=1,啟動發(fā)送器。MOV#0x0001,PORT(#SPCR1_1);RRST=1,啟動接收器;要求(5)XRDY_TRANSMIT:MOVPORT(#SPCR2_1),T0AND#0x0002,T0BCCRRDY_RECEIVE,T0==#0;假設XRDY=0,就去查RRDYMOV#0xAAAA,PORT(#DXR_1);假設XRDY=1,就發(fā)送一個數(shù)第二章DSP芯片結構和CPU外圍電路RRDY_RECEIVE:MOVPORT(#SPCR1_1),T0AND#0x0002,T0BCCRRDY_RECEIVE,T0==#0;假設RRDY=0,就去查XRDYMOVPORT(#DRR1_1),T1;假設RRDY=1,就接收一個數(shù)BXRDY_TRANSMIT第二章DSP芯片結構和CPU外圍電路通用輸入輸出GPIO一、GPIO口C5509DSP配有一個專門的通用輸入輸出口GPIO。它由8個相互獨立的可編程管腳(IO0~IO7)構成。GPIO口各個管腳的輸入或輸出由方向存放器IODIR設定,各個管腳上的輸入/輸出電平由存放器IODATA控制。IOxDIR:0-輸入,1-輸出IOxDATA:0-低電平,1-高電平第二章DSP芯片結構和CPU外圍電路二、通過GPIO進行自舉模式設定在C5509復位時,GPIO口的IO[3:1]還作為DSP自舉模式的設定,DSP在復位信號的上升沿采樣這三個管腳上的電平,并將它們鎖存到自舉模式存放器BOOT_MOD里。在采樣以后,這三個管腳就可用作通用輸入輸出了。三、GPIO的使用舉例MOV#0x0001,port(#IODIR);配置GPIO0為輸出MOV#0x0001,port(#IODATA);GPIO0輸出高電平DMA控制器第二章DSP芯片結構和CPU外圍電路2.8DMA控制器

通過4個端口和6個通道與DSP的IO資源相連。內部通過32位寬的DMA總線互聯(lián)。能夠獨立于CPU工作,完成I/O資源間的數(shù)據(jù)傳輸,而不影響CPU執(zhí)行做其它的事情,類似于PC機的后臺處理。

有一個EHPI輔助端口和EHPI輔助通道,可以直接和主機相連,DMA的各個傳輸通道采用時分復用(TDM)的方式分享DMA總線。第二章DSP芯片結構和CPU外圍電路注意:

對于EMIF,SARAM,DARAM,外設和EHPI,除了EHPI與外設之間,以及EHPI與其本身不可以使用DMA外,其它相互之間以及自身都可以通過DMA搬運數(shù)據(jù)。(表6-39)第二章DSP芯片結構和CPU外圍電路一、EHPI通道EHPI端口和EHPI通道為主機專用。外部主機通過EHPI通道可以訪問EMIF、SARAM和DARAM。1、EPHI通道的優(yōu)先級的問題:通過對DMA全局控制存放器DMA_GCR,可以設置EHPI通道的優(yōu)先級。當EHPIPRIO=0時,EHPI通道為低優(yōu)先級;當EHPIPRIO=1時,EHPI通道為高優(yōu)先級。第二章DSP芯片結構和CPU外圍電路2、EHPI通道與其余6個通道分享DSPIO資源的方式由DMA全局控制存放器(DMA_GCR)中的EHPIEXCL字段確定:EHPIEXCL=0時,為共享模式,即EHPI通道與DMA的其余通道共享EMIF、SARAM和DARAM;EHPIEXCL=1時,為獨占模式,即EHPI通道獨占SARAM和DARAM,其余DMA通道只能訪問EMIF和外設。第二章DSP芯片結構和CPU外圍電路二、DMA通道傳輸配置DMA通道的傳輸過程:先從數(shù)據(jù)源讀入數(shù)據(jù),放到通道的FIFO緩沖區(qū)里,然后再從FIFO緩沖區(qū)取出寫到目的端口。DMA控制器有兩套存放器:一套為配置存放器,供CPU寫入所需的配置值;一套為工作存放器,供DMA通道工作時使用。因此,DMA通道正在執(zhí)行數(shù)據(jù)傳輸時,CPU可以寫入下次傳輸?shù)呐渲脜?shù),而不影響正在進行的傳輸。第六章DSP芯片內的CPU外圍電路1、數(shù)據(jù)塊、幀和單元DMA通道一次傳輸一個數(shù)據(jù)塊(Block),該數(shù)據(jù)塊由假設干幀(Frame)構成,每幀由假設干數(shù)據(jù)單元(Element)構成,每個數(shù)據(jù)單元又由假設干比特構成。每個數(shù)據(jù)塊包含的幀數(shù)由DMA通道數(shù)據(jù)幀數(shù)存放器(DMA_CFN)指定,范圍為1到65535幀。每幀包含的數(shù)據(jù)單元數(shù)由DMA通道數(shù)據(jù)單元數(shù)量存放器(DMA_CEN)指定,范圍為1到65535.數(shù)據(jù)單元的比特數(shù)由DMA通道參數(shù)存放器(DMA_CSDP)的DATATYPE指定當DATATYPE=00時,每個數(shù)據(jù)單元長8比特;當DATATYPE=01時,每個數(shù)據(jù)單元長16比特;當DATATYPE=10時,每個數(shù)據(jù)單元長32比特。第二章DSP芯片結構和CPU外圍電路2、傳輸類型與數(shù)據(jù)打包DMA支持的數(shù)據(jù)傳輸類型有:8、16、24、32bit。問題:DMA總線寬度為32位,最多能支持兩個16位的或一個32位的數(shù)據(jù)傳輸,當所傳輸?shù)臄?shù)據(jù)單元長度小于總線寬度時,DMA傳輸效率降低。比方8比特長數(shù)據(jù)單元的傳輸,4次才傳32比特。數(shù)據(jù)打包:將4個8比特單元打包成一個32比特的數(shù)據(jù)包,那么只需傳遞一次。提高了傳輸效率。通過DMA通道參數(shù)存放器(DMA_CSDP)中的DST(SRC)PACK字段可以設定數(shù)據(jù)打包功能。DST(SRC)PACK=0時,不打包;等于1時,對數(shù)據(jù)打包傳輸。第二章DSP芯片結構和CPU外圍電路3、目的端口和源端口的類型DMA通道傳輸?shù)哪康亩丝诤驮炊丝诘念愋陀蒁MA通道參數(shù)存放器(DMA_CSDP)中DST(SRC)字段指定。DST(SRC)=xx00時,目的(源)為SARAMDST(SRC)=xx01時,目的(源)為DARAMDST(SRC)=xx10時,目的(源)為EMIFDST(SRC)=xx11時,目的(源)為外設第二章DSP芯片結構和CPU外圍電路4、數(shù)據(jù)源和目的地址DMA傳輸采用字節(jié)地址,每次傳輸?shù)臄?shù)據(jù)塊大小也是以字節(jié)為單位的。(1)DMA通道的數(shù)據(jù)源的起始地址

通道數(shù)據(jù)源的起始地址DMA_CSSA_L存放低16位地址通道數(shù)據(jù)源的起始地址DMA_CSSA_U存放高16位地址(2)DMA通道的目的起始地址

通道數(shù)據(jù)源的起始地址DMA_CDSA_L存放低16位地址通道數(shù)據(jù)源的起始地址DMA_CDSA_U存放高16位地址第二章DSP芯片結構和CPU外圍電路(3)數(shù)據(jù)傳輸時地址的修改方式由DMA通道控制存放器DMA_CCR.DST(SRC)AMODE字段指定DST(SRC)AMODE=00時,目的(源)地址為固定地址;DST(SRC)AMODE=01時,目的(源)地址在每個單元傳輸完后自動加1;DST(SRC)AMODE=10時,目的(源)地址在每個單元傳輸完后自動遞增一個索引長度值。索引值由數(shù)據(jù)單元索引存放器(DMA_CEI)指定。DST(SRC)AMODE=11時,目的(源)地址按單元和幀進行雙索引。索引值由數(shù)據(jù)單元索引存放器(DMA_CEI)和幀索引存放器(DMA_CFI)指定。第二章DSP芯片結構和CPU外圍電路5、單次傳輸與屢次傳輸DMA通道可以有單次傳輸和屢次傳輸兩種模式。單次傳輸:DMA通道在傳完一個數(shù)據(jù)塊以后就自動停止。屢次傳輸,DMA通道在傳完一個數(shù)據(jù)塊以后又會將配置參數(shù)從配置存放器拷到工作存放器,繼續(xù)傳輸下一個數(shù)據(jù)塊。一個DMA通道的傳輸模式由DMA通道控制存放器(DMA_CCR)中的AUTOINIT、ENDPROG和REPEAT字段控制。第二章DSP芯片結構和CPU外圍電路6、DMA傳輸?shù)膯优渲煤脗鬏攨?shù)后,兩種方法可以啟動DMA通道的數(shù)據(jù)傳輸。一種是由CPU直接將通道控制存放器(DMA_CCR)中的通道使能字段EN置為1,DMA通道就會立即開始傳輸;另一種是由外部DMA同步事件來觸發(fā)DMA通道的數(shù)據(jù)傳輸(如McBSP的XEVT事件等),此時DMA傳輸不會立即開始,而要等到指定的事件發(fā)生以后才會開始。第二章DSP芯片結構和CPU外圍電路C5509中共有20個DMA同步事件可以觸發(fā)DMA傳輸:6個外部中斷2個定時器中斷12個McBSP事件(每個串口4個)具體由哪個事件來觸發(fā),由通道控制存放器(DMA_CCR)中的同步字段SYNC來控制。此外,通過通道控制存放器(DMA_CCR)中的FS字段,還可以指定這些同步事件是與幀傳輸同步呢?還是與數(shù)據(jù)單元傳輸同步。對于前者,每次DMA同步事件觸發(fā)一個數(shù)據(jù)幀的傳輸;對于后者,那么觸發(fā)一個單元的傳輸。當FS=0時,與數(shù)據(jù)單元傳輸同步;當FS=1時,與數(shù)據(jù)幀傳輸同步。第二章DSP芯片結構和CPU外圍電路7、通道中斷與狀態(tài)DMA通道在傳輸過程中產生的各種狀態(tài)都會把通道狀態(tài)存放器DMA_CSR中相應的標志置為1。P51表2-38同時,在通道中斷控制存放器DMA_CICR的控制下,這些狀態(tài)都能觸發(fā)DMA通道中斷,使CPU能及時得到DMA傳輸?shù)臓顟B(tài)。第二章DSP芯片結構和CPU外圍電路三、存放器說明DMA控制器有兩套存放器,一套用于工作,一套用于CPU寫入配置參數(shù)。注意:用于工作的存放器是不能訪問的。第二章DSP芯片結構和CPU外圍電路四、DMA應用實例假定需要將位于SARAM中從字節(jié)地址20000h開始的32個16位的數(shù)搬到DARAM中從字節(jié)地址00c0h開始的數(shù)據(jù)緩沖區(qū),要求使用DMA通道1,并由CPU直接啟動,在傳完以后給C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論