0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

串行外圍設備接口總線的特點以及它的基本配置

嵌入式星球 ? 來源:嵌入式星球 ? 作者:嵌入式星球 ? 2020-09-24 15:20 ? 次閱讀

幾十年來使用的三種最常見的多線串行數(shù)據(jù)傳輸格式是I2C,UART和SPI。本文著眼于串行外設接口(SPI)總線,該總線已擺脫了顯式的標準化,因此在實現(xiàn)協(xié)議之前,請始終檢查要使用的集成電路的數(shù)據(jù)表。

能力和特點

串行外圍設備接口總線使用四個數(shù)據(jù)線在主設備和從設備之間提供全雙工同步通信

基本主從配置

串行外設接口允許將數(shù)據(jù)位從主設備移出到從設備中,同時,還可以將位從從設備移出到主設備中。

動畫1顯示了數(shù)據(jù)從Microchip A移入Microchip B,又從Microchip B移入MicrochipA。

動畫2顯示了兩個微芯片之間SPI事務的虛擬4通道示波器軌跡。由馬克·休斯(Mark Hughes)用Mathematica創(chuàng)建

由于SPI尚未標準化,因此可能會遇到先傳輸最高有效位(MSb)或最低有效位(LSb)的情況。檢查設備的數(shù)據(jù)表并相應地設置數(shù)據(jù)處理例程。如果您使用的是Arduino,則可以參考此頁面以獲取有關配置SPI端口信息

時鐘極性和相位

時鐘轉(zhuǎn)換控制數(shù)據(jù)的移位和采樣。SPI具有四種模式(0、1、2、3),分別對應四種可能的時鐘配置。

在時鐘周期的上升沿采樣的位在時鐘周期的下降沿移出,反之亦然。

當從選擇線被驅(qū)動至邏輯低電平(從選擇通常為低電平有效信號)時,每個事務開始。從選擇線,數(shù)據(jù)線和時鐘線之間的確切關系取決于如何配置時鐘極性(CPOL)和時鐘相位(CPHA)。

在時鐘極性不變的情況下(即,當從器件選擇轉(zhuǎn)換為邏輯低電平時,時鐘處于邏輯低電平):

模式0:配置時鐘相位,以便在時鐘脈沖的上升沿采樣數(shù)據(jù),并在時鐘脈沖的下降沿移出數(shù)據(jù)。這對應于上圖中的第一個藍色時鐘軌跡。注意,數(shù)據(jù)必須在時鐘的第一個上升沿之前可用。

模式1:配置時鐘相位,以便在時鐘脈沖的下降沿采樣數(shù)據(jù),并在時鐘脈沖的上升沿移出數(shù)據(jù)。這對應于上圖中的第二條藍色時鐘軌跡。

在時鐘極性反轉(zhuǎn)的情況下(即,當從器件選擇轉(zhuǎn)換為邏輯低電平時,時鐘處于邏輯高電平):

模式2:配置時鐘相位,以便在時鐘脈沖的下降沿采樣數(shù)據(jù),并在時鐘脈沖的上升沿移出數(shù)據(jù)。這對應于上圖中的第一個橙色時鐘軌跡。注意,數(shù)據(jù)必須在時鐘的第一個下降沿之前可用。

模式3:配置時鐘相位,以便在時鐘脈沖的上升沿采樣數(shù)據(jù),并在時鐘脈沖的下降沿移出數(shù)據(jù)。這對應于上圖中的第二個橙色時鐘軌跡。

關鍵參數(shù)

CLK:串行時鐘。由主設備控制。每個時鐘周期都會移出一個新的數(shù)據(jù)位。

SSN:從機選擇(“ N”將其標識為低電平有效信號)。由主設備控制。激活的從設備選擇線指示主機正在向相應的從設備發(fā)送數(shù)據(jù)或從其請求數(shù)據(jù)。

MOSI:主輸出?從輸入。數(shù)據(jù)離開主設備并進入從設備。芯片A上的MOSI線連接到芯片B上的MOSI線。

