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