最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

SPI通信

2021-04-19 17:51 作者:僚機Wingplane  | 我要投稿

SPI簡介

串行外設接口(Serial Peripheral Interface Bus,SPI),是一種用于短程通信的同步串行通信接口規(guī)范,主要應用于單片機系統中。類似I2C。 這種接口首先被Motorola(摩托羅拉)公司開發(fā),然后發(fā)展成了一種行業(yè)規(guī)范。典型應用包含SD卡和液晶顯示器。 SPI設備之間使用全雙工模式通信,包含一個主機和一個或多個從機。主機產生待讀或待寫的幀數據,多個從機通過一個片選線路 決定哪個來響應主機的請求。 有時SPI接口被稱作四線程接口,SPI準確來講稱為同步串行接口,但是與同步串行接口協議(SSI)不同,SSI是一個四線程 同步通信協議,但是使用差分信號輸入同時僅提供一個單工通信信道。

SPI總線規(guī)定了4個保留邏輯信號接口:

  • SCLK(Serial Clock):串行時鐘,由主機發(fā)出

  • MOSI(Master Output,Slave Input):主機輸出從機輸入信號,由主機發(fā)出

  • MISO(Master Input,Slave Output):主機輸入從機輸出信號,由從機發(fā)出

  • SS(Slave Selected):選擇信號,由主機發(fā)出,低電位有效

SPI總線:單一master對單一slave

單對單

SPI總線:單一master對復合slave

一對多

雖然上述名稱是現在廣泛在使用的,但是在有些情況下,比如舊的IC,可能與插圖上描述的引腳口名稱不同:

  • SCLK:SCK

  • MOSI:SIMO, SDO, DI, DIN, SI, MTSR

  • MISO:SOMI, SDI, DO, DOUT, SO, MRST

  • SDIO:SIO

  • SS: S?S?, SSEL, CS, C?S?, CE, nSS, /SS, SS#

MOSI / MISO慣例要求,在使用備用名稱的設備上,主機上的SDI連接到從機上的SDI,反之亦然。從選擇與芯片選擇相同的功能,而不是尋址概念。引腳名稱始終大寫,如從選擇,串行時鐘和主輸出從輸入。

SPI Operation

SPI總線可以與單個主器件以及一個或多個從器件一起工作。

如果使用單個從器件,如果從器件允許,SS引腳可能會固定為邏輯低電平。有些器件需要下降邊沿的片選信號來啟動一個動作。一個例子是Maxim MAX1242 ADC,它在高→低轉換時開始轉換。對于多個從設備,每個從設備都需要從主站獨立的SS信號。

大多數從器件具有三態(tài)輸出,因此當未選擇器件時,其MISO信號變?yōu)楦咦杩梗ㄟ壿嫈嚅_)。沒有三態(tài)輸出的器件不能與其他器件共享SPI總線段; 只有一個這樣的從設備可以跟主設備說話。

數據傳輸

要開始通信,總線主機使用從設備支持的頻率配置時鐘,通常高達幾MHz。然后主機在選擇行上選擇邏輯電平為0的從設備。如果需要等待時間,例如進行模數轉換,則在發(fā)出時鐘周期之前,主機必須至少等待一段時間。

在每個SPI時鐘周期期間,發(fā)生全雙工數據傳輸。主機在MOSI線路上發(fā)送一個位,從機讀取它,而從機在MISO線路上發(fā)送一個位,主器件讀取它。即使僅需要單向數據傳輸,也保持該序列。

傳輸通常涉及一些給定字大小的兩個移位寄存器,例如8位,主器件中有1位,從器件中有1位。它們以虛擬環(huán)形拓撲連接。數據通常以最高有效位首先移出,同時將新的最低有效位移位到同一寄存器。同時,來自對方的數據被移入最低有效位寄存器。在寄存器位被移出和進入后,主器件和從器件已經交換了寄存器值。如果需要更換數據,則重新裝入移位寄存器,重復該過程。傳輸可以持續(xù)任何數量的時鐘周期。完成后,主站停止切換時鐘信號,通常取消選擇從站。

傳輸通常由8位字組成。然而,其他字大小也是常見的,例如,用于觸摸屏控制器或音頻編解碼器的16位字,例如德州儀器公司的TSC2101 或12位字,用于許多數模轉換器或模數轉換器轉換器。

