第7章C54片內(nèi)外設(shè)、接口及應用_第1頁
第7章C54片內(nèi)外設(shè)、接口及應用_第2頁
第7章C54片內(nèi)外設(shè)、接口及應用_第3頁
第7章C54片內(nèi)外設(shè)、接口及應用_第4頁
第7章C54片內(nèi)外設(shè)、接口及應用_第5頁
已閱讀5頁,還剩185頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章

TMS320C54x片內(nèi)外設(shè)、接口及應用內(nèi)容提要

本章詳細介紹了TMS320C54x中主機接口HPI、定時器、串行接口和中斷系統(tǒng)。

主機接口HPI是TMS320C54x系列定點芯片內(nèi)部具有的一種接口部件,主要用于DSP與其他總線或CPU進行通信。HPI接口通過HPI控制寄存器(HPIC)、地址寄存器(HPIA)、數(shù)據(jù)鎖存器(HPID)和HPI內(nèi)存塊實現(xiàn)與主機通信。

片內(nèi)定時器包括定時寄存器TIM、定時周期寄存器PRD和定時控制寄存器TCR。

TMS320C54x的串行口有4種類型:標準同步串口BP、緩沖同步串口BSP、多路緩沖串口McBSP和時分多路同步串口TMD。

中斷是由硬件或軟件驅(qū)動的中斷信號,使CPU中斷當前程序,去執(zhí)行中斷服務程序。

2023/3/91DSP原理及應用第7章TMS320C54x片內(nèi)外設(shè)、接口及應用7.1’C54x的主機接口

7.2’C54x的定時器7.3’C54x的串行接口7.4’C54x的中斷系統(tǒng)2023/3/92DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.1’C54x的主機接口

’C54x的主機接口(HPI)是一個8位并行口,用來實現(xiàn)與主設(shè)備或主處理器的通信。

主機與HPI的通信,可通過專用地址和數(shù)據(jù)寄存器、HPI控制寄存器以及使用外部數(shù)據(jù)與接口控制信號來實現(xiàn)。

HPI口作為主機的外圍設(shè)備,提供8根外部數(shù)據(jù)線HD(0~7)與主機(或主設(shè)備)交換信息。當’C54x與主機傳送數(shù)據(jù)時,HPI能自動地將外部接口連續(xù)傳來的8位數(shù)組成16位數(shù),并傳送至’C54x。當主機使用HPI寄存器執(zhí)行數(shù)據(jù)傳輸時,HPI控制邏輯自動執(zhí)行對’C54x內(nèi)部的雙尋址RAM的訪問,以完成數(shù)據(jù)處理。

2023/3/93DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.1’C54x的主機接口

HPI接口有兩種工作方式:

共用尋址模式(SAM方式)在這種方式下,主機和’C54x都能尋址HPI存儲器。如果是異步工作的主機尋址,可在HPI內(nèi)部重新得到同步。當’C54x與主機的周期發(fā)生沖突時,則主機具有尋址優(yōu)先權(quán),’C54x將等待一個周期。

主機尋址模式(HOM方式)

在HOM方式下,HPI存儲器只能讓主機尋址,而’C54x則處于復位狀態(tài)或IDLE2空轉(zhuǎn)狀態(tài)。主機可以訪問HPIRAM,而’C54x則配置為最小功耗。

2023/3/94DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.1’C54x的主機接口

HPI口可以支持主設(shè)備與’C54x之間的高速數(shù)據(jù)傳送。

在SAM工作方式時,若HPI每5個CLKOUT周期傳送一個字節(jié),則主機的運行頻率可達(fd×n)/5。

fd——’C54x的CLKOUT頻率;

n——主機每進行一次外部尋址的周期數(shù),通常n是3(或4)。例如:’C54x的CLKOUT頻率為40MHz,那么主機的時鐘頻率可達32(或24)MHz,且不插入等待周期。在HOM方式時,主機可以獲得更高的速度。即每50ns尋址一個字節(jié)(即160Mbps),且與’C54x的時鐘速度無關(guān)。

2023/3/95DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.1’C54x的主機接口

1.HPI與主機的連接

’C54x通過HPI與主機設(shè)備連接,除了8位HPI數(shù)據(jù)總線以及控制信號線外,不需要附加其他的邏輯電路。

數(shù)據(jù)線

地址

讀/寫

數(shù)據(jù)口

地址鎖存使能

準備中斷主機HD0~HD7HCNTL0HCNTL0HBILHR/WHDS1HDS2HCSHASHRDYHINTTMS320C54x82023/3/96DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.HPI與主機的連接

HPI與主機連接的信號名稱和功能:HD0~HD7:當不傳送數(shù)據(jù)(HDSx或HCS=1)或EMU1/OFF=0(切斷所有輸出)時,HD7~HD0均處于高阻狀態(tài)。

雙向并行三態(tài)數(shù)據(jù)總線,與主機數(shù)據(jù)總線相連。片選信號,與主機地址線或控制線相連。HCS:作為HPI的使能輸入端,在每次尋址期間必須為低電平,而兩次尋址之間也可以停留在低電平。

2023/3/97DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.HPI與主機的連接

HPI與主機連接的信號名稱和功能:地址選通信號,與主機地址鎖存使能(ALE)或地址選通引腳相連,也可以不使用。HAS:若主機的地址和數(shù)據(jù)線是分開的,則HAS接高電平,此時由HDS1、HDS2或HCS中最遲的下降沿鎖存HBIL、HCNTL0/1和HR/W信號。

若主機的地址和數(shù)據(jù)是一條多路總線,HAS則與主機的ALE引腳相連。在HAS的下降沿,鎖存HBIL、HCNTIL0/1和HR/W信號;

