輕松學會dsp——第10章-多通道緩沖串口培訓資料_第1頁
輕松學會dsp——第10章-多通道緩沖串口培訓資料_第2頁
輕松學會dsp——第10章-多通道緩沖串口培訓資料_第3頁
輕松學會dsp——第10章-多通道緩沖串口培訓資料_第4頁
輕松學會dsp——第10章-多通道緩沖串口培訓資料_第5頁
已閱讀5頁,還剩73頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、輕松學會DSP第10章-多通道緩沖串口一、一、McBSP概述概述 McBSPMcBSP設計是基于設計是基于TMS320C2XTMS320C2X、C20XC20X、C5XC5X、C54XC54X的標準串口上擴展的,的標準串口上擴展的,McBSPMcBSP提供:提供:u 全速雙工通信全速雙工通信u 雙緩存發送和三緩存接收數據寄存器,以支雙緩存發送和三緩存接收數據寄存器,以支持連持連 續傳送續傳送u 收和發使用獨立的幀和比特時鐘收和發使用獨立的幀和比特時鐘u 接口和與串行接口和與串行ADC/DACADC/DAC的接口的接口u 外部變速時鐘發生器,內部可編程時鐘發生外部變速時鐘發生器,內部可編程時鐘發

2、生器器1、McBSP的基本特點的基本特點u直接多種工業格式接口直接多種工業格式接口u多通道收發,通道數達多通道收發,通道數達128128u字寬可選:字寬可選: 8, 12, 16, 20, 24, and 32 bitsuU-Law and A-Law U-Law and A-Law 壓縮與擴展壓縮與擴展u8 8位傳輸時可選先傳:位傳輸時可選先傳: LSB or MSBLSB or MSBu幀信號與時鐘信號極性可編程幀信號與時鐘信號極性可編程2、 McBSP的結構的結構uTMS320C54xx多通道緩沖串口(多通道緩沖串口(McBSP)由引腳、接由引腳、接收發送部分、時鐘及幀同步信號產生、多通

3、道選擇以及收發送部分、時鐘及幀同步信號產生、多通道選擇以及CPU中斷信號和中斷信號和DMA同步信號組成,如圖所示。同步信號組成,如圖所示。表表 McBSP引腳說明引腳說明表表 McBSP內部信號說明內部信號說明3、 McBSP的工作流程的工作流程w McBSPMcBSP與外設進行數據傳輸是通過(與外設進行數據傳輸是通過(DXDX)腳來發送,(腳來發送,(RXRX)腳來接收,通信的時鐘腳來接收,通信的時鐘與幀信號是由與幀信號是由CLKX, CLKR, FSX, and FSRCLKX, CLKR, FSX, and FSR腳來控制。腳來控制。w DSPDSP的的CPUCPU或或DMADMA從數據

4、接收寄存器(從數據接收寄存器(DRR1DRR1,22)讀取接收數據,發送時向數據發送寄讀取接收數據,發送時向數據發送寄存器存器( (DXR1,2)DXR1,2)寫數據。寫數據。w 數據寫入數據寫入( (DXR1,2)DXR1,2)后通過傳輸移位寄后通過傳輸移位寄存器存器( (XSR1,2) XSR1,2) 移位輸出到移位輸出到DXDX上,同上,同樣,從樣,從DRDR上接收的數據移位存儲到接收上接收的數據移位存儲到接收移位寄存器移位寄存器( (RSR1,2) RSR1,2) 并拷貝到接收并拷貝到接收緩存寄存器緩存寄存器( (RBR1,2) RBR1,2) ,然后,再由然后,再由( (RBR1,2

5、)RBR1,2)拷貝到拷貝到DRR1,2DRR1,2,DRR1,2DRR1,2就可以由就可以由CPUCPU或或DMADMA來讀出。多級寄存器來讀出。多級寄存器允許在通信時內部和外部數據同時傳輸。允許在通信時內部和外部數據同時傳輸。w C54XXC54XX對對McBSPMcBSP的控制由的控制由1616位的控制寄存位的控制寄存器實現。器實現。二、二、 McBSP的配置的配置1、 McBSP控制寄存器 表 McBSP控制寄存器及其映射地址寄存器類型寄存器類型通用控制寄存器:通用控制寄存器:SPCR1,2,PCR 接收和發送通道寄存器:接收和發送通道寄存器:RCR1X,RCR2X,XCR1X,XCR

6、2X時鐘控制寄存器:時鐘控制寄存器:SRGR1X,SRGR2X多通道控制寄存器:多通道控制寄存器:MCR1X,MCR2X2、串口控制寄存器串口控制寄存器1 1(SPCR1SPCR1) SPCR1設置設置McBSP串口的數字環回模式、串口的數字環回模式、 接收符號擴展和校驗接收符號擴展和校驗模式、模式、Clock Stop模式、模式、DX是否允許、是否允許、A-bis 模式、接收中斷模式、接收中斷模式等,并給出接收同步錯誤、接收移位寄存器模式等,并給出接收同步錯誤、接收移位寄存器(RSR1,2)空、空、接收準備好等狀態。此外可以進行接收復位。接收準備好等狀態。此外可以進行接收復位。3、串口控制寄

7、存器串口控制寄存器2 2(SPCR2SPCR2) SPCR2設置設置McBSP自由運行模式、自由運行模式、SOFT 模式、發送中斷模式,并給出發模式、發送中斷模式,并給出發送同步錯誤、發送移位寄存器送同步錯誤、發送移位寄存器(XSR1,2)空、發送準備好等狀態。此外可空、發送準備好等狀態。此外可以進行發送復位、采樣率發生器復位、幀同步發生電路復位。以進行發送復位、采樣率發生器復位、幀同步發生電路復位。4、引腳控制寄存器(引腳控制寄存器(PCRPCR) PCR設置設置McBSP傳輸幀同步模式、接收幀同步模式、發送時傳輸幀同步模式、接收幀同步模式、發送時鐘模式、接收時鐘模式、發送幀同步信號的極性、

8、接收幀同鐘模式、接收時鐘模式、發送幀同步信號的極性、接收幀同步信號的極性、發送時鐘極性、接收時鐘極性,并給出步信號的極性、發送時鐘極性、接收時鐘極性,并給出CLKS、DX、DR腳的狀態。此外腳的狀態。此外PCR還定義發送和接收部還定義發送和接收部分在復位時相應引腳是否配置為通用分在復位時相應引腳是否配置為通用 I/O。5 5、接收控制寄存器、接收控制寄存器1 1(RCR1RCR1) RCR1RCR1設置設置McBSPMcBSP接收時第一相的接收時第一相的接收幀長度(從接收幀長度(從1個字到個字到128個個字、接收字長度(字、接收字長度(8、12、16、20、24、32bits)。6 6、接收控

9、制寄存器、接收控制寄存器2 2(RCR2RCR2) RCR2RCR2設置設置McBSPMcBSP接收時接收時是否允許第二相是否允許第二相(RPHASE=1RPHASE=1)。)。如果如果允許,設置允許,設置McBSPMcBSP接收接收時第二相的接收幀長時第二相的接收幀長度(從度(從1 1個字到個字到128128個個字、接收字長度(字、接收字長度(8 8、1212、1616、2020、2424、3232bitsbits)。)。此外,此外, RCR2RCR2設置設置McBSPMcBSP接收時接收時的接收壓縮模式、接的接收壓縮模式、接收同步幀忽略模式、收同步幀忽略模式、接收數據延遲。接收數據延遲。7

10、 7、發送控制寄存器、發送控制寄存器1 1(XCR1XCR1) XCR1XCR1設置設置McBSPMcBSP發送時第一相發送時第一相(FIRST PHASEFIRST PHASE)的發送的發送幀長度幀長度(從(從1個字到個字到128個字、發送個字、發送字長度(字長度(8、12、16、20、24、32bits)。8、發送控制寄存器發送控制寄存器2 2(XCR2XCR2) XCR2XCR2設置設置McBSPMcBSP發送時是否發送時是否允許第二相(允許第二相(XPHASE=1XPHASE=1)。)。如果允許,設置如果允許,設置McBSPMcBSP時第時第二相的發送二相的發送幀長度(從幀長度(從1個

11、個字到字到128個字、個字、發送發送字長度字長度(8、12、16、20、24、32bits)。此外,此外, XCR2XCR2設設置置McBSPMcBSP發送時的發送發送時的發送壓縮壓縮模式、模式、發送同步發送同步幀忽略模式、幀忽略模式、發送發送數據延遲。數據延遲。三、時鐘和幀同步1、系統框圖系統框圖w 串口工作需要幀同步和比特時鐘信號,這兩個串口工作需要幀同步和比特時鐘信號,這兩個信號的來源可以是外部管腳輸入,也可以是內信號的來源可以是外部管腳輸入,也可以是內部采樣率生成器產生,對于后者,此時管腳可部采樣率生成器產生,對于后者,此時管腳可能是一個時鐘輸出管腳。能是一個時鐘輸出管腳。2、工作幀同

12、步和工作比特時鐘、工作幀同步和工作比特時鐘w 真正用于發生和接收的幀同步和比特時鐘我們真正用于發生和接收的幀同步和比特時鐘我們叫做叫做internal CLKR,internal FSR,internal CLKX,internal FSX。w 這些信號同數據關系滿足如圖要求這些信號同數據關系滿足如圖要求 1)比特時鐘上升沿對齊幀同步,下降)比特時鐘上升沿對齊幀同步,下降 沿采樣沿采樣幀同步幀同步 2)幀同步高電平有效,長度無所謂)幀同步高電平有效,長度無所謂 3)比特時鐘上升沿對齊數據,下降沿采樣數)比特時鐘上升沿對齊數據,下降沿采樣數據據3 3、工作幀同步和比特時鐘來源、工作幀同步和比特時

13、鐘來源w 對于發送通道,可以是外部管腳,也可以對于發送通道,可以是外部管腳,也可以是內部采樣率生成器是內部采樣率生成器w 對于接收通道,可以是外部管腳,也可以對于接收通道,可以是外部管腳,也可以是內部采樣率生成器,工作在是內部采樣率生成器,工作在DLB模式時,模式時,則來源于發送通道工作幀同步和工作時鐘則來源于發送通道工作幀同步和工作時鐘4、采樣率生成器、采樣率生成器 采樣率發生器由三級時鐘分頻組成,產生可編程的采樣率發生器由三級時鐘分頻組成,產生可編程的CLKG(數據位時鐘)信號和數據位時鐘)信號和FSG(幀同步時鐘)信號。幀同步時鐘)信號。CLKG和和FSG是是McBSP的內部的內部 信號

14、,用于驅動接收信號,用于驅動接收/發送時鐘信號發送時鐘信號(CLKR/X)和幀同步信號(和幀同步信號(FSR/X)。)。采樣率發生器時鐘采樣率發生器時鐘既可以由內部的既可以由內部的CPU時鐘驅動(時鐘驅動(CLKSM=1),),也可以由外也可以由外部時鐘源驅動(部時鐘源驅動(CLKSM=0)。)。10CLKSMCLKSCLKSPCPU時 鐘CLKSRG幀 脈沖CLKGDVFPERFW IDFSG幀 脈 沖 檢 測與 時 鐘 同 步CLKGGSYNCFSR采樣率發生器框圖u采樣率發生器的三級分頻分別是:采樣率發生器的三級分頻分別是: 數據位時鐘分頻數據位時鐘分頻( (CLKGDV) CLKGDV

15、) 幀周期分頻幀周期分頻( (FPER)FPER) 幀脈沖寬度分頻幀脈沖寬度分頻( (FWIDFWID)u采樣率發生器的工作模式由采樣率發生器采樣率發生器的工作模式由采樣率發生器控制寄存器控制寄存器SRGR1SRGR1和和SRGR2SRGR2控制??刂?。采樣率發生器控制寄存器(采樣率發生器控制寄存器(SRGR1SRGR1) 采樣率發生器寄存器采樣率發生器寄存器1 1設置幀正脈沖寬度(必須設置幀正脈沖寬度(必須小于小于WDLENWDLEN指出的字的長度)和數據位時鐘分頻指出的字的長度)和數據位時鐘分頻( CLKGCLKG與輸入與輸入CLKCLK頻率之比,約定值為頻率之比,約定值為1 1)。采樣率

16、發生器控制寄存器(采樣率發生器控制寄存器(SRGR2SRGR2) 采樣率發生器采樣率發生器寄存器寄存器2 2設置設置采樣率發生器采樣率發生器時鐘同步模式、時鐘同步模式、CLKSCLKS的極性、的極性、采樣率發生器采樣率發生器輸入時鐘選擇、輸入時鐘選擇、幀周期分頻。幀周期分頻。采樣率發生器復位采樣率發生器復位w 設備復位或置設備復位或置/ /GRSTGRST為零可以復位采樣率發生為零可以復位采樣率發生器。器。w 設備復位使采樣率發生器復位時,設備復位使采樣率發生器復位時,CLKGCLKG等于等于CPU-CLK/2CPU-CLK/2,而而FSGFSG為無效低電平。當為無效低電平。當/ /RSRS放

17、開放開(延遲)(延遲)/ /GRSTGRST放開后,放開后,CLKGCLKG按按SRGR1SRGR1編程產生;編程產生;如果,如果,/ /FRSTFRST也放開,則經過也放開,則經過FPERFPER個個CLKGCLKG,FSGFSG為有效高電平。為有效高電平。w 置置/ /GRSTGRST為零復位采樣率發生器,為零復位采樣率發生器,CLKGCLKG和和FSGFSG都都將是無效低電平。將是無效低電平。采樣率生成器復位過程采樣率生成器復位過程5、幀和時鐘極性操作幀和時鐘極性操作w 用于控制接收和發送的幀同步和時鐘有內部的用于控制接收和發送的幀同步和時鐘有內部的概念,就是真實的工作幀同步和時鐘。概念

18、,就是真實的工作幀同步和時鐘。w 數據在工作時鐘的上升沿產生,下降延采樣。數據在工作時鐘的上升沿產生,下降延采樣。w 工作幀同步是高電平有效,其上升沿同工作比工作幀同步是高電平有效,其上升沿同工作比特時鐘上升沿對齊。特時鐘上升沿對齊。w 工作幀同步和時鐘來源可以是外部管腳工作幀同步和時鐘來源可以是外部管腳FSR/X和和CLKX/R得到,也可以是采樣率生成器得到。得到,也可以是采樣率生成器得到。w 外部引腳產生工作幀同步和時鐘可能會有極外部引腳產生工作幀同步和時鐘可能會有極性問題。這時,通過性問題。這時,通過CLK(R/X)P,PFS(R/X)P來調整,使之滿足工作幀同步和來調整,使之滿足工作幀

19、同步和時鐘的極性要求。時鐘的極性要求。w 采樣率生成器產生的工作幀同步和時鐘肯定采樣率生成器產生的工作幀同步和時鐘肯定是滿足極性要求的,即:數據在工作時鐘的是滿足極性要求的,即:數據在工作時鐘的上升沿產生,下降沿采樣,工作幀同步是高上升沿產生,下降沿采樣,工作幀同步是高電平有效。電平有效。u使用管腳使用管腳CLKS作為采樣率生成器的時鐘輸作為采樣率生成器的時鐘輸入而不是入而不是CPU時鐘時,存在極性和同步問題,時鐘時,存在極性和同步問題,通過通過CLKSP選擇是在選擇是在CLKS上升沿還是下降上升沿還是下降沿產生沿產生CLKG和和FSG。u當當GSYNC=1,FSG由外部管腳由外部管腳FSR觸

20、發,觸發,FPER沒有作用,而且沒有作用,而且CLKG要重新與要重新與FSG同步,即同步,即FSG上升沿時保持高電平上升沿時保持高電平6、數據時鐘生成、數據時鐘生成w CLK(R/X)M=0,外部管腳外部管腳CLK(R/X)作為工作為工作數據時鐘,通過作數據時鐘,通過CLK(R/X)P控制極性;控制極性;w CLK(R/X)M=1,內部采樣率生成器產生工作內部采樣率生成器產生工作數據時鐘。采樣率生成器的輸入時鐘可以是數據時鐘。采樣率生成器的輸入時鐘可以是CPU時鐘,也可以是時鐘,也可以是CLKS管腳,由管腳,由CLKSM控制。當是后者,控制。當是后者,CLKSP控制器極性;控制器極性;w 內部

21、采樣率生成器產生工作數據時鐘,通過內部采樣率生成器產生工作數據時鐘,通過CLKGDV分頻采樣率生成器輸入時鐘得到。分頻采樣率生成器輸入時鐘得到。7、幀同步信號生成、幀同步信號生成w 如果是由采樣率生成器產生發送和接收幀同如果是由采樣率生成器產生發送和接收幀同步,首先考慮采樣率生成器的輸入時鐘是步,首先考慮采樣率生成器的輸入時鐘是CPU還是還是CLKS管腳。這個同數據時鐘是一致管腳。這個同數據時鐘是一致的,由的,由FS(R/X)M=1和和CLKSM決定。決定。w 當由采樣率生成器產生幀同步,當由采樣率生成器產生幀同步,FPER和和FWID控制幀同步的周期和有效寬度(高電平控制幀同步的周期和有效寬

22、度(高電平寬度),大小為設定值加寬度),大小為設定值加1。w FWID不能大于不能大于WDLEN.例子:例子:FPER=15,FWID1w FS(R/X)M=0,幀同步由外部輸入管腳產幀同步由外部輸入管腳產生,可以通過生,可以通過FS(R/X)P控制極性;控制極性;w FS(R/X)M=1,幀同步由內部產生。對于幀同步由內部產生。對于接收幀同步,內部產生只能是采樣率生成接收幀同步,內部產生只能是采樣率生成器,但對于發送幀同步,內部產生除了采器,但對于發送幀同步,內部產生除了采樣率生成器,還可以是樣率生成器,還可以是DXR1,2-TO-XSR1,2產生。產生。發送幀同步信號生成發送幀同步信號生成

23、課本課本Page 330 表表6.414接收幀同步信號生成接收幀同步信號生成8、DLBw 數據從數據從XSR1直接進入直接進入RSR1,而且不通過而且不通過外部外部DX和和DR管腳管腳w 通過寄存器通過寄存器SPCR1中的中的DLB比特控制比特控制DLB與時鐘與時鐘w DLBDLB時,在時,在DSPDSP內部,內部,DRDR,FSRFSR,CLKR CLKR 同同DXDX,FSXFSX,CLKXCLKX是短接在一起的。是短接在一起的。w 發送數據時鐘決定接收數據時鐘發送數據時鐘決定接收數據時鐘,而發送數而發送數據時鐘控制方法如前頁所述。據時鐘控制方法如前頁所述。w 發送數據時鐘確定后,接收數據

24、時鐘選擇情發送數據時鐘確定后,接收數據時鐘選擇情況況 DLB與幀同步與幀同步w 首先我們確定發送幀同步,確定方法如前所首先我們確定發送幀同步,確定方法如前所述。述。w 然后由發送幀同步確定接收幀同步。然后由發送幀同步確定接收幀同步。9 9、幀配置、幀配置w FSRFSR,FSXFSX,CLKXCLKX,CLKRCLKR的極性的極性w 單相還是多相幀結構單相還是多相幀結構w 對每一相,設置字數(每幀該相有多少字)對每一相,設置字數(每幀該相有多少字)w 對每一相,設置字寬(字的比特位數)對每一相,設置字寬(字的比特位數)w 設置相對幀脈沖,第一位傳輸數據的延遲為設置相對幀脈沖,第一位傳輸數據的延

25、遲為0 0、1 1、2 2位(位(CLKGCLKG)w 設置連續幀同步工作模式,還是除第一個設置連續幀同步工作模式,還是除第一個幀脈沖后忽略幀同步脈沖工作模式幀脈沖后忽略幀同步脈沖工作模式w 對串口接收,設置左或右效驗和符號擴展對串口接收,設置左或右效驗和符號擴展或或0 0填充模式填充模式w 如果采用內部采樣率發生器產生幀脈沖信如果采用內部采樣率發生器產生幀脈沖信號,設置幀信號脈寬、周期、號,設置幀信號脈寬、周期、CLKGCLKG時鐘分時鐘分頻、信號極性等頻、信號極性等幀格式幀格式幀格式幀格式10、數據延時、數據延時 定義從幀同步信號有效到第一個數據產生定義從幀同步信號有效到第一個數據產生的時

26、延,通常取的時延,通常取1。 11、DX腳延時使能腳延時使能w 本來是本來是CLKX上升沿數據開始,但上升沿數據開始,但DX延時使延時使能條件下,數據可以有一定延時后才開始。能條件下,數據可以有一定延時后才開始。在一般模式下,只有第一個在一般模式下,只有第一個BIT可以有延時,可以有延時,在在A-bis模式下,則是每個比特都可以模式下,則是每個比特都可以.四、多通道模式四、多通道模式w 目的是提高傳輸數據量;目的是提高傳輸數據量;1、多通道工作模式的控制寄存器1)、多通道控制寄存器1(MCR1) MCR1設置McBSP在多通道工作模式時的接收PART-B的塊結構、接收PART-A的塊結構、當前

27、可接收塊、接收多通道選擇。2)、多通道控制寄存器2(MCR2)說明 MCR2MCR2設置設置McBSPMcBSP在多通道工作模式時的發送在多通道工作模式時的發送PART-APART-A塊結構、發送塊結構、發送PART-BPART-B塊結構、當前發送塊、發送多通道塊結構、當前發送塊、發送多通道選擇。選擇。3)、接收、發送通道使能寄存器說明(圖中各位:置1-使能,置0-不允許)2、多通道工作模式設置u設置(R/X)PHASE = 0選擇單相工作模式u設置FRLEN1 = ?選擇幀長(字數,也是多通道工作模式下的通道數,最多可達128)u設置字長WDLEN1 = ?(每通道傳輸多少bits)u如果是

28、單通道連續工作,置RMCM=0X和MCM=0u如果是多通道工作,設置RP(A/B)BLK,XP(A/B)BLK,RCER(A/B)、XCER(A/B),并置RMCM=1、XMCM位非0五、工作流程五、工作流程w 控制控制McBSP系統工作模式的寄存器包括系統工作模式的寄存器包括SPCR1,SPCR2,PCRw 控制接收和發送數據具體工作模式的寄存控制接收和發送數據具體工作模式的寄存器是器是RCR1,RCR2,XCR1,XCR2w 多同道工作模式涉及寄存器多同道工作模式涉及寄存器MCR1,MCR2,RCERA,RCERB,XCERA,XCERB1 1、McBSPMcBSP串口的復位串口的復位兩種

29、復位方式:1 1)設備復位()設備復位(/ /RS=0RS=0):): 即整個串口復位。此時,即整個串口復位。此時,/ /RRSTRRST和和/ /XRSTXRST為為零,零,DRDR、CLKR/XCLKR/X、FSR/XFSR/X為輸入信號,為輸入信號,DXDX為輸出信號,輸出高阻為輸出信號,輸出高阻。同時同時/ /GRSTGRST也為也為零,零,CLKG=CPUCLKG=CPU時鐘時鐘/2/2,不產生,不產生FSGFSG信號。信號。/ /RSRS放開后,放開后,/ /RRSTRRST、/XRST/XRST、/GRST/GRST、/FRST/FRST仍為零,此時,仍為零,此時,McBSPMc

30、BSP配置寄存器賦配置寄存器賦值,復位進入值,復位進入McBSPMcBSP復位狀態復位狀態。2 2)從從McBSPMcBSP復位復位 McBSP McBSP串口發送器和接收器可以分別復位串口發送器和接收器可以分別復位(/ /RRST=0RRST=0、/XRST=0/XRST=0、/FRST=0/FRST=0)。)。不論不論是接收還是發送的復位,相應部分將停止是接收還是發送的復位,相應部分將停止串口操作,而相應引腳當作串口操作,而相應引腳當作I/OI/O腳使用,腳使用,由由PCRPCR的的XIOENXIOEN、RIOENRIOEN決定。決定。串口初始化過程見P.3272、McBSP的準備好狀態的

31、準備好狀態1 1)接受準備好)接受準備好 串口復位時串口復位時RRDYRRDY清為清為0 0,當,當RBR1,2RBR1,2內容拷內容拷貝到貝到DRR1,2DRR1,2時,時,RRDYRRDY有效,該數據可以被有效,該數據可以被CPU or DMACPU or DMA讀,一旦讀,一旦CPU or DMACPU or DMA讀走數據讀走數據RRDYRRDY又清為又清為0 0。如果。如果SPCR1SPCR1中的中的RINTM = 00RINTM = 00,RRDYRRDY將驅動將驅動McBSPMcBSP的接收中斷的接收中斷( (RINT)RINT)給給CPUCPU。 2 2)發送準備好)發送準備好

