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

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

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

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

配置芯片寄存器的SPI通信協(xié)議的verilog實現(xiàn)

冬至配餃子 ? 來源:Bug記錄 ? 作者:woodfan ? 2023-06-16 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近正在調(diào)試一個芯片的評估板,其中配置寄存器使用的是SPI通信協(xié)議。其實很多芯片寄存器的配置都用到了SPI通信協(xié)議,我們今天就需要實現(xiàn)這個SPI通信協(xié)議。

首先,我們需要了解SPI協(xié)議的基本內(nèi)容,SPI主要有四根傳輸線,分別為SPI_CLK, SPI_EN, SPI_DI, SPI_DO。

主設備會將數(shù)據(jù)時鐘通過SPI_CLK傳送給從設備,從設備根據(jù)SPI_CLK進行接收發(fā)送工作;SPI需要注意的是極性CPOL和相位CPHA;CPOL指的是時鐘極性,CPHA指的是時鐘相位。一個時鐘周期內(nèi),會有兩個跳變沿,它既有可能是上升沿也有可能是下降沿;CPOL的值決定了SPI數(shù)據(jù)時鐘在空閑狀態(tài)下保持為高電平(CPOL=1)還是低電平(CPOL=0),CPHA的值決定了SPI的采樣邊沿是第一個邊沿(CPHA=0)還是第二個邊沿(CPHA=1)。

舉個例子,從某芯片手冊上看,該芯片手冊SPI的時序圖如下:

圖片

芯片SPI寫時序

可以看到,SPI_CLK在開始和結(jié)束時都保持了低電平狀態(tài),所以CPOL=0,而每次SPI_DI在SPI_CLK的上升沿改變電平值,在SPI_CLK的下降沿保持電平不變,所以可以推斷,SPI的采樣邊沿是第二個邊沿,CPHA=1;

從圖中我們還可以知道,SPI需要工作的時候,SPI_ENB需要拉低,這就是SPI的片選信號,由于SPI沒有尋址機制,所以需要使用片選信號選擇總線上不同的設備。

所以說,SPI_EN的工作最為輕松,在需要發(fā)送數(shù)據(jù)的時候?qū)PI_EN反相,在發(fā)送結(jié)束后再反相回來;SPI_CLK就是在不斷地發(fā)送周期性方波;SPI_DI則是在恰當?shù)臅r機根據(jù)要發(fā)送的數(shù)據(jù)進行高低電平轉(zhuǎn)換,然后保持不變。

圖片

芯片SPI讀時序

這里簡單說一下這個芯片SPI的協(xié)議內(nèi)容,發(fā)送的第一位(MSB)決定了SPI讀寫操作,為1是寫入,為0是讀??;接下來發(fā)送5位0,接著發(fā)送10位的寄存器地址;如果SPI是寫操作,繼續(xù)寫入8位數(shù)據(jù),否則開始接收SPI_DO上的數(shù)據(jù)。

圖片

指令解釋

這里我列出了狀態(tài)機跳轉(zhuǎn)的狀態(tài):

圖片

首先狀態(tài)機不管在任何狀態(tài)都會回到IDLE空閑狀態(tài),在IDLE空閑狀態(tài)下,接收到發(fā)送數(shù)據(jù)的命令就會跳轉(zhuǎn)到WRITE_ADDR寫地址狀態(tài),在寫完前16位數(shù)據(jù)后,根據(jù)第一位的值決定是跳轉(zhuǎn)到WRITE_DATA狀態(tài)接著向芯片寄存器寫入數(shù)據(jù)還是轉(zhuǎn)向READ狀態(tài)讀取寄存器的值;操作結(jié)束后最終狀態(tài)機回到IDLE空閑狀態(tài)。

