第8章 多通道緩沖串口_第1頁
第8章 多通道緩沖串口_第2頁
第8章 多通道緩沖串口_第3頁
第8章 多通道緩沖串口_第4頁
第8章 多通道緩沖串口_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八章多通道緩沖串口(McBSP)第八章多通道緩沖串口(McBSP)8.1信號接口8.2

控制寄存器8.3時鐘和幀同步信號

8.4標(biāo)準(zhǔn)模式傳輸操作

8.7SPI接口

8.1信號接口McBSP是多通道緩沖串口(Multi-channelBufferedSerialPort)RSR---數(shù)據(jù)接收移位寄存器RBR---數(shù)據(jù)接收緩沖寄存器DRR---數(shù)據(jù)接收寄存器DXR---數(shù)據(jù)發(fā)送寄存器XSR---數(shù)據(jù)發(fā)送移位寄存器引腳輸入輸出狀態(tài)說明CLKRI/O/Z接收時鐘CLKXI/O/Z發(fā)送時鐘CLKSI外部時鐘DRI接收串行數(shù)據(jù)DXO/Z發(fā)送串行數(shù)據(jù)FSRI/O/Z接收幀同步FSXI/O/Z發(fā)送幀同步8.1信號接口CPU或EDMA控制器向數(shù)據(jù)發(fā)送寄存器(DXR)寫入待發(fā)送的數(shù)據(jù),從數(shù)據(jù)接收寄存器(DRR)讀取接收到的數(shù)據(jù)。

McBSP的接收操作采取3級緩存方式,數(shù)據(jù)到達DR管腳后移位進入RSR。一旦整個數(shù)據(jù)單元(8位、12位、16位、20位、24位或32位)接收完畢,若RBR寄存器為空,則RSR將數(shù)據(jù)復(fù)制到RBR中。如果DRR中舊的數(shù)據(jù)已經(jīng)被CPU或EDMA控制器讀走,則RBR進一步將新的數(shù)據(jù)復(fù)制到DRR中。發(fā)送操作采取2級緩存方式,發(fā)送數(shù)據(jù)首先由CPU或EDMA控制器寫入DXR。如果XSR寄存器為空,則DXR中的值被復(fù)制到XSR準(zhǔn)備移位輸出;否則,DXR會等待XSR中舊數(shù)據(jù)的最后1位被移位輸出到DX管腳后,才將數(shù)據(jù)復(fù)制到XSR中。

這種多級緩沖結(jié)構(gòu)使片內(nèi)的數(shù)據(jù)讀寫和外部的數(shù)據(jù)通信可以同時進行。EDMA事件的觸發(fā),PaRAM的設(shè)置McBSP

術(shù)語位(Bit):位是串行數(shù)據(jù)流中的最小組成部分。每個位的開始和結(jié)束都是用一個串行時鐘的邊沿作為標(biāo)志。字(Word):字是一組位,它組成了在DSP和外部器件之間傳輸?shù)臄?shù)據(jù)。單元(Slot):一個單元包括組成字的那些位。有時為了將字填充到對于DSP和外部器件接口來說合適的位數(shù),單元也包括那些用來填充字的附加位。幀(Frame):一幀可以包括一個或多個單元,這由具體協(xié)議確定。8.2控制寄存器縮寫McBSP寄存器名RSR接收移位寄存器RBR接收緩沖寄存器DRR數(shù)據(jù)接收寄存器XSR發(fā)送移位寄存器DXR數(shù)據(jù)發(fā)送寄存器SPCR串口控制寄存器RCR接收控制寄存器XCR發(fā)送控制寄存器SRGR采樣率發(fā)生器寄存器PCR管腳控制寄存器MCR多通道控制寄存器RCER接收通道使能寄存器XCER發(fā)送通道使能寄存器串口控制寄存器(SPCR)8.2控制寄存器8.2控制寄存器接收控制寄存器(RCR)發(fā)送控制寄存器(XCR)8.2控制寄存器采樣率發(fā)生器寄存器(SRGR)管腳控制寄存器(PCR)8.3時鐘和幀同步信號

