區(qū)別:
SPI:高速同步串行口。3~4線接口,收發(fā)獨立、可同步進行
UART:通用異步串行口。按照標準波特率完成雙向通訊,速度慢
I2C:一種串行傳輸方式,三線制,網(wǎng)上可找到其通信協(xié)議和用法的
3根線實現(xiàn)數(shù)據(jù)雙向傳輸
串行外圍接口 Serial peripheral interface
UART:通用異步收發(fā)器
UART是用于控制計算機與串行設備的芯片。有一點要注意的是,它提供了RS-232C數(shù)據(jù)終端設備接口,這樣計算機就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設備通信了。作為接口的一部分,UART還提供以下功能:
將由計算機內(nèi)部傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。將計算機外部來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供計算機內(nèi)部使用并行數(shù)據(jù)的器件使用。在輸出的串行數(shù)據(jù)流中加入奇偶校驗位,并對從外部接收的數(shù)據(jù)流進行奇偶校驗。在輸出數(shù)據(jù)流中加入啟停標記,并從接收數(shù)據(jù)流中刪除啟停標記。處理由鍵盤或鼠標發(fā)出的中斷信號(鍵盤和鼠票也是串行設備)。可以處理計算機與外部串行設備的同步管理問題。有一些比較高檔的UART還提供輸入輸出數(shù)據(jù)的緩沖區(qū),現(xiàn)在比較新的UART是16550,它可以在計算機需要處理數(shù)據(jù)前在其緩沖區(qū)內(nèi)存儲16字節(jié)數(shù)據(jù),而通常的UART是8250。現(xiàn)在如果您購買一個內(nèi)置的調(diào)制解調(diào)器,此調(diào)制解調(diào)器內(nèi)部通常就會有16550 UART。
I2C:能用于替代標準的并行總線,能連接的各種集成電路和功能模塊。I2C是多主控總線,所以任何一個設備都能像主控器一樣工作,并控制總線。 總線上每一個設備都有一個獨一無二的地址,根據(jù)設備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個I2C總線上共存。
更詳細的區(qū)別:
第一個區(qū)別當然是名字:
SPI(Serial Peripheral Interface:串行外設接口);
I2C(INTER IC BUS:意為IC之間總線)
UART(Universal Asynchronous Receiver Transmitter:通用異步收發(fā)器)
第二,區(qū)別在電氣信號線上:
SPI總線由三條信號線組成:串行時鐘(SCLK)、串行數(shù)據(jù)輸出(SDO)、串行數(shù)據(jù)輸入(SDI)。SPI總線可以實現(xiàn) 多個SPI設備互相連接。提供SPI串行時鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。主從設備間可以實現(xiàn)全雙工通信,當有多個從設備時,還可以增加一條從設備選擇線。
如果用通用IO口模擬SPI總線,必須要有一個輸出口(SDO),一個輸入口(SDI),另一個口則視實現(xiàn)的設備類型而定,如果要實現(xiàn)主從設備,則需輸入輸出口,若只實現(xiàn)主設備,則需輸出口即可,若只實現(xiàn)從設備,則只需輸入口即可。
I2C總線是雙向、兩線(SCL、SDA)、串行、多主控(multi-master)接口標準,具有總線仲裁機制,非常適合在器件之間進行近距離、非經(jīng)常性的數(shù)據(jù)通信。在它的協(xié)議體系中,傳輸數(shù)據(jù)時都會帶上目的設備的設備地址,因此可以實現(xiàn)設備組網(wǎng)。
如果用通用IO口模擬I2C總線,并實現(xiàn)雙向傳輸,則需一個輸入輸出口(SDA),另外還需一個輸出口(SCL)。(注:I2C資料了解得比較少,這里的描述可能很不完備)
UART總線是異步串口,因此一般比前兩種同步串口的結(jié)構(gòu)要復雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線,一根用于發(fā)送,一根用于接收。
顯然,如果用通用IO口模擬UART總線,則需一個輸入口,一個輸出口。
第三,從第二點明顯可以看出,SPI和UART可以實現(xiàn)全雙工,但I2C不行;
第四,看看牛人們的意見吧!
wudanyu:I2C線更少,我覺得比UART、SPI更為強大,但是技術(shù)上也更加麻煩些,因為I2C需要有雙向IO的支持,而且使用上拉電阻,我覺得抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠距離通信。SPI實現(xiàn)要簡單一些,UART需要固定的波特率,就是說兩位數(shù)據(jù)的間隔要相等,而SPI則無所謂,因為它是有時鐘的協(xié)議。
quickmouse:I2C的速度比SPI慢一點,協(xié)議比SPI復雜一點,但是連線也比標準的SPI要少。
SPI、I2C、UART三種串行總線協(xié)議的區(qū)別
SPI(Serial Peripheral Interface:串行外設接口)
I2C(INTER IC BUS)
UART(Universal Asynchronous Receiver Transmitter:通用異步收發(fā)器)
SPI
The SPI includes these distinctive features:
Master mode and slave mode
Bi-directional mode
Slave select output
Mode fault error flag with CPU interrupt capability
Double-buffered data register
Serial clock with programmable polarity and phase
Control of SPI operation during wait mode
SPI 有兩種模式,Normal Mode and Bidirectional Mode,包括以下幾根線:
SS Slave Select
SCK Serial Clock
MOSI Master Output, Slave Input
MISO Master Input, Slave Output
MOMI Master Output, Master Input
SISO Slave Input, Slave Output
其中前四根線用于Normal Mode ,常用的也是4根線的Normal Mode 。
MOSI
This pin is used to transmit data out of the SPI module when it is configured as a Master and receive data
when it is configured as Slave.
MISO
This pin is used to transmit data out of the SPI module when it is configured as a Slave and receive data
when it is configured as Master.
SS
This pin is used to output the select signal from the SPI module to another peripheral with which a data
transfer is to take place when its configured as a Masterand its used as an input to receive the slave select
signal when the SPI is configured as Slave.
SCK
This pin is used to output the clock with respect to which the SPI transfers data or receive clock in case of
Slave.
SPI 是一種允許一個主設備啟動一個與從設備的同步通訊的協(xié)議,從而完成數(shù)據(jù)的交換。也就是SPI是一種規(guī)定好的通訊方式。這種通信方式的優(yōu)點是占用端口較少,一般4根就夠基本通訊了。同時傳輸速度也很高。一般來說要求主設備要有SPI控制器(但可用模擬方式),就可以與基于SPI的芯片通訊了。
SPI 的通信原理很簡單,它需要至少4根線,事實上3根也可以。也是所有基于SPI的設備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時 鐘),CS(片選)。其中CS是控制芯片是否被選中的,也就是說只有片選信號為預先規(guī)定的使能信號時(高電位或低電位),對此芯片的操作才有效。這就允許 在同一總線上連接多個SPI設備成為可能。
接下來就負責通訊的3根線了。通訊是通過數(shù)據(jù)交換完成的,這里先要知道SPI是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位的傳輸?shù)摹_@就是SCK時鐘線存在的原 因,由SCK提供時鐘脈沖,SDI,SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過SDO線,數(shù)據(jù)在時鐘上沿或下沿時改變,在緊接著的下沿或上沿被讀取。 完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘信號的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。
要注意的是,SCK信號線只由主設備控制,從設備不能控制信號線。同樣,在一個基于SPI的設備中,至少有一個主控設備。
這樣傳輸?shù)奶攸c:這樣的傳輸方式有一個優(yōu)點,與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因為SCK時鐘線由主控設備控制,當沒有時鐘跳變時,從設備不采集或傳送數(shù)據(jù)。也就是說,主設備通過對SCK時鐘線的控制可以完成對通訊的控制。
SPI還是一個數(shù)據(jù)交換協(xié)議:因為SPI的數(shù)據(jù)輸入和輸出線獨立,所以允許同時完成數(shù)據(jù)的輸入和輸出。
不同的SPI設備的實現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時間不同,在時鐘信號上沿或下沿采集有不同定義,具體請參考相關(guān)器件的文檔。
I2C
只要求兩條總線線路:一條串行數(shù)據(jù)線SDA 一條串行時鐘線SCL
每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機從機關(guān)系軟件設定地址主機可以作為主機發(fā)送器或主機接收器
它是一個真正的多主機總線如果兩個或更多主機同時初始化數(shù)據(jù)傳輸可以通過沖突檢測和仲裁,防止數(shù)據(jù)被破壞
串行的8 位雙向數(shù)據(jù)傳輸位速率在標準模式下可達100kbit/s 快速模式下可達400kbit/s 高速模式下可達3.4Mbit/s
片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺波保證數(shù)據(jù)完整
連接到相同總線的IC 數(shù)量只受到總線的最大電容400pF 限制
UART
UART總線是異步串口,因此一般比前兩種同步串口的結(jié)構(gòu)要復雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線,一根用于發(fā)送,一根用于接收。
顯然,如果用通用IO口模擬UART總線,則需一個輸入口,一個輸出口。
UART常用于控制計算機與串行設備的芯片。有一點要注意的是,它提供了RS-232C數(shù)據(jù)終端設備接口,這樣計算機就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設備通信了。
明顯可以看出,SPI和UART可以實現(xiàn)全雙工,但I2C不行
上一篇:麻雀雖小 五臟俱全:MCU專用RTOS簡述
下一篇:PWM輸出引腳重映射
推薦閱讀
史海拾趣
背景:進入21世紀后,霍尼韋爾繼續(xù)秉承多元化發(fā)展戰(zhàn)略,不斷拓展新的業(yè)務領(lǐng)域。
發(fā)展:公司通過一系列并購和投資活動,進入了石油化工、高性能材料、醫(yī)療、安防等多個領(lǐng)域。其中,2005年收購環(huán)球油品公司(UOP)和2007年收購碼捷科技(Metrologic Instruments)是公司多元化戰(zhàn)略的重要里程碑。
關(guān)鍵事件:這些并購不僅增強了霍尼韋爾的技術(shù)實力和市場競爭力,還為公司帶來了新的增長點和發(fā)展機遇。
多年來,Caddock公司一直致力于電阻材料技術(shù)的研究與創(chuàng)新。通過不斷的努力,公司的電阻器技術(shù)逐漸擴展到更低的溫度系數(shù)、更高的穩(wěn)定性、更好的瞬態(tài)處理以及更高和更低的電阻率。這些技術(shù)進步使得Caddock公司的電阻器和電阻器網(wǎng)絡系列不斷豐富,滿足了市場的多樣化需求。
為了滿足市場不斷增長的需求,達利凱普在大連市金普新區(qū)投資建設了高端電子元器件產(chǎn)業(yè)化項目。該項目總用地面積4萬平方米,總建筑面積5.6萬平方米。項目建成后,將實現(xiàn)年產(chǎn)射頻微波瓷介電容器30億只的產(chǎn)能規(guī)模,進一步鞏固了公司在行業(yè)內(nèi)的領(lǐng)先地位。同時,該項目的實施也為當?shù)亟?jīng)濟發(fā)展注入了新的活力。
進入90年代后期,Corsair再次調(diào)整其產(chǎn)品策略,由生產(chǎn)標準內(nèi)存轉(zhuǎn)變?yōu)樯a(chǎn)高于規(guī)格的內(nèi)存,即超頻內(nèi)存。這一決策迎合了當時市場對高性能內(nèi)存的需求,Corsair的超頻內(nèi)存迅速在市場上獲得了認可。其產(chǎn)品的超級性能專為極大需求的應用軟件而設,也一直被應用關(guān)鍵的服務器及極高性能的工作站(包括游戲系統(tǒng))上。
為了進一步提升品牌影響力和市場份額,Electric Imp Inc.公司開始實施國際化戰(zhàn)略。公司先后在北美、歐洲、亞洲等地設立了研發(fā)中心和分支機構(gòu),以便更好地了解當?shù)厥袌鲂枨蠛图夹g(shù)趨勢。同時,公司還積極參加國際展覽、研討會等活動,與全球同行交流經(jīng)驗、分享技術(shù)。這些努力使得公司的國際化水平不斷提高。
Digi International在無人機技術(shù)方面也取得了重要進展。公司與Draganfly公司合作,為新型Draganflyer X4-P無人機配備了無線XBee?模塊,實現(xiàn)了更遠距離的控制和實時數(shù)據(jù)傳輸。這一技術(shù)突破不僅提高了無人機的性能和應用范圍,也為Digi International在無人機領(lǐng)域的發(fā)展開辟了新的道路。通過與Draganfly的合作,Digi International進一步鞏固了其在物聯(lián)網(wǎng)和M2M領(lǐng)域的技術(shù)領(lǐng)先地位。
IC921 終于結(jié)束了,六天五夜沒躺過一次,睡覺時間總和不到二十小時,一共吃了八頓飯,沒拖過一次鞋…… 電子大賽終于結(jié)束了,正賽四天三夜,再加上賽前兩天的沖刺,真的是廢寢忘食了,到大學兩年來,第一次感覺到我還有激情,在 ...… 查看全部問答∨ |
|
//接受一個字節(jié)子程序,出口為接受到的數(shù)據(jù)R_DATA int RECEIVE() { int R_DATA=0,sz,i; *PFDATDIR=*PFDATDIR & 0xFFDF; //SDA為輸入 ...… 查看全部問答∨ |
請教BSP下有個files文件夾的作用和PB42升級到PB50的問題 請教 BSP下有個files文件夾,它的作用是什么?? 編譯內(nèi)核后它生成什么文件了嗎? 還是根本不參與編譯?? 我看到我的files文件夾中都是一些小測試程序 還有個USBD.EXE的P處理文件(用來下載內(nèi)核的) 另外,我想把我的CE42系統(tǒng)升級到CE50 我 ...… 查看全部問答∨ |
請問大家誰用過CH451,我只想驅(qū)動數(shù)碼管,遇到個問題,顯示數(shù)字編碼的數(shù)據(jù)只有8位,但是資料里穿數(shù)據(jù)要12位,不知道是什么意思。還有一點要向片內(nèi)寫命令,不知道為什么要寫命令!謝謝!… 查看全部問答∨ |
|
設備輸出一個0-2V的直流電,怎么樣通過RS232線讀入到計算機里面? 設備輸出一個0-2V的直流電,例如一個1.5V的電池,怎么樣通過RS232線讀入到計算機里面? 再通過JAVA寫一個程序,讓電壓值顯示在屏幕上面?并且可以保存和繪圖? 這個功能也類似于筆記本的電池監(jiān)控。… 查看全部問答∨ |
|
無線龍的套件,暫時用不上了,轉(zhuǎn)讓。可通過支付寶,價格800,全國包郵。清單:7個2430無線模塊1個2431無線模塊7個電池底板1個帶OLED的串口底板1個仿真器原價就不談了,高于2000。有誰需要請聯(lián)系QQ1745926220不作預定,支付寶支付為準… 查看全部問答∨ |
TMS28035的ad管腳 不管有沒有模擬量輸入,都輸出高電平(2V)電壓? TMS28035的AD管腳 不管有沒有模擬量輸入,都輸出高電平(2V)電壓?這種情況的后果是當外部有模擬量輸入時,TMS28035不能正常工作,唯有掉電,再上電 重新下載程序才能正常工作。請各位大蝦指教?具體點謝謝。… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實惠套件和強大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設置開機自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 汽車電子芯片國產(chǎn)化加速,GS32-DSP能否替代C2000?
- 機器人行業(yè)大魚:ABB機器人業(yè)務分拆上市
- 全球首個L3級架構(gòu)誕生在中國,意味著什么?
- 汽車存儲芯片研究:大模型推動下,主機廠車用存儲芯片的選擇路徑分析
- 智駕按下急停鍵?正相反,真正的自動駕駛就要來了!
- 國內(nèi)5個固態(tài)電池項目更新動態(tài)
- 機器人如何防止碰撞?——安全探測器的技術(shù)架構(gòu)與性能突破
- 自動駕駛汽車功能安全與網(wǎng)絡安全的融合
- 車企虛假宣傳最高判刑2年!智駕、接管成禁用詞?重拳出擊砸向誰?
- 強監(jiān)管下的智能汽車:新規(guī)詳解