第十章-串行通信接口SCI電子教案_第1頁
第十章-串行通信接口SCI電子教案_第2頁
第十章-串行通信接口SCI電子教案_第3頁
第十章-串行通信接口SCI電子教案_第4頁
第十章-串行通信接口SCI電子教案_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 TMS320LF240 x內(nèi)部有一個串行通信(SCI)接口模塊,來實現(xiàn)與其它外 設(shè)之間的串行數(shù)據(jù)通信。波特率可編程。 SCI的發(fā)送器與接收器都是雙緩沖的。各自有工作(gngzu)使能和中斷控制。可工作(gngzu)于全雙工模式 波特率可編程。10.1 串行通信接口的結(jié)構(gòu)10.1.1 串行通信接口的物理(wl)描述(1)兩個I/O引腳:SCIRXD與SCITXD(2)通過對一個16位的波特率選擇寄存器編程,可得到65000種的不同速率。第一頁,共39頁。(3)1-8位的可編程數(shù)據(jù)位。(4)長度為1位或2位的可編程停止位。(5)內(nèi)部產(chǎn)生的串行時鐘。(6)四個錯誤的檢測標(biāo)志: 奇偶性錯誤、超限錯誤

2、、幀錯誤、間斷檢測(7)兩種喚醒多處理器模式:空閑線喚醒、位尋址喚醒(8)半雙工或全雙工。(9)雙緩沖接收和發(fā)送功能。(10)發(fā)送和接收操作均可通過中斷或查詢(chxn)操作進行(11)非歸零格式(NRZ)第二頁,共39頁。第三頁,共39頁。10.1.2 SCI模塊的結(jié)構(gòu)模塊主要包括以下部件:(1)發(fā)送(f sn)器-TX: SCITXBUF-發(fā)送(f sn)數(shù)據(jù)緩沖寄存器,存發(fā)送(f sn)數(shù)據(jù)。 TXSHF -發(fā)送(f sn)移位寄存器,每次1位送到SCITXD引腳(2)接收器-RX: RXSHF -接收移位寄存器,每次1位將SCITXD引腳上的數(shù)據(jù)移入。 SCIRXBUF-接收數(shù)據(jù)緩沖寄

3、存器,存RXSHF接收到數(shù)據(jù)(3)一個可編程的波特率發(fā)生器。(4)控制和狀態(tài)寄存器(映射在數(shù)據(jù)存儲器區(qū))第四頁,共39頁。10.1.3 SCI模塊的寄存器地址 7050h SCICCR SCI控制寄存器 7051h SCICTRL1 SCI控制寄存器1 7052h SCIBAUD 波特率選擇寄存器高8位 7053h SCIBAUD 波特率選擇寄存器低8位 7054h SCICTRL2 SCI控制寄存器2 7055h SCIRXST SCI接收器狀態(tài)寄存器 7056h SCIRXEMU SCI仿真(fn zhn)數(shù)據(jù)緩沖寄存器 7057h SCIRXBUF SCI接收器數(shù)據(jù)緩沖寄存器 7059h

4、 SCITXBUF SCI發(fā)送數(shù)據(jù)緩沖寄存器第五頁,共39頁。10.1.4 多機異步通信模式 SCI有兩種多處理器協(xié)議,即空閑線路多處理器模式和地址位多處理器模式,這些協(xié)議允許在多個處理器之間進行有效的數(shù)據(jù)傳輸。 SCI提供了與許多流行的外圍設(shè)備接口的通用異步接收器發(fā)送器(UART)通信模式。異步模式需要兩條錢與標(biāo)準設(shè)備接口,如使用(shyng)RS-232C格式的終端和打印機等。 數(shù)據(jù)發(fā)送的字符包括: 一個起始位 1-8個數(shù)據(jù)位 一個奇偶校驗位或無奇偶校驗位 1-2個數(shù)據(jù)位第六頁,共39頁。10.2 可編程的數(shù)據(jù)格式 串行通信接口可的數(shù)據(jù)無論是接收(jishu)還是發(fā)送都采用NRZ(非歸零)

