24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
技術(shù)專題
串行外設(shè)接口
串行外設(shè)接口
串行外圍設(shè)備接口(SPI)允許嵌入式系統(tǒng)之間進(jìn)行高速同步數(shù)據(jù)傳輸。它基本上用于兩個(gè)嵌入式設(shè)備之間的短距離通信。SPI的最常見用途之一是將您的微控制器連接到LCD等外設(shè)。
什么是串行外圍設(shè)備接口?
“串行外圍接口(SPI)是一種通信協(xié)議,旨在在短距離內(nèi)傳輸同步數(shù)據(jù)。” 現(xiàn)在,讓我們簡(jiǎn)化上面的定義。
什么是同步數(shù)據(jù)?
根據(jù)字典,“同步”一詞是指同時(shí)發(fā)生或在每次發(fā)生之間具有一致時(shí)間的事物。因此,同步數(shù)據(jù)意味著連續(xù)且一致的時(shí)間傳輸數(shù)據(jù)。
什么是同步數(shù)據(jù)傳輸?
同步數(shù)據(jù)傳輸是一種數(shù)據(jù)傳輸方法,其中連續(xù)的數(shù)據(jù)信號(hào)流伴隨有定時(shí)信號(hào)(由電子時(shí)鐘生成),以確保發(fā)送器和接收器彼此同步。在這種傳輸模式下,數(shù)據(jù)以規(guī)則的時(shí)間間隔以數(shù)據(jù)包或幀的形式發(fā)送。
什么是串行通訊?
串行通信是通過通信通道或計(jì)算機(jī)總線一次按順序發(fā)送數(shù)據(jù)的過程。
現(xiàn)在,在討論所有這些之后得出結(jié)論。就是說SPI是標(biāo)準(zhǔn)化的或?yàn)樵趦蓚€(gè)短距離電子設(shè)備之間傳輸數(shù)據(jù)而定義的協(xié)議。
串行外圍接口的功能
SPI的一些共同特征是–
1- SPI在全雙工模式下工作。這意味著可以同時(shí)從網(wǎng)絡(luò)的兩端傳輸數(shù)據(jù)。
2-它適用于主從架構(gòu)。這意味著您可以擁有一個(gè)可以控制您的網(wǎng)絡(luò)的主設(shè)備。
3-它是四線串行總線。它可以有多個(gè)奴隸。
什么樣的SPI誕生了?
現(xiàn)在,既然我們知道什么是SPI及其重要功能?,F(xiàn)在我們將討論“什么是SPI誕生的?”
SPI之所以出現(xiàn)是因?yàn)槲覀兊奶幚砥骰蚩刂破鞑皇亲越o自足的。就像我們的身體有大腦,但我們需要眼睛,鼻子和耳朵來感知事物并為大腦提供輸入。我們需要手和腿按照人類大腦的指示執(zhí)行某些操作。因此,我們還需要將輸入,輸出和內(nèi)存外圍設(shè)備連接到我們的處理器。因此,為了連接這些提供同步數(shù)據(jù)的短距離外圍設(shè)備(例如閃存,支持USB的鍵盤或鼠標(biāo)),我們需要一個(gè)協(xié)議。
這樣,所有串行外圍設(shè)備制造商都可以制造獨(dú)立的外圍設(shè)備,這些設(shè)備可以連接到任何類型的處理器。這就是為什么此標(biāo)準(zhǔn)通信協(xié)議應(yīng)運(yùn)而生的原因。
串行外圍設(shè)備接口(SPI)接口
如下圖所示,SPI總線具有以下四個(gè)信號(hào):
SCLK:串行時(shí)鐘(主機(jī)輸出)
MOSI:主機(jī)輸出從機(jī)輸入或主機(jī)輸出從機(jī)輸入(主機(jī)輸出數(shù)據(jù))
MISO:主機(jī)輸入從機(jī)輸出,或主機(jī)輸入從機(jī)輸出(從機(jī)的數(shù)據(jù)輸出)
SS:從機(jī)選擇(通常為低電平有效,從主機(jī)輸出)
因此,如果要將任何外圍設(shè)備連接到處理器或CPU,則可以通過這種方式輕松實(shí)現(xiàn)。根據(jù)給定的圖連接PIN。盡管上面給出的名稱是大多數(shù)體系結(jié)構(gòu)中最常見和最受歡迎的引腳名稱約定。
SPI中的數(shù)據(jù)傳輸如何工作?
在SPI設(shè)備中,使用主/從關(guān)系進(jìn)行通信。主機(jī)啟動(dòng)數(shù)據(jù)傳輸。主機(jī)還為從機(jī)設(shè)備生成時(shí)鐘,并從網(wǎng)絡(luò)中選擇一個(gè)從機(jī)。數(shù)據(jù)總是同時(shí)在兩個(gè)方向上傳輸。如果只想發(fā)送,則需要從接收方生成一個(gè)虛擬字節(jié)。發(fā)生這種情況是因?yàn)?span>SPI內(nèi)部在發(fā)送器和接收器側(cè)都有兩個(gè)移位寄存器。而且,每當(dāng)從一側(cè)發(fā)送數(shù)據(jù)時(shí),我們就需要從接收器一側(cè)接收一些數(shù)據(jù),因?yàn)閿?shù)據(jù)在內(nèi)部一點(diǎn)一點(diǎn)地移位。
在幕后進(jìn)行傳播
該系統(tǒng)由兩個(gè)移位寄存器(基于字長(zhǎng)或處理器)和一個(gè)主時(shí)鐘發(fā)生器組成。當(dāng)將所需從設(shè)備的從設(shè)備選擇SS引腳拉低時(shí),SPI主設(shè)備啟動(dòng)通信周期。主機(jī)和從機(jī)準(zhǔn)備在各自的移位寄存器中發(fā)送數(shù)據(jù),主機(jī)在SCK線上產(chǎn)生所需的時(shí)鐘脈沖以交換數(shù)據(jù)。數(shù)據(jù)總是在主機(jī)輸出(從機(jī)輸入,MOSI,線路)上從主機(jī)轉(zhuǎn)移到從機(jī),在主機(jī)輸入(從機(jī)輸出,MISO,線路)上從主機(jī)轉(zhuǎn)移到主機(jī)。在每個(gè)數(shù)據(jù)包之后,主機(jī)通過拉高從機(jī)選擇SS線來同步從機(jī)。