時鐘CLKR/CLKX是接收/發(fā)送串行數(shù)據(jù)流的同步時鐘,幀同步信號FSR和FSX則定義了一批數(shù)據(jù)傳輸?shù)拈_始。McBSP的數(shù)據(jù)時鐘以及幀同步信號可以設(shè)置的參數(shù)包括:

FSR、FSX、CLKX和CLKR的極性選擇單相幀或二相幀定義每相中數(shù)據(jù)單元的個數(shù)定義每相中1個數(shù)據(jù)單元的位數(shù)幀同步信號是否觸發(fā)開始新的串行數(shù)據(jù)流幀同步信號與第1個數(shù)據(jù)位之間的延遲,可以是0位、1位或2位延遲接收數(shù)據(jù)的左右調(diào)整,進行符號擴展或是填充01.采樣率發(fā)生器CLKG頻率=輸入時鐘的頻率/(CLKGDV+1)FPER和FWID位分別控制幀脈沖的周期和脈沖寬度2.幀同步和時鐘信號的有效邏輯/邊沿

可以通過PCR寄存器的FS(R/X)M位設(shè)置幀同步脈沖由內(nèi)部采樣率發(fā)生器輸出或是由外部輸入;通過PCR中的CLK(R/X)M位選擇收發(fā)時鐘信號是外部輸入還是輸出。3.幀同步信號幀同步有效表示1幀串行數(shù)據(jù)傳輸?shù)拈_始幀可以包括2個相位相位中的數(shù)據(jù)單元個數(shù)定義為

(R/X)FRLEN(1/2)+1數(shù)據(jù)單元的位數(shù)如表所示例子中參數(shù)設(shè)置為(R/X)FRLEN1=0000001b,(R/X)FRLEN2=0000010b,(R/X)WDLEN1=001b,(R/X)WDLEN2=000b雙相幀(Dual-PhaseFrame)的例子(R/X)WDLEN(1/2)數(shù)據(jù)單元的字長(位)00080011201016011201002410132其他保留3.幀同步信號4個8位數(shù)據(jù)單元的單相幀傳輸例子:(R/X)PHASE=0,表示單相幀(R/X)FRLEN1=0000011b,表示每幀4個數(shù)據(jù)單元(R/X)WDLEN1=000b,表示數(shù)據(jù)字長8位1個32位數(shù)據(jù)單元的單相幀傳輸例子:(R/X)PHASE=0,表示單相幀(R/X)FRLEN1=0b,表示每幀中含1個數(shù)據(jù)單元(R/X)WDLEN1=101b,表示數(shù)據(jù)單元字長32位4.數(shù)據(jù)延遲收/發(fā)控制寄存器中的RDATDLY位和XDATDLY位可分別設(shè)置接收和發(fā)送的數(shù)據(jù)延遲,延遲范圍可以是0~2個傳輸時鐘周期,一般是在其后的第1個時鐘周期啟動該幀的數(shù)據(jù)傳輸

8.4標(biāo)準(zhǔn)模式傳輸操作下面的討論中,假設(shè)串口的設(shè)置為:(R/X)PHASE=0,單相幀(R/X)FRLEN1=0b,每幀一個數(shù)據(jù)單元(R/X)WDLEN1=000b,數(shù)據(jù)單元字長8位(R/X)FRLEN2和(R/X)WDLEN2字段無效,可以設(shè)為任意值CLK(R/X)P=0,時鐘下降沿處接收數(shù)據(jù),上升沿處發(fā)送數(shù)FS(R/X)P=0,幀同步信號高有效(R/X)DATDLY=01b,1位數(shù)據(jù)延遲數(shù)據(jù)的接收