2023/3/98DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.HPI與主機的連接

HPI與主機連接的信號名稱和功能:字節(jié)識別信號,與主機地址線或控制線連接,用于識別主機傳送來的是第幾字節(jié)。HBIL:高電平表示HPI已準備好,可執(zhí)行一次數(shù)據(jù)傳送;低電平表示HPI正忙于完成當前事務。

當HBIL=0時,為第1字節(jié);當HBIL=1時,為第2字節(jié)。第1個字節(jié)是高字節(jié)還是低字節(jié),由HPIC寄存器中的BOB位決定。

HRDY:

HPI準備好端,與主機異步準備好線相連。2023/3/99DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.HPI與主機的連接

主機控制信號,與主機地址線或控制線連接,用來選擇主機所要尋址的寄存器。HCNTL0、HCNTL1:HCNTL0HCNTL1功能說明00主機可以讀/寫HPIC寄存器。

01主機可以讀/寫HPID寄存器。每讀1次,HPIA事后增1;

每寫1次,HPIA事先增1。

10主機可以讀/寫HPIA寄存器。這個寄存器指向HPI存儲器。

11

主機可以讀/寫HPID寄存器。HPIA寄存器不受影響

2023/3/910DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.HPI與主機的連接

數(shù)據(jù)選通信號,與主機讀選通和寫選通或數(shù)據(jù)選通線連接,用于在主機尋址HPI周期內(nèi),控制HPI數(shù)據(jù)的傳送。HDS1、HDS2:

HDS1和HDS2信號與HCS一道產(chǎn)生內(nèi)部選通信號。

HPI中斷輸出信號,與主機中斷輸入相連。受HPIC寄存器中的HINT位控制。HINT:當’C54x復位時為高電平,EMU1/OFF低電平時為高阻狀態(tài)。2023/3/911DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.HPI與主機的連接

讀/寫信號。與主機讀/寫選通、地址線或多路地址數(shù)據(jù)線連接,用于控制主機對HPI的讀寫操作。HR/W:

當該信號為高電平時,表示主機要讀HPI;

當該信號為低電平時,表示主機要寫HPI。

若主機沒有讀/寫信號,可用一根地址線代替。2023/3/912DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.1’C54x的主機接口

2.控制寄存器HPIC

HPI控制寄存器為16位寄存器,用來控制HPI的操作。其高8位與低8位完全相同,提供了4個控制位,分別為BOB、SMOD、DSPINT和HINT位。

15~121110987~43210XHINTDSIPNTSMODBOBXHINTDSIPNTSMODBOB2023/3/913DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.控制寄存器HPIC

HPI控制位的功能:控制位主機狀態(tài)’C54x狀態(tài)功能說明HINT

讀/寫

讀/寫

’C54x向主機發(fā)出中斷位。這一位決定HINT輸出端的狀態(tài),用來對主機發(fā)出中斷。復位后,HINT=0,外部HINT輸出端無效(高電平)。該位只能由’C54x置位,也只能由主機將其復位。當外部HINT引腳無效(高電平)時,’C54x和主機讀HINT位為0;當HINT為有效(低電平)時,讀為1

BOB

讀/寫

——字節(jié)選擇位。若BOB=1,第1個字節(jié)為低字節(jié),否則,第1個字節(jié)為高字節(jié)。BOB位影響數(shù)據(jù)和地址的傳送。只有主機可以修改這一位,’C54x對它既不能讀也不能寫。

DSPINT

——主機向’C54x發(fā)出中斷位,只能由主機寫入,且主機和’C54x都不能讀它。當主機對該位寫1時,就對’C54x產(chǎn)生一次中斷。該位總是讀成0。當主機寫HPIC時,高、低字節(jié)必須寫入相同的值。

SMOD

讀/寫

尋址方式選擇位。若SMOD=0,選擇HOM方式,’C54x都不能尋址HPI的RAM區(qū)。’C54x復位期間,SMOD=0;復位后,SMOD=1。該位只能由’C54x修正,’C54x和主機都可以讀它。2023/3/914DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.控制寄存器HPIC

主機和’C54x對HPIC寄存器的尋址有4種結(jié)果:①主機讀HPIC寄存器15~121110987~43210XHINT0SMODBOBXHINT0SMODBOBDSIPNT=0②主機寫HPIC寄存器15~121110987~43210XHINTDSIPNTXBOBXHINTDSIPNTXBOBSMOD=X2023/3/915DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.控制寄存器HPIC

主機和’C54x對HPIC寄存器的尋址有4種結(jié)果:③’C54x讀HPIC寄存器15~121110987~43210XHINT0SMOD0高12位為任意值XDSIPNT=0BOB=0④’C54x寫HPIC寄存器15~121110987~43210XHINTXSMODX任意值X2023/3/916DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.2’C54x的定時器

在工業(yè)應用中,計數(shù)器和定時器常用于檢測和控制中的時序協(xié)調(diào)及控制。

’C54x的片內(nèi)定時器是一個可編程的定時器,可用于周期地產(chǎn)生中斷。定時器的最高分辨率為處理器的CPU時鐘速度。通過帶4位預定標器的16位計數(shù)器,可以獲得較大范圍的定時頻率。2023/3/917DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.2’C54x的定時器

定時器主要由定時寄存器TIM、定時周期寄存器PRD、定時控制寄存器TCR及相應的邏輯控制電路組成。

寄存器TIM、PRD和TCR是存儲器映像寄存器,地址分別為0024H、0025H和0026H。7.2.1定時器結(jié)構(gòu)

1.定時器的組成

2023/3/918DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.定時器的組成

