DSP8-串行通訊單元_第1頁
DSP8-串行通訊單元_第2頁
DSP8-串行通訊單元_第3頁
DSP8-串行通訊單元_第4頁
DSP8-串行通訊單元_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八講串行通訊單元(一)、F28335的SCI(二)、F28335的SPI(三)、F28335的I2CEmail:zdh2010_1234@163.com密碼:zdh2010串行通訊單元——SCI(一)、F28335的SCI的特點及通訊方式(一)、F28335的SCI的特點及通訊方式(二)、F28335的SCI的數(shù)據(jù)格式(三)、F28335的SCI的多處理器方式(四)、F28335的SCI的重要寄存器2023/2/53F28335SCI模塊特點2個外部引腳:SCITXD/SCIRXD2種工作模式:全雙工、半雙工波特率:可編程達到64K不同的速率雙緩沖接受發(fā)送模式16級發(fā)送接受FIFO(發(fā)送8bit、接受16bit)自動波特率檢測硬件邏輯2個喚醒多處理器模式:空閑線及地址位F28336SCI通信模塊SCI可編程數(shù)據(jù)格式StartLSB23457MSBParityStop1Addr/Data6只在地址模式種有效Stop2NRZ(nonreturntozero)formatStartBitLSBofData多數(shù)表決FallingEdgeDetectedSCIRXDSCICLK(Internal)1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2Note:8SCICLK/每個數(shù)據(jù)位多處理器喚醒方式定義:允許一個處理器在同一個串行線上有效的向其他處理器發(fā)送數(shù)據(jù)塊2種模式:地址線空閑;地址位操作順序設(shè)置SLEEP=1,當?shù)刂繁粰z測的時候處理器才能被中斷,軟件清零所有的傳輸都是以地址幀開始接收到的地址幀臨時喚醒所有BUS上的處理器處理器比較收到的SCI地址與本身的SCI地址(匹配)只有當?shù)刂菲ヅ涞臅r候處理器才開始接受數(shù)據(jù)空閑線多處理器方式幀內(nèi)塊的空閑塊在SCIRXD變高10個位(或更多)之后,接收器在下降沿之后被喚醒2種發(fā)送快啟動信號前一數(shù)據(jù)塊的最后一幀的發(fā)送與下一數(shù)據(jù)塊的地址幀的發(fā)送之間時間延長,能產(chǎn)生一段10bit或更長的空閑時間設(shè)置TXWAKE(SCICTL1.3)=1,產(chǎn)生11bit的空閑時間地址位喚醒方式所有幀都包含一個額外的地址位,判決地址/數(shù)據(jù)當?shù)刂肺槐粰z測到的時候喚醒只要在SCITXBUF寫入地址前置位TXWAKE=1,自動設(shè)置幀內(nèi)數(shù)據(jù)/地址的設(shè)定SCI的波特率具有2個8位波特率寄存器SCIHBAUD:SCILBAUD共同構(gòu)成16位長度,因此可支持64K個編程速率。