MISO:主機輸入?從機輸出。數(shù)據(jù)離開從設備并進入主設備(或以菊花鏈配置的另一個從設備;請參閱下一節(jié))。芯片A上的MISO線連接到芯片B上的MISO線。

CPOL:時鐘極性。這支配時鐘信號的初始邏輯狀態(tài)。有關更多信息,請參考上一節(jié)。

CPHA:時鐘相位。這支配了數(shù)據(jù)轉(zhuǎn)換和時鐘轉(zhuǎn)換之間的關系。有關更多信息,請參考上一節(jié)。

從選擇和菊花鏈

多從選擇配置

在標準的SPI安排中,主設備可以通過啟用設備(即,將相應設備的從選擇線設置為邏輯低電平)向共享公共數(shù)據(jù)線的單個設備寫入數(shù)據(jù)或向其請求數(shù)據(jù)。注意不要同時啟用多個從站,因為返回到主站的數(shù)據(jù)將由于MISO線之間的驅(qū)動程序爭用而損壞。某些應用程序不需要將數(shù)據(jù)返回給主服務器;在這種情況下,如果主機希望將相同的數(shù)據(jù)發(fā)送到多個從機,則可以同時尋址多個從機。

在多從站選擇配置中,每個從站都需要來自主站的唯一從站選擇線。如果主站沒有足夠的I / O引腳來滿足所需數(shù)量的從站,則可以通過合并解碼器/多路分解器來實現(xiàn)I / O擴展,例如74HC(T)238(PDF)(3至8行)解碼器/解復用器)。

菊花鏈配置

在此配置中,數(shù)據(jù)從一臺設備移動到另一臺設備。最終的從設備可以將數(shù)據(jù)返回給主設備。

在菊花鏈配置中,所有從機共享一條公共的從機選擇線。數(shù)據(jù)從主機轉(zhuǎn)移到第一個從機,然后從第一個從機轉(zhuǎn)移到第二個,依此類推。數(shù)據(jù)沿線級聯(lián)直至該系列中的最后一個從機,然后可以使用其MISO線將數(shù)據(jù)發(fā)送到主設備。

這種配置非常適合節(jié)日期間流行的可單獨尋址的LED燈串。

結(jié)論

串行外設接口已經(jīng)存在了數(shù)十年,沒有理由期望它會很快消失。雖然I2C和UART可能會更受歡迎,但SPI是一種通用且直接的串行通信接口,非常適合某些應用。

