串行通信接口_第1頁
串行通信接口_第2頁
串行通信接口_第3頁
串行通信接口_第4頁
串行通信接口_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章

串行通信接口本章內(nèi)容:8.1SCI模塊概述8.2SCI模塊的結(jié)構(gòu)8.3SCI的寄存器

24xDSP的通信接口包括異步串行通信接口(SCI)、串行外設(shè)接口(SPI)、控制器局域網(wǎng)絡(luò)(CAN)接口等。18.1SCI模塊概述

24xDSP的SCI(SerialCommunicationInterface)串行通信接口模塊是一個標(biāo)準的異步串行口(UART)??梢院蚏S232/485設(shè)備接口??梢园腚p工或全雙工操作。可以通過波特率選擇寄存器設(shè)置波特率。

數(shù)據(jù)格式:一個起始位、1~8位數(shù)據(jù)位、可選擇奇/偶/無校驗位、一個或兩個停止位。2SCI的特性:(1)兩個I/O引腳:SCIRXD與SCITXD(2)一個16位的波特率選擇寄存器可編程,可得到65536種的不同速率。(3)1~8位的可編程數(shù)據(jù)位。(4)長度為1位或2位的可編程停止位。(5)內(nèi)部產(chǎn)生的串行時鐘。(6)四個錯誤的檢測標(biāo)志: 奇偶性錯誤、超限錯誤、幀錯誤、間斷檢測(7)兩種喚醒多處理器模式:空閑線喚醒、位尋址喚醒(8)半雙工或全雙工通信。(9)雙緩沖接收和發(fā)送功能。(10)發(fā)送和接收操作均可通過中斷或查詢進行。(11)非歸零格式(NRZ)。3注意:SCI模塊內(nèi)的所有寄存器為8位,但它與16位的外設(shè)總線相連。因此當(dāng)訪問這些寄存器時,寄存器的數(shù)據(jù)在低字節(jié)(0~7位),高字節(jié)(8~15位)讀出為0,對高字節(jié)的寫操作無效。4SCI模塊的結(jié)構(gòu)8.2SCI模塊的結(jié)構(gòu)5模塊主要包括以下部件:(1)發(fā)送器-TXSCITXBUF-發(fā)送數(shù)據(jù)緩沖寄存器,存發(fā)送數(shù)據(jù)。TXSHF-發(fā)送移位寄存器,每次1位送到SCITXD引腳。(2)接收器-RXRXSHF-接收移位寄存器,每次1位將SCIRXD引腳上的數(shù)據(jù)移入。SCIRXBUF-接收數(shù)據(jù)緩沖寄存器,存RXSHF接收到數(shù)據(jù)。(3)一個可編程的波特率發(fā)生器。(4)控制和狀態(tài)寄存器(映射在數(shù)據(jù)存儲器區(qū))。6SCI模塊的寄存器地址 寄存器 名稱7050h SCICCR SCI通信控制寄存器7051h SCICTL1 SCI控制寄存器17052h SCIHBAUD 波特率選擇寄存器高8位7053h SCILBAUD 波特率選擇寄存器低8位7054h SCICTL2 SCI控制寄存器27055h SCIRXST SCI接收器狀態(tài)寄存器7056h SCIRXEMU SCI仿真數(shù)據(jù)緩沖寄存器7057h SCIRXBUF SCI接收器數(shù)據(jù)緩沖寄存器7059h SCITXBUF SCI發(fā)送數(shù)據(jù)緩沖寄存器705Fh SCIPRI SCI優(yōu)先級控制寄存器71.串行通信接口的信號分類信號名稱說明外部信號SCIRXDSCI異步串行接口接收數(shù)據(jù)SCITXDSCI異步串行接口發(fā)送數(shù)據(jù)控制信號波特率時鐘LSPCLK預(yù)分頻時鐘中斷信號TXINT發(fā)送中斷RXINT接收中斷82.多處理器和異步通信模式3.串行通信接口可編程數(shù)據(jù)格式

串行通信接口SCI有兩個多處理器協(xié)議:空閑線多處理器模式和地址位多處理器模式。數(shù)據(jù)的基本單位為字符,它的長度是1~8位。數(shù)據(jù)的每個字符包括一個起始位、一個或者兩個停止位、一個可選的奇偶校驗位和一個地址位。94.SCI多處理器通信

多處理器通信格式允許一個處理器在同一串行線上與其他的處理器進行有效的數(shù)據(jù)塊傳輸。在一個串行線上,在同一時刻只允許存在一個發(fā)送器。地址字節(jié):發(fā)送的數(shù)據(jù)包的第一個字節(jié)包括一個地址字節(jié),它被所有的聽眾讀取,只有地址相符的聽眾才能接收跟在地址字節(jié)后的數(shù)據(jù),地址不相符的等待接收下一個地址。SLEEP:串行連接的所有處理器將其串行通信接口的SLEEP位(SCICTL1.2)置成1,使得它們在檢測到地址字節(jié)時才被中斷,當(dāng)?shù)刂废喾麜r用戶需清除SLEEP位來保證在收到每個數(shù)據(jù)字節(jié)時產(chǎn)生一個中斷。SCI數(shù)據(jù)幀格式10處理器根據(jù)多處理器的模式來識別地址字節(jié):