32、 XRDY = 1XRDY = 1說明說明DXR1,2DXR1,2的數據已拷貝到的數據已拷貝到XSR1,2XSR1,2中,中,DXR1,2DXR1,2可以裝入新的數據。可以裝入新的數據。串口復位放開時(串口復位放開時(/ /XRSTXRST從從0 0到到1)1),XRDYXRDY從從0 0變變到到1 1已說明已說明DXR1,2DXR1,2可以裝入新數據,一旦有可以裝入新數據,一旦有新數據裝入,新數據裝入,XRDYXRDY就清為就清為0 0。如果。如果SPCR2SPCR2中中XINTM = 00XINTM = 00,XRDY XRDY 還直接驅動發送中斷還直接驅動發送中斷( (XINT) XIN

33、T) 給給CPUCPU。 3 3、 串口產生的中斷串口產生的中斷w ( (R/X)INTM=00R/X)INTM=00:每傳送一個字,每傳送一個字,( (R/X)RDY R/X)RDY 響響應一次,就產生響應串口中斷一次。應一次,就產生響應串口中斷一次。w ( (R/X)INTM=01R/X)INTM=01:在多通道模式中,一個幀內出在多通道模式中,一個幀內出現現1616通道的塊(通道的塊(PARTITIONPARTITION)邊界就產生中斷。邊界就產生中斷。此時此時CPUCPU可以檢測是哪個可以檢測是哪個PARTITIONPARTITION。w (R/X)INTM=10:(R/X)INTM=

34、10:檢測到幀同步脈沖就產生檢測到幀同步脈沖就產生( (R/X)INTR/X)INT。w (R/X)INTM=11:(R/X)INTM=11:當出現幀同步錯誤時產生中斷。當出現幀同步錯誤時產生中斷。4、幀和時鐘配置w幀配置;w接收時鐘選擇;w發送時鐘選擇;w接收幀同步選擇;w發送幀同步選擇。備注備注 IO工作方式工作方式w 滿足兩個條件工作在滿足兩個條件工作在IOIO口模式口模式1 1)管腳在復位狀態)管腳在復位狀態2 2)通用通用IOIO使能比特設為有效使能比特設為有效w 而具體每個管腳是輸入還是輸出,其高低而具體每個管腳是輸入還是輸出,其高低電平如何讀寫見下表。電平如何讀寫見下表。五、編程

