精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

ADC的3線SPI配置時序

FPGA之家 ? 來源:FPGA之家 ? 2020-09-07 17:12 ? 次閱讀

上篇以德州儀器(TI)的高速ADC芯片——ads52j90為例,介紹完了4線SPI配置時序。本篇將以Analog Device(ADI)的多通道高速ADC芯片AD9249為例,介紹3線SPI讀寫配置時序。另外,大家如果想詳細了解Analog Device(ADI)公司的關于SPI的所有內容,推薦大家在其官網閱讀AN-877。

AD9249的SPI控制模塊包含4根信號線,即CSB1、CSB2、SDIO以及SCLK。但CSB1、CSB2可以一起由CSB來控制,實際上就是3線SPI。由于3線SPI數據的讀、寫操作在同一根信號線SDIO上實現,因此其配置方式與4線的配置稍微有些不一樣。下面我們將詳細介紹讀寫操作:

CSB:SPI控制讀寫使能信號;

SDIO:SPI的數據、地址讀寫端口

SCLK:FPGA提供給ADC的SPI接口時鐘

如下圖1所示為該ADC的SPI讀、寫配置時序圖。其中CSB和SCLK的操作和上篇介紹的4線SPI配置相同,圖上的時序參數在其datasheet上也有明確的說明,這里就不介紹了。

3線SPI與4線SPI配置的主要不同之處在傳輸的數據格式以及I/O轉換上。其讀寫數據格式由控制命令+地址+數據組成,而上篇提到的4線配置只有地址+數據。

圖1:SPI讀、寫時序圖

其中R/~W為高電平時,表示讀操作,低電平表示寫操作。W1,W0表示要讀寫的數據字節數,一般都設為0,代表每次讀寫一個寄存器地址的數據。A12~A0表示13bit的寄存器地址。D7~D0表示要讀寫的8bit寄存器數據。

因此我們在SPI寫操作時,只需寫入1bit 1+ 2bit 0 +13bit地址+ 8bit數據即可。其配置的方法和上篇的4線SPI寫操作相同。但當我們在執行SPI讀操作時,就需要注意了:

首先需寫入1bit 0+ 2bit 0 +13bit地址,當最后1bit的地址A0在SCLK的上升沿寫入SDIO后,SDIO會由輸入口變為輸出口,然后在接下來的8個SCLK下降沿,SDIO會輸出寄存器的8bit數據。因此,在ADC的SDIO由輸入變為輸出口時,FPGA端的SDIO必須同步由輸出口變為輸入口,并在SCLK上升沿接收這8bit數據最穩定,FPGA端口的這種I/O轉換可以通過其內置的三態門來實現。

如圖2所示為SDIO由輸入口變為輸出口的時序控制圖,tEN_SDIO為轉換時間,其最小時間為10ns,參考零點為SCLK下降沿。

圖2:SDIO輸入轉換為輸出的時序圖

如圖3所示為SDIO由輸出口變為輸入口的時序控制圖,tDIS_SDIO為轉換時間,其最小時間也為10ns,參考零點為SCLK上升沿。

圖3:SDIO輸出轉換為輸入的時序圖

3線SPI的讀寫時序分析就介紹到這里了,同樣強調幾個關鍵點:

關鍵點1:CSB在讀寫操作時,必須拉低。讀寫完成之后,必須拉高。

關鍵點2:SDIO作為輸入口時,數據每次必須在SCLK的上升沿寫入SPI。

關鍵點3:SDIO作為輸出口時,寄存器數據每次在SCLK的下降沿輸出SPI,FPGA端在SCLK的上升沿處捕獲數據最穩定。

關鍵點4:一定要滿足datasheet給出的SPI的時序參數,并在代碼實現時要留有適當的時序裕量。

關鍵點5:注意FPGA端的SDIO口的三態控制邏輯,以便正確讀寫ADC寄存器。

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

    關注

    98

    文章

    6438

    瀏覽量

    544104
  • 控制模塊
    +關注

    關注

    2

    文章

    129

    瀏覽量

    18825
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1701

    瀏覽量

    91329

