UART、SPI、I2C串口通信_第1頁
UART、SPI、I2C串口通信_第2頁
UART、SPI、I2C串口通信_第3頁
UART、SPI、I2C串口通信_第4頁
UART、SPI、I2C串口通信_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 UART、SPI、I2C串口通信培訓(xùn)串口通信培訓(xùn) 主講主講 趙建鵬趙建鵬2一、一、 UART通信通信二、二、 SPI通信通信三、三、 I2C通信通信 3v1.串行通信和并行通信串行通信和并行通信v2.51系列單片機系列單片機UART通信原理通信原理v3.C8051F系列單片機的串口及波特率配置系列單片機的串口及波特率配置4數(shù)據(jù)通信:若干個數(shù)據(jù)設(shè)備之間的信息交換稱為 數(shù)據(jù)通信。兩種方式:并行通信和串行通信。并行通信:是指數(shù)據(jù)的各位同時傳送,每一位數(shù)據(jù)都需要一條傳輸線并且需要若干條控制信號線,這種方式僅適合于短距離的數(shù)據(jù)傳輸。并行傳輸?shù)奶攸c是:傳輸速率快,接口電路簡單。5串行通信:是指數(shù)據(jù)中的

2、各位分時傳送,此時只需要一條數(shù)據(jù)線,外加一條公共信號地線和若干條控制信號線。因為一次只能傳送一位,所以對于一個字節(jié)的數(shù)據(jù),至少要分8位才能傳送完畢。串行通信的特點:傳輸線少,長距離傳輸成本,但是傳輸控制比并行要相對復(fù)雜。數(shù)據(jù)傳輸方式:單工、半雙工和全雙工。6單工:A只能發(fā)信號,B只能收信號,信號單向傳輸。半雙工:A能發(fā)信號給B,B也能發(fā)信號給A,但是這兩個 過程不能同時進行。最典型的例子是對講機。全雙工:A在給B發(fā)信號的同時B也能給A發(fā)信號。最典型的例子打電話。v波特率:波特率是指每秒內(nèi)傳送二進制數(shù)據(jù)的位數(shù)以 b/s和bps(位/秒)為單位。78UART作為異步串口通信協(xié)議的一種,工作原理是將

3、傳輸數(shù)據(jù)的每個字符一位接一位地傳輸。起始位起始位:先發(fā)出一個邏輯”0”的信號,表示傳輸字符的開始。數(shù)據(jù)位數(shù)據(jù)位:緊接著起始位之后。數(shù)據(jù)位的個數(shù)可以是4、5、6、7、8等,構(gòu)成一個字符。通常采用ASCII碼。從最低位開始傳送,靠時鐘定位。奇偶校驗位奇偶校驗位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗數(shù)據(jù)傳送的正確性9停止位停止位:它是一個字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、1.5位、2位的高電平。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的

4、機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢??臻e位空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有數(shù)據(jù)傳送。1011UART工作原理:工作原理:v 發(fā)送數(shù)據(jù)過程發(fā)送數(shù)據(jù)過程:空閑狀態(tài),線路處于高電位;當(dāng)收到發(fā)送數(shù)據(jù)指令后,拉低線路一個數(shù)據(jù)位的時間T,接著數(shù)據(jù)按低位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送奇偶校驗位和停止位(停止位為高電位),一幀數(shù)據(jù)發(fā)送結(jié)束。v 接收數(shù)據(jù)過程接收數(shù)據(jù)過程:空閑狀態(tài),線路處于高電位;當(dāng)檢測到線路的下降沿(線路電位由高電位變?yōu)榈碗娢唬r說明線路有數(shù)據(jù)傳輸,按照約定的波特率從低位到高位接收數(shù)據(jù),數(shù)據(jù)接收完畢后,接著接收并比較奇偶校

5、驗位是否正確,如果正確則通知后續(xù)設(shè)備準(zhǔn)備接收數(shù)據(jù)或存入緩存。12vUART的接收數(shù)據(jù)時序為的接收數(shù)據(jù)時序為:當(dāng)檢測到數(shù)據(jù)的下降沿時,表明線路上有數(shù)據(jù)進行傳輸,這時計數(shù)器CNT開始計數(shù),當(dāng)計數(shù)器為24=16+8時,采樣的值為第0位數(shù)據(jù);當(dāng)計數(shù)器的值為40時,采樣的值為第1位數(shù)據(jù),依此類推,進行后面6個數(shù)據(jù)的采樣。如果需要進行奇偶校驗,則當(dāng)計數(shù)器的值152時,采樣的值即為奇偶位;當(dāng)計數(shù)器的值為168時,采樣的值為1表示停止位,一幀數(shù)據(jù)接收完成。1314v UART波特率發(fā)生器:波特率發(fā)生器:波特率是衡量數(shù)據(jù)傳輸速率的指標(biāo),表示每秒傳送數(shù)據(jù)的字符數(shù),單位為Baud。UART的接收和發(fā)送是按照相同的波

6、特率進行收發(fā)的。波特率發(fā)生器產(chǎn)生的時鐘頻率不是波特率時鐘頻率,而是波特率時鐘頻率的16倍,目的是為在接收時進行精確地采樣,以提取出異步的串行數(shù)據(jù)。根據(jù)給定的晶振時鐘和要求的波特率,可以算出波特率分頻計數(shù)值。1551單片機串口的四種方式:16v方式方式0:方式0時,移位時鐘脈沖由56(即第6個狀態(tài)周期,第12個節(jié)拍)給出,即每個機器周期產(chǎn)生一個移位時鐘,發(fā)送或接收一位數(shù)據(jù)。所以,波特率為振蕩頻率的十二分之一,并不受 PCON寄存器中SMOD的影響,即: 方式0的波特率fosc121718 方式l和方式3的波特率方式1和方式3的移位時鐘脈沖由定時器T1的溢出率決定,故波特宰由定時器T1的溢出率與S