35、舉例下面給出一個McBSP串口實驗程序 這是一個串口自測試程序,除檢驗串口的功能外, 該程序還利用串口完成數據的內部壓縮,通過設置 XCOMPAND或RCOMPAND之一可以實現內部數據A-law 或u-law的壓縮和解壓 程序的流程是: 修改中斷向量表 初始化McBSP串口 設置BLD=1,即支持數字回環方式 設置RCOMPAND=10,即采用u-law擴展 ar3指向發送數據緩沖區 ar4指向接收數據緩沖區,初始化將接收數據緩沖 區全部清為0 編寫接收與發送中斷程序詳細程序及說明; This is McBSP test program. The work-mode of McBSP Ser

36、ies:; BLD=1 (Digital loop back mode enabled) ; RCOMPAND=10 or 11 (u-law/A-law Expand: 8bits - 16bits); (R/X)INTM=00 (generate an interrupt every word traxsmitted); ar3 - Transmit data buffer(buffer_1); ar4 - receive data buffer(buffer_2); The program is applicable for VC5409 ; Designed by liyubai; M

37、odifing 1.0 Time 2001,6,28.title Test McBSP Program.mmregs.global mainstart.global interrupt_vectordrr11.set 41h;McBSP1 receive data registerdxr11.set 43h;McBSP1 transmit data registerspsa1.set 48h;McBSP1 sub_bank address registerspcd1.set 49h;McBSP1 sub_bank data register.bss stack_memory,500.bss b

