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

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

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

ADC的3線SPI配置時(shí)序

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

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

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

CSB:SPI控制讀寫使能信號(hào);

SDIO:SPI的數(shù)據(jù)、地址讀寫端口

SCLK:FPGA提供給ADC的SPI接口時(shí)鐘;

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

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

圖1:SPI讀、寫時(shí)序圖

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

因此我們?cè)赟PI寫操作時(shí),只需寫入1bit 1+ 2bit 0 +13bit地址+ 8bit數(shù)據(jù)即可。其配置的方法和上篇的4線SPI寫操作相同。但當(dāng)我們?cè)趫?zhí)行SPI讀操作時(shí),就需要注意了:

首先需寫入1bit 0+ 2bit 0 +13bit地址,當(dāng)最后1bit的地址A0在SCLK的上升沿寫入SDIO后,SDIO會(huì)由輸入口變?yōu)檩敵隹冢缓笤诮酉聛淼?個(gè)SCLK下降沿,SDIO會(huì)輸出寄存器的8bit數(shù)據(jù)。因此,在ADC的SDIO由輸入變?yōu)檩敵隹跁r(shí),F(xiàn)PGA端的SDIO必須同步由輸出口變?yōu)檩斎肟?,并在SCLK上升沿接收這8bit數(shù)據(jù)最穩(wěn)定,F(xiàn)PGA端口的這種I/O轉(zhuǎn)換可以通過其內(nèi)置的三態(tài)門來實(shí)現(xiàn)。

如圖2所示為SDIO由輸入口變?yōu)檩敵隹诘臅r(shí)序控制圖,tEN_SDIO為轉(zhuǎn)換時(shí)間,其最小時(shí)間為10ns,參考零點(diǎn)為SCLK下降沿。

圖2:SDIO輸入轉(zhuǎn)換為輸出的時(shí)序圖

如圖3所示為SDIO由輸出口變?yōu)檩斎肟诘臅r(shí)序控制圖,tDIS_SDIO為轉(zhuǎn)換時(shí)間,其最小時(shí)間也為10ns,參考零點(diǎn)為SCLK上升沿。

圖3:SDIO輸出轉(zhuǎn)換為輸入的時(shí)序圖

3線SPI的讀寫時(shí)序分析就介紹到這里了,同樣強(qiáng)調(diào)幾個(gè)關(guān)鍵點(diǎn):

關(guān)鍵點(diǎn)1:CSB在讀寫操作時(shí),必須拉低。讀寫完成之后,必須拉高。

關(guān)鍵點(diǎn)2:SDIO作為輸入口時(shí),數(shù)據(jù)每次必須在SCLK的上升沿寫入SPI。

關(guān)鍵點(diǎn)3:SDIO作為輸出口時(shí),寄存器數(shù)據(jù)每次在SCLK的下降沿輸出SPI,F(xiàn)PGA端在SCLK的上升沿處捕獲數(shù)據(jù)最穩(wěn)定。

關(guān)鍵點(diǎn)4:一定要滿足datasheet給出的SPI的時(shí)序參數(shù),并在代碼實(shí)現(xiàn)時(shí)要留有適當(dāng)?shù)臅r(shí)序裕量。

關(guān)鍵點(diǎn)5:注意FPGA端的SDIO口的三態(tài)控制邏輯,以便正確讀寫ADC寄存器。

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

    關(guān)注

    98

    文章

    6396

    瀏覽量

    543804
  • 控制模塊
    +關(guān)注

    關(guān)注

    2

    文章

    129

    瀏覽量

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

    關(guān)注

    17

    文章

    1688

    瀏覽量

    91216

原文標(biāo)題:FPGA通過SPI對(duì)ADC配置簡介(三)---3線SPI配置時(shí)序分析

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TPS65910x時(shí)序配置

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

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

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

    請(qǐng)問esp32-s3支持3spi嗎?

    esp32-s3支持3spi嗎?有的話,可以提供相關(guān)的3
    發(fā)表于 06-19 08:12

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

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

    請(qǐng)問esp32-s3如何進(jìn)行3spi通信?

    想通過esp32-s3驅(qū)動(dòng)3spi的屏,但是一直初始化不成功。所以來求助一下esp32的3
    發(fā)表于 06-14 08:00

    ESP32三SPI雙向通信的話需要怎么配置呢?

    尋求幫助: ESP32三SPI雙向通信的話需要怎么配置呢?
    發(fā)表于 06-06 06:45

    FPGA設(shè)計(jì)中SPI的參數(shù)化結(jié)構(gòu)設(shè)計(jì)方法

    為了避免每次SPI驅(qū)動(dòng)重寫,直接參數(shù)化,盡量一勞永逸。SPI master有啥用呢,你發(fā)現(xiàn)各種外圍芯片的配置一般都是通過SPI配置的,只不過
    發(fā)表于 04-02 10:01 ?711次閱讀
    FPGA設(shè)計(jì)中<b class='flag-5'>SPI</b>的參數(shù)化結(jié)構(gòu)設(shè)計(jì)方法

    STM32H7的Octo-SPI或者Quad-SPI能否支持讀取ADC的數(shù)據(jù)?

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

    STM32F407 3SPI如何配置?

    現(xiàn)在需要3SPI進(jìn)行通信,也就是從機(jī)的MOSI和MISO為一根。 我在參考手冊(cè)看到,STM32F407可以滿足雙向數(shù)據(jù) 請(qǐng)問ST官方
    發(fā)表于 03-26 07:16

    能否用MCU訪問非標(biāo)準(zhǔn)SPI接口?

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

    FPGA通過SPI對(duì)ADC配置簡介(三)3SPI配置時(shí)序分析

    AD9249的SPI控制模塊包含4根信號(hào),即CSB1、CSB2、SDIO以及SCLK。但CSB1、CSB2可以一起由CSB來控制,實(shí)際上就是3S
    的頭像 發(fā)表于 12-12 10:47 ?2311次閱讀
    FPGA通過<b class='flag-5'>SPI</b>對(duì)<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'>時(shí)序</b>分析

    FPGA通過SPI對(duì)ADC配置簡介(二)-4SPI配置時(shí)序分析

    本篇將以德州儀器(TI)的高速ADC芯片—ads52j90為例,進(jìn)行ADC的4SPI配置時(shí)序
    的頭像 發(fā)表于 12-11 09:05 ?1724次閱讀
    FPGA通過<b class='flag-5'>SPI</b>對(duì)<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'>時(shí)序</b>分析

    FPGA驅(qū)動(dòng)AD4001 ,3Turbo模式,時(shí)序要求已經(jīng)滿足,但是輸出不正常的原因?

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

    根據(jù)AD7916時(shí)序配置3無繁忙提示讀不到信號(hào)是為什么?

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

    AD5412非標(biāo)的三SPI如何與標(biāo)準(zhǔn)的四SPI通信?

    AD5412非標(biāo)的三SPI如何與標(biāo)準(zhǔn)的四SPI通信,芯片手冊(cè)中的時(shí)序不是標(biāo)準(zhǔn)的SPI
    發(fā)表于 12-01 06:31