(FSR)有效后,DR管腳上的數(shù)據(jù)在經(jīng)過一定的數(shù)據(jù)延遲后依次移位進入(RSR)。若RBR為空,則在每個數(shù)據(jù)單元接收的末尾,CLRK時鐘上升沿處,RSR中的內(nèi)容會被復(fù)制到RBR中。這一個復(fù)制操作會在下一個時鐘下降沿處觸發(fā)狀態(tài)位RRDY置1,標(biāo)志接收數(shù)據(jù)寄存器(DRR)已準(zhǔn)備好,CPU或DMA控制器可以讀取數(shù)據(jù)。當(dāng)數(shù)據(jù)被讀走后,RRDY自動變無效。

數(shù)據(jù)的發(fā)送

(FSX)有效后,(XSR)中的數(shù)據(jù)經(jīng)過一定的數(shù)據(jù)延遲,開始依次移位輸出到DX管腳上。在每個數(shù)據(jù)單元發(fā)送的末尾,CLRK時鐘上升沿處,如果DXR中已經(jīng)準(zhǔn)備好新的數(shù)據(jù),DXR中的新數(shù)據(jù)會自動復(fù)制到XSR中。DXR-XSR復(fù)制操作會在下一個CLKX下降沿處激活XRDY位,表示可以向發(fā)送數(shù)據(jù)寄存器(DXR)寫入新的數(shù)據(jù)。CPU或DMA控制器寫入數(shù)據(jù)后,XRDY變?yōu)闊o效。

幀信號的最高頻率幀頻率=傳輸時鐘頻率/幀同步信號之間的傳輸時鐘周期數(shù)最大幀頻率=傳輸時鐘頻率/每幀數(shù)據(jù)的位數(shù)忽略幀同步的傳輸(R/X)FIG=0時數(shù)據(jù)單元B被多余的幀同步信號中斷的例子(R/X)FIG=1時McSBP忽略多余的幀同步信號的操作忽略幀同步的傳輸利用(R/X)FIG位設(shè)置,進行數(shù)據(jù)打包(DataPacking)多通道傳輸接口1幀串行數(shù)據(jù)流也可看成是1組時分復(fù)用的數(shù)據(jù)傳輸通道,“數(shù)據(jù)單元”就等同于“數(shù)據(jù)通道”(a)XMCM=00b,多通道操作被禁止。發(fā)送的4個數(shù)據(jù)單元都經(jīng)過了“寫入DXR”,和“DXR-XSR拷貝”階段,最后出現(xiàn)在DX管腳上

多通道傳輸接口(b)XMCM=01b,使能多通道工作模式。首先禁止并屏蔽所有數(shù)據(jù)單元的發(fā)送輸出。XPABLK選擇A組子幀中的0號子幀,然后由XCER使能該子幀中的第1、3號數(shù)據(jù)通道進行發(fā)送。只有被選擇并使能的通道,其對應(yīng)數(shù)據(jù)(E1,E3)才會進行DXR-XSR拷貝,并出現(xiàn)在DX管腳上

多通道傳輸接口(c)XMCM=10b,使能多通道工作模式。所有的通道都被使能發(fā)送數(shù)據(jù),因此可以看到E0~E3都完成了“寫入DXR”“DXR-XSR拷貝”操作,但是只有XPABLK和XCER位選擇的通道的數(shù)據(jù)(E1和E3)才會真正出現(xiàn)在DX管腳上,其余通道數(shù)據(jù)的輸出均被屏蔽

多通道傳輸接口(d)XMCM=11b,使能多通道工作模式。首先禁止并屏蔽所有數(shù)據(jù)單元的發(fā)送輸出,進入對稱收發(fā)模式。對稱收發(fā)模式是指設(shè)備的收發(fā)操作在同一個子幀位置執(zhí)行。此時由RPABLK統(tǒng)一選擇發(fā)送和接收需要的子幀,XPABLK字段的設(shè)置值不再有效

8.7SPI接口串行協(xié)議接口(SeriesProtocolInterface)定義了主/從兩種模式,包括4根信號線:串行數(shù)據(jù)輸入(MISO,主設(shè)備輸入或從設(shè)備輸出)串行數(shù)據(jù)輸出(MOSI,主設(shè)備輸出或從設(shè)備輸入)移位時鐘(SCK)從設(shè)備使能(SS)SPI接口的最大特點是由主設(shè)備時鐘信號的出現(xiàn)與否界定主/從設(shè)備間的通信。