38、uffer_1,1000.bss buffer_2,1000interrupt_vector:;interrupt vector table.textrsb mainstart nopnopnmi b _ret .word 0,0sint17 b _ret .word 0,0sint18 b _ret .word 0,0sint19 b _ret .word 0,0sint20 b _ret .word 0,0sint21 b _ret .word 0,0sint22 b _ret .word 0,0sint23 b _ret .word 0,0sint24 b _ret .word 0,0s

39、int25 b _ret .word 0,0sint26 b _ret .word 0,0sint27 b _ret .word 0,0sint28 b _ret .word 0,0sint29 b _ret .word 0,0sint30 b _ret .word 0,0int0 b _ret .word 0,0int1 b _ret .word 0,0int2 b _ret .word 0,0tint b _ret .word 0,0brint0 b _ret .word 0,0bxint0 b _ret .word 0,0dmac0 b _ret .word 0,0dmac1 b _re

40、t .word 0,0int3 b _ret .word 0,0hpint b _ret .word 0,0brint1 b McBSP1_receive_intnopnopbxint1 b McBSP1_transmit_intnopnopq28 .word 0,0,0,0q29 .word 0,0,0,0q30 .word 0,0,0,0q31 .word 0,0,0,0mainstart: ssbx intm;close all interruptstm #0ffffh,ifr;cleare all interrupt_flagstm #0,clkmd;switch to DIV mod

