制作DSP技術中心主章節(jié)李玉柏WWWDSPSOLUTIONCOM課件_第1頁
制作DSP技術中心主章節(jié)李玉柏WWWDSPSOLUTIONCOM課件_第2頁
制作DSP技術中心主章節(jié)李玉柏WWWDSPSOLUTIONCOM課件_第3頁
制作DSP技術中心主章節(jié)李玉柏WWWDSPSOLUTIONCOM課件_第4頁
制作DSP技術中心主章節(jié)李玉柏WWWDSPSOLUTIONCOM課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、制作:DSP技術中心主講:李玉柏WWW.DSPSOLUTION.COMDSP McBSP設計專題 PART ONE: McBSP基礎McBSP基本特性McBSP概述串口的基本配置串口的接收控制串口的發(fā)送控制采樣率發(fā)生器及采樣率發(fā)生控制器寄存器多通道工作模式一、McBSP基本特性 McBSP設計是基于TMS320C2X、C20X、C5X、C54X的標準串口上擴展的,McBSP提供: 全速雙工通信 雙緩存發(fā)送和三緩存接收數(shù)據(jù)寄存器,以支持連續(xù)傳送 收和發(fā)使用獨立的幀和時鐘 直接與多媒體數(shù)字信號編解碼器的工業(yè)標準接口,以及有模擬接口和與串行ADC/DAC的接口 外部變速時鐘發(fā)生器,內部可編程時鐘發(fā)生

2、器McBSP還有下列功能 直接與下列格式接口_ T1/E1 framers_ MVIP switching compatible and ST-BUS compliant devices including:_ MVIP framers_ H.100 framers_ SCSA framers_ IOM-2 compliant devices_ AC97 compliant devices _ IIS compliant devices_ SPI_ devices 多通道收發(fā),通道數(shù)達128 字寬可選: 8, 12, 16, 20, 24, and 32 bits U-Law and A-La

3、w 壓縮與擴展 8位傳輸時可選先傳: LSB or MSB 幀信號與時鐘信號極性可編程 McBSP與外設進行數(shù)據(jù)傳輸是通過(DX)腳來發(fā)送,(RX)腳來接收,通信的時鐘與幀信號是由CLKX, CLKR, FSX, and FSR腳來控制。 DSP的CPU或DMA從數(shù)據(jù)接收寄存器(DRR1,2)讀取接收數(shù)據(jù),發(fā)送時向數(shù)據(jù)發(fā)送寄存器(DXR1,2)寫數(shù)據(jù)。 數(shù)據(jù)寫入(DXR1,2)后通過傳輸移位寄存器(XSR1,2) 移位輸出到DX上,同樣,從DR上接收的數(shù)據(jù)移位存儲到接收移位寄存器(RSR1,2) 并拷貝到接收緩存寄存器(RBR1,2) ,然后,再由(RBR1,2)拷貝到DRR1,2,DRR1,

4、2就可以由CPU或DMA來讀出。多級寄存器允許在通信時內部和外部數(shù)據(jù)同時傳輸。 C54XX對McBSP的控制由16位的控制寄存器實現(xiàn)。三、串口的基本配置 1、McBSP的中斷和事件3、串口控制寄存器1的詳細說明(SPCR1) SPCR1設置McBSP串口的數(shù)字環(huán)回模式、 接收符號擴展和校驗模式、Clock Stop模式、DX是否允許、A-bis 模式、接收中斷模式等,并給出接收同步錯誤、接收移位寄存器(RSR1,2)空、接收準備好等狀態(tài)。此外可以進行接收復位。4、串口控制寄存器2的詳細說明(SPCR2) SPCR2設置McBSP自由運行模式、SOFT 模式、發(fā)送中斷模式,并給出發(fā)送同步錯誤、發(fā)

