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

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

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

如何利用verilog實(shí)現(xiàn)4線SPI配置時序

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

第二篇以德州儀器(TI)的高速ADC芯片——ads52j90為例,介紹完了4線SPI配置時序。本篇將以該芯片SPI結(jié)構(gòu)為例,具體介紹如何利用verilog實(shí)現(xiàn)4線SPI配置時序。

無論實(shí)現(xiàn)讀還是寫功能,都先要提供SCLK。假如FPGA系統(tǒng)工作時鐘40MHz,我們可以利用計(jì)數(shù)器產(chǎn)生一個n分頻的時鐘作為SCLK,本例中n取8,SCLK頻率5MHz。SCLK產(chǎn)生的代碼如下:

SCLK時鐘有了,接下來我們建立一個狀態(tài)機(jī)實(shí)現(xiàn)讀和寫功能:

初始化狀態(tài)的下一個狀態(tài)就是寫寄存器操作了,每次SCLK的上升沿寫入數(shù)據(jù):

寫完一個寄存器參數(shù),CSB先拉高。接下來在進(jìn)入下一個狀態(tài),本篇例子下一個狀態(tài)的操作是讀取對應(yīng)寄存器地址的數(shù)據(jù)。我們首先需在SCLK的上升沿寫入8bit的寄存器地址,接下來在SCLK的下降沿讀取16bit的數(shù)據(jù)。

到此,讀寫操作都完成了。代碼上的注釋可以便于大家理解,大家還可以仿真看一下波形加深理解。

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

    關(guān)注

    28

    文章

    1351

    瀏覽量

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

    關(guān)注

    17

    文章

    1716

    瀏覽量

    91833
  • ADC芯片
    +關(guān)注

    關(guān)注

    3

    文章

    78

    瀏覽量

    20355

原文標(biāo)題:FPGA通過SPI對ADC配置簡介(四)---Verilog實(shí)現(xiàn)4線SPI配置

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

收藏 人收藏

    評論

    相關(guān)推薦

    DAC7568按數(shù)據(jù)手冊上要求的SPI時序不能配置,內(nèi)部參考是否也沒有輸出,為什么?

    按數(shù)據(jù)手冊上要求的SPI時序不能配置,內(nèi)部參考是否也沒有輸出,手冊上面介紹的操作有沒有順序要求,沒有給出來。試了上面所有寫操作也沒有輸出輸入您的問題
    發(fā)表于 12-31 06:21

    Verilog 測試平臺設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    指南: Verilog測試平臺設(shè)計(jì)方法 選擇仿真工具 : 選擇一款強(qiáng)大的仿真工具,如ModelSim、Xilinx ISE等。這些工具提供了豐富的功能,包括波形查看、調(diào)試功能、時序分析等,能夠滿足
    的頭像 發(fā)表于 12-17 09:50 ?335次閱讀

    KeyStone架構(gòu)串行外設(shè)接口(SPI)手冊

    )、MOSI(主設(shè)備輸出從設(shè)備輸入)、MISO(主設(shè)備輸入從設(shè)備輸出線)和CS/SS(片選線)。SPI協(xié)議支持主從模式,其中主設(shè)備生成時鐘信號并控制數(shù)據(jù)傳輸?shù)?b class='flag-5'>時序,而從設(shè)備響應(yīng)主設(shè)備的請求。這種協(xié)議廣泛應(yīng)用于嵌入式系統(tǒng)中,因?yàn)?/div>
    發(fā)表于 12-16 10:33 ?0次下載

    能否在純fpga上通過verilog實(shí)現(xiàn)SPI控制器去配置adc12dj3200?

    ti工程師,您好,我最近想用adc12dj3200實(shí)現(xiàn)L波段信號采樣,可以問一下上圖中的FPGA可以是支持jesd204b總線的任何FPGA芯片嗎?是否可以通過verilog實(shí)現(xiàn)SPI
    發(fā)表于 11-18 07:28

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

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

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

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

    TPS65910x時序配置

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

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

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

    如何利用Verilog-A開發(fā)器件模型

    Verilog-A對緊湊型模型的支持逐步完善,在模型的實(shí)現(xiàn)上扮演越來越重要的角色,已經(jīng)成為緊湊模型開發(fā)的新標(biāo)準(zhǔn)。而且Verilog-A能夠在抽象級別和應(yīng)用領(lǐng)域中擴(kuò)展SPICE建模和仿真功能,因此學(xué)會
    的頭像 發(fā)表于 10-18 14:16 ?548次閱讀
    如何<b class='flag-5'>利用</b><b class='flag-5'>Verilog</b>-A開發(fā)器件模型

    怎么樣提高verilog代碼編寫水平?

    是全0。于是將SPI通信的4個信號從額外的IO引出通過邏輯分析儀觀察SPI通信,其他代碼都沒動,此時UART又能收到正確的SPI數(shù)據(jù)了。 猜測是原來的代碼中出現(xiàn)了
    發(fā)表于 09-25 20:05

    利用Tl的智能高端開關(guān)實(shí)現(xiàn)SPI通信

    電子發(fā)燒友網(wǎng)站提供《利用Tl的智能高端開關(guān)實(shí)現(xiàn)SPI通信.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 09:28 ?0次下載
    <b class='flag-5'>利用</b>Tl的智能高端開關(guān)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>SPI</b>通信

    使用IO-link主幀處理程序實(shí)現(xiàn)靈活的時序配置

    電子發(fā)燒友網(wǎng)站提供《使用IO-link主幀處理程序實(shí)現(xiàn)靈活的時序配置.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 11:28 ?0次下載
    使用IO-link主幀處理程序<b class='flag-5'>實(shí)現(xiàn)</b>靈活的<b class='flag-5'>時序</b><b class='flag-5'>配置</b>

    FPGA Verilog HDL有什么奇技巧?

    不同的代碼段,方便進(jìn)行代碼的調(diào)試和不同配置實(shí)現(xiàn)。 利用 always_ff 、 always_latch 等新的語法特性:在特定的場景下更清晰地表達(dá)電路的行為。 利用系統(tǒng)任務(wù)和函數(shù):
    發(fā)表于 09-12 19:10

    DDR4時序參數(shù)介紹

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

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

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