McBSP的數(shù)據(jù)同步時鐘具有停止控制選項,因此可以與SPI協(xié)議兼容。SPI接口時鐘工作模式CLKSTP=10b時的SPI傳輸

CLKSTP=11b時的SPI傳輸

CLKSTP(SPCR)CLKXP(PCR)時鐘工作模式0xx禁止時鐘停止模式,使能為非SPI模式100傳輸無效期間時鐘為低,沒有延遲。McBSP在CLKX上升沿發(fā)送數(shù)據(jù),在CLKX的下降沿接收數(shù)據(jù)110傳輸無效期間時鐘為低,有延遲。McBSP在CLKX上升沿前半個周期發(fā)送數(shù)據(jù),在CLKX的上升沿接收數(shù)據(jù)101傳輸無效期間時鐘為高,沒有延遲。McBSP在CLKX下降沿發(fā)送數(shù)據(jù),在CLKX的上升沿接收數(shù)據(jù)111傳輸無效期間時鐘為高,有延遲。McBSP在CLKX下降沿前半個周期發(fā)送數(shù)據(jù),在CLKX的下降沿接收數(shù)據(jù)CLKSTP=10,CLKXP=0CLKSTP=10,CLKXP=1CLKSTP=11,CLKXP=0CLKSTP=11,CLKXP=1CLKGDV=250,時鐘周期=40ns*250=10us,(CPU/2)=25MHzMcBSP作為SPI主控端(Master)由于McBSP產(chǎn)生CLKX和FSX信號輸出,因此需設(shè)置CLKXM=FSXM=1。此外,還需要設(shè)置SRGR寄存器中的FSMG=0,即每次進行DXR到XSR的拷貝操作時要產(chǎn)生FSX信號。

McBSP作為SPI從屬端(Slave)當(dāng)McBSP作為SPI從設(shè)備時,由外部主設(shè)備產(chǎn)生接口時鐘和從設(shè)備使能信號。

McBSP的CLKX管腳和FSX管腳配置為輸入管腳(CLKXM=FSXM=0)。輸入串口的CLKX和FSX同時也作為McBSP接收端的CLKR信號和FSR信號。在進行數(shù)據(jù)傳輸之前,外部主設(shè)備必須先置FSX信號有效(低電平)

McBSP

作為通用I/O口在下列2種情況下,串口的管腳(CLKX、FSX、DX、CLKR、FSR、DR以及CLKS)可以用做通用I/O:

SPCR寄存器中(R/X)RST=0,接收端或發(fā)送端處于復(fù)位狀態(tài)PCR寄存器中(R/X)IOEN=1,串口設(shè)置為通用I/O模式引腳多用途的I/O使能條件輸出輸入選擇輸出條件輸出值來源選擇輸入條件可讀的輸入值CLKXXRST=0,XIOEN=1CLKXM=1CLKXPCLKXM=0CLKXPFSXXRST=0,XIOEN=1FSXM=1FSXPFSXM=0FSXPDXXRST=0,XIOEN=1總是有DX_STAT沒有N/ACLKRRRST=0,RIOEN=1CLKRM=1CLKRPCLKRM=0CLKRPFSRRRST=0,RIOEN=1FSRM=1FSRPFSRM=0FSRPDRRRST=0,RIOEN=1沒有N/A總是有DR_STATCLKSRRST=XRST=0RIOEN=XIOEN=1沒有N/A總是有CLKS_STAT在主模式和從模式下,SPI支持的四種選擇是:3-引腳選擇,時鐘、數(shù)據(jù)輸入和輸出是基本的SPI接口具有片選功能的4-引腳選擇,這一引腳可用來支持在單個SPI總線上連接多個SPI從器件具有使能功能的4-引腳選擇,利用這一引腳可以通過加入硬件握手來提高整個吞吐量具有使能和片選功能的5-引腳選擇,使用所有的引腳SPI操作在3-引腳的主模式下,DSP按照右對齊的方式,將傳輸數(shù)據(jù)寫到SPIDAT0或SPIDAT1寄存器。此后開始了一個數(shù)據(jù)傳輸。接著由SPIx_CLK引腳輸出一連串的時鐘脈沖來完成整個操作。由SPIx_CLK引腳輸出的每個時鐘脈沖使得SPI主器件和從器件每一位的傳輸都同時進行。傳輸之前必須設(shè)置字長,字長必須跟SPIx_CLK引腳上設(shè)置的每次傳輸時鐘脈沖數(shù)相匹配。當(dāng)所有的數(shù)據(jù)位傳輸完成后,接收到的數(shù)據(jù)被復(fù)制到SPIBUF寄存器,以備DSP或DMA來讀取。另外還會產(chǎn)生中斷SPI操作:3-引腳選擇為了避免跟總線上激活的從器件發(fā)生沖突,SPIx_SCS引腳被主器件禁止時,還會使輸出引腳進入高阻狀態(tài)。在主模式下,SPIx_SCS是一個輸出引腳,C672xDSP僅僅支持一個SPIx_SCS引腳,因此在主模式下這一引腳的用處是非常有限的。實際應(yīng)用中,需要利用通用I/O引腳來支持多個從器件的片選。SPI操作:帶片選的4-引腳選項握手操作按下列步驟進行:某一傳輸結(jié)束后,SPI主從模塊需要等待傳輸結(jié)束后從SPI模塊禁止SPIx_ENA,標(biāo)志著它需要等待,還沒有準(zhǔn)備好從模塊通過從SPIBUF讀接收數(shù)據(jù)來開始維護它的SPI然后,從器件向SPIDAT0或SPIDAT1寫傳輸數(shù)據(jù)。這樣就會使得從SPI激活SPIx_ENA,標(biāo)志著已經(jīng)準(zhǔn)備好進行下面的傳輸了同時,主器件可以隨時維護它的SPI。為了避免從器件超載,在向它的SPIDAT0或SPIDAT1寄存器寫之前不需要插入一個延遲。相反的,主SPI模塊會自動延遲下一個傳輸,直到從模塊再次激活SPIx_ENA來指出已經(jīng)準(zhǔn)備好進行傳輸了。這個握手信號允許兩個SPI以最大的可能速率進行通信。沒有握手信號,主模塊必須在每個傳輸之間插入一個足夠長的延遲,來滿足從模塊維護它的SPI的最長響應(yīng)時間。利用握手引腳,吞吐量由兩個器件SPI端口的平均響應(yīng)時間來決定。SPI操作:具有使能功能的4-引腳選項5-引腳模式是兩種4-引腳模式的擴展集SPI操作:5-引腳選項SPI模塊支持多種數(shù)據(jù)格式選項:搬移方向:MSB或LSB開始字符長度:2到16位SPI在發(fā)送和接收緩沖器中的數(shù)據(jù)排列SPI時鐘模式極性相位動作00數(shù)據(jù)在SPIx_CLK時鐘的上升沿輸出,輸入數(shù)據(jù)在SPIx_CLK的下降沿鎖定01數(shù)據(jù)在第一個SPIx_CLK時鐘上升沿的半個周期前輸出,輸入數(shù)據(jù)在SPIx_CLK的上升沿鎖定SPI時鐘模式極性相位動作10數(shù)據(jù)在SPIx_CLK時鐘的下降沿輸出,輸入數(shù)據(jù)在SPIx_CLK的上升沿鎖定11數(shù)據(jù)在第一個SPIx_CLK時鐘下降沿的半個周期前輸出,輸入數(shù)據(jù)在SPIx_CLK的下降沿鎖定SPI數(shù)據(jù)傳輸示例在兩個器件之間,使用5位傳輸字符長度進行的一個SPI數(shù)據(jù)傳輸示意圖SPI

溫馨提示

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

評論

0/150

提交評論