一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

FPGA入門系列15--SPI總線介紹

e9Zb_gh_8734352 ? 來源:FPGA技術(shù)聯(lián)盟 ? 作者:FPGA技術(shù)聯(lián)盟 ? 2021-03-04 16:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本系列文章主要針對FPGA初學(xué)者編寫,包括FPGA的模塊書寫、基礎(chǔ)語法、狀態(tài)機、RAMUART、SPI、VGA、以及功能驗證等。將每一個知識點作為一個章節(jié)進行講解,旨在更快速的提升初學(xué)者在FPGA開發(fā)方面的能力,每一個章節(jié)中都有針對性的代碼書寫以及代碼的講解,可作為讀者參考。

16

第十六章:SPI

SPI簡介

電子系統(tǒng)設(shè)計中,往往被IIC/SPI/UART等總線搞的暈頭轉(zhuǎn)向,本文詳細介紹SPI總線的接口協(xié)議和應(yīng)用。

SPI總線是一種同步串行外設(shè)接口,它可以使MCU/FPGA/DSP控制器與各種外圍設(shè)備以串行方式進行通信。其具有通信速度快,同步設(shè)計以及控制協(xié)議簡單等特點,是電子系統(tǒng)設(shè)計的常用選擇之一。很多芯片的控制都提供SPI接口。

SPI 是英語 Serial Peripheral Interface 的縮寫,顧名思義就是串行外圍設(shè)備接口。是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,最早由Motorola提出的。由于其簡單易用的特性,現(xiàn)在很多的芯片都集成了SPI通信協(xié)議。

SPI傳輸串行數(shù)據(jù)時首先傳輸最高位。波特率可以高達5Mbps,具體速度大小取決于SPI硬件。例如,Xicor公司的SPI串行器件傳輸速度能達到5MHz。

SPI flash 芯片應(yīng)用十分廣泛,在很多電子產(chǎn)品上面或多或少都有它的蹤影,如手機、數(shù)碼、液晶顯示器、機頂盒、電腦主板等。主要應(yīng)用在EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器等,也是很多復(fù)雜芯片參數(shù)配置的常用接口。

SPI總線介紹

SPI 接口一般使用 4 條線通信,包括片選線(cs_n)、時鐘線(sclk/sck)、輸入數(shù)據(jù)線(sdi/miso) 和輸出數(shù)據(jù)線(sdo/mosi):

SCLK:串行時鐘線,由主設(shè)備產(chǎn)生;

MISO:主設(shè)備數(shù)據(jù)輸入,從設(shè)備輸出;

MOSI:主設(shè)備數(shù)據(jù)輸出,從設(shè)備輸入;

CS:從設(shè)備片選信號,由主設(shè)備控制。

0e61a438-7b3c-11eb-8b86-12bb97331649.png

其中CS是片選信號,可以預(yù)先規(guī)定其為高使能或者低使能有效時,對此芯片的操作才有效。這就允許在同一總線上連接多個SPI設(shè)備。

SPI接口在Master控制下產(chǎn)生的從器件使能信號和時鐘信號,兩個雙向移位寄存器按位傳輸進行數(shù)據(jù)交換,傳輸數(shù)據(jù)高位在前,低位在后(MSB)。在SCK的下降沿數(shù)據(jù)改變,上升沿一位數(shù)據(jù)被存入移位寄存器,如圖所示:

0efbd364-7b3c-11eb-8b86-12bb97331649.png

SPI總線通信特點

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

SPI 規(guī)定了兩個 SPI 設(shè)備之間通信必須由主設(shè)備 (Master) 來控制從設(shè)備 (Slave). 一個 Master 設(shè)備可以通過提供 Clock 以及對 Slave 設(shè)備進行片選來控制多個 Slave 設(shè)備。

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ù)進行采樣, 來保證數(shù)據(jù)在兩個設(shè)備之間是同步傳輸?shù)摹?/p>

