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

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

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

ADC的4線SPI配置時(shí)序介紹與分析

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

本篇將以德州儀器(TI)的高速ADC芯片ads52j90為例,進(jìn)行ADC的4線SPI配置時(shí)序介紹與分析。

從ads52j90的數(shù)據(jù)手冊(cè)我們不難發(fā)現(xiàn),其SPI控制模塊主要包含4根信號(hào)線SEN,SCLK,SDIN以及SDOUT。TI公司對(duì)其產(chǎn)品SPI配置信號(hào)的命名方式與通用的SPI信號(hào)命名方式不一樣,但實(shí)際上SENSDINSDOUT分別對(duì)應(yīng)CSBSDISDO。

SEN:SPI讀寫的使能信號(hào);

SDIN:FPGA寫入ADC的配置數(shù)據(jù)(寄存器地址和對(duì)應(yīng)地址的值);

SDOUT:ADC對(duì)應(yīng)地址輸出的配置寄存器數(shù)據(jù);

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

首先介紹該ADC的SPI的寫時(shí)序,datasheet給出的時(shí)序圖如圖1所示:我們首先大致看一下寫時(shí)序圖,能夠了解到對(duì)于SDIN來說,需要先寫入A7~A0的8bit的地址,接下來寫入該地址下的16bit的寄存器數(shù)值D15~D0,也就是說每進(jìn)行一次寫操作需要不間斷的寫入24bit的數(shù)據(jù)。對(duì)于SEN來說,在進(jìn)行寫操作時(shí),其一直保持低電平,寫之前和寫完后都保持高電平。對(duì)于SCLK來說,其上升沿每次采集每1bit SDIN數(shù)據(jù)的中心位置,共需要采集24次,才能完成這24bit SDIN數(shù)據(jù)的寫入。

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

上面三點(diǎn)就是我們初步看這個(gè)時(shí)序圖所得到的結(jié)論。對(duì)于該ADC,按照這種方式進(jìn)行寫操作就不會(huì)有問題。實(shí)際上所有ADC的SPI寫操作都有類似于上面介紹的共同準(zhǔn)則,這里歸納如下:

1,無論SPI進(jìn)行讀還是寫操作,SEN必須拉低,否則SPI不工作(既不讀也不寫),讀、寫完成之后SEN必須拉高;

2,SDIN的數(shù)據(jù)每次在SCLK的上升沿寫入SPI;

3,SDIN的數(shù)據(jù)組成一定是先寫入配置寄存器地址,再連續(xù)寫入配置寄存器數(shù)值;

圖2:SPI時(shí)序要求

另外,我們看到時(shí)序圖上有許多時(shí)間參數(shù),我們?cè)趯懘a時(shí)不僅要遵守以上的共同準(zhǔn)則,還要滿足這些參數(shù)的時(shí)序關(guān)系,并保留一定的時(shí)間量。datasheet都提供了這些參數(shù)的大小,如圖2所示。比如tSCLK的最小值是50ns,意味著SPI的時(shí)鐘最高20MHz。tSEN_SU的最小值為8ns,就表示SEN下降沿至少提前第一個(gè)SCLK的上升沿時(shí)間8ns。tDSU則表示SDIN的數(shù)據(jù)必須至少提前SCLK的上升沿5ns準(zhǔn)備好,等等。只要遵守了相關(guān)的SPI準(zhǔn)則以及datasheet里的SPI時(shí)序參數(shù),SPI的寫操作就不會(huì)有問題了。

現(xiàn)在我們介紹該ADC的SPI讀時(shí)序,如圖3所示。讀操作的主要目的是監(jiān)測(cè)ADC內(nèi)部寄存器狀態(tài),從而判斷ADC的配置狀態(tài)是否符合用戶的需求。從圖上我們可以看到,SPI的讀操作可以分解為兩個(gè)部分:第一個(gè)部分是先寫入A7~A0 8bit的寄存器地址到SDIN,然后SDOUT輸出對(duì)應(yīng)地址的16bit的寄存器數(shù)值。

這里重點(diǎn)強(qiáng)調(diào)一下:理論上來說,在上升沿鎖存寫入的地址最后1bit后,在接下來的每次SCLK下降沿,SDOUT輸出1bit寄存器值,直到16bit寄存器數(shù)值完全輸出。但實(shí)際上每次SCLK下降沿輸出的數(shù)據(jù)只有經(jīng)過tOUT_DV(12ns ~28ns)后才穩(wěn)定,后端FPGA才能正確接收。從圖上我們不難發(fā)現(xiàn),F(xiàn)PGA在SCLK的上升沿附近獲取SDOUT的數(shù)據(jù)是非常合適的,在這個(gè)位置獲取的數(shù)據(jù)最穩(wěn)定。