主定時模塊預定標模塊周期寄存器PRD定時寄存器TIM借位13預定標計數(shù)器PSC借位預定標分頻系數(shù)TDDR12111&SRESETTRBCLKOUTTSSTINTTOUT2023/3/919DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.定時器的組成

定時寄存器TIM邏輯控制電路定時周期寄存器PRD定時控制寄存器TCR16位減1計數(shù)器。地址:0024H

用來存放定時時間。地址:0025H存放定時器的控制位和狀態(tài)位。地址:0026H。

用來控制定時器協(xié)調(diào)工作。2023/3/920DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.定時器的組成

邏輯控制電路:由三個或門和一個與門組成。

通過或門1、3控制PRD的加載計數(shù);

通過或門1、2控制PSC的加載計數(shù)。停止控制位TSS:通過與門屏蔽CLKOUT信號來控制定時器的啟動。TINT——外部定時中斷,定時時間到發(fā)中斷;TOUT——定時輸出,輸出定時波形。復位SRESET和TRB:2023/3/921DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用主定時模塊包括PRD和TIM,由預定標模塊定時,預定標模塊每輸出一個時鐘,TIM減1。當TIM減到0后,TIM裝入PRD的值。2.定時器工作原理

當設(shè)備復位(SRESET=1)或者定時器復位(TRB=1)時,PRD的內(nèi)容將裝入TIM中。

主定時模塊的定時中斷(TINT)信號輸出至CPU以及定時器的輸出引腳TOUT。2023/3/922DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

預定標模塊包括TCR中的TDDR和PSC位,由CPU時鐘定時,每來一個CPU時鐘,PSC值減1。

當PSC減至0、設(shè)備復位或定時器復位時,TDDR的內(nèi)容復制到PSC中。

2.定時器工作原理

4位預定標計數(shù)器PSC和16位定時計數(shù)器TIM組成一個20位計數(shù)器,定時器每接收一個CPU時鐘減1,當計數(shù)器減到0時,產(chǎn)生定時中斷(TINT),同時PSC和TIM重新裝入預設(shè)的值。2023/3/923DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.定時器工作原理

由邏輯控制電路控制定時器運行。

定時分頻系數(shù)和周期數(shù)分別裝入TCD和PRC寄存器中;

每來一個定時脈沖CLKOUT,計數(shù)器PSC減1;

當PSC減至0時,PSC產(chǎn)生借位信號;

在PSC的借位信號作用下,TIM減1計數(shù),同時將分頻系數(shù)裝入PSC,重新計數(shù);

當TIM減到0時,定時時間到,由借位產(chǎn)生定時中斷TINT和定時輸出TOUT,并將PRD中的時間常數(shù)重新裝入TIM。定時器的工作過程:2023/3/924DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

16位存儲器映像寄存器,包含定時器的控制位和狀態(tài)位。3.定時控制寄存器TCR

15~1211109~6543~0TDR0026h保留

Soft

Free

PSC

TRB

TSS

TDDR

保留位軟件調(diào)試控制位

預定標計數(shù)器

重新加載位停止狀態(tài)位分頻系數(shù)2023/3/925DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

TDDR:定時器分頻系數(shù),用來對CLKOUT進行分頻,以改變定時周期。最大預定標值為16,最小預定標值為1。當PSC減到0后,以TDDR中的數(shù)加載PSC。3.定時控制寄存器TCR

TSS:定時器停止狀態(tài)位,用于停止或啟動定時器復位時,TSS位清0,定時器立即定時。TSS=0,定時器啟動工作;TSS=1,定時器停止工作。2023/3/926DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

TRB:定時器重新加載位,用來復位片內(nèi)定時器。當TRB置1時,以PRD中的數(shù)加載TIM,以及以TDDR中的值加載PSC。TRB總是讀成0。3.定時控制寄存器TCR

PSC:定時器預定標計數(shù)器,其標定范圍為1~16。當PSC減到0后,TDDR位域中的數(shù)加載到PSC,TIM減1。2023/3/927DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

Free、Soft:軟件調(diào)試控制位。Free和Soft位結(jié)合使用,用來控制調(diào)試程序斷點操作情況下的定時器工作狀態(tài)。3.定時控制寄存器TCR

Soft

Free

定時器狀態(tài)

0

0

定時器立即停止工作

1

0

當計數(shù)器減至0時停止工作

X

1

定時器繼續(xù)工作

保留:讀成0。

2023/3/928DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用定時器的基準工作脈沖由CLKOUT提供,每來一個脈沖預定標計數(shù)器PSC減1,當PSC減至0時,下一個脈沖到來,PSC產(chǎn)生借位。

借位信號分別控制定時計數(shù)器TIM減1和或門2的輸出,重新將TDDR的內(nèi)容加載預定標計數(shù)器PSC,從而完成定時工作的一個基本周期。4.定時器的初始化

定時器的定時時間為:

定時周期=CLKOUT×(TDDR+1)×(PRD+1)

2023/3/929DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用定時器初始化步驟如下:

TCR的TSS位置1,關(guān)閉定時器,停止定時;

②裝載PRD值;

③重新裝入TCR,初始化TDDR,設(shè)置TSS=0和TRB=1,重裝載定時器周期。啟動定時器。

4.定時器的初始化

設(shè)置定時器中斷方法(INTM=1)如下:

●將IFR中的TINT置1,以清除尚未處理完的定時器中斷;

●將IMR中的TINT置1,啟動定時器中斷。●

將INTM置0,啟動全部中斷。

2023/3/930DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用復位時,TIM和PRD被設(shè)置為最大值(0FFFFH),TCR中的TDDR置0,定時器可以通過啟動定時控制寄存器(TCR)完成以下操作:

●設(shè)定定時器的工作方式;

●設(shè)定預定標計數(shù)器中的當前數(shù)值;