原文標題:FPGA通過SPI對ADC配置簡介(三)---3線SPI配置時序分析

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問ADS8671讀寫時序是怎么樣的?

    ;_00000000_00000000,然后再發送16bit的sclk來讀取寄存器數據,但是讀取到的數據是adc的轉換數據,并且寫入也沒成功,看過spi時序是對的,想請問這個期間的讀寫時序
    發表于 11-21 08:23

    ADC3663的SPI配置管腳連接至FPGA時遇到IO電平不匹配怎么解決?

    ADC3663的SPI配置管腳連接至FPGA時遇到IO電平不匹配問題。FPGA的IO是2.5V CMOS電平,ADC3663是1.8V CMOS電平,但是3663的
    發表于 11-14 08:08

    ADS127L11配置ADC使用外部時鐘以及FILTER[4:0]都不成功,為什么?

    配置ADC使用外部時鐘以及FILTER[4:0]都不成功,spi時序都是正常的,使用的是4spi
    發表于 11-13 08:03

    ADS127L11使用4spi不管怎么配置寄存器,示波器看到ADC的drdy脈沖周期始終是400K,怎么回事?

    我使用4spi不管怎么配置寄存器,示波器看到ADC的drdy脈沖周期始終是400K,不知道怎么回事?我檢查時序也都是符合要求的正常操作。
    發表于 11-13 06:36

    TPS65910x時序配置

    電子發燒友網站提供《TPS65910x時序配置.pdf》資料免費下載
    發表于 10-25 09:57 ?0次下載
    TPS65910x<b class='flag-5'>時序</b><b class='flag-5'>配置</b>

    瀚海微SD NAND之SD 協議(42)SPI總線時序

    -卡已準備好 下面的時序圖描述了基本的命令響應(無數據)SPI事務。 主機命令到卡響應卡忙 下面的時序圖描述了R1b響應的命令響應事務(例如SET_WRITE_PROT和ERASE)。 當卡信號繁忙時,主機可以在任何時候取消選擇
    的頭像 發表于 10-21 10:19 ?214次閱讀
    瀚海微SD NAND之SD 協議(42)<b class='flag-5'>SPI</b>總線<b class='flag-5'>時序</b>

    esp32-s3 spi初始化如何配置SPI_DEVICE_3WIRE?

    再來求助一下,spi初始化配置中有SPI_DEVICE_3WIRE,是否說明支持3spi,支持
    發表于 06-19 06:23

    STM32H7的Octo-SPI或者Quad-SPI能否支持讀取ADC的數據?

    ADC使用的AD7380.2通道4M的同步ADCSPI接口需要使用2個數據接收引腳 和一個數據輸出引腳。等于是三根數據。 普通的SPI
    發表于 04-01 06:10

    STM32F407 3SPI如何配置

    現在需要3SPI進行通信,也就是從機的MOSI和MISO為一根。 我在參考手冊看到,STM32F407可以滿足雙向數據 請問ST官方
    發表于 03-26 07:16

    能否用MCU訪問非標準SPI接口?

    的印刷電路板(PCB)布線簡單,并且有比并行接口更快的時鐘速率,因而越來越受歡迎。而且,使用標準SPI很容易將ADC連接到控制器 。 一些新型ADC具有SPI,但有些
    的頭像 發表于 12-23 12:25 ?805次閱讀
    能否用MCU訪問非標準<b class='flag-5'>SPI</b>接口?

    FPGA通過SPIADC配置簡介(三)3SPI配置時序分析

    AD9249的SPI控制模塊包含4根信號,即CSB1、CSB2、SDIO以及SCLK。但CSB1、CSB2可以一起由CSB來控制,實際上就是3S
    的頭像 發表于 12-12 10:47 ?2392次閱讀
    FPGA通過<b class='flag-5'>SPI</b>對<b class='flag-5'>ADC</b><b class='flag-5'>配置</b>簡介(三)<b class='flag-5'>3</b><b class='flag-5'>線</b><b class='flag-5'>SPI</b><b class='flag-5'>配置</b><b class='flag-5'>時序</b>分析

    FPGA通過SPIADC配置簡介(二)-4SPI配置時序分析

    本篇將以德州儀器(TI)的高速ADC芯片—ads52j90為例,進行ADC的4SPI配置時序
    的頭像 發表于 12-11 09:05 ?1782次閱讀
    FPGA通過<b class='flag-5'>SPI</b>對<b class='flag-5'>ADC</b><b class='flag-5'>配置</b>簡介(二)-4<b class='flag-5'>線</b><b class='flag-5'>SPI</b><b class='flag-5'>配置</b><b class='flag-5'>時序</b>分析

    FPGA驅動AD4001 ,3Turbo模式,時序要求已經滿足,但是輸出不正常的原因?

    問題描述: 1、FPGA驅動AD4001 ,3Turbo模式,時序要求已經滿足,但是輸出不正常。 2、已經按照spec中的說明,將spi_clk 設置為100Mhz(spec要求
    發表于 12-06 06:30

    根據AD7916時序配置3無繁忙提示讀不到信號是為什么?

    根據AD7916時序配置3無繁忙提示讀不到信號 無效的 AD_ read( 撤銷) { 8 噸 = 0; adc_nss(1);
    發表于 12-01 16:07

    AD5412非標的三SPI如何與標準的四SPI通信?

    AD5412非標的三SPI如何與標準的四SPI通信,芯片手冊中的時序不是標準的SPI
    發表于 12-01 06:31