5、送移位寄存器(XSR1,2)空、發(fā)送準備好等狀態(tài)。此外可以進行發(fā)送復位、采樣率發(fā)生器復位、幀同步發(fā)生電路復位。5、引腳控制寄存器的詳細說明(PCR) PCR設置McBSP傳輸幀同步模式、接收幀同步模式、發(fā)送時鐘模式、接收時鐘模式、發(fā)送幀同步信號的極性、接收幀同步信號的極性、發(fā)送時鐘極性、接收時鐘極性,并給出CLKS、DX、DR腳的狀態(tài)。此外PCR還定義發(fā)送和接收部分在復位時相應引腳是否配置為通用 I/O。四、串口的接收控制 1、接收控制寄存器1(RCR1)說明 RCR1設置McBSP接收時第一相(FIRST PHASE)的接收幀長度(從1個字到128個字、接收字長度(8、12、16、20、24

6、、32bits)。2、接收控制寄存器2(RCR2)說明 RCR2設置McBSP接收時是否允許第二相(RPHASE=1)。如果允許,設置McBSP接收時第二相的接收幀長度(從1個字到128個字、接收字長度(8、12、16、20、24、32bits)。此外, RCR2設置McBSP接收時的接收壓縮模式、接收同步幀忽略模式、接收數(shù)據(jù)延遲。2、發(fā)送控制寄存器2(XCR2)說明 XCR2設置McBSP發(fā)送時是否允許第二相(XPHASE=1)。如果允許,設置McBSP時第二相的發(fā)送幀長度(從1個字到128個字、發(fā)送字長度(8、12、16、20、24、32bits)。此外, XCR2設置McBSP發(fā)送時的發(fā)

7、送壓縮模式、發(fā)送同步幀忽略模式、發(fā)送數(shù)據(jù)延遲。六、采樣率發(fā)生器及采樣率發(fā)生控制器寄存器2、采樣率發(fā)生器控制寄存器(SRGR1/2) 采樣率發(fā)生器寄存器1(SRGR1)設置幀正脈沖寬度(必須小于WDLEN指出的字的長度)和數(shù)據(jù)位時鐘分頻( CLKG與輸入CLK頻率之比,約定值為1)。 采樣率發(fā)生器寄存器2(SRGR2)設置采樣率發(fā)生器時鐘同步模式、CLKS的極性、采樣率發(fā)生器輸入時鐘選擇、幀周期分頻。七、McBSP的多通道工作1、多通道工作模式的控制寄存器1)、多通道控制寄存器1(MCR1) MCR1設置McBSP在多通道工作模式時的接收PART-B的塊結構、接收PART-A的塊結構、當前可接收

8、塊、接收多通道選擇。2)、多通道控制寄存器2(MCR2)說明 MCR2設置McBSP在多通道工作模式時的發(fā)送PART-A塊結構、發(fā)送PART-B塊結構、當前發(fā)送塊、發(fā)送多通道選擇。3)、接收、發(fā)送通道使能寄存器說明(圖中各位:置1-使能,置0-不允許)2、多通道工作模式設置設置(R/X)PHASE = 0選擇單相工作模式設置FRLEN1 = ?選擇幀長(字數(shù),也是多通道工作模式下的通道數(shù),最多可達128)設置字長WDLEN1 = ?(每通道傳輸多少bits)如果是單通道連續(xù)工作,置RMCM=0X和MCM=0如果是多通道工作,設置RP(A/B)BLK,XP(A/B)BLK,RCER(A/B)、X

9、CER(A/B),并置RMCM=1、XMCM位非0PART TWO: McBSP編程McBSP的復位操作與初始化McBSP的中斷與DMA事件McBSP的幀與時鐘編程McBSP的接收流程McBSP的發(fā)送流程a-law/u-law數(shù)據(jù)壓擴編程舉例特殊說明采樣率發(fā)生器復位:設備復位或置/GRST為零可以復位采樣率發(fā)生器。采樣率發(fā)生器復位時,CLKG等于CPU-CLK/2,而FSG驅動為低。當/RS放開(延遲)/GRST放開后,CLKG按SRGR1編程產(chǎn)生;如果,/FRST也放開,則經(jīng)過FPER個CLKG,F(xiàn)SG驅動為高。2、下面給出串口初始化的處理過程 1) Set XRST = RRST = FR