●啟動或停止定時器;

●重新裝載定時器;●

設(shè)置定時器的分頻值。

4.定時器的初始化

2023/3/931DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用4.定時器的初始化

【例7.2.1】定時器自動裝載定時。

TSS=0:啟動定時器;TRB=1:自動裝載;TDDR=Ah:分頻系數(shù)10

soft=1,free=0:計數(shù)器減至0時,停止工作;TCR=0AAAH。

定時周期:0101H;關(guān)閉定時器中斷:IFR=0008H;

開放定時器中斷:IMR=0008H。

STM#0000H,SWWSRSTM#0010H,TCRSTM#0101H,PRDSTM#0AAAH,TCRSTM#0080H,IFRSTM#0080H,IMRRSBXINTM

;不插等待時間

;TSS=0關(guān)閉定時器

;加載周期寄存器(PRD)

;裝入定時器控制字,啟動定時器

;消除尚未處理完的定時器中斷

;開放定時器中斷

;開放中斷2023/3/932DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.2’C54x的定時器

例如:用TMS320VC5402實現(xiàn)方波發(fā)生器。假設(shè)時鐘頻率為4MHz,在XF端輸出占空比為50%的方波,方波的周期由片上定時器確定,采用中斷方法實現(xiàn)。

7.2.2’C54x定時器/計數(shù)器的應用1.方波發(fā)生器(1)定時器初始化

關(guān)閉定時器,TCR中的TSS=1;

●加載PRD。設(shè)定定時中斷周期,每中斷一次,輸出端電平取反一次;●

啟動定時器,初始化TDDR,TSS=0,TRB=1。

2023/3/933DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.方波發(fā)生器(2)中斷初始化

中斷允許寄存器IFR中的定時中斷位TINT=1,清除未處理完的定時中斷;●中斷屏蔽寄存器IMR中的定時屏蔽位TINT=1,開放定時中斷;●

狀態(tài)控制寄存器ST1中的中斷標志位INTM=0,開放全部中斷。

2023/3/934DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用(3)方波發(fā)生器程序清單

周期為8ms的方波發(fā)生器,定時中斷周期為4ms,每中斷一次,輸出端電平取一次反。

程序清單:

;abc1.asm

;定時器0寄存器地址TIM0.set0024HPRD0.set0025HTCR0.set0026H

;K_TCR0:設(shè)置定時器控制寄存器的內(nèi)容K_TCR0_SOFT.set0b;Soft=0K_TCR0_FREE.set0b;Free=0K_TCR0_PSC.set1001b;PSC=9HK_TCR0_TRB.set1b;TRB=1K_TCR0_TSS.set0b;TSS=0K_TCR0_TDDR.set1001b;TDDR=9K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDR

2023/3/935DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用(3)方波發(fā)生器程序清單程序清單:

;初始化定時器0

;根據(jù)定時長度計算公式:Tt=T*(TDDR+1)*(PRD+1)

;給定TDDR=9,PRD=1599,CLKOUT主頻f=4MHz,T=250ns

;Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms)

STM#1599,TIM0STM#1599,PRD0STM#K_TCR0,TCR0

;啟動定時器0中斷

RET

;定時器0的中斷服務子程序:通過引腳XF給出周期為8ms的占空比

;為50%的方波波形t0_flag.usect

“vars”,1

;當前XF輸出電平標志位

;若t0_flag=1,則XF=1

;若t0_flag=0,則XF=0

2023/3/936DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

time0_rev:PSHMTRNPSHMTPSHMST0PSHMST1BITFt0_flag,#1BCxf_out,NTCSSBXXFST#0,t0_flagBnext

xf_out:RSBXXFST#1,t0_flagnext:POPMST1POPMST0POPMTPOPMTRN

RETE2023/3/937DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

對于周期信號的周期檢測,可在信號的每個周期內(nèi)發(fā)出一個脈沖,然后通過程序計算兩個脈沖之間的時間來確定信號的周期。

當脈沖來臨時,觸發(fā)外部中斷INT0。外部中斷INT0用來記錄脈沖,定時器0用來記錄時間。7.2.2’C54x定時器/計數(shù)器的應用2.周期信號的周期檢測

為了增加計時長度,可在程序中設(shè)置一級計數(shù)器。定時器0的寄存器用來記錄低位時間,程序中的計數(shù)器用來記錄高位時間,在外部中斷服務程序中讀取時間。在定時器0中斷服務程序中對計數(shù)器加1,實現(xiàn)低位時間的進位。

2023/3/938DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

2.周期信號的周期檢測

;abc3.asm

;定時器0寄存器地址

TIM0.set0024HPRD0.set0025HTCR0.set0026HTSSSET.set010HTSSCLR.set0ffefH

;K_TCR0:設(shè)置定時器控制寄存器的內(nèi)容K_TCR0_SOFT.set0b

;Soft=0

K_TCR0_FREE.set0b

;Free=0

K_TCR0_PSC.set1111b

;PSC=15K_TCR0_TRB.set1b

;TRB=12023/3/939DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

K_TCR0_TSS.set0b

;TSS=0K_TCR0_TDDR.set1111b

;TDDR=15K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDRt_counter.usect“vars”,1t_ptr_counter.uset“vars”,1

tim_ptr_counter.usect“vars”,1

tcr_ptr_counter.usect“vars”,1

;變量定義

t_array.usect“vars”,15

tim_array.usect“vars”,15

tcr_array.usect“vars”,15

.a(chǎn)sgAR7,t_ptr

.a(chǎn)sgAR6,tim_ptr

.a(chǎn)sgAR5,tcr_ptr2023/3/940DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

_inittime:

;初始化定時器0,定時長度為T*393,216

