




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1DSP喬瑞萍TMSCx片內外設圖6-1時鐘電路第1頁/共78頁●內部振蕩電路驅動方式:將一個晶體跨接到X1和X2/CLKIN引腳兩端,使內部振蕩器工作,圖中的電路工作在基波方式,建議C1和C2用10pF。如果工作在諧波方式,則還要加一些元件。●外部時鐘源驅動方式:將一個外部時鐘信號直接加到X2/CLKIN引腳(X1空著不接)。●硬件配置的PLL(如TMS320C541、TMS320C542、TMS320C543、TMS320C545和TMS320C546);●軟件可編程PLL(如TMS320C545A、TMS320C546A和TMS320C548)。第2頁/共78頁1.硬件配置的PLL
通過設定TMS320C54x的3個引腳(CLKMD1、CLKMD2和CLKMD3)的狀態來完成PLL的配置。時鐘方式的配置方法如表6-1所示。第3頁/共78頁表6-1時鐘方式的配置方法引腳狀態時鐘方式CLKMD1CLKMD2CLKMD3選項1選項2000用外部時鐘源,PLL×3用外部時鐘源,PLL×5110用外部時鐘源,PLL×2用外部時鐘源,PLL×4100用內部振蕩器,PLL×3用內部振蕩器,PLL×5010用外部時鐘源,PLL×1.5用外部時鐘源,PLL×4.5001用外部時鐘源,頻率除以2用外部時鐘源,頻率除以2111用內部振蕩器,頻率除以2用內部振蕩器,頻率除以2101用外部振蕩器,PLL×1用外部時鐘源,PLL×1011停止方式停止方式第4頁/共78頁2.軟件可編程PLL
軟件可編程PLL是一種高度靈活的時鐘控制方式,它的時鐘定標器提供各種時鐘乘法器系數,并能直接接通和關斷PLL。PLL的鎖定定時器可以用于延遲轉換PLL的時鐘方式,直到鎖定為止。通過軟件編程,可以選用以下兩種時鐘方式中的一種:第5頁/共78頁●PLL方式。輸入時鐘(CLKIN)乘以0.25~15共31個系數中的一個系數。這是靠PLL電路來完成的。●DIV(分頻器)方式。輸入時鐘(CLKIN)除以2或4。當采用DIV方式時,所有的模擬電路,包括PLL電路都關斷,以使功耗最小。軟件可編程PLL通過讀/寫時鐘方式寄存器(CLKMD)來完成。
第6頁/共78頁6.1.2時鐘模塊編程軟件可編程PLL可以對時鐘方式寄存器(CLKMD)編程加載,以配置成所要求的時鐘方式。CLKMD寄存器是16位存儲器映像寄存器,地址為0058H。它是用來定義PLL時鐘模塊中的時鐘配置。CLKMD的結構如圖6-2所示。第7頁/共78頁圖6-2CLKMD的結構151211103210PLLMULPLLDIVPLLCOUNTPLLON/OFFPLLNDIVPLLSTATUSR/WR/WR/WR/WR/WR第8頁/共78頁表6-2時鐘方式寄存器(CLKMD)各位段的功能位名稱功能0PLLSTATUSPLL的狀態位。指示時鐘發生器的工作方式(只讀)PLLSTATUS=0分頻器(DIV)方式PLLSTATUS=1PLL方式1PLLNDIVPLL時鐘發生器選擇位。決定時鐘發生器的工作方式PLLNDIV=0采用分頻器(DIV)方式PLLNDIV=1采用PLL方式與PLLMUL以及PLLDIN一起定義頻率的乘數(見表6-3)第9頁/共78頁第10頁/共78頁表6-3PLL的乘數PLLNDIVPLLDIVPLLMUL乘數0X0~140.50X150.25100~14PLLMUL+110151110或偶數(PLLMUL+1)÷211奇數PLLMUL÷4第11頁/共78頁6.1.3低功耗(節電)模式
TMS320C54x器件有四種節電模式,此時,可以通過停止DSP內部的不同時鐘,使TMS320C54x的核心進入休眠狀態,降低功耗,且能保持CPU中的內容。當節電模式結束時,喚醒DSP可以連續工作下去。 通過執行IDLE1、IDLE2和IDLE3三條指令,或使信號為低電平,可使處理器進入不同的節電模式。表6-4列出了四種節電特性。第12頁/共78頁表6-4四種節電工作方式IDLE1IDLE2IDLE3操作特性YesYesYesYesCPU暫停YesYesYesNoCPU時鐘停止NoYesYesNo外圍電路時鐘停止NoNoYesNo鎖相環(PLL)停止NoNoNoYes外部地址線處高阻狀態NoNoNoYes外部數據線處高阻狀態NoNoNoYes外部控制信號處高阻狀態第13頁/共78頁第14頁/共78頁1)IDLE1模式
IDLE1暫停所有的CPU活動,但片內外設仍在工作。片內外設如串口定時器等的中斷可喚醒CPU結束節電工作方式。
2)IDLE2模式
IDLE2暫停CPU和片內外設的工作。由于片內外設也停止了工作,不能產生中斷,因而其喚醒方式不同于IDLE1,但是,其功耗卻明顯降低。第15頁/共78頁3)IDLE3模式
IDLE3模式類同于IDLE2,它使片內鎖相環PLL暫停工作,這樣就完全使TMS320C54x停止了工作。與IDLE2相比,IDLE3更顯著地降低了功耗。
4)HOLD模式
HOLD模式是另外一種節電模式,它使外部地址總線、數據總線和控制總線進入高阻狀態,也可以使CPU暫停工作,這取決于HM位的狀態。第16頁/共78頁6.2中斷系統6.2.1中斷結構
1.中斷類型
TMS320C54x中斷既支持硬件中斷,也支持軟件中斷。軟件中斷由程序指令引起,如INTR、TRAP或RESET。硬件中斷有外部硬件中斷和內部硬件中斷。外部硬件中斷由外部中斷口的信號觸發;內部硬件中斷由片內外圍電路的信號觸發。軟件中斷不分優先級,硬件中斷有優先級。第17頁/共78頁
當多個硬件中斷同時請求時,TMS320C54x根據優先級別的不同對其進行服務,TMS320C54x的硬件中斷優先級見附錄3,其中,1為最高優先級。第18頁/共78頁
無論是硬件中斷還是軟件中斷,TMS320C54x的中斷可分為如下兩大類。
1)可屏蔽中斷可屏蔽中斷是可用軟件來屏蔽或開放的中斷,即通過對中斷屏蔽寄存器(IMR)中的相應位和狀態寄存器(ST1)中的中斷允許控制位INTM編程來屏蔽或開放該中斷。TMS320C54x最多可以支持16個用戶可屏蔽中斷(SINT15~SINT0),但有的處理器只用了其中的一部分。有些中斷有兩個名稱,如TMS320C541。第19頁/共78頁2)非可屏蔽中斷非可屏蔽中斷是不能用軟件來屏蔽的中斷,不受IMR和INTM位的影響。TMS320C54x對這一類中斷總是響應的,并從主程序轉移到中斷服務程序。第20頁/共78頁2.中斷管理寄存器
1)中斷標志寄存器中斷標志寄存器(IFR,InterruptFlagRegister)是一個16位存儲器映像的CPU寄存器,位于數據存儲器空間內,地址為0001H。當一個中斷出現的時候,TMS320C54xDSP收到了一個相應的中斷請求(中斷掛起),此時,IFR中相應的中斷標志位為1。TMS320C541IFR的位定義如圖6-3所示,各位對應的可屏蔽中斷源的說明見附錄3。第21頁/共78頁6-3圖TMS320C541的位定義151211109876ResResResResINT3XINT1RINT1543210XINT0RINT0TINTINT2INT1INT0第22頁/共78頁2)中斷屏蔽寄存器在狀態寄存器ST1中的第11位INTM是中斷方式位,該位是可屏蔽中斷的總允許控制位。INTM=0時,開放全部可屏蔽中斷;INTM=1時,禁止所有可屏蔽中斷。
INTM不修改中斷標志寄存器(IFR)和中斷屏蔽寄存器(IMR,InterruptMaskRegister)。第23頁/共78頁圖6-4TMS320C541IMR的位定義151211109876ResResResResINT3XINT1RINT1543210XINT0RINT0TINTINT2INT1INT0第24頁/共78頁3.中斷向量
TMS320C54x給每個中斷源都分配有一個確定的中斷向量偏移地址(見附錄3),該地址為可屏蔽中斷服務程序進入各中斷源服務程序的偏移地址,這樣以來,可判斷中斷源的身份,并進入對應中斷源的服務程序。第25頁/共78頁圖6-5中斷向量地址的形成第26頁/共78頁6.2.2中斷流程
1.接受中斷請求當發生硬件和軟件指令請求中斷時,IFR中相應的標志位置為有效電平。無論DSP是否響應中斷,該標志都處于有效電平。在相應中斷發生時,該標志自動清除。硬件中斷有外部和內部之分。外部硬件中斷由外部接口信號自動請求,內部硬件中斷由片內外設信號自動請求。軟件中斷都是由程序中的指令INTR、TRAP和RESET產生的。第27頁/共78頁(1)INTRK:該指令可啟動TMS320C54x的任何中斷。
(2)TRAPK:TRAP與INTR的不同之處是TRAP中斷時,不需要設置INTM位。
(3)RESET:該指令可在程序的任何時候發生,它使處理器返回一個已知狀態。第28頁/共78頁2.響應中斷對于軟件中斷和非可屏蔽中斷,CPU立即響應。如果是可屏蔽中斷,只有滿足以下條件才能響應:
(1)優先級別最高。
(2)ST1中的INTM位為0,允許可屏蔽中斷。
(3)IMR中的相應位為1,允許可屏蔽中斷。第29頁/共78頁3.執行中斷服務程序響應中斷之后,CPU將執行下列操作:
(1)將PC值(即返回地址)壓入堆棧。
(2)將中斷向量的地址裝入PC;將程序引導至中斷服務程序ISR。
(3)現場保護,將某些要保護的寄存器和變量壓入堆棧。第30頁/共78頁(4)執行中斷服務程序ISR。(5)恢復現場,以逆序將所保護的寄存器和變量彈出堆棧。(6)中斷返回,從堆棧彈出返回地址加載到PC。(7)繼續執行被中斷的程序。第31頁/共78頁圖6-6中斷操作流程圖第32頁/共78頁6.2.3中斷編程 第4章的例20就是一個簡單完整的中斷程序模板,中斷過程如圖6-7所示。利用軟件仿真外部硬件中斷int2,程序中的開放中斷和中斷服務程序片段如下:第33頁/共78頁STM#0,SWWSR ;開中斷
RSBXINTMSTM#04H,IMR
INT_2: SFTAA,8 ;中斷服務程序
RETE第34頁/共78頁圖6-7中斷過程第35頁/共78頁INT_2引起標準中斷矢量表程序相應的int2變化如下:**************************************************************************中斷矢量表程序****************************************************************************.title"vectors.asm" ;定義段的名稱為vectors.refstart ;程序入口
.refINT_2.sect"vectors"第36頁/共78頁reset:Bstart ;復位引起的中斷
nopnopnmi:RETE ;使能NMI中斷
NOPNOPNOP第37頁/共78頁sint17.space4*16 ;程序內部的軟件中斷sint18.space4*16sint19.space4*16sint20.space4*16sint21.space4*16sint22.space4*16sint23.space4*16sint24.space4*16sint25.space4*16第38頁/共78頁sint26.space4*16sint27.space4*16sint28.space4*16sint29.space4*16sint30.space4*16int0:RETE ;外部中斷0NOPNOPNOP第39頁/共78頁int1:RETE ;外部中斷1nopnopnopint2:bINT_2 ;外部中斷2nopnopnop
第40頁/共78頁tint:RETE ;定時器中斷
NOPNOPNOPrint0:RETE ;串口0接收中斷
NOPNOPNOP第41頁/共78頁xint0:RETE ;串口0發送中斷
NOPNOPNOPrint1:RETE ;串口1接收中斷
NOPNOPNOP第42頁/共78頁xint1:RETE ;串口1發送中斷
NOPNOPNOPInt3:RETE ;外部中斷3nopnopnop.end第43頁/共78頁6.3定時器6.3.1定時器結構定時器主要由3個寄存器所組成:定時器寄存器(TIM,TimerRegisters)、定時器周期寄存器(PRD,TimerPeriodRegisters)和定時器控制寄存器(TCR,TimerControlRegisters)。這3個寄存器都是16位存儲器映像寄存器,在數據存儲器中的地址分別為0024H、0025H和0026H(見附錄4)。TIM是一個減1計數器;PRD中存放時間常數;TCR中包含有定時器的控制位和狀態位。定時器的功能框圖如圖6-8所示。第44頁/共78頁圖6-8定時器的功能框圖第45頁/共78頁
圖6-8中含一個16位的主計數器(TIM)和一個4位預定標計數器(PSC)。TIM從周期寄存器PRD加載,PSC從周期寄存器TDDR加載。定時器的典型操作順序為
(1)在每個CLKOUT脈沖后PSC減1,直到它變為0。
(2)在下一個CLKOUT周期,TDDR加載新的除計數值到PSC,并使TIM減1。
第46頁/共78頁(3)以同樣方式,PSC和TIM連續進行減操作,直到TIM減為0。
(4)在下一個CLKOUT周期,將定時器中斷信號(TINT)送到CPU,同時又用另一脈沖送到TOUT引腳,把新定時器計數值從PRD加載到TIM,并使PSC再次減1。因此,定時器中斷的速率為TINT速率=第47頁/共78頁6.3.2定時器編程定時器可訪問的寄存器有三個:TIM、PRD和TCR。TIM和PRD這兩種寄存器共同工作,提供定時器的當前計數值。讀TIM可以知道定時器中的當前值。在正常情況下,當TIM減到0后,PRD中的時間常數自動地加載到TIM。當系統復位(=1)或定時器復位(TRB=1)時,PRD中的時間常數重新加載到TIM。
第48頁/共78頁控制寄存器(TCR)包含的控制位有下列功能:●控制定時器模式;●指定定時器預先定標計數器的當前計數值;●重新加載定時器;●啟動、停止定時器;●定義定時器的分頻系數。TCR的結構如圖6-9所示。第49頁/共78頁圖6-9TCR的結構15121110965430ResSoftFreePSCTRBTSSTDDR第50頁/共78頁TCR中各控制位和狀態位的功能描述如下:
TDDR(TimerDivide-DownRatio):定時器分頻系數。按此分頻系數對CLKOUT進行分頻,以改變定時周期。當PSC減到0后,以TDDR中的數重新加載PSC。復位時,TDDR各位清零。
TSS(TimerStopStatus):定時器停止狀態位,用于停止或啟動定時器。TSS=0時,定時器啟動工作;TSS=1時,定時器停止工作,關閉定時器可以減小器件的功耗。復位時,TSS位清零,定時器立刻開始定時。第51頁/共78頁TRB(TimerReload):定時器重新加載位,用來復位片內定時器。當TRB置1時,TIM裝入PRD中的數,并且PSC裝入TDDR中的值。TRB總是讀成0。
PSC(TimerPrescalerCounter):定時器預定標計數器。當PSC減到0后,PSC裝入TDDR中的值,并且TIM減1。PSC可被TCR讀取,但不能直接寫入。
Soft、Free:這兩位結合起來使用,以仿真在HLL調試程序遇到斷點時定時器的狀態。當Soft=0、Free=0時,定時器立即停止工作;當Soft=1、Free=0且計數器減到0時,定時器停止工作;當Soft=x、Free=1時,定時器繼續運行。第52頁/共78頁Res:保留位讀成0。讀TIM和TCR要用兩條指令,在兩次讀之間有可能發生讀數變化。因此,若需要精確的定時測量,就應當在讀這兩值之前先關閉定時器。復位時,TIM和PRD都置成最大值(FFFFH),定時器的分頻系數TCR中的TDDR置0,定時器啟動。第53頁/共78頁
定時器初始化步驟及其所對應的指令如下:
(1)將TCR中的TSS位(停止狀態位)置1,關閉定時器。
STM #0010H,TCR(2)加載PRD。
STM #0100H,PRD;TINT周期=CLKOUT×(TDDR+1)×(PRD+1)(3)重新加載TCR(使TDDR初始化;令TSS位為0,以接通CLKOUT;重新加載位TRB位置1,以使TIM減到0后重新加載PRD),啟動定時器。第54頁/共78頁STM #0C20H,TCR;SOft=1,Free=1,定時器遇到斷點后繼續進行若要開放定時中斷,必須(假定INTM=1)做到以下幾點:●將IFR中的TINT位置1,清除尚未處理完的定時器中斷。
STM #0008H,IFR ●將IMR中的TINT位置1,開放定時器中斷。
STM #0008H,IMR●將STI中的INTM位置0,從整體上開放中斷。
RSBX INTM第55頁/共78頁6.4主機接口6.4.1HPI結構及其工作方式
HPI主要由五個部分組成,如圖6-10所示。
(1)HPI存儲器(DARAM):用于TMS320C54x與主機間傳送數據。
(2)HPI地址寄存器(HPIA):由主機對其直接訪問,存放當前尋址HPI存儲單元的地址。第56頁/共78頁圖6-10主機接口的組成框圖第57頁/共78頁(3)HPI數據鎖存器(HPID):由主機對其直接訪問,存放當前進行讀/寫的數據。
(4)HPI控制寄存器(HPIC):TMS320C54x和主機都能對其直接訪問,用于主處理器與DSP相互握手,實現相互中斷請求。
(5)HPI控制邏輯:用于處理HPI與主機之間的接口信號。第58頁/共78頁6.4.2HPI接口設計
HPI提供靈活而方便的接口,接口外圍電路簡單。TMS320C54xHPI與主機相連時,幾乎不需要附加其他的邏輯電路。圖6-11給出了其連接框圖。
HPI接口信號可分為以下幾類:●數據總線:HD0~HD7,即數據總線寬度為8位。●地址總線。●控制線。●握手線。第59頁/共78頁圖6-11TMS320C54xHPI與主機的連接框圖第60頁/共78頁6.4.3HPI控制寄存器
HPI有三個可訪問的寄存器:HPIA、HPID和HPIC。主機要通過HPI接口訪問TMS320C54x片內RAM,首先要初始化HPIC,然后設置HPIA,最后讀寫TMS320C54x的片內RAM,對HIPD進行操作。HPIC是一個16位存儲器映像寄存器,在數據存儲器空間的地址為002CH。HPIC中有4個狀態位控制著HPI的操作,各位的含義如下。第61頁/共78頁BOB:字節選擇位。SMOD:尋址方式選擇位。DSPINT:主機向TMS320C54x發出中斷位。HINT:TMS320C54x向主機發出中斷位。第62頁/共78頁圖6-12主機和TMS320C54x訪問HPIC寄存器的結果(a)主機讀HPIC;(b)主機寫HPIC;(c)TMS320C54x讀HPIC;(d)TMS320C54x寫HPIC第63頁/共78頁6.5串行口6.5.1串行口概述
TMS320C54x具有高速、全雙工串行口,可以與串行設備(如編解碼器和串行A/D轉換器)直接通信,也可用于多處理器系統中處理器之間的通信。第64頁/共78頁
所謂串行通信,就是發送器將并行數據逐位移出成為串行數據流,接收器將串行數據流以一定的時序和一定的格式呈現在連接收/發器的數據線上。
TMS320C54x有三種類型的串行口:標準同步串行口(SPI)、緩沖串行口(BSP)和時分多路串行口(TDM)。標準同步串行口(SPI,SerialPortInterface):有兩個獨立的緩沖器用于傳送數據,接收緩沖器和發送緩沖器,每個緩沖器有一條可屏蔽的中斷線。串行數據可以按8位字或16位字轉換。第65頁/共78頁
緩沖串行口(BSP,BufferedSerialPort):在標準同步串行口的基礎上增加了一個自動緩沖單元(ABU)。BSP是一種增強型標準串行口,它是全雙工的,并有兩個可設置大小的緩沖區。緩沖同步串口支持高速的傳送,并減少中斷服務的次數。ABU利用獨立于CPU的專用總線,讓串行口直接讀/寫TMS320C54x的接收/發送緩沖區。時分多路復用串行接口(TDM,Time-DivisionMultiplexed):允許同一個串口以分時方式傳送多路數據,TDM為多處理器通信提供了一種簡單而有效的方式。第66頁/共78頁6.5.2串行口的組成框圖標準同步串行口由16位發送數據寄存器(DXR)、接收數據寄存器(DRR)、發送移位寄存器(XSR)、接收移位寄存器(RSR)以及控制電路組成。每個串行口的發送和接收部分都有與之相關聯的時鐘、幀同步脈沖以及數據信號。其組成如圖6-13所示。
TMS320C54x通過3條信號線連接到串口。圖6-14給出了兩個TMS320C54x進行串行通信的硬件連接圖。下面將介紹串行口接收和發送數據的過程。第67頁/共78頁CPU發送數據時,先將要發送的數據寫到DXR上。若上一個字已串行傳送到串行發送數據引腳信號(DX)引腳上,此時,XSR是空的,則將DXR中的數據拷貝到XSR。在發送時的幀同步信號(FSX)和發送時鐘信號(CLKX)的作用下,將XSR中的數據送到DX引腳輸出。接收數據時,在接收時的幀同步信號(FSR)和接收時鐘信號(CLKR)的作用下,將來自串行數據信號(DR)引腳的數據先移位到RSR,再從RSR拷貝至DRR,CPU從DRR中讀取數據。
第68頁/共78頁圖6-13串行口的組成框圖第69頁/共78頁圖6-14串行口傳送數據連接圖第70頁/共78頁6.5.3串行口編程串行口可通過訪問3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省威遠縣龍會中學2025屆高考考前模擬考試化學試題文試題含解析
- 天津市濱海新區大港油田一中2025年高三下學期期末考試(第四次月考)數學試題含解析
- 浙江省杭州市臨安區、富陽區2025年初三第一次診斷考試物理試題文試題含解析
- 四川省什邡市城南校2025年初三年級第三次畢業診斷及模擬測試英語試題試卷含答案
- 四川省南充市儀隴縣重點中學2024-2025學年初三下學期第三次質量檢查化學試題含解析
- 2023-2024學年遼寧大石橋初二上期期末檢測物理卷【含答案】
- 房地產買賣合同常見問題解答
- 感冒中醫治療課件
- 1人要自強 議題式公開課一等獎創新教學設計-統編版道德與法治七年級下冊
- Brand KPIs for ready-made-food Gino D'Acampo in the United Kingdom-外文版培訓課件(2025.2)
- 腸癌篩查早發現早治療
- 《化工工藝概論》解析
- 醫療器械經營安全培訓必備知識
- 網格員宣傳防詐騙知識講座
- (完整文本版)新概念英語第一冊單詞表默寫版1-144
- 《醫院勞動合同書》電子版
- 機車直流電機的電力拖動-直流電機的基本方程
- 2022-2023學年四川省巴中市巴州區川教版(三起)四年級下學期4月期中英語試卷(解析版)
- 互聯網信息審核員考試題庫大全-上(單選題匯總)
- 湖南省長沙市實驗小學小學語文五年級下冊期末試卷(含答案)
- 硫酸生產技術 二氧化硫催化氧化的化學平衡及動力學
評論
0/150
提交評論