其實只需要理解芯片手冊上SPI的時序圖,并用verilog將其描述出來,就已經(jīng)成功了一大半。這里我們實操前的準備工作都做完了,接下來就是開始碼verilog代碼并進行仿真,上板測試等等。待我整理出來之后,再與大家一同討論吧。

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124577
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28259
  • SPI通信
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    11670
  • Verilog語言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8560
  • MSB
    MSB
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Verilog設計寄存器

    現(xiàn)代邏輯設計中,時序邏輯設計是核心,而寄存器又是時序邏輯的基礎,下面將介紹幾種常見的寄存器Verilog設計代碼供初學者進行學習理解。
    的頭像 發(fā)表于 07-27 09:03 ?4365次閱讀
    <b class='flag-5'>Verilog</b>設計<b class='flag-5'>寄存器</b>

    fpga與spi通信協(xié)議

    fpga通過spi通信協(xié)議在與外圍設備實現(xiàn)通信的過程中程序代碼該怎么寫?新手勿噴
    發(fā)表于 04-09 12:44

    SPI通信協(xié)議

    EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換,還有數(shù)字信號處理和數(shù)字信號解碼之間。SPI,是一種高速的,全雙工,同步的通信總線,并且
    發(fā)表于 10-12 11:30

    SPI通信協(xié)議

    LOTO虛擬示波器采集到的數(shù)據(jù)波形并進行對比分析,方便大家的理解。SPI通信協(xié)議一般只需要四根線將主控芯片與從芯片連接起來,其中四根線分別為:(1)SDO– 主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)
    發(fā)表于 08-09 07:49

    對串口中斷的通信協(xié)議理解與應用

    雙向通信。本文主要講解對正點原子的串口通信實驗中串口中斷的通信協(xié)議的理解與應用,關(guān)于串口的初始化配置等這里略過不講。在正式開始之前,先把涉及到的寄存
    發(fā)表于 02-14 07:18

    SPI是什么?SPI通信協(xié)議說明

    文章目錄目錄前言一、SPI是什么?二、SPI通信協(xié)議1.通信引腳說明2.通信格式說明3.實現(xiàn)形式
    發(fā)表于 02-17 06:45

    STM32如何模擬SPI通信協(xié)議

    STM32模擬SPI通信協(xié)議SPI的簡介:SPI是串行外設接口的縮寫,是一種高速的,全雙工、同步的串行通信總線;
    發(fā)表于 02-17 08:03

    SPI通信協(xié)議及實例打包

    本文是SPI通信協(xié)議及實例打包分享。
    發(fā)表于 11-16 13:24 ?47次下載

    SPI通信協(xié)議

    SPI接口簡介SPI內(nèi)部結(jié)構(gòu)SPI工作原理SPI特征SPI的四種工作方式SPI時序圖
    發(fā)表于 12-22 19:17 ?5次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>通信協(xié)議</b>

    SPI通信協(xié)議講解

    SPI通信協(xié)議講解SPI通信概念SPI通信SPI
    發(fā)表于 12-22 19:19 ?26次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>通信協(xié)議</b>講解

    通信協(xié)議SPI

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

    通信協(xié)議SPI

    方便,所以越來越多的芯片集成了這種通信協(xié)議;二、尋址方式當主設備要和某個從設備進行通信時,主設備需要先向
    發(fā)表于 12-22 19:33 ?6次下載
    <b class='flag-5'>通信協(xié)議</b>(<b class='flag-5'>SPI</b>)

    plc通信協(xié)議 plc通信原理

    Modbus協(xié)議是一種應用層協(xié)議,建立在串口通信協(xié)議之上,常用于工業(yè)控制系統(tǒng)中。Modbus協(xié)議定義了一系列數(shù)據(jù)傳輸規(guī)則和通信指令,包括讀寫
    的頭像 發(fā)表于 06-26 17:52 ?4436次閱讀

    SPI通信協(xié)議原理是什么

    Peripheral Interface,也就是串行外設接口,同樣是一種通信協(xié)議,在很多芯片中都有集成。 相比之前學習的UART串口通信,他多了兩根線,其中一個是時鐘信號,另一個是設備使能信號,用來控制設備是否
    的頭像 發(fā)表于 11-24 17:37 ?1678次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>通信協(xié)議</b>原理是什么

    scon寄存器在串口通信中的實際應用

    SCON寄存器的具體操作取決于使用的串行通信協(xié)議和相關(guān)硬件的配置。通過設置或讀取SCON寄存器的不同位字段,可以控制串行通信的設置,如波特率
    的頭像 發(fā)表于 02-02 15:10 ?3249次閱讀
    scon<b class='flag-5'>寄存器</b>在串口<b class='flag-5'>通信</b>中的實際應用