在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

串行外圍設(shè)備接口應(yīng)用及設(shè)計(jì)詳解

wFVr_Hardware_1 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-10-16 08:58 ? 次閱讀

1、 SPI簡介

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

2、 SPI特點(diǎn)

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

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

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

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

2.3數(shù)據(jù)交換(Data Exchanges)

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

2.4 SPI有四種傳輸模式

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

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

沒有讀和寫的說法,因?yàn)閷?shí)質(zhì)上每次SPI是主從設(shè)備在交換數(shù)據(jù)。也就是說,你發(fā)一個數(shù)據(jù)必然會收到一個數(shù)據(jù);你要收一個數(shù)據(jù)必須也要先發(fā)一個數(shù)據(jù)。

3、 工作機(jī)制

3.1概述

3.2 Timing

3.2.1 SPI相關(guān)的縮寫或說法

SPI的極性Polarity和相位Phase,最常見的寫法是CPOL和CPHA,不過也有一些其他寫法,簡單總結(jié)如下:(1) CKPOL (Clock Polarity) = CPOL = POL = Polarity = (時鐘)極性(2) CKPHA (Clock Phase) = CPHA = PHA = Phase = (時鐘)相位(3) SCK=SCLK=SPI的時鐘(4) Edge=邊沿,即時鐘電平變化的時刻,即上升沿(rising edge)或者下降沿(falling edge)對于一個時鐘周期內(nèi),有兩個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,對應(yīng)的四種組合就是: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時鐘的空閑時刻,其就是當(dāng)SCLK在數(shù)發(fā)送8個bit比特?cái)?shù)據(jù)之前和之后的狀態(tài),于此對應(yīng)的,SCLK在發(fā)送數(shù)據(jù)的時候,就是正常的工作的時候,有效active的時刻了。先說英文,其精簡解釋為:Clock Polarity = IDLE state of SCK。再用中文詳解:SPI的CPOL,表示當(dāng)SCLK空閑idle的時候,其電平的值是低電平0還是高電平1:CPOL=0,時鐘空閑idle時候的電平是低電平,所以當(dāng)SCLK有效的時候,就是高電平,就是所謂的active-high;CPOL=1,時鐘空閑idle時候的電平是高電平,所以當(dāng)SCLK有效的時候,就是低電平,就是所謂的active-low;

3.2.4 CPHA相位

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

3.2.5 軟件中如何設(shè)置SPI的極性和相位

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

3.2.5.1固定的,有SPI從設(shè)備硬件決定的

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

3.2.5.2 可配置的,由軟件自己設(shè)定

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

3.4 SSPBUF

3.5 Controller

4. SPI舉例

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

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

    關(guān)注

    4

    文章

    245

    瀏覽量

    65784
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2881

    瀏覽量

    88085
  • 時鐘信號
    +關(guān)注

    關(guān)注

    4

    文章

    448

    瀏覽量

    28568

原文標(biāo)題:SPI詳解

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