空閑線模式在地址前留有一個固定空間,該模式?jīng)]有附加的地址/數(shù)據(jù)位,它在處理包含多于10個字節(jié)的數(shù)據(jù)塊時比地址位模式更有效。地址位模式在每個字節(jié)中加入一個額外位(地址位)來區(qū)分地址和數(shù)據(jù),它在處理多個小數(shù)據(jù)塊時更有效。在兩種多處理器模式中,接收步驟:

接收地址塊時,串行通信接口喚醒并請求中斷即使能RX/BKINTENA位(SCICTL2.1)以請求中斷;它讀取地址塊的第一幀數(shù)據(jù),其中包括目的處理器的地址。通過中斷和校對程序得到的地址進入軟件子程序,并且該地址字節(jié)與存在內(nèi)存中的器件地址再次進行校對。若地址相符,則CPU就清除SLEEP位并讀取塊中剩余的數(shù)據(jù),否則,退出子程序并且SLEEP位依舊置位,直到下一個地址塊的開始才接收中斷。115.空閑線多處理器模式

數(shù)據(jù)塊與數(shù)據(jù)塊之間通過較長的空閑時間分開,而且這個空閑時間比數(shù)據(jù)塊內(nèi)部幀與幀之間的空閑時間長得多??臻e線協(xié)議通過在某一幀之后使用10位或更多的空閑時間來指示一個新數(shù)據(jù)塊的開始。有兩種方法可傳送塊的開始信號:在前一塊最后一幀的數(shù)據(jù)傳送與新塊的地址幀傳送之間特意留出10位或更多位的空閑時間來延時;在寫入到SCITXBUF寄存器之前,串行通信接口首先將發(fā)送喚醒位(TXWAKE)置1,傳送11位的空閑時間,用這種方法串行通信線只空閑必要的一些位。與發(fā)送喚醒位(TXWAKE)相關(guān)的是喚醒暫存標(biāo)志位(WUT),這是一個內(nèi)部標(biāo)志,與TXWAKE構(gòu)成雙緩沖。當(dāng)發(fā)送器的移位寄存器(TXSHF)從串行通信接口發(fā)送數(shù)據(jù)緩沖寄存器(SCITXBUF)裝載數(shù)據(jù)時,WUT從發(fā)送喚醒標(biāo)志位(TXWAKE)中裝入數(shù)據(jù),然后TXWAKE位被清零。12在發(fā)送期間,一幀時間的塊開始信號:設(shè)置發(fā)送喚醒位TXWAKE為1;將一個數(shù)字(內(nèi)容不重要)寫到SCITXBUF寄存器來作為傳送一個塊的開始信號。當(dāng)移位寄存器TXSHF再次空閑時,發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF的內(nèi)容被傳送到TXSHF中,TXWAKE位被移入到WUT,然后TXWAKE位被清零(因TXWAKE為1,啟動位、數(shù)據(jù)位和奇偶位被在上一幀最后停止位后的11位空閑位所取代);將新的地址寫入SCITXBUF寄存器。這個無關(guān)數(shù)據(jù)字必須首先被寫到SCITXBUF,從而TXWAKE的值可以移入到WUT中。在無關(guān)數(shù)據(jù)被移入TXSHF中后,因TXSHF和WUT都是兩級緩沖,因而SCITXBUF寄存器可重新寫入新的值。136.地址位多處理器模式

在該模式中,幀信息的最后一個數(shù)據(jù)位后緊跟著一個稱之為地址位的附加位。在數(shù)據(jù)塊中,第一個幀的地址位設(shè)為1,其他幀的地址位都要設(shè)成0。發(fā)送一個地址的步驟:

設(shè)置TXWAKE為1并且將一個合適的地址寫入到SCITXBUF中,當(dāng)該地址被移入TXSHF寄存器中且又被移出時,它的地址位被置1,這就向串行線上的其他處理器發(fā)標(biāo)志位使其讀取地址;因TXSHF和WUT都是雙緩沖的,故SCITXBUF和TXWAKE可在TXSHF和WUT裝入后,立即寫入新值;在發(fā)送塊中的無地址幀(數(shù)據(jù)幀)時,應(yīng)將TXWAKE位置0。147.SCI通信格式SCI異步通信格式

每一幀都由一個起始位、1至8個數(shù)據(jù)位、一個可選的奇偶校驗位和1~2個停止位組成。每個數(shù)據(jù)位有8個SCICLK周期。處理器通過對每個位的中間3次采樣值來確定該位的值。這些采樣分別出現(xiàn)在第4個、第5個和第6個時鐘周期,而且根據(jù)多數(shù)表決(3取2)原則確定該位的值。

158.串行通信接口中斷