;定時長度=T*(TDDR+1)*(PRD+1),本程序中TDDR=11,PRD=32767,

;主頻為f,T=1/f

STM#32767,TIM0STM#32767,PRD0STM#K_TCR0,TCR0ST#0,*(t_counter)ST#t_array,*(t_ptr_counter)ST#tim_array,*(tim_ptr_counter)ST#tcr_array,*(tcr_ptr_counter)RET2023/3/941DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

;外部中斷INT0,在脈沖來時被激活并響應服務子程序,從脈沖響應

;到響應存在延遲

int0isr:PSHMST0PSHMST1PSHMt_ptr

PSHMtim_ptr

PSHMtcr_ptr

PSHMALPSHMAHPSHMAGPSHMBLPSHMBHPSHMBG2023/3/942DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

;將當前存儲地址加載到地址指針即寄存器中

LD*(t_ptr_counter),ASTMA,t_ptr

LD*(tim_ptr_counter),ASTMA,tim_ptr

LD*(tcr_ptr_counter),ASTMA,tcr_ptr

;用戶手冊上建議,為精確計時,讀寄存器時,先停止定時器

ORMTSSSET,TCR0

;停止定時器

LDMTIM0,A

;讀TIM0寄存器,需1個CLKOUT周期

LDMTCR0,B

;讀TCR0寄存器,需1個CLKOUT周期ANDMTSSCLR,TCR0

;打開定時器,運行該指令需1個

;CLKOUT周期2023/3/943DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

;由于讀定時器的寄存器,定時器停止計時共3個CLKOUT周期

STLA,*tim_ptr

;讀TIM0寄存器,保存

AND#0FH,B

;取TCR0寄存器的低4位,即TDDR

STLB,*tcr_ptr

;保存

LD*(t_counter),ASTLA,*t_ptr

;讀到的時間=脈沖到來的時間+延遲響應時間t1+停止定時器之前運行程序的時間

ADDM#1,*(t_ptr_counter)ADDM#1,*(tim_ptr_counter)ADDM#1,*(tcr_ptr_counter)2023/3/944DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單如下:

POPMBGPOPMBHPOPMBLPOPMAGPOPMAHPOPMAPOPMtcr_ptr

POPMtim_ptr

POPMt_ptr

POPMST1POPMST0RETETime0isr:ANDM#1,*(t_counter)RETE2023/3/945DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

檢測輸入脈沖頻率是通過外部中斷請求輸入來實現(xiàn)。定時器的定時時間是根據(jù)所檢測輸入信號的周期來設(shè)定。

根據(jù)設(shè)定時間內(nèi)所檢測脈沖的個數(shù),計算被檢測輸入信號的頻率。

第一個負跳變觸發(fā)定時器工作,每輸入一個負跳變計一個數(shù)。當達到設(shè)定時間時,定時器停止工作。則此時定時器的時間值與所計脈沖數(shù)相除,所得的結(jié)果就是所測輸入信號的周期。7.2.2’C54x定時器/計數(shù)器的應用3.脈沖頻率監(jiān)測2023/3/946DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單:

3.脈沖頻率監(jiān)測

;abc4.asm

.mmregs

;定時器0寄存器地址

TIM0.set0024HPRD0.set0025HTCR0.set0026HTSSSET.set010HTSSCLR.set0ffefH

;K_TCR0:設(shè)置定時器控制寄存器的內(nèi)容

K_TCR0_SOFT.set0b;Soft=0K_TCR0_FREE.set0b;Free=0K_TCR0_PSC.set1111b;PSC=15K_TCR0_TRB.set1b;TRB=1K_TCR0_TSS.set0b;TSS=0K_TCR0_TDDR.set1111b;TDDR=152023/3/947DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單:

3.脈沖頻率監(jiān)測

K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDRt_counter.usect“vars”,1;變量定義t_ptr_counter.usect“vars”,1

tim_ptr_counter.usect“vars”,1

tcr_ptr_counter.usect“vars”,1t_array.usect“vars”,20

tim_array.usect“vars”,20

tcr_array.usect“vars”,20.asgAR7,t_ptr

.asgAR6,tim_ptr

.asgAR5,tcr_ptr

t0_time.usect“vars”,1t0_end.usect“vars”,1

2023/3/948DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單:

3.脈沖頻率監(jiān)測

intex_sub:

;外部脈沖中斷子程序

PSHMTRNPSHMTPSHMST0PSHMST1ADDtim_ptr_counter,#1

;脈沖計數(shù)器加1

POPMST1POPMST0POPMTPOPMTRNRETE2023/3/949DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用程序清單:

3.脈沖頻率監(jiān)測

Int0_sub:

;定時器中斷子程序

PSHMTRNPSHMTPSHMST0PSHMST1LDt0_end,#1POPMST1POPMST0POPMTPOPMTRNRETE2023/3/950DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3’C54x的串行口

’C54x為用戶提供了豐富的同步串行口,可與雙向串口器件實現(xiàn)高效的串行通信。

’C54x的串行口有四種類型:

標準同步串口SP

緩沖同步串口BSP

多路緩沖串口McBSP

時分多路同步串口TMD

2023/3/951DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3’C54x的串行口

不同型號的芯片所帶串口類型不同。

芯片型號SPBSPMcBSPTMD’C5412000’C5420101’C5430101’C5451100’C5461100’C5480201’C5490201’C54020020’C54090030’C54100030’C54160030’C542000602023/3/952DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3’C54x的串行口

7.3.1標準同步串行口SP

1.SP串口結(jié)構(gòu)

結(jié)構(gòu)組成:

數(shù)據(jù)接收寄存器DRR;

數(shù)據(jù)發(fā)送寄存器DXR;

接收移位寄存器RSR;