10、ST = 0 in SPCR1,2. If coming out of device re-set, this step is not required. 2) Program only the McBSP configuration registers (and not the data regis-ters) listed in Table-1 McBSP Registers, as required when the serial port is in reset state (XRST = RRST = FRST = 0). 3) Wait for two bit clocks. Th

11、is is to ensure proper synchronization internally.4) Set up data acquisition as required such as writing to DXR.5) Set XRST = RRST= 1 to enable the serial port. Note that the value written to SPCR1,2 at this time should have only the reset bits changed to 1, and the remaining bit-fields should have

12、the same value as in step 2 above. 6) Set FRST = 1, if internally generated frame sync is required.7) Wait two bit clocks for the receiver and transmitter to become active.Alternatively, on either write (steps 1 and 5), the transmitter and receiver may be placed in or taken out of reset individually

13、 by modifying the desired bit. Note that the necessary duration of the active-low period of XRST or RRST is at least two bit-clocks (CLKR/CLKX) wide. 2、McBSP的準備好之狀態(tài)接收準備好(RRDY、REVT、RINT):串口復位時RRDY清為0,當RBR1,2內容拷貝到DRR1,2時,RRDY有效,該數(shù)據(jù)可以被CPU or DMA讀,一旦CPU or DMA讀走數(shù)據(jù)RRDY又清為0。RRDY直接驅動McBSP接收事件給DMA (REVT)。同時

14、如果SPCR1中的RINTM = 00,RRDY將驅動McBSP的接收中斷(RINT)給CPU。發(fā)送準備好(XRDY、XEVT、XINT):XRDY = 1說明DXR1,2的數(shù)據(jù)已拷貝到XSR1,2中,DXR1,2可以裝入新的數(shù)據(jù)。串口復位放開時(/XRST從0到1),XRDY從0變到1已說明DXR1,2可以裝入新數(shù)據(jù),一旦有新數(shù)據(jù)裝入,XRDYJIU 就清為0。XRDY直接驅動發(fā)送同步事件到DMA (XEVT or XEVTA),同時,如果SPCR2中XINTM = 00,XRDY 還直接驅動發(fā)送中斷(XINT) 給CPU。三、幀與時鐘配置 McBSP串口的幀和時鐘配置包含下列關鍵項的設置:

15、設置FSR, FSX, CLKX, and CLKR的極性選擇單相或雙相幀結構對每一相,設置字數(shù)(每幀該相有多少字)對每一相,設置字寬(字的比特位數(shù))設置連續(xù)幀同步工作模式,還是除第一個幀脈沖后忽略幀同步脈沖工作模式設置相對幀脈沖,第一位傳輸數(shù)據(jù)的延遲為0、1、2位(CLKG)對串口接收,設置左或右效驗和符號擴展或0填充模式如果采用內部采樣率發(fā)生器產(chǎn)生幀脈沖信號,設置幀信號脈寬、周期、CLKG時鐘分頻等四、u-LAW/A-LAW壓縮操作 McBSP通過(R/X)COMPAND的控制支持是否進行壓縮傳輸,如果支持壓縮傳輸,(R/X)WDLEN1,2必須設置位00,而傳送給CPU或DMA 的數(shù)據(jù)至

16、少是16位 利用串口的壓縮功能可以實現(xiàn)數(shù)據(jù)的內部壓縮,而不占用很多DSP的資源。其方法有二:1)當串口接收和發(fā)送都復位時,串口的壓縮和擴展邏輯電路是內部連接的,即DXR1與DRR1通過壓縮/擴展電路相連,如下圖4所示。此時設置XCOMPAND或RCOMPAND之一就可以實現(xiàn)數(shù)據(jù)的壓縮和解壓。向DXR1發(fā)送的數(shù)據(jù)經(jīng)過4個CPU周期后,就可以從DRR1上讀出。該方法的優(yōu)點是速度快,缺點是沒有幀同步以便CPU或DMA進行流程控制。2)采用數(shù)據(jù)環(huán)回模式,設置XCOMPAND或RCOMPAND之一也可以實現(xiàn)數(shù)據(jù)的壓縮和解壓。此時CPU的中斷或DMA的事件可以進行傳輸?shù)牧鞒炭刂?,并且,傳輸速度可調。五、編