SCI接收器和發(fā)送器都能產(chǎn)生中斷。SCICTL2寄存器中包含有一個標(biāo)志位(TXRDY),它用于指示當(dāng)前中斷的狀態(tài),同時SCIRXST寄存器也包含兩個中斷標(biāo)志位(RXRDY和BRKDT)和一個RXERROR中斷標(biāo)志(由FE、OE和PE等條件進行邏輯或產(chǎn)生)。發(fā)送器和接收器分別擁有各自的中斷使能位。

SCI接收器和發(fā)送器都有各自的中斷向量。中斷申請既可設(shè)置為高優(yōu)先級也可以設(shè)置為低優(yōu)先級,這由SCI模塊向PIE控制器送出的優(yōu)先級標(biāo)志位決定。當(dāng)RX和TX中斷都分配在同一個優(yōu)先級時,為了減小發(fā)生接收溢出的概率,接收器中斷總是比發(fā)送器中斷的優(yōu)先級高。169.SCI波特率計算SCI模塊的波特率(1≤BRR≤65535

)波特率選擇寄存器(SCIHBAUD,SCILBAUD)的值BRRBRR=0時178.3SCI的寄存器SCI通信控制寄存器:SCICCRSCI控制寄存器1:SCICTL1波特率選擇寄存器:SCIHBAUD,SCILBAUDSCI控制寄存器2:SCICTL2SCI接收狀態(tài)寄存器:SCIRXSTSCI接收數(shù)據(jù)緩沖寄存器:SCIRXBUFSCI發(fā)送數(shù)據(jù)緩沖寄存器:SCITXBUFSCI優(yōu)先級控制寄存器:SCIPRI18SCI通信控制寄存器(SCICCR)

SCI通信控制寄存器(SCICommunicationControlRegister,SCICCR)定義了字符格式、協(xié)議和通信模式。位7STOPBITS:設(shè)置SCI停止位的個數(shù)。1:2個停止位,0:1個停止位。位6EVEN/ODDPARITY:SCI奇偶校驗選擇位。1:偶校驗,0:奇校驗

位5PARITYENABLE:SCI奇偶校驗使能位。1:使能,0:禁止。

位4LOOPBACKENA:自測模式使能位。1:使能自測模式,0:禁止自測模式。位3ADDR/IDLEMODE:SCI多處理器模式選擇位。1:選擇地址位模式。0:選擇空閑線模式。位2~0SCICHAR2~0:字符長度選擇位。19字符的長度選擇SCICHAR2SCICHAR1SCICHAR0字符長度/位數(shù)0001001201030114100510161107111820SCI控制寄存器1(SCICTL1)

SCI控制寄存器1(SCIControlRegister1,SCICTL1)控制接收/發(fā)送的使能,TXWAKE和SLEEP功能,以及SCI軟件重啟動。位6RXERRINTENA:SCI接收錯誤中斷使能位。1:使能

位5SWRESET:SCI軟件復(fù)位位(低電平有效)。位3TXWAKE:SCI發(fā)送器喚醒方法選擇位。0:沒有選定發(fā)送特性,1:選定的發(fā)送特性取決于空閑線模式或地址位模式位2SLEEP:SCI休眠位。0:禁止休眠模式,1:休眠模式。位1TXENA:SCI發(fā)送使能位。0:禁止發(fā)送,1:使能發(fā)送。位0RXENA:SCI接收使能位。0:禁止接收,1:使能接收。

21波特率選擇寄存器(SCIHBAUD,SCILBAUD)包括波特率選擇高字節(jié)寄存器SCIHBAUD和低字節(jié)寄存器SCILBAUD。二者內(nèi)確定了SCI的波特率。22SCI模塊的波特率按下式計算(1≤BRR≤65535)波特率選擇寄存器(SCIHBAUD,SCILBAUD)的值BRRBRR=0時23SCI控制寄存器2(SCIControlRegister2,SCICTL2)

位7TXRDY:發(fā)送緩沖寄存器準備就緒標(biāo)志位。1:SCITXBUF空,準備接收數(shù)據(jù),0:SCITXBUF滿位6TXEMPTY:發(fā)送器空標(biāo)志位。1:SCITXBUF寄存器或TXSHF寄存器空,0:SCITXBUF寄存器,TXSHF寄存器或兩者都裝入了數(shù)據(jù)位1RX/BKINTENA:接收緩沖器/間斷中斷使能位。1:使能,0:禁止位0TXINTENA:發(fā)送緩沖寄存器(SCITXBUF)中斷使能位。

1:使能TXRDY中斷,0:禁止TXRDY中斷24SCI接收狀態(tài)寄存器:SCIRXST

SCI接收狀態(tài)寄存器(SCIReceiverStatusRegister,SCIRXST)包含了7位接收器的狀態(tài)標(biāo)志(其中兩個可以產(chǎn)生中斷請求)。位7RXERROR:SCI接收器錯誤標(biāo)志位。0:無錯誤置位標(biāo)志,1:有錯誤置位標(biāo)志位6RXRDY:SCI接收器準備就緒標(biāo)志位。位5BRKDT:SCI間斷檢測標(biāo)志位。0:不滿足間斷條件,1:滿足間斷條件位4FE:SCI幀錯誤(FrameError)標(biāo)志位。0:未檢

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論