收藏 人收藏

    評論

    相關(guān)推薦

    RS232接口通信協(xié)議詳解 如何測試RS232接口的性能

    RS232接口通信協(xié)議詳解 RS232接口通信協(xié)議是一種廣泛應(yīng)用的串行通信協(xié)議,它規(guī)定了數(shù)據(jù)在設(shè)備之間的傳輸方式和格式。以下是RS232
    的頭像 發(fā)表于 12-18 18:03 ?443次閱讀

    KeyStone架構(gòu)串行外設(shè)接口(SPI)手冊

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

    單片機(jī)語音芯片中的SPI Flash探秘及其分類詳解

    在單片機(jī)語音芯片的領(lǐng)域中,SPIflash,即串行外圍設(shè)備接口閃存,扮演著舉足輕重的角色。它是一種時鐘同步的串行通訊接口,如單片機(jī)語音芯片與
    的頭像 發(fā)表于 12-03 01:01 ?195次閱讀
    單片機(jī)語音芯片中的SPI Flash探秘及其分類<b class='flag-5'>詳解</b>

    PCIe數(shù)據(jù)傳輸協(xié)議詳解

    、網(wǎng)卡和聲卡等,以實(shí)現(xiàn)高效的數(shù)據(jù)傳輸。以下是對PCIe數(shù)據(jù)傳輸協(xié)議的介紹: 一、PCIe協(xié)議的基本概念 PCIe協(xié)議定義了一系列規(guī)范和要求,以實(shí)現(xiàn)在主機(jī)系統(tǒng)和外圍設(shè)備之間高效、可靠地進(jìn)行數(shù)據(jù)通信。它采用了高速串行點(diǎn)對點(diǎn)雙通道高帶寬傳輸方式,所連接的
    的頭像 發(fā)表于 11-26 16:12 ?917次閱讀

    串行接口PCB設(shè)計(jì)指南:優(yōu)化布局與布線策略

    、RS485、SPI為例,介紹這些接口的特點(diǎn)和應(yīng)用。 1、RS232接口 RS232接口是美國電子工業(yè)協(xié)會(EIA)制定的一種串行物理接口標(biāo)
    發(fā)表于 09-18 12:02

    SPI通信協(xié)議的基本概念和工作模式

    SPI(Serial Peripheral Interface)通信協(xié)議,即串行外圍設(shè)備接口,是一種高速、全雙工、同步通信總線,由摩托羅拉公司提出并廣泛應(yīng)用。SPI以其高效的數(shù)據(jù)傳輸能力和簡單的硬件
    的頭像 發(fā)表于 09-09 17:04 ?1488次閱讀

    串行接口與并行接口的區(qū)別

    串行接口(Serial Interface)與并行接口(Parallel Interface)是計(jì)算機(jī)與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)膬煞N基本方式,它們在多個方面存在顯著差異。以下將從數(shù)據(jù)
    的頭像 發(fā)表于 08-25 17:08 ?3852次閱讀

    串行接口的工作原理和結(jié)構(gòu)

    串行接口(Serial Interface)的工作原理和結(jié)構(gòu)是理解其在計(jì)算機(jī)與外部設(shè)備之間數(shù)據(jù)傳輸方式的重要基礎(chǔ)。以下將詳細(xì)闡述串行接口的工
    的頭像 發(fā)表于 08-25 17:01 ?1709次閱讀

    使用GMSL隧穿對遠(yuǎn)程汽車外設(shè)進(jìn)行身份驗(yàn)證

    外圍設(shè)備是經(jīng)過授權(quán)的高質(zhì)量組件非常重要。千兆多媒體串行鏈路(GMSL)串行-反序列化器(SerDes)對與DS28C40的結(jié)合是一種解決方案,用于連接嵌入在外圍設(shè)備
    的頭像 發(fā)表于 03-05 08:23 ?1221次閱讀
    使用GMSL隧穿對遠(yuǎn)程汽車外設(shè)進(jìn)行身份驗(yàn)證

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

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

    用PSOC6 BLE當(dāng)外圍設(shè)備,兩者傳輸數(shù)據(jù)時,psoc6概率性出現(xiàn)藍(lán)牙掛死的原因?

    我們用PSOC6 BLE當(dāng)外圍設(shè)備,手機(jī)當(dāng)中心設(shè)備, 兩者傳輸數(shù)據(jù)時,psoc6概率性(1%的概率)出現(xiàn)藍(lán)牙掛死。具體現(xiàn)象是 斷開手機(jī)藍(lán)牙后,無法收到ble廣播,硬件上查到ble的晶振一直處于起振
    發(fā)表于 02-21 06:54

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

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

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

    以通過USB-C接口提供更高的功率輸出,以滿足各種設(shè)備的充電需求。 USB接口是一種通用的串行總線標(biāo)準(zhǔn),它早期版本主要用于連接計(jì)算機(jī)與外圍設(shè)備
    的頭像 發(fā)表于 01-31 17:01 ?8199次閱讀

    PSOC6如何通過I2C與外圍設(shè)備通信?

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

    TC39x如何在用戶模式下訪問外圍設(shè)備

    你好, 我已經(jīng)在 TC39x 中啟用了用戶模式 1,并希望在用戶模式下允許訪問一些外圍設(shè)備和功能。 我主要想在用戶模式下使用 cpu endinit(在啟用和禁用看門狗的上下文中)。
    發(fā)表于 01-22 06:52
    主站蜘蛛池模板: 免费午夜网站| 干中文字幕| 久久精品5| 激情五月开心网| 天堂网传媒| 国产大毛片| 伊人久久成人成综合网222| 免费在线色视频| 人人爱天天操| 成人久久久精品乱码一区二区三区| 亚洲第一区第二区| 国产一级真人毛爱做毛片| 国产亚洲欧美日本一二三本道| 国产一区国产二区国产三区| 色97色| 一本高清在线| 亚洲视频三区| 欧美日韩在线成人免费| 日韩一级片视频| 中文三级视频| 国产九色在线| 免费免费啪视频视频观看| 色五月天天| 国产免费人成在线视频视频| 丁香六月综合网| 特黄特色三级在线播放| 午夜一级免费视频| 久久精品国产免费观看99| 精品国产污网站在线观看15| 成人夜色香网站在线观看| 在线播放你懂| 免费在线观看一级毛片| 精品久久天干天天天按摩| 亚洲国产丝袜精品一区杨幂| 91久久另类重口变态| 亚欧毛片基地国产毛片基地| 日韩精品一级a毛片| 夜夜爱夜夜爽夜夜做夜夜欢| 热99热| 成人伊人电影| 日本一道高清不卡免费|