17、程舉例下面給出一個McBSP串口實驗程序 這是一個串口自測試程序,除檢驗串口的功能外, 該程序還利用串口完成數(shù)據(jù)的內部壓縮,通過設置 XCOMPAND或RCOMPAND之一可以實現(xiàn)內部數(shù)據(jù)A-law 或u-law的壓縮和解壓 程序的流程是: 修改中斷向量表 初始化McBSP串口 設置BLD=1,即支持數(shù)字回環(huán)方式 設置RCOMPAND=10,即采用u-law擴展 ar3指向發(fā)送數(shù)據(jù)緩沖區(qū) ar4指向接收數(shù)據(jù)緩沖區(qū),初始化將接收數(shù)據(jù)緩沖 區(qū)全部清為0 編寫接收與發(fā)送中斷程序關于A-law/u-law數(shù)據(jù)壓縮與擴展說明 1、u-law數(shù)據(jù)壓縮公式(其中對于美國和日本的標準,u取255)2、 u-l

18、aw數(shù)據(jù)壓縮曲線3、 u-law數(shù)據(jù)壓縮編碼4、 u-law數(shù)據(jù)擴展公式5、 u-law數(shù)據(jù)擴展解碼 6、A-law數(shù)據(jù)壓縮公式( A-law是CCITT推薦的標準,歐洲采用A=87.6) 7、A-law數(shù)據(jù)壓縮曲線8、 A-law數(shù)據(jù)壓縮編碼9、 A-law數(shù)據(jù)擴展公式10、 A-law數(shù)據(jù)擴展解碼11、 u-law或A-law數(shù)據(jù)編碼特殊說明: 符號位:1-代表正,0-代表負(與計算機對數(shù)據(jù)的 正負號表示相反) PCM編碼時,正負數(shù)的編碼是以絕對值進行二進制編碼 TI的DSP在進行u-law或A-law數(shù)據(jù)壓縮后先異或0 x55, 在進行傳輸詳細程序及說明; This is McBSP t

19、est program. The work-mode of McBSP Series:; 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 applica

20、ble for VC5409 ; Designed by liyubai; Modifing 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 d

21、ata register.bss stack_memory,500.bss buffer_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

22、 _ret .word 0,0sint24 b _ret .word 0,0sint25 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 .wo

23、rd 0,0dmac0 b _ret .word 0,0dmac1 b _ret .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 inter

24、rupt_flagstm #0,clkmd;switch to DIV modets: 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;prog

25、ram_0 x8000-0 xffff;wait:2clks call Clear_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:nopret

26、eMcBSP1_initializing:stm #0,spsa1;choose 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,spcd

27、1;0000000000000000 = SPCR21.;RES(15-10)=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 RCR21st

28、m #10H,spcd1;0000000000010000 = RCR21.;RPHASE(15)=0,RFRLEN2(14-8)=000 0000;RWDLEN2(7-5)=000,RCOMPAND(4-3)=10(u-law EXPAND);RFIG(2)=0,RDATDLY(1-0)=00stm #4,spsa1;choose XCR11stm #0,spcd1;0000000000000000 = XCR11.;RES(15)=0,XFRLEN1(14-8)=000 0000;XWDLEN1(7-5)=000,RES(4-0)=0 0000stm #5,spsa1;choose XCR21stm #0,spcd1;0000000000000000 = XCR21.;XPHASE(15)=0,XFRLEN2(14-8)=000 0000;XWDLEN2(7-5)=000,XCOMPAND(4-3)=00(No compand);XFIG(2)=0,XDATDLY(1-0)=00stm #6,spsa1;choose SRGR11stm #10fh,spcd1;0000000100001111 = SRGR11;FWID(15-8)=0000

溫馨提示

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

評論

0/150

提交評論