国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

串行外圍設備接口應用及設計詳解

wFVr_Hardware_1 ? 來源:互聯網 ? 作者:佚名 ? 2017-10-16 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、 SPI簡介

SPI,是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在 EEPROM,FLASH,實時時鐘AD轉換器,還有數字信號處理器和數字信號解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現在越來越多的芯片集成了這種通信協議。

2、 SPI特點

2.1采用主-從模式(Master-Slave) 的控制方式

SPI 規(guī)定了兩個 SPI 設備之間通信必須由主設備 (Master) 來控制次設備 (Slave). 一個 Master 設備可以通過提供 Clock 以及對 Slave 設備進行片選 (Slave Select) 來控制多個 Slave 設備, SPI 協議還規(guī)定 Slave 設備的 Clock 由 Master 設備通過 SCK 管腳提供給 Slave 設備, Slave 設備本身不能產生或控制 Clock, 沒有 Clock 則 Slave 設備不能正常工作

2.2采用同步方式(Synchronous)傳輸數據

Master 設備會根據將要交換的數據來產生相應的時鐘脈沖(Clock Pulse), 時鐘脈沖組成了時鐘信號(Clock Signal) , 時鐘信號通過時鐘極性 (CPOL) 和 時鐘相位 (CPHA) 控制著兩個 SPI 設備間何時數據交換以及何時對接收到的數據進行采樣, 來保證數據在兩個設備之間是同步傳輸的.

2.3數據交換(Data Exchanges)

SPI 設備間的數據傳輸之所以又被稱為數據交換, 是因為 SPI 協議規(guī)定一個 SPI 設備不能在數據通信過程中僅僅只充當一個 "發(fā)送者(Transmitter)" 或者 "接收者(Receiver)". 在每個 Clock 周期內, SPI 設備都會發(fā)送并接收一個 bit 大小的數據, 相當于該設備有一個 bit 大小的數據被交換了. 一個 Slave 設備要想能夠接收到 Master 發(fā)過來的控制信號, 必須在此之前能夠被 Master 設備進行訪問 (Access). 所以, Master 設備必須首先通過 SS/CS pin 對 Slave 設備進行片選, 把想要訪問的 Slave 設備選上. 在數據傳輸的過程中, 每次接收到的數據必須在下一次數據傳輸之前被采樣. 如果之前接收到的數據沒有被讀取, 那么這些已經接收完成的數據將有可能會被丟棄, 導致 SPI 物理模塊最終失效. 因此, 在程序中一般都會在 SPI 傳輸完數據后, 去讀取 SPI 設備里的數據, 即使這些數據(Dummy Data)在我們的程序里是無用的。

2.4 SPI有四種傳輸模式

上升沿、下降沿、前沿、后沿觸發(fā)。當然也有MSB和LSB傳輸方式.

2.5 SPI只有主模式和從模式之分。

沒有讀和寫的說法,因為實質上每次SPI是主從設備在交換數據。也就是說,你發(fā)一個數據必然會收到一個數據;你要收一個數據必須也要先發(fā)一個數據。

3、 工作機制

3.1概述

3.2 Timing

3.2.1 SPI相關的縮寫或說法

SPI的極性Polarity和相位Phase,最常見的寫法是CPOL和CPHA,不過也有一些其他寫法,簡單總結如下:(1) CKPOL (Clock Polarity) = CPOL = POL = Polarity = (時鐘)極性(2) CKPHA (Clock Phase) = CPHA = PHA = Phase = (時鐘)相位(3) SCK=SCLK=SPI的時鐘(4) Edge=邊沿,即時鐘電平變化的時刻,即上升沿(rising edge)或者下降沿(falling edge)對于一個時鐘周期內,有兩個edge,分別稱為:Leading edge=前一個邊沿=第一個邊沿,對于開始電壓是1,那么就是1變成0的時候,對于開始電壓是0,那么就是0變成1的時候;Trailing edge=后一個邊沿=第二個邊沿,對于開始電壓是1,那么就是0變成1的時候(即在第一次1變成0之后,才可能有后面的0變成1),對于開始電壓是0,那么就是1變成0的時候;

3.2.2 SPI的相位和極性

CPOL和CPHA,分別都可以是0或時1,對應的四種組合就是:Mode 0 CPOL=0, CPHA=0Mode 1 CPOL=0, CPHA=1Mode 2 CPOL=1, CPHA=0Mode 3 CPOL=1, CPHA=1

3.2.3 CPOL極性

先說什么是SCLK時鐘的空閑時刻,其就是當SCLK在數發(fā)送8個bit比特數據之前和之后的狀態(tài),于此對應的,SCLK在發(fā)送數據的時候,就是正常的工作的時候,有效active的時刻了。先說英文,其精簡解釋為:Clock Polarity = IDLE state of SCK。再用中文詳解:SPI的CPOL,表示當SCLK空閑idle的時候,其電平的值是低電平0還是高電平1:CPOL=0,時鐘空閑idle時候的電平是低電平,所以當SCLK有效的時候,就是高電平,就是所謂的active-high;CPOL=1,時鐘空閑idle時候的電平是高電平,所以當SCLK有效的時候,就是低電平,就是所謂的active-low;