發(fā)送移位寄存器XSR;

二個裝載控制邏輯電路;二個位/字控制計數(shù)器。2023/3/953DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

標準同步串行口結(jié)構(gòu):

數(shù)據(jù)總線數(shù)據(jù)發(fā)送寄存器DXR(16位)16發(fā)送移位寄存器XSR(16位)裝載控制邏輯位/字控制計數(shù)器數(shù)據(jù)接收寄存器DRR(16位)16接收移位寄存器RSR(16位)裝載控制邏輯位/字控制計數(shù)器1616RINTXINTDRDXFSRCLKRCLKXFSXClearClockClockClear2023/3/954DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

標準同步串行口的外部引腳:

接收通道發(fā)送通道引腳說明引腳說明CLKR接收時鐘信號CLKX發(fā)送時鐘信號DR接收串行數(shù)據(jù)信號DX發(fā)送串行數(shù)據(jù)信號FSR接收幀同步信號FSX發(fā)送幀同步信號2023/3/955DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

標準同步串行口各部分的功能:

(1)

數(shù)據(jù)接收寄存器DRR

16位的存儲器映像數(shù)據(jù)接收寄存器,用來保存來自RSR寄存器并將要寫到數(shù)據(jù)總線的輸入數(shù)據(jù)。復位時,DRR被清除。

(2)

數(shù)據(jù)發(fā)送寄存器DXR

16位的存儲器映像數(shù)據(jù)發(fā)送寄存器,用來保存來自數(shù)據(jù)總線并將要加載到XSR的外部串行數(shù)據(jù)。復位時,DXR被清除。

2023/3/956DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

(3)

數(shù)據(jù)接收移位寄存器RSR

16位的數(shù)據(jù)接收移位寄存器,用來保存來自串行數(shù)據(jù)接收(DR)引腳的輸入數(shù)據(jù),并控制數(shù)據(jù)到DRR的傳輸。

(4)

數(shù)據(jù)發(fā)送移位寄存器XSR

16位數(shù)據(jù)發(fā)送移位寄存器,用來控制來自DXR的外部數(shù)據(jù)的傳輸,并保存將要發(fā)送到串行數(shù)據(jù)發(fā)送引腳的數(shù)據(jù)。

2023/3/957DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

(5)

串行接口控制寄存器SPC

16位的存儲器映像串行接口控制寄存器,用來保存串行接口的模式控制和狀態(tài)位。(6)

控制電路

用于控制串行口協(xié)調(diào)工作,分為:裝載控制電路:完成接收和發(fā)送數(shù)據(jù)的裝載;位/字控制計數(shù)器:完成位/字傳輸控制。2023/3/958DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

例如:完成兩個’C54x串行通信的連接。

’C54x

DXFSXCLKX發(fā)送

’C54xDRFSRCLKR接收2023/3/959DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.SP串口結(jié)構(gòu)

發(fā)送過程:

發(fā)送數(shù)據(jù)裝入DXR;

②當上一個數(shù)據(jù)發(fā)送完后,DXR的數(shù)據(jù)自動裝入XSR;

③在發(fā)送幀同步信號FSX和發(fā)送時鐘CLKX作用下,將XSR的數(shù)據(jù)通過引腳DX發(fā)送輸出。接收過程:

在接收幀同步信號FSR和接收時鐘CLKR作用下,接收數(shù)據(jù)通過DR引腳移至RSR中;

②當RSR滿時,將數(shù)據(jù)裝入DRR中。2023/3/960DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.

控制寄存器SPC15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0仿真控制仿真控制接收移位寄存器滿發(fā)送移位寄存器空發(fā)送準備好接收準備好發(fā)送時鐘狀態(tài)接收時鐘狀態(tài)76543210SPCLRRSTXRSTTXMMCMFSMFODLBRes接收復位發(fā)送復位發(fā)送模式時鐘選擇模式幀同步模式數(shù)據(jù)格式數(shù)據(jù)回送模式保留R/WR

SPC用于控制串行口的操作。2023/3/961DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用RES:保留位,用于單’C54x測試串行口代碼,總讀為0。

01DR

DX

DR(內(nèi)部)DLB01FSR

FSX

FSR(內(nèi)部)DLB

01CLKR

CLKX

CLKR(內(nèi)部)

DLB&MUXMUXMUXMCMDLB:數(shù)字回送模式位,用于設(shè)置串行接口數(shù)據(jù)回送模式。

當DLB=0時,為禁止數(shù)據(jù)回送模式。

DR、FSR和CLKR信號來自它們各自器件引腳;

76543210SPCLRRSTXRSTTXMMCMFSMFODLBRES

當DLB=1時,為使能數(shù)據(jù)回送模式。

DR和FSR分別選通DX和FSX;

若MCM=1,則輸出時鐘CLKR選擇片內(nèi)時鐘CLKX;

若MCM=0,則輸出時鐘CLKR選擇片外時鐘CLKR。2023/3/962DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用76543210SPCLRRSTXRSTTXMMCMFSMFODLBRESFO:數(shù)據(jù)格式位。用于定義串行口發(fā)送/接收數(shù)據(jù)的字長。

當FO=1時,接/發(fā)數(shù)據(jù)按8位字節(jié)傳輸,先送高8位;當FO=0時,接/發(fā)數(shù)據(jù)按16位字節(jié)傳輸。FSM:幀同步模式位。用來定義串行口工作時,在初始幀同步脈沖之后,是否還要求FSX和FSR幀同步脈沖。

當FSM=1時,串行口工作在字符組方式;當FSM=0時,串行口工作在連續(xù)方式。2023/3/963DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用76543210SPCLRRSTXRSTTXMMCMFSMFODLBRESMCM:時鐘選擇模式位。