圖3:SPI讀時(shí)序圖

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

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

關(guān)鍵點(diǎn)2:SDIN的數(shù)據(jù)每次必須在SCLK的上升沿寫入SPI。對(duì)應(yīng)的數(shù)據(jù)格式一定是寄存器地址+要寫入的寄存器數(shù)值。

關(guān)鍵點(diǎn)3:SOUT的數(shù)據(jù)總是在SCLK的下降沿輸出,因此選擇FPGA在SCLK的上升沿獲取SDOUT數(shù)據(jù)最穩(wěn)定。

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

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

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417162
  • adc
    adc
    +關(guān)注

    關(guān)注

    97

    文章

    6300

    瀏覽量

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

    關(guān)注

    17

    文章

    1669

    瀏覽量

    90733

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DDR4時(shí)序參數(shù)介紹

    DDR4(Double Data Rate 4時(shí)序參數(shù)是描述DDR4內(nèi)存模塊在執(zhí)行讀寫操作時(shí)所需時(shí)間的一組關(guān)鍵參數(shù),它們直接影響到內(nèi)存的性能和穩(wěn)定性。以下是對(duì)DDR
    的頭像 發(fā)表于 09-04 14:18 ?265次閱讀

    FPGA 高級(jí)設(shè)計(jì):時(shí)序分析和收斂

    今天給大俠帶來FPGA 高級(jí)設(shè)計(jì):時(shí)序分析和收斂,話不多說,上貨。 這里超鏈接一篇之前的STA的文章,僅供各位大俠參考。 FPGA STA(靜態(tài)時(shí)序分析) 什么是靜態(tài)
    發(fā)表于 06-17 17:07

    IIS3DWB 4SPI中的CS不進(jìn)MCU的IO口,SPI_MISO沒信號(hào)是什么原因?

    各位大神好:MEMS加速度芯片IIS3DWB使用中遇到了問題,煩請(qǐng)各位大神賜教,就是4SPI中的CS不進(jìn)MCU的IO口,直接接地,SPI_SCK有輸出,
    發(fā)表于 05-27 07:53

    STM32F4 Cube配置ADC時(shí)選擇轉(zhuǎn)換觸發(fā)通道的選項(xiàng)中為什么沒有EXTI11的選項(xiàng)?

    STM32F4 Cube 配置ADC時(shí)選擇轉(zhuǎn)換觸發(fā)通道的選項(xiàng)中為什么沒有EXTI 11的選項(xiàng),而在庫(kù)中有宏定義”ADC_EXTERNAL
    發(fā)表于 05-13 07:01

    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 ?575次閱讀
    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ù)。 普通的
    發(fā)表于 04-01 06:10

    STM32F030F4使用HAL_SPI_Transmit發(fā)送函數(shù),執(zhí)行到數(shù)據(jù)寫入DR時(shí)就進(jìn)硬件錯(cuò)誤中斷怎么解決?

    大家好,我最近用STM32F030F4SPI驅(qū)動(dòng)一塊3.5寸LCD,是三的,LCD要求時(shí)序如下 于是我配置
    發(fā)表于 03-28 07:11

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

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

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

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

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

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

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

    根據(jù)AD7916時(shí)序配置3無繁忙提示讀不到信號(hào) 無效的 AD_ read( 撤銷) { 8 噸 = 0; adc_nss(1); adc
    發(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

    在AD7134的SPI控制時(shí)序中,STATUS是什么意思?

    在AD7134的SPI控制時(shí)序中,這個(gè) STATUS在手冊(cè)中沒有介紹,只介紹數(shù)據(jù)接口的標(biāo)頭,如下圖所示: 工程師能不能解釋一下?
    發(fā)表于 11-30 07:44

    i.MX-6ULL --ElfBoard SPI接口介紹

    。 SPI接口介紹 該芯片使用 SPI 總線進(jìn)行設(shè)置與數(shù)據(jù)傳輸。SPI 的通信原理很簡(jiǎn)單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少
    發(fā)表于 11-21 10:19

    單片機(jī)spi接口的使用方法有哪些(spi接口和串口的區(qū)別)

    如果單片機(jī)沒有硬件SPI模塊,或者需要額外的IO引腳來實(shí)現(xiàn)多個(gè)SPI設(shè)備的通信,可以使用軟件SPI模擬。軟件SPI通常使用GPIO口模擬SPI
    的頭像 發(fā)表于 11-10 16:38 ?2989次閱讀