3.2.4 CPHA相位

首先說明一點,capture strobe = latch = read = sample,都是表示數據采樣,數據有效的時刻。相位,對應著數據采樣是在第幾個邊沿(edge),是第一個邊沿還是第二個邊沿,0對應著第一個邊沿,1對應著第二個邊沿。對于:CPHA=0,表示第一個邊沿:對于CPOL=0,idle時候的是低電平,第一個邊沿就是從低變到高,所以是上升沿;對于CPOL=1,idle時候的是高電平,第一個邊沿就是從高變到低,所以是下降沿;CPHA=1,表示第二個邊沿:對于CPOL=0,idle時候的是低電平,第二個邊沿就是從高變到低,所以是下降沿;對于CPOL=1,idle時候的是高電平,第一個邊沿就是從低變到高,所以是上升沿;還是上圖大家更容易看懂

3.2.5 軟件中如何設置SPI的極性和相位

SPI分主設備和從設備,兩者通過SPI協議通訊。而設置SPI的模式,是從設備的模式,決定了主設備的模式。所以要先去搞懂從設備的SPI是何種模式,然后再將主設備的SPI的模式,設置和從設備相同的模式,即可正常通訊。對于從設備的SPI是什么模式,有兩種:

3.2.5.1固定的,有SPI從設備硬件決定的

SPI從設備,具體是什么模式,相關的datasheet中會有描述,需要自己去datasheet中找到相關的描述,即:關于SPI從設備,在空閑的時候,是高電平還是低電平,即決定了CPOL是0還是1;然后再找到關于設備是在上升沿還是下降沿去采樣數據,這樣就是,在定了CPOL的值的前提下,對應著可以推算出CPHA是0還是1了。

3.2.5.2 可配置的,由軟件自己設定

從設備也是一個SPI控制器,4種模式都支持,此時只要自己設置為某種模式即可。然后知道了從設備的模式后,再去將SPI主設備的模式,設置為和從設備模式一樣,即可。對于如何配置SPI的CPOL和CPHA的話,不多細說,多數都是直接去寫對應的SPI控制器中對應寄存器中的CPOL和CPHA那兩位,寫0或寫1即可。3.3 SSPSR

3.4 SSPBUF

3.5 Controller

4. SPI舉例

上面說了那么多,在這里我來舉一個例子幫助大家理解。SPI是一個環(huán)形總線結構,由ss(cs)、sck、sdisdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位寄存器進行數據交換。假設下面的8位寄存器裝的是待發(fā)送的數據10101010,上升沿發(fā)送、下降沿接收、高位先發(fā)送。那么第一個上升沿來的時候 數據將會是sdo=1;寄存器=0101010x。下降沿到來的時候,sdi上的電平將所存到寄存器中去,那么這時寄存器=0101010sdi,這樣在 8個時鐘脈沖以后,兩個寄存器的內容互相交換一次。這樣就完成里一個spi時序。舉例:假設主機和從機初始化就緒:并且主機的sbuff=0xaa,從機的sbuff=0x55,下面將分步對spi的8個時鐘周期的數據情況演示一遍:假設上升沿發(fā)送數據

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

    關注

    4

    文章

    335

    瀏覽量

    68322
  • 總線
    +關注

    關注

    10

    文章

    3040

    瀏覽量

    91677
  • 時鐘信號
    +關注

    關注

    4

    文章

    506

    瀏覽量

    29989

原文標題:SPI詳解