SCI-A寄存器Address Register Name0x007050 SCICCR SCI-A通信控制寄存器0x007051 SCICTL1 SCI-A控制寄存器10x007052 SCIHBAUD SCI-A波特率寄存器,高位0x007053 SCILBAUD SCI-A波特率寄存器,低位0x007054 SCICTL2 SCI-A控制寄存器20x007055 SCIRXST SCI-A接受狀態(tài)寄存器0x007056 SCIRXEMU SCI-A接受仿真數(shù)據(jù)寄存器0x007057 SCIRXBUF SCI-A接受數(shù)據(jù)寄存器0x007059 SCITXBUF SCI-A發(fā)送數(shù)據(jù)寄存器0x00705A SCIFFTX SCI-AFIFO發(fā)送寄存器0x00705B SCIFFRX SCI-AFIFO接受寄存器0x00705C SCIFFCT SCI-AFIFO控制寄存器0x00705F SCIPRI SCI-A極性控制寄存器SCI-A通信控制寄存器SCICCRADDR/IDLEMODESTOPBITSEVEN/ODDPARITYPARITYENABLELOOPBACKENABLESCICHAR2SCICHAR1SCICHAR00=1Stopbit1=2Stopbits0=Odd1=Even0=Disabled1=Enabled0=Disabled1=Enabled0=Idle-linemode1=Addr-bitmode76543210#ofdatabits=(binary+1)e.g.110bgives7databitsTXWAKEreservedRXERRINTENASWRESETreservedSLEEPTXENARXENA0=ReceiveErrorInterruptdisabled1=ReceiveErrorInterruptenabledWrite0=ResetSCIWrite1=releasefromResetTransmitterwakeupmethodselect1=wakeupmodedependsonSCICCR.30=nowakeupmode765432100=sleepmodedisabled1=sleepmodeenabled0=transmitterdisabled1=transmitterenabled0=receiverdisabled1=receiverenabledSCI-A控制寄存器1SCICTL1TXRDYTXEMPTYRX/BKINTENASCI-A控制寄存器2SCICTL20TXINTENA1765-2reservedSCITXREADY0=SCITXBUFisfull1=SCITXBUFisemptySCITXEMPTY0=TXBUForshiftregisterareloadedwithdata1=Transmitbufferandshiftregisterbothemptyreserved15-8[SCI-BControlRegister2(SCICTL2)–0x007754]SCITXINTENA0=DisableTXRDYinterrupt1=EnableTXRDYinterruptSCIRX/BKINTENA0=DisableRXRDY/BRKDTinterrupt1=EnableRXRDY/BRKDTinterrupt接受狀態(tài)寄存器SCIRXSTOERXERRORRXRDYBRKDTFEPERXWAKEreserved0=Noerrorflagsset1=Errorflag(s)set0=nonewcharacterinSCIRXBUF1=newcharacterinSCIRXBUF1=Breakconditionoccurred0=nobreakcondition765432101=FramingErrordetected1=OverrunErrordetected1=ParityErrordetected1=ReceiverwakeupconditiondetectedFIFO發(fā)送寄存器SCIFFTX0TXFFIL2SCIFFENATXFFST0TXFFST3TXFFIENA123456789101112131415TXFFIL0TXFFIL1TXFFIL4TXFFIL3TXFFST1TXFFINTCLRTXFFST2TXFFINTTXFFST4TXFIFORESETSCIRSTTXFIFOStatus(read-only)00000 TXFIFOempty00001 TXFIFOhas1word00010 TXFIFOhas2words10000 TXFIFOhas16words......TXFIFOInterruptLevelInterruptwhenTXFFST4-0andTXFFIL4-0matchSCIFIFO0=disable1=enableTXFIFOReset0=reset(pointerto0)1=enableoperationTXFIFOInterrupt(onmatch)Enable0=disable1=enableTXFIFOInterruptFlag(read-only)0=notoccurred1=occurredTXFIFOInterruptFlagClear0=noeffect1=clearSCIReset0=reset1=enableoperation0RXFFIL2RXFF-OVFCLRRXFFST0RXFFST3RXFFIEN123456789101112131415RXFFIL0RXFFIL1RXFFIL4RXFFIL3RXFFST1RXFFINTCLRRXFFST2RXFFINTRXFFST4RXFIFORESETRXFF-OVFRXFIFOStatus(read-only)00000 RXFIFOempty00001 RXFIFOhas1word00010 RXFIFOhas2words10000 RXFIFOhas16words.........RXFIFOInterruptLevelInterruptwhenRXFFST4-0andRXFFIL4-0matchRXFIFOReset0=reset(pointerto0)1=enableoperationRXFIFOInterrupt(onmatch)Enable0=disable;1=enableRXFIFOInterruptFlag(read-only)0=notoccurred1=occurredRXFIFOInterruptFlagClear0=noeffect1=clearRXFIFOOverflowFlag(read-only)0=nooverflow1=overflowRXFIFOOverflowFlagClear0=noeffect1=clearFIFO接收寄存器SCIFFRX0ABDCLR123456789101112131415CDCABDFFTXDLYTimedelaybetweeneverytransferfromFIFOtotransmitshiftregisterinnumberofSCIbaudclockcycles(0to255)CDCcalibrate‘A’0=disabledauto-baudalignment1=enablesauto-baudalignmentAutoBauddetectionFlag(read-only)0=notcomplete1=completeAutoBauddetectionFlagClear0=noeffect1=clearreservedFIFO控制寄存器SCIFFCT串行通訊單元——SPI(一)、F28335的SPI的特點及工作流程(二)、F28335的SPI的數(shù)據(jù)傳輸方式(三)、F28335的SPI的數(shù)據(jù)格式(四)、F28335的SPI的重要寄存器SPI模塊特點4個外部引腳:SPISOMI/SPISIMO/SPISTE/SPICLK2種工作模式:主工作模式、從工作模式波特率:125種不同的可編程速率16級發(fā)送和接受FIFO4種時鐘配置方法(由時鐘極性和時鐘相位控制)不帶相位延遲的下降沿:SPICLK高有效,SPI在SPICLK下降沿發(fā)送數(shù)據(jù),上升沿接受數(shù)據(jù)帶有相位延遲的下降沿:SPICLK高有效,SPI在SPICLK的下降沿的前半周期發(fā)送數(shù)據(jù),下降沿接受不帶相位延遲的上升沿:SPICLK低有效,SPI在SPICLK的上升沿發(fā)送數(shù)據(jù),下降沿接受數(shù)據(jù)帶有相位延遲的上升沿:SPICLK低有效,SPI在SPICLK的下降沿的前半周期發(fā)送數(shù)據(jù),下降沿接受數(shù)據(jù)串行外圍接口SPI的工作流程SPIShiftRegisterSPIShiftRegisterSPIDevice#1-MasterSPIDevice#2-Slave數(shù)據(jù)同步傳輸和接受SPI主設(shè)備提供時鐘shiftshiftclockSPI功能框圖SPI數(shù)據(jù)格式的調(diào)整可編程數(shù)據(jù)長度1~16發(fā)送數(shù)據(jù)少于16位時需要左調(diào)整,MSB先發(fā)送接受數(shù)據(jù)少于16位時需要右調(diào)整,用戶程序屏蔽MSB11001001XXXXXXXXXXXXXXXX11001001SPIDAT-Processor#1SPIDAT-Processor#2SPI波特率SPI波特率相關(guān)設(shè)置由寄存器SPIBRR設(shè)置當

