新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > UART、IrDA、SPI、I2C MSP430學(xué)習(xí)

        UART、IrDA、SPI、I2C MSP430學(xué)習(xí)

        作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏

        SPI、IIC、UART區(qū)別 第一個(gè)區(qū)別當(dāng)然是名字:

        本文引用地址:http://www.104case.com/article/201611/321223.htm

        SPI(Serial Peripheral Interface:串行外設(shè)接口);

        I2C(INTER IC BUS)

        UART(Universal Asynchronous Receiver Transmitter:通用異步收發(fā)器)
        第二,區(qū)別在電氣信號線上:

        SPI總線由三條信號線組成:串行時(shí)鐘(SCLK)、串行數(shù)據(jù)輸出(SDO)、串行數(shù)據(jù)輸入(SDI)。SPI總線可以實(shí)現(xiàn)多個(gè)SPI設(shè)備互相連接。提供SPI串行時(shí)鐘的SPI設(shè)備為SPI主機(jī)或主設(shè)備(Master),其他設(shè)備為SPI從機(jī)或從設(shè)備(Slave)。主從設(shè)備間可以實(shí)現(xiàn)全雙工通信,當(dāng)有多個(gè)從設(shè)備時(shí),還可以增加一條從設(shè)備選擇線。 如果用通用IO口模擬SPI總線,必須要有一個(gè)輸出口(SDO),一個(gè)輸入口(SDI),另一個(gè)口則視實(shí)現(xiàn)的設(shè)備類型而定,如果要實(shí)現(xiàn)主從設(shè)備,則需輸入輸出口,若只實(shí)現(xiàn)主設(shè)備,則需輸出口即可,若只實(shí)現(xiàn)從設(shè)備,則只需輸入口即可。
        I2C總線是雙向、兩線(SCL、SDA)、串行、多主控(multi-master)接口標(biāo)準(zhǔn),具有總線仲裁機(jī)制,非常適合在器件之間進(jìn)行近距離、非經(jīng)常性的數(shù)據(jù)通信。在它的協(xié)議體系中,傳輸數(shù)據(jù)時(shí)都會(huì)帶上目的設(shè)備的設(shè)備地址,因此可以實(shí)現(xiàn)設(shè)備組網(wǎng) 如果用通用IO口模擬I2C總線,并實(shí)現(xiàn)雙向傳輸,則需一個(gè)輸入輸出口(SDA),另外還需一個(gè)輸出口(SCL)。(注:I2C資料了解得比較少,這里的描述可能很不完備)
        UART總線是異步串口,因此一般比前兩種同步串口的結(jié)構(gòu)要復(fù)雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線,一根用于發(fā)送,一根用于接收。 顯然,如果用通用IO口模擬UART總線,則需一個(gè)輸入口,一個(gè)輸出口。


        第三,從第二點(diǎn)明顯可以看出,SPI和UART可以實(shí)現(xiàn)全雙工,但I(xiàn)2C不行;


        第四,看看牛人們的意見吧!

        wudanyu:I2C線更少,我覺得比UART、SPI更為強(qiáng)大,但是技術(shù)上也更加麻煩些,因?yàn)镮2C需要有雙向IO的支持,而且使用上拉電阻,我覺得抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠(yuǎn)距離通信。SPI實(shí)現(xiàn)要簡單一些,UART需要固定的波特率,就是說兩位數(shù)據(jù)的間隔要相等,而SPI則無所謂,因?yàn)樗怯袝r(shí)鐘的協(xié)議。 quickmouse:I2C的速度比SPI慢一點(diǎn),協(xié)議比SPI復(fù)雜一點(diǎn),但是連線也比標(biāo)準(zhǔn)的SPI要少。


        SPI通信

        USCI簡介:
        新型的高性能雙通信模塊

        異步通信模式:UART標(biāo)準(zhǔn)與多處理器協(xié)議;帶自動(dòng)波特率檢測的UART(即LIN);IrDA(低紅外,最大115kbit);
        同步通信模式:SPI(主從模式,3或4線),I2C模式(主從模式)。


        uart

        TX中斷:

        UCA0TXIFG當(dāng)TX buffer Ready時(shí)會(huì)被set. UCA0TXIE及GIE也被set時(shí)會(huì)進(jìn)中斷.UCA0TXIFG當(dāng)TX Buffer被寫入數(shù)據(jù),或是Interrupt request被處理完時(shí)會(huì)自動(dòng)清除.系統(tǒng)上電默認(rèn)UCA0TXIFG為1,UCA0RXIFG為0;

        MSP430 SPI 或 UART 的速度
          在 SPI 主模式下,通信速率可以達(dá)到 4Mbps,而在 UART 模式下,速率也可達(dá)到 2Mbps。USART 可進(jìn)行配置,以便同時(shí)支持同步 (SPI) 與異步 (UART) 操作,并且可從幾個(gè)內(nèi)部及外部時(shí)鐘源(與 CPU 時(shí)鐘無關(guān))中進(jìn)行選擇。在 SPI 主模式下,USART 的運(yùn)行速率可達(dá)到應(yīng)用時(shí)鐘的 1/2。例如,如果使用 8MHz 時(shí)鐘,則 SPI 主模式的傳輸速率可達(dá)到 4Mbps。在 UART 模式下,實(shí)現(xiàn)可靠通信至少要求每位 3 或 4 個(gè)時(shí)鐘。例如,8MHz 時(shí)鐘除以 4 可以支持高達(dá) 2Mbps 的速率。MSP430xxxx 用戶指南中提供了有關(guān) USART 功能的完整說明。(對應(yīng)于8M)


        原文地址:http://hi.baidu.com/yangbme/blog/item/da54ca36149611320a55a99a.html

        通信的 SPI 概念

        2.1、SPI:高速同步串行口 Serial Peripheral interface

          SPI:高速同步串行口。是一種標(biāo)準(zhǔn)的四線同步雙向串行總線。

          SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。

        SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線。

        4條線:事實(shí)上3根也可以(用于單向傳輸時(shí),也就是半雙工方式)

        它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時(shí)鐘),CS(片選)。

         ?。?)MOSI– SPI 總線主機(jī)輸出/ 從機(jī)輸入(SPI Bus Master Output/Slave Input)

          (2)MISO– SPI 總線主機(jī)輸入/ 從機(jī)輸出(SPI Bus Master Input/Slave Output)

         ?。?)SCLK – 時(shí)鐘信號,由主設(shè)備產(chǎn)生

         ?。?)CS – 從設(shè)備使能信號,由主設(shè)備控制(Chip select),有的IC此pin腳叫SS

          其中CS是控制芯片是否被選中的,也就是說只有片選信號為預(yù)先規(guī)定的使能信號時(shí)(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個(gè)SPI設(shè)備成為可能。

          接下來就負(fù)責(zé)通訊的3根線了。通訊是通過數(shù)據(jù)交換完成的,這里先要知道SPI是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位的傳輸?shù)?。這就是SCLK時(shí)鐘線存在的原因,由SCK提供時(shí)鐘脈沖,SDI,SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過 SDO線,數(shù)據(jù)在時(shí)鐘上升沿或下降沿時(shí)改變,在緊接著的下降沿或上升沿被讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時(shí)鐘信號的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。

          要注意的是,SCLK信號線只由主設(shè)備控制,從設(shè)備不能控制信號線。

        同樣,在一個(gè)基于SPI的設(shè)備中,至少有一個(gè)主控設(shè)備。這樣傳輸?shù)奶攸c(diǎn):這樣的傳輸方式有一個(gè)優(yōu)點(diǎn),與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因?yàn)镾CLK時(shí)鐘線由主控設(shè)備控制,當(dāng)沒有時(shí)鐘跳變時(shí),從設(shè)備不采集或傳送數(shù)據(jù)。也就是說,主設(shè)備通過對SCLK時(shí)鐘線的控制可以完成對通訊的控制。

        SPI還是一個(gè)數(shù)據(jù)交換協(xié)議:因?yàn)镾PI的數(shù)據(jù)輸入和輸出線獨(dú)立,所以允許同時(shí)完成數(shù)據(jù)的輸入和輸出。

        不同的SPI設(shè)備的實(shí)現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時(shí)間不同,在時(shí)鐘信號上沿或下沿采集有不同定義,具體請參考相關(guān)器件的文檔。

          在點(diǎn)對點(diǎn)的通信中,SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡單高效。在多個(gè)從設(shè)備的系統(tǒng)中,每個(gè)從設(shè)備需要獨(dú)立的使能信號,硬件上比I2C系統(tǒng)要稍微復(fù)雜一些。

        2.7、SPI協(xié)議心得

          SPI接口時(shí)鐘配置心得:

          在主設(shè)備這邊配置SPI接口時(shí)鐘的時(shí)候一定要弄清楚從設(shè)備的時(shí)鐘要求,因?yàn)橹髟O(shè)備這邊的時(shí)鐘極性和相位都是以從設(shè)備為基準(zhǔn)的。因此在時(shí)鐘極性的配置上一定要搞清楚從設(shè)備是在時(shí)鐘的上升沿還是下降沿接收數(shù)據(jù),是在時(shí)鐘的下降沿還是上升沿輸出數(shù)據(jù)。但要注意的是,由于主設(shè)備的SDO連接從設(shè)備的SDI,從設(shè)備的SDO連接主設(shè)備的SDI,從設(shè)備SDI接收的數(shù)據(jù)是主設(shè)備的SDO發(fā)送過來的,主設(shè)備SDI接收的數(shù)據(jù)是從設(shè)備SDO發(fā)送過來的,所以主設(shè)備這邊SPI時(shí)鐘極性的配置(即SDO的配置)跟從設(shè)備的SDI接收數(shù)據(jù)的極性是相反的,跟從設(shè)備SDO發(fā)送數(shù)據(jù)的極性是相同的。

        http://baike.baidu.com/view/245026.htm

        I2C總線特征

          1、只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL;
          2、每個(gè)連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器;
          3、它是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞;
          4、串行的8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s;
          5、連接到相同總線的IC 數(shù)量只受到總線的最大電容400pF 限制。

        I2C總線術(shù)語

          發(fā)送器:發(fā)送數(shù)據(jù)到總線的器件;
          接收器:從總線接收數(shù)據(jù)的器件;
          主機(jī):初始化發(fā)送產(chǎn)生時(shí)鐘信號和終止發(fā)送的器件;
          從機(jī):被主機(jī)尋址的器件;
          多主機(jī):同時(shí)有多于一個(gè)主機(jī)嘗試控制總線但不破壞傳輸;
          仲裁:是一個(gè)在有多個(gè)主機(jī)同時(shí)嘗試控制總線但只允許其中一個(gè)控制總線并使傳輸不被破壞
          的過程;
          同步:兩個(gè)或多個(gè)器件同步時(shí)鐘信號的過程 。


        關(guān)鍵詞: UARTIrDASPII2CMSP43

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 龙江县| 泰兴市| 子洲县| 化州市| 天全县| 和龙市| 赞皇县| 长垣县| 赤城县| 浮山县| 新乡市| 四川省| 黔江区| 长宁县| 开远市| 麟游县| 锦屏县| 九寨沟县| 轮台县| 彝良县| 莱西市| 绥化市| 南宫市| 安康市| 洪泽县| 奎屯市| 乐安县| 类乌齐县| 陆川县| 富平县| 桑植县| 汽车| 天台县| 资兴市| 山丹县| 平阳县| 犍为县| 南木林县| 博客| 阿城市| 邮箱|