吴忠躺衫网络科技有限公司

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

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

3天內不再提示

淺談SPI總線通信接口及其協議

CHANBAEK ? 來源:落木青云 ? 作者:落木青云 ? 2023-03-22 16:11 ? 次閱讀

上篇內容我們介紹了IIC總線通信接口及其協議,這一篇文章我們介紹另一種項目開發中非常常見的通信接口——SPI總線。

SPI(Serial Peripheral Interface,串行外設接口)總線是摩托羅拉公司設計的一種同步串行通信接口。 和IIC總線一樣,它也分主機和從機,一個主機也可以接多個從機,但從機沒有地址之分,它們是通過主機的硬件選擇來確定哪個設備與主機通信,每個設備有兩個數據端口,即輸入、輸出端口,通常情況下它包含4根通信引腳,在某些特殊情形下也可以是3線甚至2線,即可以忽略片選信號或某根數據信號,當然具體情況根據電路應用而定!

SS/CS——片選信號端口

SCLK——時鐘信號端口

MOSI——主出從入信號端口

MISO——主入從出信號端口

硬件接線圖:

wKgZomQat-eAIAnKAAAtFEdxSh8591.jpg

硬件連接圖

部分資料芯片手冊中會使用SDO,SDI來定義兩數據端口MOSI和MISO,兩種說法本質都是一樣的

wKgaomQat-aATIJcAAASOoN2MpQ291.jpg

SDO,SDI連線示意

相比于IIC總線,SPI總線協議更為簡單,不需要驗證地址,也沒有校驗信號,又因為擁有獨立的輸入輸出端口,所以在信號傳遞方面它擁有更高的速率。

wKgZomQat-aARSQMAAJ8YELUXZA044.jpg

多機通信電路

通信協議

SPI總線中由于涉及到時鐘信號極性(Cpol: Clock Polarity)和相位(Cpha: Clock Phase)的影響使得協議分為4種模式。

CPOL:即時鐘的極性,通信的整個過程包含空閑狀態和工作狀態,如果SCLK在空閑狀態是高電平,那么CPOL=1,如果是低電平,那么就是CPOL=0。

CPHA:即時鐘的相位,在這里就是SCLK的跳變邊沿,如果在SCLK信號的第一個跳變沿就開始數據傳輸則CPHA=0,否則若是在第二個邊沿才開始數據傳輸則CPHA=1。

讀起來還是有點拗口,看時序圖會更直觀一點:

wKgaomQat-eAauqdAAMdTOSvwPM371.jpg

時序圖

當然這些不用記憶,你使用的時候根據具體的芯片手冊的時序說明進行配置就好了,不要把簡單的事情復雜化。心里有個概念就好,假如你是應屆畢業生參加面試那保證自己能區分開來這幾種模式就可以,很多畢業生連IIC和SPI是什么東西都不知道呢,因為教材里面不一定會介紹這些通信協議,51單片機教材里印象中好像除了串口通信外沒有介紹其他的通信方式,即使有類似應用也沒使用這些專業名稱來說明,其他的很多都得是自己買塊板子回來折騰才碰得到的。如果你是在校學生看看教材或者不妨問問你身邊的同學試試。

一般情況下作為主機的單片機如果硬件接口具備SPI總線端口編程時直接根據對應寄存器配置為從機可以接受的模式使能該總線功能即可,若是普通不帶SPI總線的單片機,那我們也簡單,和上一篇中的模擬IIC通信一樣,根據需要在程序中模擬出時序就好了。這里再次說明了讀芯片數據手冊的重要性,有的人或許芯片手冊都不看,從網上找一個別人跑得通的代碼就copy過去,或許可能剛好能用,也可能搞半天自己的芯片啥數據都讀不出來,這是初學者大忌,所以學技術切莫急功近利,每一次的僥幸可能造成日后的大雷。

通信程序

SPI通信協議的程序使用起來比較靈活,它的應用的場合也比較多,具體的示例程序在后面的實際例子中再做介紹了。結合上一篇IIC的示例程序,今天的SPI協議程序應該腦海里應該也有思路了吧。

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

    關注

    33

    文章

    8691

    瀏覽量

    151911
  • 通信
    +關注

    關注

    18

    文章

    6070

    瀏覽量

    136423
  • 端口
    +關注

    關注

    4

    文章

    990

    瀏覽量

    32206
  • SPI總線
    +關注

    關注

    4

    文章

    104

    瀏覽量

    27665
  • IIC總線
    +關注

    關注

    1

    文章

    66

    瀏覽量

    20397
