国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

ADC的4線SPI配置時序介紹與分析

FPGA之家 ? 來源:FPGA之家 ? 2020-09-07 17:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

從ads52j90的數據手冊我們不難發現,其SPI控制模塊主要包含4根信號線SEN,SCLK,SDIN以及SDOUT。TI公司對其產品SPI配置信號的命名方式與通用的SPI信號命名方式不一樣,但實際上SENSDINSDOUT分別對應CSBSDISDO。

SEN:SPI讀寫的使能信號;

SDIN:FPGA寫入ADC的配置數據(寄存器地址和對應地址的值);

SDOUT:ADC對應地址輸出的配置寄存器數據;

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

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

圖1:SPI寫時序圖

上面三點就是我們初步看這個時序圖所得到的結論。對于該ADC,按照這種方式進行寫操作就不會有問題。實際上所有ADC的SPI寫操作都有類似于上面介紹的共同準則,這里歸納如下:

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

2,SDIN的數據每次在SCLK的上升沿寫入SPI;

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

圖2:SPI時序要求

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

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

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

圖3:SPI讀時序圖

4線SPI的讀寫時序分析就到這里了,再次強調幾個關鍵點:

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

關鍵點2:SDIN的數據每次必須在SCLK的上升沿寫入SPI。對應的數據格式一定是寄存器地址+要寫入的寄存器數值。

關鍵點3:SOUT的數據總是在SCLK的下降沿輸出,因此選擇FPGA在SCLK的上升沿獲取SDOUT數據最穩定。

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

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

    關注

    463

    文章

    54007

    瀏覽量

    465896
  • adc
    adc
    +關注

    關注

    100

    文章

    7511

    瀏覽量

    555905
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1885

    瀏覽量

    101210

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SPI4個引腳介紹

    SPI 一般通過 4 個引腳與外部設備相連: ?MOSI 主機輸出 / 從機輸入,用于主機模式下的數據發送和從機模式下的數據接收; ?MISO 主機輸入 / 從機輸出,用于主機模式下的數據接收和從機
    發表于 12-15 06:54

    FPGA實現基于SPI協議的Flash驅動控制芯片擦除

    本篇博客具體包括SPI協議的基本原理、模式選擇以及時序邏輯要求,采用FPGA(EPCE4),通過SPI通信協議,對flash(W25Q16BV)存儲的固化程序進行芯片擦除操作。
    的頭像 發表于 12-02 10:00 ?2572次閱讀
    FPGA實現基于<b class='flag-5'>SPI</b>協議的Flash驅動控制芯片擦除

    SPI的缺點介紹

    SPI 變得更容易受到信號衰減、電磁干擾和時序問題等問題的影響。對于長距離通信,通常首選速度較慢但更強大的協議,例如 RS-485 或 CAN,因為它們是專門為克服這些挑戰而設計的。 功耗: 在電源
    發表于 11-26 06:41

    GPIOB模擬spi的方法及lcd屏幕的接入

    越高,數據傳輸速率越快。由于spi接口較為簡單,同時《RISC-V架構與嵌入式開發快速入門》書中也詳細介紹過,在此原理部分介紹從略。 二、spi接口及lcd主要代碼實現 lcd所需
    發表于 10-30 07:59

    vivado時序分析相關經驗

    vivado綜合后時序為例主要是有兩種原因導致: 1,太多的邏輯級 2,太高的扇出 分析時序違例的具體位置以及原因可以使用一些tcl命令方便快速得到路徑信息
    發表于 10-30 06:58

    DDR200T中DDR的使用與時序介紹

    mask Enabled Input clock period 100MHz Chip Select pin Enabled DDR讀時序介紹 DDR3讀時序如下圖,由于傳遞地址到取出數據
    發表于 10-28 07:24

    數字電壓表設計教程之使用FPGA實現SPI協議通訊

    LTC2308通過一個標準4SPI數字接口進行通信。LTC2308模數轉換芯片有8個ADC通道和12位的分辨率,輸入信號時鐘頻率范圍不超過500KHz,按照Nyquist采樣定理則建
    的頭像 發表于 10-07 09:22 ?1735次閱讀
    數字電壓表設計教程之使用FPGA實現<b class='flag-5'>SPI</b>協議通訊

    請問如何讓SPI額外發出一個時鐘?

    現將2個ADC芯片進行菊花鏈式連接,手冊上給的時序圖中,兩個芯片讀數中間需要額外插入一個時鐘時序,要怎樣控制SPI輸出單個時鐘。還是說只能去用IO口模擬
    發表于 09-24 08:09

    【RA-Eco-RA6M4開發板評測】基于 RA6M4 MCU的工業生產安全監測系統項目介紹

    /serial_port_plotter),實時顯示ADC采樣數據與超聲波測距結果,輔助性能分析。 四、軟硬件準備 設備名稱 用途 適配模塊 RA6M4 開發板 核心控制單元 全模塊 光敏傳感器(BH1750
    發表于 09-14 17:58

    基于APM32F411 DMA_ADC Handler模式分析及解決

    最近在編寫DMA_ADC例程的過程中出現了一個中斷配置的問題,在ADC采集過程中,結合手冊進行ADC連續轉換模式配置采集,手冊上給出需要進行
    的頭像 發表于 06-24 14:30 ?1090次閱讀
    基于APM32F411 DMA_<b class='flag-5'>ADC</b> Handler模式<b class='flag-5'>分析</b>及解決

    如何讓SPI額外發出一個時鐘?

    現將2個ADC芯片進行菊花鏈式連接,手冊上給的時序圖中,兩個芯片讀數中間需要額外插入一個時鐘時序,要怎樣控制SPI輸出單個時鐘。還是說只能去用IO口模擬
    發表于 06-13 07:30

    MCU驅動使用(三)

    SPI驅動都是針對SPI_FLASH的封裝,并不用于通用SPISPI支持1、2
    發表于 05-16 10:29

    AD7606C-18的硬件串行模式,如何使用三SPI

    問題,八個通通道輸入均連在一起,結果如下圖所示。 但是當我使用三SPI模式讀取數據時,數據就錯亂了,即使SCLK頻率降低到5MHz,數據也是完全錯亂的。我可以確定三模式下,SCLK,BUSY之間的
    發表于 04-28 07:49

    FPGA時序約束之設置時鐘組

    Vivado中時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束中設置了時鐘組或false路徑。使用set_clock_gro
    的頭像 發表于 04-23 09:50 ?1333次閱讀
    FPGA<b class='flag-5'>時序</b>約束之設置時鐘組

    【CW32模塊使用】0.96寸SPI單色屏

    硬件SPI與軟件SPI相比,硬件SPI是靠硬件上面的SPI控制器,所有的時鐘邊緣采樣,時鐘發生,還有時序控制,都是由硬件完成的。它降低了CP
    的頭像 發表于 03-29 17:29 ?3108次閱讀
    【CW32模塊使用】0.96寸<b class='flag-5'>SPI</b>單色屏