文章出處:【微信號:Hardware_10W,微信公眾號:硬件十萬個為什么】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    變頻器主電路外圍設備如何正確去選擇

    變頻器作為現代工業(yè)自動化控制系統(tǒng)的核心部件,其主電路外圍設備的正確選擇直接影響系統(tǒng)穩(wěn)定性、能效比和設備壽命。本文將圍繞主回路斷路器、接觸器、電抗器、濾波器等關鍵外圍設備的選擇要點展開分析,并提供實際應用中的配置建議。
    的頭像 發(fā)表于 03-02 17:29 ?521次閱讀
    變頻器主電路<b class='flag-5'>外圍設備</b>如何正確去選擇

    中科芯CKS32F107XX系列MCU的串行外設接口介紹

    SPI協議是由摩托羅拉公司提出的通訊協議(Serial Peripheral Interface),即串行外圍設備接口,是一種高速全雙工的通信總線。它在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳
    的頭像 發(fā)表于 01-27 06:04 ?9177次閱讀
    中科芯CKS32F107XX系列MCU的<b class='flag-5'>串行</b>外設<b class='flag-5'>接口</b>介紹

    Air8000 BLE外圍模式全解析:數據收發(fā)實戰(zhàn)指南!

    Air8000的BLE外圍設備模式(peripheral)是實現低功耗藍牙通信的關鍵功能,它既能主動向中心設備發(fā)送通知數據,也能接收中心設備傳回的信息。本文將通過具體示例,詳細拆解這一模式的操作流程
    的頭像 發(fā)表于 11-24 14:26 ?1971次閱讀
    Air8000 BLE<b class='flag-5'>外圍</b>模式全解析:數據收發(fā)實戰(zhàn)指南!

    可編程多協議串行接口適配器 串行接口測試與轉換 USB轉UARTI2CSPICAN1-Wire

    串行接口
    穩(wěn)控自動化
    發(fā)布于 :2025年10月30日 11:14:27

    ElfBoard嵌入式教育科普|USB接口全面解析

    USB的全稱是Universal Serial Bus,譯為通用串行總線,是一種用于連接計算機及其外部設備的標準接口,它的設計旨在標準化連接計算機與外部設備之間的通信,到現在它已經是一
    的頭像 發(fā)表于 07-16 11:38 ?5401次閱讀
    ElfBoard嵌入式教育科普|USB<b class='flag-5'>接口</b>全面解析

    【HarmonyOS 5】鴻蒙星閃NearLink詳解

    是 HarmonyOS 提供的短距離通信服務,支持星閃設備間的連接、數據交互。例如,手機可作為中心設備外圍設備(如鼠標、手寫筆、智能家電、車鑰匙等)通過星閃進行連接。 二、NearLink Kit 的接入
    的頭像 發(fā)表于 07-11 18:24 ?1903次閱讀
    【HarmonyOS 5】鴻蒙星閃NearLink<b class='flag-5'>詳解</b>

    外圍設備通過手機連接到BLE應用程序,為什么不能連接到Infineaon BLE?

    使用 ch06_ex01_periab \" le 項目創(chuàng)建了外圍設備。\" \" 使用像 LightBlue 這樣的移動應用程序,我能夠連接到這個外圍設備并更改特征值。 我已經使用 \"
    發(fā)表于 07-07 08:06

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

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

    求助,關于PSOC6與4343W藍牙配對問題求解

    我有一塊帶有 PSOC6(6247)的定制電路板,連接到 CYC4343W。 該開發(fā)板充當藍牙中央設備。 它正在通過藍牙(BT)MAC 地址掃描特定外圍設備。 成功找到外圍設備并啟動配對過程。 初始
    發(fā)表于 06-27 06:43

    HarmonyOS 5 makeObserved接口詳解

    【HarmonyOS 5】makeObserved接口詳解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、makeObserved接口
    的頭像 發(fā)表于 06-16 17:58 ?687次閱讀

    MAX9249多媒體串行鏈路串行器,帶有LVDS系統(tǒng)接口技術手冊

    MAX9249串行器帶有LVDS系統(tǒng)接口,采用Maxim吉比特多媒體串行鏈路(GMSL)技術。MAX9249串行器與GMSL解串器配合使用,構成完整的數字
    的頭像 發(fā)表于 05-28 16:43 ?1077次閱讀
    MAX9249多媒體<b class='flag-5'>串行</b>鏈路<b class='flag-5'>串行</b>器,帶有LVDS系統(tǒng)<b class='flag-5'>接口</b>技術手冊

    MAX6618 PECI至I2C轉換器技術手冊

    獨立的串行通信通道,用于在多主系統(tǒng)或多從系統(tǒng)中與外圍設備同步通信。該接口允許最高400kbps的串行數據速率。
    的頭像 發(fā)表于 05-16 10:52 ?747次閱讀
    MAX6618 PECI至I2C轉換器技術手冊

    串行通信接口SPI與QSPI的區(qū)別

    在嵌入式系統(tǒng)的世界里,選擇正確的通信技術可以對項目的性能和可擴展性產生重大影響。讓我們比較兩個流行的串行通信接口:SPI(串行外設接口)和QSPI(四路SPI)。
    的頭像 發(fā)表于 04-09 15:24 ?3286次閱讀
    <b class='flag-5'>串行</b>通信<b class='flag-5'>接口</b>SPI與QSPI的區(qū)別

    STM32學習筆記_I2C詳解(可下載)

    連接到總線的外圍設備都有一個獨立的地址,主機可以通過該地址來訪問不同設備。主機可通過 SDA 線發(fā)送設備地址查找從機I2C 通常用于連接微控制器及其外圍設備,是微電
    發(fā)表于 03-14 17:33 ?3次下載

    電容屏串行接口

    帝晶智慧屏電容屏串行接口
    的頭像 發(fā)表于 03-11 17:21 ?1806次閱讀