用來設(shè)定CLKX的時鐘源。

若MCM=1,CLKX配置成輸出,采用內(nèi)部時鐘源;

若MCM=0,CLKX配置成輸入,采用外部時鐘源。

TXM:發(fā)送模式位。

用于設(shè)定幀同步脈沖FSX的來源。

當TXM=1時,F(xiàn)SX設(shè)置成輸出,由片內(nèi)產(chǎn)生幀同步脈沖;

當TXM=0時,F(xiàn)SX設(shè)置成輸入,由外部提供幀同步脈沖。2023/3/964DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用76543210SPCLRRSTXRSTTXMMCMFSMFODLBRESXRST:發(fā)送復位位。RRST:接收復位位。用來對串行口發(fā)送器進行復位。當XRST=1時,串行口處于工作狀態(tài);當XRST=0時,串行口處于復位狀態(tài),停止操作。用來對串行口接收器進行復位。當RRST=1時,串行口處于工作狀態(tài);當RRST=0時,串行口處于復位狀態(tài),停止操作。2023/3/965DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用IN0:接收時鐘狀態(tài)位。

用于顯示接收時鐘CLKR當前狀態(tài)。15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0IN1:發(fā)送時鐘狀態(tài)位。

用于顯示發(fā)送時鐘CLKX當前狀態(tài)。RRDY:接收準備好位。

用于檢測接收移位寄存器RSR接收數(shù)據(jù)的狀態(tài)。

RRDY由0變1,表示RSR中的內(nèi)容已復制到接收數(shù)據(jù)寄存器DRR中,同時串行口產(chǎn)生接收中斷RINT。2023/3/966DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0XRDY:發(fā)送準備好位。用于檢測發(fā)送寄存器DXR發(fā)送數(shù)據(jù)的狀態(tài)。

XRDY由0變1,表示DXR中的內(nèi)容已復制到發(fā)送移位寄存器XSR中,同時串行口產(chǎn)生發(fā)送中斷XINT。XSREMPTY:發(fā)送移位寄存器空位。用于反映發(fā)送移位寄存器的狀態(tài)。

當發(fā)生如下情況時,XSREMPTY=0,暫停發(fā)送數(shù)據(jù):

①發(fā)送移位寄存器XSR已空,而DXR仍未加載;②發(fā)送復位XRST=0;③芯片復位RS=0。2023/3/967DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0RSRFULL:接收移位計數(shù)器滿。

用來反映接收移位寄存器的狀態(tài),高電平有效。

在FSM=1時,下述條件同時發(fā)生時,RSRFULL=1:

①上次從RSR傳到DRR的數(shù)據(jù)還沒有讀出;②RSR已滿;③一個幀同步脈沖已出現(xiàn)在FSR端。

在FSM=0時,若滿足前兩個條件,RSRFULL=1。

當發(fā)生如下情況時,RSRFULL=0:

①讀取DRR中的數(shù)據(jù);②接收復位RRST=0;③芯片復位RS=0。2023/3/968DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0Free、Soft:仿真控制位。

用于調(diào)試程序遇到斷點時決定串行口的時鐘狀態(tài)。FreeSoft串行時鐘狀態(tài)00立即停止串行口時鐘,結(jié)束傳輸數(shù)據(jù)。01接收數(shù)據(jù)不受影響,若正在發(fā)送數(shù)據(jù),則等待當前數(shù)據(jù)發(fā)送后停止。1x出現(xiàn)斷點,時鐘不停,數(shù)據(jù)繼續(xù)移位。2023/3/969DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用3.標準串口SP的操作串口初始化步驟:

①復位,并且把0038H(或0008H)寫到SPC,初始化串行接口。②

把00C0H寫到IFR,清除任何掛起的串行接口中斷。③

把00C0H和IMR求或邏輯運算,使能串行接口中斷。④

清除ST1的INTM位,使能全局中斷。⑤

把00F8H(或00C8H)寫入SPC,啟動串行接口。⑥

把第一個數(shù)據(jù)寫到DXR。如果這個串行接口與另一個處理器的串行接口連接,而且這個處理器產(chǎn)生一個幀同步信號SFX,則在寫這個數(shù)據(jù)之前必須有握手信號。

2023/3/970DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用3.標準串口SP的操作串口中斷服務程序步驟:

保存上下文到堆棧中。②讀DRR或?qū)慏XR,或者同時進行兩種操作。從DRR讀出的數(shù)據(jù)寫到內(nèi)儲器中預定單元,寫到DXR的數(shù)據(jù)從存儲器的指定單元取出。③恢復現(xiàn)場。④用RETE從中斷子程序返回,并重新使能中斷。

2023/3/971DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3’C54x的串行口

7.3.2

緩沖同步串行口BSP

緩沖同步串行接口BSP是一個全雙工、雙緩沖的串行接口。它是在SP的基礎(chǔ)上增加一個自動緩沖單元ABU。

ABU是一種增強型標準串行口。它提供與其他串口工作器件的接口,如編碼器、串行A/D轉(zhuǎn)換器等。

BSP串口允許使用8,10,12,16位連續(xù)通信流數(shù)據(jù)包,為發(fā)送提供幀同步脈沖及一個可編程頻率的串行時鐘,最大的操作頻率是CLKOUT。2023/3/972DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3.2

緩沖同步串行口BSP

BSP由一個復用的雙緩沖串行接口組成,它的各項功能類似于標準串口,只是多了一個自動緩沖單元ABU。

ABU是一個附加邏輯電路,允許串口直接對內(nèi)存讀寫,不需要CPU參與,可以節(jié)省時間,實現(xiàn)串口與CPU的并行操作。

1.

BSP結(jié)構(gòu)