7、MOD值同時決定,即: 方式1和方式3的波特率2SMOD/32T1溢出率。其中,溢出率取決于計數(shù)速率和定時器的預(yù)置值。計數(shù)速率與TMOD寄存器中CT的狀態(tài)有關(guān)。當(dāng)CT0時,計數(shù)速率fosc2;當(dāng)CT1時,計數(shù)速率取決于外部輸入時鐘頻率。當(dāng)定時器Tl作波特率發(fā)生器使用時,通常選用可自動裝入初值模式(工作方式2),在 工作方式2中,TLl作為計數(shù)用,而自動裝入的初值放在THl中,設(shè)計數(shù)初值為x,則每過“256一x”個機器周期,定時器T1就會產(chǎn)生一次溢出。為了避免因溢出而引起中斷,此時應(yīng)禁止T1中斷。這時,溢出周期為:192021vUART0的配置步驟:的配置步驟:v(1)UART0相關(guān)寄存器配置如

8、:相關(guān)寄存器配置如:UART0控制寄存控制寄存器器SCON0的的REN0位(接受允許),定時器控制寄位(接受允許),定時器控制寄存器存器TCON0的的TR1位(開定時器位(開定時器1),時鐘控制寄存),時鐘控制寄存器器CKCONv的的TIM位(定時器位(定時器1時鐘選擇),定時器方式寄存器時鐘選擇),定時器方式寄存器TOMD,最后不要忘記打開,最后不要忘記打開UART的交叉開關(guān)。的交叉開關(guān)。v(2)配置波特率:配置串口工作方式)配置波特率:配置串口工作方式1,定時器使,定時器使用方式用方式2(自動重裝載的(自動重裝載的8位計數(shù)器位計數(shù)器/定時器)定時器) 2223v(3)注意使用時要禁止定時器

9、)注意使用時要禁止定時器1終端終端ET1=0;TI0和和RI0也要注意軟清零。也要注意軟清零。24vC8051F系列系列UART1的使用的使用 (1)UART1包含一個由包含一個由16位定時器和可編程預(yù)分頻位定時器和可編程預(yù)分頻器構(gòu)器構(gòu) 成的專用波特率發(fā)生器,能產(chǎn)生很寬范圍的波成的專用波特率發(fā)生器,能產(chǎn)生很寬范圍的波特率。特率。 (2)UART1有六個相關(guān)的特殊功能寄存器。三個用有六個相關(guān)的特殊功能寄存器。三個用于于波特率發(fā)生器波特率發(fā)生器(SBCON1、SBRLH1和和SBRLL1),兩個用于數(shù)據(jù)格式、控制和狀態(tài)功能(,兩個用于數(shù)據(jù)格式、控制和狀態(tài)功能(SCON1和和SMOD1),一個用于發(fā)

10、送和接收數(shù)據(jù)(),一個用于發(fā)送和接收數(shù)據(jù)(SBUF1)25v(3)關(guān)于)關(guān)于UART1我們應(yīng)該知道的幾點:我們應(yīng)該知道的幾點:vUART1波特率是由一個專用的波特率是由一個專用的16位定時器產(chǎn)生位定時器產(chǎn)生的的. 用三個寄存器(用三個寄存器(SBCON1、SBRLH1和和SBRLL1)來配置波特率發(fā)生器。)來配置波特率發(fā)生器。UART1波特率發(fā)生器控制波特率發(fā)生器控制寄存器(寄存器(SBCON1,SFR定義定義19.4)使能或禁止使能或禁止波波特率發(fā)生器,并特率發(fā)生器,并為定時器選擇預(yù)分頻值為定時器選擇預(yù)分頻值。 對于可靠的對于可靠的UART操作,建議不要將操作,建議不要將UART波特波特率配

11、置為大于率配置為大于SYSCLK/16。262728v1.SPI通信簡介及特點通信簡介及特點v2.SPI通信原理通信原理v3.C8051F系列單片機的系列單片機的SPI通信配置通信配置29 SPI是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。 SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,30 SPI總線系統(tǒng)可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直

12、接接口,該接口一般使用4條線:v (1)MOSI SPI 總線主機輸出/ 從機輸入(SPI Bus Master Output/Slave Input)。v (2)MISO SPI 總線主機輸入/ 從機輸出(SPI Bus Master Input/Slave Output)。v (3)SCLK 時鐘信號,由主設(shè)備產(chǎn)生。v (4)CS 從設(shè)備使能信號,由主設(shè)備控制(Chip select),有的IC此pin腳叫SS。31SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根線,事實上3根也可以(用于單向傳輸時,也就是半雙工方式)。注:有的SPI接口芯

13、片帶有中斷信號線INT、有的SPI接口芯片沒有主機輸出/從機輸入數(shù)據(jù)線MOSI。3233343536373839 C8051F系列單片機的系列單片機的SPI0的訪問和控制是通過系統(tǒng)的訪問和控制是通過系統(tǒng)控制器中的控制器中的4個特殊功能寄存器實現(xiàn)的:控制寄存器個特殊功能寄存器實現(xiàn)的:控制寄存器SPI0CN、數(shù)據(jù)寄存器、數(shù)據(jù)寄存器SPI0DAT、配置寄存器、配置寄存器SPI0CFG和時鐘頻率寄存器和時鐘頻率寄存器SPI0CKR。40414243v1.I2C通信簡介及特點通信簡介及特點v2.I2C通信原理通信原理44 I2C(InterIntegrated Circuit)總線是PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信

溫馨提示

  • 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

提交評論