5、格式, NRZ包括以下組成部分: 一個起始位 1-8個數(shù)據(jù)位. 一個奇偶校驗位或無奇偶校驗位 1-2個停止位 一個從數(shù)據(jù)中識別地址的附加位(僅用于地址模式)。第七頁,共39頁。 數(shù)據(jù)的基本單位被稱作一個字符,為1-8位的字長。數(shù)據(jù)的每個字符格式化為1個起始位,1-2個停止位和可選的奇偶校驗位和地址位,如圖8-2所示。 注意:帶有格式化信息(xnx)數(shù)據(jù)的一個字符稱為一個幀。第八頁,共39頁。第九頁,共39頁。8.3 SCI多處理器通信 多處理器通信即一條串行線上只能有一個信息源。地址字節(jié)(z ji): 信息源發(fā)送的數(shù)據(jù)塊的第一個字節(jié)(z ji)包括一個地址字節(jié)(z ji),它被所有的接收器讀取

6、,但只有地址正確的接收器才能被緊隨地址字節(jié)(z ji)后面的數(shù)據(jù)字節(jié)(z ji)中斷,地址不正確的接收器不被中斷,直到下一個地址字節(jié)(z ji)。SLEEP位: 串行線路上的所有處理器將它們的串行通信接口的SLEEP位(SClCTL1.2)設(shè)置為1,這樣當(dāng)僅在檢測到地址字節(jié)(z ji)時才被中斷。第十頁,共39頁。 當(dāng)一個處理器讀取到的一個數(shù)據(jù)塊地址與軟件設(shè)置的CPU器件地址相一致時,用戶程序必須清除(qngch)SLEEP位來確保串行通信接口在收到每個數(shù)據(jù)字節(jié)時產(chǎn)生一個中斷。 盡管當(dāng)SLEEP位為1時,接收器仍能工作,但它不會使RXRDY、RXINT或任何接收錯誤狀態(tài)位設(shè)置為1,除非檢測到地

7、址字節(jié),且接收到的幀的地址位是1。SCI不會改變SLEEP位,必須由用戶軟件改變。第十一頁,共39頁。識別地址字節(jié) 處理器根據(jù)多處理器的模式來識別一個地址字節(jié),例如: 空閑線模式在地址字節(jié)前留有一段靜空間。該模式?jīng)]有一個附加(fji)的地址數(shù)據(jù)位,在處理包含多于10個字節(jié)的數(shù)據(jù)塊的情況下,其效率比地址位模式更高。 空閑線模式應(yīng)用于典型的非多處理器的SCI通信。 第十二頁,共39頁。 地址位模式為每個字節(jié)增加一個附加位(地址位)來從數(shù)據(jù)中識別地址。該模式在處理(chl)多個小數(shù)據(jù)塊時更有效。 與空閑線模式不一樣,因為它在數(shù)據(jù)塊之間不需要等待。當(dāng)處于高速傳送時,空閑模式的程序速率不足以避免傳送中的

8、一個10位空閑位。第十三頁,共39頁??刂芐CI Tx和Rx特性 多處理器的模式可通過ADDRIDLE MODE位(SCICCR.3)來設(shè)置。兩種模式都使用TXWAKE(發(fā)送喚醒標(biāo)志)位(SCICTL1.3),RXWAKE (接收(jishu)喚醒標(biāo)志)位(SCIRXST.1)和SLEEP標(biāo)志位(SCICTL1.3)來控制串行通信接口發(fā)送器和接收(jishu)器的工作狀態(tài)。 接收(jishu)順序:在兩種多處理器模式中,接收(jishu)順序如下:(1)在接收(jishu)一個地址塊時,串行通信接口喚醒并請求一個中斷(RXBK INT ENA- SCICTL2.1必須被使能以請求中斷)。 它讀

9、取地址塊的第一幀數(shù)據(jù),其中包括目的地址.第十四頁,共39頁。(2) 通過中斷和檢查程序引入的地址進入一個軟件服務(wù)程 序,并且該地址字節(jié)與保存在內(nèi)存中的器件(qjin)地址再次進行校對。(3)如果檢查表明此塊是DSP控制器的地址,則CPU清除SLEEP位并讀塊的其余部分,如果不是,則退出軟件子程序,SLEEP位設(shè)置為1,并在下一個塊開始之前不接收中斷。第十五頁,共39頁。10.3.1 空閑(kngxin)線多處理器模式第十六頁,共39頁。10.3.2 地址(dzh)位多處理器模式第十七頁,共39頁。10.3.2 地址(dzh)位多處理器模式第十八頁,共39頁。10.4 SCI通信(tng xn)