fqj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    總線接口的類型與選擇指南

    ) 類型:異步、全雙工串口總線。 特性:有兩根線,一根TXD用于發(fā)送,一根RXD用于接收。不需要時鐘信號來同步傳輸,而是依賴于發(fā)送設備和接收設備之間預定義的配置。 I2C
    的頭像 發(fā)表于 12-31 10:06 ?148次閱讀

    KeyStone架構串行外設接口(SPI)手冊

    SPI(Serial Peripheral Interface)是一種高速、全雙工、同步的串行通信協(xié)議,允許微控制器與一個或多個外圍設備進行通信。SPI通信通常使用四根線:SCK(時鐘線
    發(fā)表于 12-16 10:33 ?0次下載

    嵌入式的常用總線介紹

    硬件電路設計、簡化系統(tǒng)結(jié)構,常用一組線路,配置以適當?shù)?b class='flag-5'>接口電路,與各部件和外圍設備連接,這組共用的連接線路被稱為總線
    的頭像 發(fā)表于 11-11 09:52 ?364次閱讀

    如何使用可配置邏輯塊 (CLB) 實施定制串行接口

    電子發(fā)燒友網(wǎng)站提供《如何使用可配置邏輯塊 (CLB) 實施定制串行接口.pdf》資料免費下載
    發(fā)表于 09-09 10:07 ?0次下載
    如何使用可<b class='flag-5'>配置</b>邏輯塊 (CLB) 實施定制<b class='flag-5'>串行</b><b class='flag-5'>接口</b>

    CAN總線接口類型

    CAN總線(Controller Area Network)是一種基于廣播的串行通信協(xié)議,廣泛用于連接分布式系統(tǒng)中的各個設備,實現(xiàn)它們之間的數(shù)據(jù)交換和控制。CAN總線
    的頭像 發(fā)表于 09-03 14:13 ?1959次閱讀

    SPI總線的定義和特點

    SPI總線(Serial Peripheral Interface),全稱為串行外圍設備接口,是由Motorola公司提出并定義的一種同步、串行
    的頭像 發(fā)表于 09-03 14:05 ?929次閱讀

    電腦通用串行總線控制器怎么接

    電腦通用串行總線控制器(Universal Serial Bus Controller,簡稱USB Controller)是一種用于連接和控制USB設備的硬件設備。通常集成在電腦主板
    的頭像 發(fā)表于 08-29 15:51 ?836次閱讀

    通用串行總線控制器和通用串行總線設備的區(qū)別

    通用串行總線(Universal Serial Bus,簡稱USB)是一種廣泛使用的串行通信協(xié)議,用于計算機和其他設備之間的數(shù)據(jù)傳輸。USB技術自1996年推出以來,已經(jīng)經(jīng)歷了多個版本的更新,包括
    的頭像 發(fā)表于 08-29 15:40 ?2020次閱讀

    通用串行總線控制器影響什么設備

    通用串行總線控制器(USB控制器)在計算機系統(tǒng)中扮演著至關重要的角色,主要影響和管理與USB接口相關的設備。以下是通用串行總線控制器影響的
    的頭像 發(fā)表于 08-29 15:38 ?562次閱讀

    南京沁恒微USB總線轉(zhuǎn)接芯片 CH341

    CH341是一個USB總線的轉(zhuǎn)接芯片,通過USB總線提供異步串口、打印口、并口以及常用的2線和4線等同步串行接口。 在異步串口方式下,CH3
    發(fā)表于 05-16 13:55

    是否有可能使用CYSPP配置文件連接到外圍設備?

    我們的現(xiàn)有系統(tǒng)使用中央和外圍設備,使用基于 Microchip RN4020 的中央和外圍設備。 由于供應限制的原因,我們希望將英飛凌 CYBT-483056 SoC 用于 BLE central。 我們想知道是否有可能使用CYSPP
    發(fā)表于 03-01 06:54

    什么是I2C接口?什么是I3C接口?I2C與I3C的區(qū)別

    I2C接口是一種串行通信協(xié)議,全稱為Inter-Integrated Circuit,即集成電路間總線。它是一種雙向、兩線制(SCL和SDA)的串行通信
    的頭像 發(fā)表于 02-17 14:39 ?6440次閱讀
    什么是I2C<b class='flag-5'>接口</b>?什么是I3C<b class='flag-5'>接口</b>?I2C與I3C的區(qū)別

    usb-c接口是什么意思 pd接口和usb接口哪個更好

    以通過USB-C接口提供更高的功率輸出,以滿足各種設備的充電需求。 USB接口是一種通用的串行總線標準,
    的頭像 發(fā)表于 01-31 17:01 ?8284次閱讀

    PSOC6如何通過I2C與外圍設備通信?

    PSOC6 如何通過 I2C 與外圍設備通信? 我不太明白這一系列芯片 CAN 如何向上或向下拉動?我根據(jù)例程編寫了一個與I2C通信的外圍設備,但它 CAN不起作用, ADXL345模塊
    發(fā)表于 01-31 06:08

    TC39x如何在用戶模式下訪問外圍設備

    你好, 我已經(jīng)在 TC39x 中啟用了用戶模式 1,并希望在用戶模式下允許訪問一些外圍設備和功能。 我主要想在用戶模式下使用 cpu endinit(在啟用和禁用看門狗的上下文中)。
    發(fā)表于 01-22 06:52