41、ets: ldm clkmd,a and #01b,a bc ts,aneq stm #5207h,clkmd;clkout=clkin X 6rpt #100 ;waits enough clocksnopstm #stack_memory,sp ;sp = stack_memory stm #0ff80h,pmst ;vector table start: 0 xff80 stm #3610h,swwsr;I/O wait: 3clks, data_0 x8000-;0 xffff wait:3clks;program_0 x8000-0 xffff;wait:2clks call Cle

42、ar_McBSP1_receive_buf call McBSP1_initializingrpt #0ffhnopstm #buffer_1,ar3stm #buffer_2,ar4ld #799,b;pre_put numberS of McBSP interruptstm #1800h,imr;enable RINT1,XINT1rsbx intm;enable all intwait_McBSP_int:nopnopbc _ret,beqnopnopb wait_McBSP_intnop_ret:nopreteMcBSP1_initializing:stm #0,spsa1;choos

43、e SPCR11stm #08000h,spcd1;1000000000000000 = SPCR11. ;DLB(15)=1(Digital loop back moden enabled);RJUST(14-13)=00;CLKSTP(12-11)=00;RES(10-8)=000,DXENA(7)=0,ABIS(6)=0;RINTM(5-4)=00,RSYNCERR(3)=0,RFULL(2)=0;RRDY(1)=0,RRST(0)=0stm #1,spsa1;choose spcr21stm #0h,spcd1;0000000000000000 = SPCR21.;RES(15-10)

44、=000000,FREE(9)=0,SOFT(8)=0;FRST(7)=0,GRST(6)=0,XINT(5-4)=00,XSYNCERR(3)=0;XFULL(2)=0,XRDY(1)=0,XRST(0)=0stm #2,spsa1;choose RCR11stm #0,spcd1;0000000000000000 = RCR11.;RES(15)=0,RFRLEN1(14-8)=000 0000;RWDLEN1(7-5)=000,RES(4-0)=0 0000stm #3,spsa1;choose RCR21stm #10H,spcd1;0000000000010000 = RCR21.;RPHASE(15)=0,RFRLEN2(

溫馨提示

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

最新文檔

評論

0/150

提交評論