10、模式第十九頁,共39頁。10.4.1 通信模式(msh)中的接收器信號第二十頁,共39頁。10.4.2 通信模式(msh)中的發(fā)送器信號第二十一頁,共39頁。10.5 串行通信(tng xn)中斷10.6 SCI波特率計算10.7 SCI模塊(m kui)寄存器 如后圖第二十二頁,共39頁。第二十三頁,共39頁。10.7.1 SCI Communication Control Register (SCICCR)Bit 7 STOP BITS. SCI number of stop bits. 0 -One stop bit 1- Two stop bitsBit 6 PARITY. SCI p

11、arity odd/even selection. 0- Odd parity 1- Even parityBit 5 PARITY ENABLE. SCI parity enable. 0- Parity disabled 1- Parity is enabled 第二十四頁,共39頁。Bit 4 LOOP BACK ENA. Loop Back test mode enable. 0- Loop Back test mode disabled 1- Loop Back test mode enabledBit 3 ADDR/IDLE MODE. SCI multiprocessor mod

12、e control bit. 0- Idle-line mode protocol selected 1- Address-bit mode protocol selectedBits 20 SCI CHAR20. Character-length control bits 2 0.第二十五頁,共39頁。第二十六頁,共39頁。10.7.2 SCI Control Register 1 (SCICTL1) SCICTL1 controls the receiver/transmitter enable, TXWAKE and SLEEP functions,and the SCI softwar

13、e reset.第二十七頁,共39頁。10.7.3 Baud-Select Registers (SCIHBAUD, SCILBAUD) The values in SCIHBAUD and SCILBAUD specify the baud rate for the SCI.第二十八頁,共39頁。第二十九頁,共39頁。10.7.4 SCI Control Register 2 (SCICTL2) SCICTL2 enables the receive-ready, break-detect, and transmit-ready interruptsas well as transmitte

14、r-ready and -empty flags.Bit 7 TXRDY. Transmitter buffer register ready flag. 0- SCITXBUF is full 1- SCITXBUF is ready to receive the next character第三十頁,共39頁。Bit 6 TX EMPTY. Transmitter empty flag. 0- Transmitter buffer or shift register or both are loaded with data 1- Transmitter buffer and shift r

15、egisters are both emptyBits 52 Reserved.Bit 1 RX/BK INT ENA. Receiver-buffer/break interrupt enable. 0- Disable RXRDY/BRKDT interrupt 1- Enable RXRDY/BRKDT interruptBit 0 TX INT ENA. SCITXBUF-register interrupt enable. 0- Disable TXRDY interrupt 1- Enable TXRDY interrupt第三十一頁,共39頁。10.7.5 Receiver St

16、atus Register (SCIRXST)Bit 7 RX ERROR. SCI receiver-error flag. 0- No error flags set 1- Error flag(s) setBit 6 RXRDY. SCI receiver-ready flag. 0- No new character in SCIRXBUF 1- Character ready to be read from SCIRXBUF第三十二頁,共39頁。Bit 5 BRKDT. SCI break-detect flag. 0- No break condition 1- Break con

17、dition occurredBit 4 FE. SCI framing-error flag. 0- No framing error detected 1- Framing error detectedBit 3 OE. SCI overrun-error flag. 0- No overrun error detected 1- Overrun error detected第三十三頁,共39頁。Bit 2 PE. SCI parity-error flag. 0- No parity error or parity is 1- Parity error is detectedBit 1

18、RXWAKE. Receiver wakeup-detect flag.Bit 0 Reserved. Reads return zero; writes have no effect.第三十四頁,共39頁。10.7.6 Receiver Data Buffer Registers (SCIRXEMU, SCIRXBUF)10.7.6.1 Emulation Data Buffer This is the register which should be used in an emulator watch window to view the contents of SCIRXBUF register. SCIRXEMU is not physically implemented, it is just a different address locationto access the SCIRXBUF register without clearing the RXRDY flag.第三十五頁,共39頁。10.7.6.2 Receiver Data Buffer (SCIRXBUF)10.7.7 Transmit Data Buffer Register (SCITXBUF)第三十六頁,共39頁。10.7.8 Priori

溫馨提示

  • 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

提交評論