SPI寄存器Address Register Name0x007040 SPICCR SPI-A配置控制寄存器0x007041 SPICTL SPI-A工作控制寄存器0x007042 SPISTS SPI-A狀態(tài)寄存器0x007044 SPIBRR SPI-A波特率寄存器0x007046 SPIEMU SPI-A仿真緩沖寄存器0x007047 SPIRXBUF SPI-A串行接受寄存器0x007048 SPITXBUF SPI-A串行發(fā)送寄存器0x007049 SPIDAT SPI-A串行數(shù)據(jù)寄存器0x00704A SPIFFTX SPI-AFIFO發(fā)送寄存器0x00704B SPIFFRX SPI-AFIFO接受寄存器0x00704C SPIFFCT SPI-AFIFO控制寄存器0x00704F SPIPRI SPI-A極性控制寄存器SPI控制寄存器SPICCR012765-4reservedSPICHAR.3-0字長控制位e.g. 0000bTlength=1 1111bTlength=16SPISWRESET:在改變配置前清除刺位在重新操作開始前設(shè)置此位

0=SPIflagsreset1=normaloperationCLOCKPOLARITY 0=上升沿輸出/下降沿輸入

1=下降沿輸入/上升沿輸出reserved15-83SPI工作控制寄存器SPICTL01215-543reservedCLOCKPHASE0=noCLKdelay1=CLKdelayed1/2cycleOVERRUNINTENABLE0=禁止接受溢出中斷(SPISTS.7)1=使能接受溢出中斷(SPISTS.7)MASTER/SLAVE0=slave1=masterTALK0=transmissiondisabled,outputpinhi-Z’d1=transmissionenabledSPIINTENABLE0=disabled1=enabledSPI狀態(tài)寄存器SPISTS764-0SPIINTFLAG(readonly)傳輸完成置1如果SPIINTENA設(shè)置(SPICTL.0)

則置位讀SPIBRXUF清零RECEIVEOVERRUNFLAG(read/clearonly)在SPIRXBUF被讀取之前下一次接受完成則1

如果OVERRUNINTENA被設(shè)置(SPICTL.4)則中斷請求寫1置0reservedreserved15-8TXBUFFULL(readonly)