3.數(shù)據(jù)交換(Data Exchanges)

SPI設(shè)備間的數(shù)據(jù)傳輸之所以又被稱為數(shù)據(jù)交換, 是因為 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ù)被交換了。

0f3b1e0c-7b3c-11eb-8b86-12bb97331649.png

SPI FLASH讀寫介紹

對flash芯片的操作,一般包括對flash芯片的擦除,編程和讀取,各大廠商的SPI flash芯片都大同小異,操作命令基本是沒什么變化的,當(dāng)我們拿到一款芯片,要特別注意芯片的容量,操作分區(qū)等。

其實,無論是對芯片的擦除,編程還是讀取操作,我們大致可以按照以下的套路來:寫命令---寫地址---寫(讀)數(shù)據(jù)。正如以下的時序圖一樣清晰明了,我們先把片選信號拉低,再依次寫指令,地址和數(shù)據(jù),就可以對FLASH芯片進行操作。

0f75a6bc-7b3c-11eb-8b86-12bb97331649.png

在第十七章中將通過SPI總線控制Flash為例講解擦除的實現(xiàn)。

責(zé)任編輯:lq

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

    關(guān)注

    1645

    文章

    22040

    瀏覽量

    618188
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6206

    瀏覽量

    137789
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1804

    瀏覽量

    95886