總線上未使用芯片選擇線激活的每個從器件都必須忽略輸入時鐘和MOSI信號,而不能驅動MISO。

典型的硬件設置使用兩個移位寄存器來形成一個片間循環(huán)緩沖區(qū),如下圖:


時鐘極性和相位

除了設置時鐘頻率外,主機還必須配置相對于數據的時鐘極性和相位。摩托羅拉SPI指南將這兩個選項分別命名為CPOL和CPHA,大多數廠商都采用了這一慣例。

時序圖如下圖所示。 該時序在下面進一步描述并適用于主設備和從設備。

顯示時鐘極性和相位的時序圖。紅線表示時鐘前沿,藍線,后沿。

  • CPOL確定時鐘的極性。極性可以用簡單的逆變器轉換。

    • CPOL = 0是空閑0的時鐘,每個周期由1的脈沖組成。也就是說,前沿是上升沿,后沿是下降沿。

    • CPOL = 1是空閑1的時鐘,每個周期由0的脈沖組成。也就是說,前沿是下降沿,后沿是上升沿。

    • CPHA確定數據位相對于時鐘脈沖的定時。在兩種形式之間進行轉換并不是微不足道的。

    • 對于CPHA = 0,“輸出”側在前一時鐘周期的后沿更改數據,而“in”側在時鐘周期的前沿捕獲(或不久之后)數據。外側保持數據有效直到當前時鐘周期的下降沿。對于第一個周期,第一個位必須位于MOSI線前面的前沿時鐘邊沿。

    • 考慮它的另一種方法是說,CPHA = 0周期由時鐘空閑的半周期組成,隨后是時鐘被斷言的半周期。

    • 對于CPHA = 1,“輸出”側在當前時鐘周期的前沿更改數據,而“in”側在時鐘周期的后沿捕獲(或不久之后)數據。外側保持數據有效直到下一個時鐘周期的前沿。對于上一個周期,從機將MISO線保持有效,直到從機選擇被解除。

    • 考慮它的另一種方法是說,CHPA = 1周期由一個半周期組成,時鐘被置位,隨后是一個半周期,時鐘空閑。

MOSI和MISO信號通常在半個周期內穩(wěn)定(在其接收點),直到下一個時鐘轉換。SPI主從設備可能會在該半周期的不同點對數據進行采樣。

這為主站和從站之間的通信通道增加了更多的靈活性。

模式

極性和相位的組合通常被稱為根據以下約定通常編號的模式,CPOL為高位,CPHA為低位位:

對于“Microchip PIC”/“ARM”微控制器(注意,NCPHA是CPHA的反轉):

極性

另一種常用的符號表示作為(CPOL,CPHA)元組的模式; 例如,值'(0,1)'將指示CPOL = 0和CPHA = 1。

中斷

SPI器件有時使用另一條信號線將中斷信號發(fā)送到主機CPU。實例包括從觸摸屏傳感器落筆中斷,從溫度傳感器熱限制警報,由實時時鐘芯片,發(fā)出警報SDIO,和耳機插孔插入從在蜂窩電話的聲音編解碼器。中斷不在SPI標準的范圍內; 它們的使用既不被禁止也不被標準規(guī)定。



作者:btskyrmb
鏈接:https://www.jianshu.com/p/5de187bf5b75
來源:簡書
著作權歸作者所有。商業(yè)轉載請聯系作者獲得授權,非商業(yè)轉載請注明出處。

SPI通信的評論 (共 條)

分享到微博請遵守國家法律
新兴县| 灵山县| 新和县| 会宁县| 北海市| 华宁县| 天柱县| 巫山县| 台山市| 荣成市| 邵东县| 利辛县| 满城县| 苍南县| 望奎县| 沁源县| 浦江县| 朝阳县| 遂川县| 娄烦县| 太仓市| 侯马市| 铜山县| 西藏| 上林县| 墨玉县| 剑阁县| 广德县| 鹿泉市| 深州市| 顺平县| 彩票| 龙胜| 新安县| 恭城| 广水市| 长子县| 维西| 赣州市| 金乡县| 黄大仙区|