寫SPITXBUF置位載入SPIDAT清零5FIFO發(fā)送寄存器SPIFFTX0TXFFIL2SPIFFENATXFFST0TXFFST3TXFFIENA123456789101112131415TXFFIL0TXFFIL1TXFFIL4TXFFIL3TXFFST1TXFFINTCLRTXFFST2TXFFINTTXFFST4TXFIFOSPIRSTTXFIFOStatus(read-only)00000 TXFIFOempty00001 TXFIFOhas1word00010 TXFIFOhas2words10000 TXFIFOhas16words.........TXFIFOInterruptLevelInterruptwhenTXFFST4-0andTXFFIL4-0matchSPIFIFO0=disable1=enableTXFIFOReset0=reset(pointerto0)1=enableoperationTXFIFOInterrupt(onmatch)Enable0=disable1=enableTXFIFOInterruptFlag(read-only)0=notoccurred1=occurredTXFIFOInterruptFlagClear0=noeffect1=clear.7SPIRESET0=復位1=無影響FIFO接受寄存器SPIFFRX0RXFFIL2RXFF-OVFCLRRXFFST0RXFFST3RXFFIEN123456789101112131415RXFFIL0RXFFIL1RXFFIL4RXFFIL3RXFFST1RXFFINTCLRRXFFST2RXFFINTRXFFST4RXFIFORESETRXFF-OVFRXFIFOStatus(read-only)00000 RXFIFOempty00001 RXFIFOhas1word00010 RXFIFOhas2words10000 RXFIFOhas16words.........RXFIFOInterruptLevelInterruptwhenRXFFST4-0andRXFFIL4-0matchRXFIFOReset0=reset(pointerto0)1=enableoperationRXFIFOInterrupt(onmatch)Enable0=disable;1=enableRXFIFOInterruptFlag(read-only)0=notoccurred1=occurredRXFIFOInterruptFlagClear0=noeffect1=clearRXFIFOOverflowFlag(read-only)0=nooverflow1=overflowRXFIFOOverflowFlagClear0=noeffect1=clear串行通訊單元——I2C(一)、F28335的I2C總線特點(二)、F28335的I2C總線數(shù)據(jù)傳輸原理(三)、F28335的I2C總線時鐘生成(四)、F28335的I2C數(shù)據(jù)格式分析I2C總線只有兩根線。一根數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有連接到I2C總線上器件的數(shù)據(jù)線都連接到SDA線上,時鐘線均連接到SCL線上I2C總線基礎(chǔ)采用2線制:可以使器件的引腳減少,器件間連接電路設(shè)計簡單,電路板的體積會有效減小,系統(tǒng)的可靠性和靈活性將大大提高;傳輸速率高:標準模式傳輸速率為100kB/s,快速模式為400kB/s,高速模式為3.4MB/s。

I2C的特點I2C總線的數(shù)據(jù)傳輸原理對于數(shù)據(jù)傳輸,I2C總線協(xié)議規(guī)定了如下信號時序:I2C總線在傳送數(shù)據(jù)過程中共有三種必需的信號,它們分別是:開始信號、結(jié)束信號和應答信號。

起始和停止信號I2C總線的數(shù)據(jù)傳輸原理SCL為高電平期間,SDA由高電平向低電平的變化表示起始信號;SCL為高電平期間,SDA由低電平向高電平的變化表示停止信號??偩€空閑時,SCL和SDA兩條線都是高電平字節(jié)格式I2C總線的數(shù)據(jù)傳輸原理傳輸字節(jié)數(shù)沒有限制,但每個字節(jié)必須是8位長度。先傳最高位(MSB),每個被傳輸字節(jié)后面都要跟隨應答位(即一幀共有9位)數(shù)據(jù)傳輸時序I2C總線的數(shù)據(jù)傳輸原理SCL由主機控制,從器件在自己忙時拉低SCL以表示處于“忙狀態(tài)”;字節(jié)數(shù)據(jù)由發(fā)送器發(fā)出,響應位由接收器發(fā)出;SCL高電平期間,SDA線數(shù)據(jù)要穩(wěn)定,SCL低電平期間,SDA線數(shù)據(jù)允許更新。尋址字節(jié):支持兩種地址格式,7位和10位。I2C總線的數(shù)據(jù)傳輸原理7位地址模式:D7~D1位組成從器件的地址。D0位是數(shù)據(jù)傳送方向位。主機發(fā)送地址時,總線上的每個從器件都將這7位地址碼與自己的地址進行比較。如果相同,則認為自己正被主機尋址

10位地址模式:該地址格式下主機的地址發(fā)送分兩次完成,首字節(jié)數(shù)據(jù)包括:11110xx,R/W=0(W);第二個字節(jié)數(shù)據(jù)是10位從機地址的低8位。從機必須在每個字節(jié)數(shù)據(jù)后面發(fā)送一個應答信號,一旦主機向從機發(fā)送完第二個字節(jié)數(shù)據(jù)后,主機可以寫數(shù)據(jù)或者使用循環(huán)起始信號模式改變數(shù)據(jù)流向。I2C總線的數(shù)據(jù)傳輸原理I2C總線的時鐘生成F28335使用鎖相環(huán)將DSP的系統(tǒng)時鐘頻率分頻后得到I2C輸入時鐘頻率,I2C輸入時鐘頻率作為I2C模塊的頻率輸入源,再由I2C模塊內(nèi)部分頻最終得到I2C模塊的工作頻率。I2CPSC>=1時,I2C頻率=系統(tǒng)頻率/(I2CPSC+1)/((I2CCLKL+5)+(I2CCLKH+5));I2CPSC

溫馨提示

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

評論

0/150

提交評論