原文標題:FPGA入門系列15--SPI

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用nRFF54L15初始化一個SPI

    新建一個nrf5l15dk_nrf54l15_cpuapp.overlay 添加需要的內(nèi)容 }; }; spi22_sleep_alt : spi22_sleep_alt { group1 {
    的頭像 發(fā)表于 06-27 14:55 ?153次閱讀
    使用nRFF54L<b class='flag-5'>15</b>初始化一個<b class='flag-5'>SPI</b>

    第十七章 SPI——讀寫串行FLASH

    本章介紹SPI協(xié)議,其為高速全雙工通信總線,含物理層、協(xié)議層內(nèi)容,還講解W55MH32的SPI特性、初始化及DMA相關(guān)配置。
    的頭像 發(fā)表于 06-19 17:06 ?528次閱讀
    第十七章 <b class='flag-5'>SPI</b>——讀寫串行FLASH

    看完這篇,SPI其實也很簡單嘛(可下載)

    首先我們來簡單介紹一下SPISPI是串行外設(shè)接口(SerialPeripheralInterface)簡單來講就是它一種高速的,全雙工,同步的通信總線被各種
    發(fā)表于 03-26 14:29 ?2次下載

    對于一款新的BSP如何添加SPI驅(qū)動

    介紹SPI總線由開發(fā),是一種,由四個IO口組成:CS、SCLK、MISO、MOSI;通常用于CPU和外設(shè)之間進行通信,常見的SPI總線設(shè)備有
    的頭像 發(fā)表于 02-26 19:00 ?503次閱讀
    對于一款新的BSP如何添加<b class='flag-5'>SPI</b>驅(qū)動

    【國產(chǎn)FPGA必備教程】——紫光同創(chuàng)FPGA圖像視頻教程,適用于小眼睛FPGA盤古全系列開發(fā)板

    案例、時序約束及收斂方法等,教程內(nèi)容豐富,從入門到應(yīng)用提高,覆蓋紫光同創(chuàng)FPGA開發(fā)全流程,教程適用于小眼睛科技盤古系列、泰坦系列全開發(fā)套件。目前,小眼睛科技基于
    發(fā)表于 02-19 15:44

    SPI通信總線概述和Verilog實現(xiàn)

    SPI = Serial Peripheral Interface,是串行外圍設(shè)備接口,是一種高速,全雙工,同步的通信總線
    的頭像 發(fā)表于 02-07 14:28 ?1409次閱讀
    <b class='flag-5'>SPI</b>通信<b class='flag-5'>總線</b>概述和Verilog實現(xiàn)

    你知道什么是SPI嗎?一文入門,簡單易懂

    在現(xiàn)代電子設(shè)備中,數(shù)據(jù)傳輸?shù)乃俣群托手陵P(guān)重要。SPI(SerialPeripheralInterface,串行外圍接口),作為一種同步串行數(shù)據(jù)總線,因其高效、全雙工的特點而廣泛應(yīng)用于嵌入式系統(tǒng)
    的頭像 發(fā)表于 02-05 17:22 ?4673次閱讀
    你知道什么是<b class='flag-5'>SPI</b>嗎?一文<b class='flag-5'>入門</b>,簡單易懂

    SH32F9001的SPI介紹與應(yīng)用

    SPI(Serial peripheral interface)即串行外圍設(shè)備接口,是由Motorola首先在其MC68HCxx系列單片機上定義的,基于高速全雙工總線的通訊協(xié)議。被廣泛應(yīng)用于LCD
    的頭像 發(fā)表于 12-31 17:04 ?1661次閱讀
    SH32F9001的<b class='flag-5'>SPI</b><b class='flag-5'>介紹</b>與應(yīng)用

    請問FPGA同時連兩片AMC7836時SPI通信是否會互擾?

    請教確認一下,當(dāng)FPGA同時連兩片AMC7836時,兩片7836共用SPI總線,各有獨立的片選,那么在對其中一片7836進行SPI通信時另一片7836的
    發(fā)表于 12-05 06:26

    請問DAC80508M的SPI總線支持三線模式嗎?如果SPI總線上面只掛了一個DAC80508M,CS腳可以直接接地嗎?

    1. 請問DAC80508M的SPI總線支持三線模式嗎?如果SPI總線上面只掛了一個DAC80508M,CS腳可以直接接地嗎? 1. BRDCAST-DATA[
    發(fā)表于 11-20 06:00

    采用Xilinx FPGA的AFE79xx SPI啟動指南

    電子發(fā)燒友網(wǎng)站提供《采用Xilinx FPGA的AFE79xx SPI啟動指南.pdf》資料免費下載
    發(fā)表于 11-15 15:28 ?0次下載
    采用Xilinx <b class='flag-5'>FPGA</b>的AFE79xx <b class='flag-5'>SPI</b>啟動指南

    DS1302芯片與FPGA之間SPI通信原理

    本文通過以DS1302芯片為基礎(chǔ),介紹該芯片與FPGA之間SPI通信原理,詳細描述硬件設(shè)計原理及FPGA SPI接口驅(qū)動設(shè)計。
    的頭像 發(fā)表于 10-24 14:16 ?1544次閱讀
    DS1302芯片與<b class='flag-5'>FPGA</b>之間<b class='flag-5'>SPI</b>通信原理

    SPI總線的定義和特點

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

    【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(8)SPI 模塊介紹

    串行外設(shè)接口(Serial Peripheral Interface,縮寫為 SPI) 提供了基于SPI 協(xié)議的數(shù)據(jù)發(fā)送和接收功能, 可以工作于主機或從機模式。 SPI 接口支持具有硬件 CRC 計算和校驗的全雙工和單工模式。
    的頭像 發(fā)表于 08-17 09:36 ?1474次閱讀
    【GD32 MCU <b class='flag-5'>入門</b>教程】GD32 MCU 常見外設(shè)<b class='flag-5'>介紹</b>(8)<b class='flag-5'>SPI</b> 模塊<b class='flag-5'>介紹</b>

    全國產(chǎn)T3+FPGASPI與I2C通信方案分享

    簡單、可靠和靈活的數(shù)據(jù)傳輸。它廣泛應(yīng)用于各種傳感器、存儲設(shè)備、顯示設(shè)備和通信模塊等領(lǐng)域。適用控制命名傳輸和系統(tǒng)配置的應(yīng)用場景。 圖3 I2C通信總線 國產(chǎn)T3 + FPGASPI與I2C通信方案
    發(fā)表于 07-17 10:52