2023/3/973DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.

BSP結(jié)構(gòu)

2023/3/974DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用1.

BSP結(jié)構(gòu)

ABU的功能:是利用專用總線,控制串行口直接與’C54x的內(nèi)部存儲器進行數(shù)據(jù)交換。

ABU單元含有5個寄存器:

11位的地址發(fā)射寄存器AXR;②

11位的塊長度發(fā)送寄存器BKX;③

11位的地址接收寄存器ARR;④

11位的塊長度接收寄存器BKR;⑤

16位的串口控制寄存器BSPCE。

2023/3/975DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3.2

緩沖同步串行口BSP

BSP的擴展功能包括:

具有可編程串口的時鐘速率;

可選擇時鐘和幀同步信號的正負極性;

除了能進行8,16位串行數(shù)據(jù)通訊外,還可以傳送10,12位字。

允許設(shè)置忽略或不忽略幀同步信號;

為使用PMC接口提供一個專用的操作模式。2.

BSP的控制寄存器BSPCE

2023/3/976DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

BSPCE寄存器包含控制位和狀態(tài)位,用于控制BSP和ABU的增強功能。寄存器的低10位用于增強特性控制,高6位用于ABU控制。2.

BSP的控制寄存器BSPCE

15~10987654~0BSPCEABU控制PCMFIGFECLKPFSPCLKDVABU控制位脈沖編碼模式位幀同步信號選擇位擴展格式位時鐘極性設(shè)置位幀同步極性設(shè)置位發(fā)送時鐘分頻因數(shù)2023/3/977DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

BSPCE寄存器各位功能:2.

BSP的控制寄存器BSPCE

ABU控制:用于自動緩沖單元的控制。

PCM:PCM脈沖編碼模式位,用于設(shè)置串口工作于編碼模式。

這種PCM模式只影響發(fā)送器。BDXR到BXSR轉(zhuǎn)換不受PCM編碼位的影響。

PCM=0,清除脈沖編碼模式;②PCM=1,設(shè)置脈沖編碼模塊模式。2023/3/978DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.

BSP的控制寄存器BSPCE

FIG:幀同步信號選擇位,該位僅在連續(xù)發(fā)送模式下且具有外部幀同步信號,以及連續(xù)接收模式下工作。

①FIG=0,第一個幀脈沖之后的幀同步脈沖重新啟動發(fā)送;②FIG=1,忽略幀同步信號。2023/3/979DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.

BSP的控制寄存器BSPCE

FE:格式擴展位,用于和SPC中的FO位一起指定字長。

FOFE字長0016位0110位108位1112位2023/3/980DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.

BSP的控制寄存器BSPCE

CLKP:時鐘極性設(shè)置位,用于設(shè)定接收和發(fā)送時,何時采樣數(shù)據(jù)。

CLKP=0時,接收器在BCLKR的下降沿采樣數(shù)據(jù),發(fā)送器在BCLKX的上升沿發(fā)送數(shù)據(jù);

CLKP=1時,接收器在BCLKR的上升沿采樣數(shù)據(jù),發(fā)送器在BCLKX的下降沿發(fā)送數(shù)據(jù)。

FSP:幀同步極性設(shè)置位,用于設(shè)定幀同步脈沖觸發(fā)電平高低。

FSP=0,幀同步脈沖(BFSX和BFSR)高電平激活;FSP=1,幀同步脈沖(BFSX和BFSR)低電平激活。2023/3/981DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用2.

BSP的控制寄存器BSPCE

CLKDV:CLKDV內(nèi)部發(fā)送時鐘分頻因數(shù)。

當BSPC的MCM=1時,CLKX由片上的時鐘源驅(qū)動,其頻率為CLKOUT/(CLKDV+1),CLKDV的取值范圍是0~31。

當CLKDV為奇數(shù)或0時,CLKX的占空比為50%;當CLKDV為偶數(shù)時,其占空比依賴于CLKP:

CLKP=0,占空比為(P+1)/P;CLKP=1,占空比為P/(P+1)。2023/3/982DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用7.3.2

緩沖同步串行口BSP

ABU的功能是自動控制串口與內(nèi)部’C54x存儲器之間的數(shù)據(jù)傳輸,且不需要CPU干預。3.

ABU自動緩沖單元

工作方式:非緩沖方式和自動緩沖方式。

非緩沖方式:即標準方式,與SP相同。

自動緩沖方式:在ABU的控制下,串行口直接與C54x的內(nèi)部存儲器進行16位數(shù)據(jù)塊傳輸。當傳輸?shù)臄?shù)據(jù)長度是數(shù)據(jù)塊長度的一半或整個長度時,產(chǎn)生中斷。2023/3/983DSP原理及應用第7章TMS320C54x的片內(nèi)外設(shè)、接口及應用

ABU寄存器功能:3.

ABU自動緩沖單元HALTR(15):自動緩沖接收停止位,用于決定當緩沖區(qū)已接收到一半時,自動緩沖是否暫停

HALTR=0,當緩沖區(qū)接收到一半時,繼續(xù)操作;

HALTR=1,當緩沖區(qū)接收到一半時,自動緩沖停止。RH(14):接收緩沖區(qū)半滿,用來指明接收緩沖區(qū)哪一半已經(jīng)填滿。RH=0:表示緩沖區(qū)的前半部分被填滿,當前接收的數(shù)據(jù)正存入后半部分緩沖區(qū);RH=1:表示后半部分緩沖區(qū)被填滿,當前接收的數(shù)據(jù)正填入前半部分緩沖區(qū)。2023/3/984DSP原理及應用第7章TMS320C54x的片內(nèi)外

溫馨提示

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

最新文檔

評論

0/150

提交評論