收藏 人收藏

    評論

    相關推薦

    3分鐘理解通信協議SPI總線 #通信協議

    通信協議SPISPI總線總線/接口技術
    硬聲課堂
    發布于 :2021年10月18日 10:18:55

    SPI總線協議通信原理及應用舉例

    。  在點對點的通信中,SPI接口不需要進行尋址操作,且為全雙工通信,顯得簡單高效。在多個從設備的系統中,每個從設備需要獨立的使能信號,硬件上比I2C系統要稍微復雜一些。  最后,
    發表于 11-08 15:31

    怎么使用FPGA實現SPI總線通信接口

    隨著現代技術的發展,SPI接口總線已經成為了一種標準的接口,由于協議實現簡單,并且I/O資源占用少,為此
    發表于 08-09 08:14

    SPI總線協議介紹及硬件設計資料分享

    typora-copy-images-to: typora_picture基于FPGA與MCU通信SPI協議設計1. SPI總線
    發表于 11-10 07:06

    SPI總線協議簡介

    的。SPI接口主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。SPI是一種高速的,全雙工,同步的通信
    發表于 12-13 07:37

    基于PC/104 總線與CPLD 的SPI 接口設計

    本文根據SPI 同步串行接口通信協議,介紹了在CPLD 中利用VHDL 語言實現PC/104 總線擴展SPI
    發表于 05-30 09:28 ?41次下載

    SPI總線實現DSP和MCU之間的高速通信

    簡述了SPI總線協議工作時序和配置要求,通過一個成功的實例詳細介紹了使用SPI總線實現DSP與MCU之間的高速
    發表于 11-27 15:10 ?58次下載

    CAN總線通信協議的分析和實現 CAN總線通信協議及其實現方法

    CAN總線通信協議的分析和實現 CAN總線通信協議及其實現方法
    發表于 09-04 08:45 ?40次下載
    CAN<b class='flag-5'>總線</b><b class='flag-5'>通信協議</b>的分析和實現 CAN<b class='flag-5'>總線</b><b class='flag-5'>通信協議</b>以<b class='flag-5'>及其</b>實現方法

    串行外設接口SPI通信協議的應用

    SPI是串行外設接口(SerialPeripheral Interface)的縮寫。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片
    發表于 01-09 14:58 ?1916次閱讀
    串行外設<b class='flag-5'>接口</b><b class='flag-5'>SPI</b><b class='flag-5'>通信協議</b>的應用

    嵌入式硬件通信接口協議中的串行通信接口-SPI

    本節繼續講嵌入式硬件通信接口協議中的另外一個串行通信接口-SPI。相比于UART串口
    發表于 02-05 11:35 ?1669次閱讀
    嵌入式硬件<b class='flag-5'>通信</b><b class='flag-5'>接口</b><b class='flag-5'>協議</b>中的串行<b class='flag-5'>通信</b><b class='flag-5'>接口</b>-<b class='flag-5'>SPI</b>

    基于FPGA與MCU通信SPI協議設計

    typora-copy-images-to: typora_picture基于FPGA與MCU通信SPI協議設計1. SPI總線
    發表于 11-05 15:35 ?16次下載
    基于FPGA與MCU<b class='flag-5'>通信</b>的<b class='flag-5'>SPI</b><b class='flag-5'>協議</b>設計

    SPI協議

    目錄SPI協議簡介SPI物理層SPI協議SPI協議
    發表于 12-22 19:17 ?34次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>協議</b>

    通信協議SPI

    STM32模擬SPI通信協議SPI的簡介:SPI是串行外設接口的縮寫,是一種高速的,全雙工、同步的串行
    發表于 12-22 19:20 ?22次下載
    <b class='flag-5'>通信協議</b>:<b class='flag-5'>SPI</b>

    通信協議SPI

    一、SPI簡介SPI(Serial Peripheral Interface)是串行外設接口的縮寫,SPI是高速的,**全雙工**、**同步**的串行
    發表于 12-22 19:33 ?6次下載
    <b class='flag-5'>通信協議</b>(<b class='flag-5'>SPI</b>)

    嵌入式硬件通信接口協議-SPI(一)協議基礎

    /hDUK43s8naybJLvoE2UsoA?本節繼續講嵌入式硬件通信接口協議中的另外一個串行通信接口-
    發表于 01-12 17:48 ?10次下載
    嵌入式硬件<b class='flag-5'>通信</b><b class='flag-5'>接口</b><b class='flag-5'>協議</b>-<b class='flag-5'>SPI</b>(一)<b class='flag-5'>協議</b>基礎
    大发888真钱娱乐场| 钱柜娱乐城怎么样| 百家乐强弱走势| 百家乐游戏补牌规则| 百家乐官网红桌布| 百家乐官网怎么骗人| 百家乐官网平台哪个有在线支付呢| 苗栗市| 香港六合彩特码| 威尼斯人娱乐城官方站| 百家乐庄闲和的概率| 百家乐单机版游戏下载| 马牌百家乐现金网| 大赢家百家乐官网娱乐| 百家乐官网游戏接口| 澳门赌百家乐官网能赢钱吗| 独赢百家乐官网全讯网| 百家乐官网千术道具| 通海县| 真钱现金斗地主| 12bet| 立博国际| 香港六合彩码报| 百家乐庄6点| ea百家乐打水| 粤港澳百家乐娱乐场| 百家乐赌现金| 百家乐扫瞄光纤洗牌机扑克洗牌机扑克洗牌机| 百家乐娱乐求指点呀| 真人百家乐网站接口| 现场百家乐电话投注| 百家乐9人桌| 波音百家乐自动投注| 百家乐英皇娱乐城| 百家乐的最佳玩| 至尊百家乐20130201| 百家乐的出千手法| 百家乐赌场技巧论坛| A8百家乐娱乐场| 百家乐微笑不倒| 网上百家乐公司|