衡阳派盒市场营销有限公司

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

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

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

操縱MCU SPI接口以訪問非標(biāo)準SPI ADC

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:Steven Xie ? 2023-02-15 12:31 ? 次閱讀

Steven Xie

目前許多精密模數(shù)轉(zhuǎn)換器ADC) 具有串行外設(shè)接口 (SPI) 或一些串行接口,用于與微控制器單元 (MCU)、DSPFPGA控制器通信。控制器寫入或讀取ADC內(nèi)部寄存器并讀取轉(zhuǎn)換代碼。SPI因其簡單的印刷電路板(PCB)布線和與并行接口相比更快的時鐘速率而變得越來越流行。而且,使用標(biāo)準SPI可以輕松地將ADC連接到控制器。

一些新型ADC具有SPI,但其他ADC具有非標(biāo)準的3線或4線SPI作為節(jié)點,因為它們希望實現(xiàn)更快的吞吐速率。例如,AD7616、AD7606和AD7606B系列具有兩條或四條SDO線路,可在串行模式下實現(xiàn)更快的吞吐速率。 AD7768、AD7779和AD7134系列具有多條SDO線路,用作SPI電源。 用戶在設(shè)計用于ADC配置和代碼讀取的微控制器SPI時往往會遇到困難。

圖1.AD7768作為串行主電源,具有兩個數(shù)據(jù)輸出引腳(14001-193)。

與 ADC 的標(biāo)準 MCU SPI 連接

SPI 是一個同步、全雙工、基于主/節(jié)點的接口。來自主節(jié)點或節(jié)點的數(shù)據(jù)在時鐘上升沿或下降沿同步。主節(jié)點和節(jié)點可以同時傳輸數(shù)據(jù)。圖2顯示了一個典型的4線MCU SPI接口連接。

圖2.與 ADC 節(jié)點的標(biāo)準 MCU SPI 連接。

要開始SPI通信,控制器必須發(fā)送時鐘信號,并通過使能CS信號(通常是低電平有效信號)來選擇ADC。由于SPI是全雙工接口,控制器和ADC可以分別通過MOSI/DIN和MISO/DOUT線路同時輸出數(shù)據(jù)??刂破鱏PI接口使用戶能夠靈活地選擇時鐘的上升沿或下降沿來采樣和/或轉(zhuǎn)換數(shù)據(jù)。為了實現(xiàn)主節(jié)點之間的可靠通信,用戶必須遵循微控制器和ADC芯片的數(shù)字接口時序規(guī)范。

圖3.SPI數(shù)據(jù)時鐘時序圖示例。

如果微控制器SPI和ADC串行接口具有標(biāo)準的SPI定時模式,則用戶設(shè)計PCB布線和開發(fā)驅(qū)動固件不是問題。但也有一些新的ADC具有串行接口端口,這不是典型的SPI時序模式。MCU或DSP似乎不可能通過AD7768串行端口(非標(biāo)準時序SPI端口)讀取數(shù)據(jù),如圖4所示。

圖4.AD7768 格式x = 1×?xí)r序圖輸出,僅采用DOUT0。

本文將介紹操作標(biāo)準微控制器SPI以與具有非標(biāo)準SPI端口的ADC接口的方法。

本文將介紹通過串行接口讀取ADC代碼的四種不同解決方案:

解決方案1:MCU作為SPI節(jié)點,通過一條DOUT線與作為SPI主線的ADC接口。

解決方案2:MCU作為SPI節(jié)點,通過兩條DOUT線路與作為SPI主線的ADC接口。

解決方案3:MCU作為SPI節(jié)點,通過DMA與作為SPI主器件的ADC接口。

解決方案4:MCU作為SPI主節(jié)點和SPI節(jié)點,用于讀取兩條DOUT線路上的數(shù)據(jù)。

AD7768 使用STM32F429微控制器SPI通過一條DOUT線讀取代碼

如圖4所示,當(dāng)FORMATx = 11或10時,通道0至通道7僅在DOUT0上輸出數(shù)據(jù)。在標(biāo)準模式下,AD7768/AD7768-4作為主器件工作,并將數(shù)據(jù)流傳輸?shù)組CU、DSP或FPGA。AD7768/AD7768-4為節(jié)點器件提供數(shù)據(jù)、數(shù)據(jù)時鐘(DCLK)和下降沿成幀信號(DRDY)。

STM32Fxxx系列微控制器廣泛用于許多不同的應(yīng)用。MCU具有多個SPI端口,可配置為具有典型SPI定時模式的SPI主節(jié)點或節(jié)點。以下會話中介紹的方法也可以應(yīng)用于具有 8 位、16 位或 32 位幀的其他微控制器。

AD7768/AD7768-4分別具有8通道和4通道同步采樣Σ-Δ型ADC,每通道具有Σ-Δ調(diào)制器和數(shù)字濾波器,可實現(xiàn)交流和直流信號的同步采樣。它們在 108.110 kHz 的最大輸入帶寬下實現(xiàn)了 8 dB 的動態(tài)范圍,并具有 ±2 ppm INL、±50 μV 失調(diào)誤差和 ±30 ppm 增益誤差的典型性能。AD7768/AD7768-4用戶可以權(quán)衡輸入帶寬、輸出數(shù)據(jù)速率和功耗,并從三種功耗模式中選擇一種來優(yōu)化噪聲目標(biāo)和功耗。AD7768/AD7768-4的靈活性使其成為低功耗直流和高性能交流測量模塊的可重復(fù)使用平臺。遺憾的是,AD7768的串行接口不是典型的SPI時序模式,AD7768用作串行接口主接口。通常,用戶必須使用FPGA/CPLD作為其控制器。

例如,使用32F429IDISCOVERY和AD7768評估板。解決方法SPI導(dǎo)線的連接如圖5所示。在此設(shè)置中,所有7768個AD0通道數(shù)據(jù)輸出僅由DOUT<>供電。

圖5.AD7768將DOUT0上的數(shù)據(jù)輸出到STM32F429 MCU SPI連接。

需要解決的問題:

AD7768用作SPI主器件,因此STM32F429I SPI必須配置為SPI節(jié)點。

DRDY高脈沖只是DCLK持續(xù)時間的一個周期,不是典型的CS。

DCLK連續(xù)輸出,當(dāng)所有通道數(shù)據(jù)位輸出完成后,DRDY為低電平。

pYYBAGPsYDeAAlPpAAB6NffL1Fg056.png?h=270&hash=1E4B9BD0559F2A5109EC44B8A45119C79743B3FE&la=en&imgver=1

圖6.AD7768數(shù)據(jù)位在時序解決方案中讀取。

解決方案1:MCU SPI作為通過一條DOUT線與SPI主ADC接口的節(jié)點

配置其中一個STM32F429是SPI端口(如SPI4)作為節(jié)點,以在DCLK的MOSI上接收數(shù)據(jù)位。

將AD7768 DRDY連接到STM32F429外部中斷輸入引腳EXTI0和NSS (SPI CS)引腳。DRDY 的上升沿將觸發(fā) EXTI0 處理程序例程,以使 SPI 節(jié)點能夠在 DRDY 變?yōu)榈碗娖胶箝_始從第一個 DCLK 下降沿接收數(shù)據(jù)位。時序設(shè)計在這里至關(guān)重要。

收到從通道0到通道7的所有數(shù)據(jù)后,應(yīng)禁用SPI,以防止讀取額外的無效數(shù)據(jù),因為DRDY使SPI節(jié)點CS為低電平,DCLK不斷切換。

MCU 固件開發(fā)說明

poYBAGPsYDmAX2gAAAGWL3jGCtM472.png?h=270&hash=EAC79A80214AA7DAD864CA7FA317AEC3C6E23887&la=en&imgver=1

圖7.配置 SPI4 外設(shè)。

當(dāng)軟件處于中斷模式時,DCLK 可以運行高達 4 MHz,并實現(xiàn) ODR 8 kSPS。軟件應(yīng)進入中斷處理程序,在一個半DCLK周期(375 ns)內(nèi)啟動SPI。為了更容易地使軟件進入中斷例程,MCU可以在DCLK上升沿讀取數(shù)據(jù),這可以額外提供半個DCLK周期時間。但是,由于5DCLK 上升到 DOUTx 無效的最小值為 –3 ns(IOVDD = 4.1 V 時為 –8 ns),傳播延遲 (>|t5|+ MCU 保持時間)在 DOUTx 上應(yīng)通過 PCB 布線或緩沖區(qū)添加。

解決方案2:MCU SPI作為通過兩條DOUT線與SPI主ADC接口的節(jié)點

在第一個解決方案中,僅使用DOUT0輸出所有8通道數(shù)據(jù)。因此,數(shù)據(jù)讀取將ADC吞吐速率限制為8 kSPS。如圖1所示,DOUT0上的通道3至通道0輸出和DOUT4上的通道7至通道1輸出可以縮短數(shù)據(jù)傳輸時間。串行線的連接如圖7所示。通過這樣的改進,ODR 在 DCLK 16 MHz 時可以輕松達到 4 kSPS。

poYBAGPsYDqAZPEHAABKVKk_qTA407.png?h=270&hash=59878E34D121527DD8ADC4A094F1E3E6E78768F3&la=en&imgver=2

圖8.AD7768將DOUT0和DOUT1上的數(shù)據(jù)輸出到STM32F429 MCU SPI連接。

固件可以使用輪詢模式而不是中斷模式來減少DRDY上升沿觸發(fā)的時間延遲,從而使SPI能夠接收數(shù)據(jù)。這可以在DCLK 32 MHz下實現(xiàn)ODR 8 kSPS。

pYYBAGPsYDuAWoUtAACngoa6Ekk818.png?h=270&hash=0A8EA9FC3DBA9F8576CD33E422006B8CEDB244F3&la=en&imgver=2

圖9.輪詢模式下的EXTI0以及DOUT4和DOUT5上的SPI7768和SPI0接收AD1數(shù)據(jù)位。

解決方案3:MCU SPI作為通過DMA與SPI主ADC接口的節(jié)點接口

直接內(nèi)存訪問 (DMA) 用于在外設(shè)和內(nèi)存之間以及內(nèi)存和內(nèi)存之間提供高速數(shù)據(jù)傳輸。DMA 可以快速移動數(shù)據(jù),無需任何 MCU 操作。這使 MCU 資源可用于其他操作。以下是MCU SPI作為節(jié)點通過DMA接收數(shù)據(jù)的設(shè)計說明。

poYBAGPsYD2APs8EAADADLQI7ew097.png?h=270&hash=8BC0220BA9FBB04EC31862590E99A4D66B001943&la=en&imgver=1

圖 10.輪詢模式下的EXTI0和DOUT4上的SPI7768 DMA接收AD0數(shù)據(jù)位。

解決方案4:MCU SPI作為主節(jié)點和節(jié)點,在兩條DOUT線路上讀取數(shù)據(jù)

高吞吐量或多通道精密ADC為SPI端口提供2條、4條甚至8條SDO線,可在串行模式下縮短代碼讀取時間。對于具有兩個或更多SPI端口的微控制器,它們可以同時運行SPI端口,以加快代碼讀取速度。

在以下用例中,32F429IDISCOVERY使用SPI4作為SPI主節(jié)點,SPI5作為SPI節(jié)點,以接收DOUTA和DOUTB上的EVAL-AD7606B-FMCZ數(shù)據(jù),如圖8所示。

AD7606B是一款16位同步采樣模數(shù)數(shù)據(jù)采集系統(tǒng)(DAS),具有16個通道,每個通道包含模擬輸入箝位保護、可編程增益放大器(PGA)、低通濾波器和7606位逐次逼近寄存器(SAR)ADC。AD2B還內(nèi)置一個靈活的數(shù)字濾波器、低漂移、5.7606 V精密基準電壓源和基準電壓緩沖器,用于驅(qū)動ADC,以及靈活的并行和串行接口。AD5B采用10 V單電源供電,所有通道均以5 kSPS吞吐速率采樣時,支持±2 V、±5 V和±800.<> V真雙極性輸入范圍。

圖 11.在主模式和節(jié)點模式下使用的MCU SPI,用于接收DOUTA和DOUTB上的數(shù)據(jù)。

pYYBAGPsYD6ATC8eAAE-zAMpPYc469.png?h=270&hash=8B1AFAF00D0C4FDFA2BC1F2D43F7ACD9C3EEA0A5&la=en&imgver=1

圖 12.將 SPI4 配置為主節(jié)點,將 SPI5 配置為節(jié)點。

圖13顯示了AD7606B以240 kSPS運行的BUSY、SCLK、DOUTA和DOUB的數(shù)字接口捕獲。

poYBAGPsYECAZ7YBAAILdOKsju8530.jpg?h=270&hash=86F8B7596EFC89E4970A59FDDF9405242B2F5E43&la=en&imgver=1

圖 13.AD7606B忙、SCLK的示波器捕獲以及DOUTA和DOUTB上的數(shù)據(jù)。

結(jié)論

本文討論了使用微控制器SPI訪問具有非標(biāo)準SPI接口的ADC的方法。這些方法可以直接使用,也可以稍作調(diào)整來控制ADC SPI,ADC SPI可用作SPI主電源或多條DOUT線路,以實現(xiàn)更快的吞吐速率。

審核編輯:gt

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

    關(guān)注

    48

    文章

    7651

    瀏覽量

    152113
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17321

    瀏覽量

    352650
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8691

    瀏覽量

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

    關(guān)注

    99

    文章

    6533

    瀏覽量

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

    關(guān)注

    17

    文章

    1722

    瀏覽量

    92128
收藏 人收藏

    評論

    相關(guān)推薦

    操縱MCU SPI接口訪問非標(biāo)準SPI ADC

    當(dāng)前許多精密模數(shù)轉(zhuǎn)換器(ADC)具有串行外設(shè)接口SPI)或某種串行接口,用以與包括微控制器單元(MCU)、DSP和FPGA在內(nèi)的控制器進行
    發(fā)表于 01-02 11:46 ?3404次閱讀

    使用微控制器SPI訪問具有非標(biāo)準SPI接口ADC的方法

    本文討論了使用微控制器SPI訪問具有非標(biāo)準SPI接口ADC的方法。這些方法可以直接使用,也可以
    發(fā)表于 01-07 06:20

    MCU SPI訪問具有非標(biāo)準SPI接口ADC的方法,錯過絕對后悔

    關(guān)注、星標(biāo)公眾號,不錯過精彩內(nèi)容整理:黃工來源:亞德諾半導(dǎo)體提問:能否用MCU訪問非標(biāo)準SPI接口?答案:可以,但可能需要做一些額外的努力。
    發(fā)表于 11-01 06:45

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

    好文章當(dāng)然要分享啦~如果您喜歡這篇文章,請聯(lián)系后臺添加白名單,歡迎轉(zhuǎn)載喲~問題能否用MCU訪問非標(biāo)準SPI接口?答案可以,但可能需要做一些額
    發(fā)表于 11-04 06:13

    MCU SPI接口如何訪問非標(biāo)準SPI ADC

    的印刷電路板(PCB)布線簡單,并且有比并行接口更快的時鐘速率,因而越來越受歡迎。而且,使用標(biāo)準SPI很容易將ADC連接到控制器。一些新型ADC
    發(fā)表于 11-04 07:49

    操縱MCU SPI接口訪問非標(biāo)準SPI ADC

    ADI公司 Steven Xie,產(chǎn)品應(yīng)用工程師 問題:能否用MCU訪問非標(biāo)準SPI接口? 答案:可以,但可能需要做一些額外的努力。 簡介
    的頭像 發(fā)表于 01-17 16:34 ?5112次閱讀

    如何使用MCU訪問非標(biāo)準SPI接口

    能否用 MCU 訪問非標(biāo)準 SPI 接口?答案可以,但可能需要做一些額外的努力。當(dāng)前許多精密模數(shù)轉(zhuǎn)換器(
    發(fā)表于 12-22 12:49 ?13次下載
    如何使用<b class='flag-5'>MCU</b><b class='flag-5'>訪問</b><b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b><b class='flag-5'>接口</b>

    使用MCU SPI訪問具有非標(biāo)準SPI接口ADC的方法

    關(guān)注、星標(biāo)公眾號,不錯過精彩內(nèi)容整理:黃工來源:亞德諾半導(dǎo)體提問:能否用MCU訪問非標(biāo)準SPI接口?答案:可以,但可能需要做一些額外的努力。
    發(fā)表于 10-25 16:51 ?14次下載
    使用<b class='flag-5'>MCU</b> <b class='flag-5'>SPI</b><b class='flag-5'>訪問</b>具有<b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>ADC</b>的方法

    MCU SPI接口訪問非標(biāo)準SPI ADC的方法!

    當(dāng)前許多精密模數(shù)轉(zhuǎn)換器(ADC)具有串行外設(shè)接口(SPI)或某種串行接口,用以與包括微控制器單元(MCU)、DSP和FPGA在內(nèi)的控制器進行
    發(fā)表于 10-28 21:06 ?10次下載
    <b class='flag-5'>MCU</b> <b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>訪問</b><b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b> <b class='flag-5'>ADC</b>的方法!

    非標(biāo)準語法;請使用 _一文讀懂使用MCU SPI訪問具有非標(biāo)準SPI接口ADC的方法

    好文章當(dāng)然要分享啦~如果您喜歡這篇文章,請聯(lián)系后臺添加白名單,歡迎轉(zhuǎn)載喲~問題能否用MCU訪問非標(biāo)準SPI接口?答案可以,但可能需要做一些額
    發(fā)表于 10-29 09:51 ?8次下載
    <b class='flag-5'>非標(biāo)準</b>語法;請使用 _一文讀懂使用<b class='flag-5'>MCU</b> <b class='flag-5'>SPI</b><b class='flag-5'>訪問</b>具有<b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>ADC</b>的方法

    非標(biāo)準語法;請使用 _MCU SPI接口訪問非標(biāo)準SPI ADC的方法!

    的印刷電路板(PCB)布線簡單,并且有比并行接口更快的時鐘速率,因而越來越受歡迎。而且,使用標(biāo)準SPI很容易將ADC連接到控制器。一些新型ADC
    發(fā)表于 10-29 09:51 ?8次下載
    <b class='flag-5'>非標(biāo)準</b>語法;請使用 _<b class='flag-5'>MCU</b> <b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>訪問</b><b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b> <b class='flag-5'>ADC</b>的方法!

    MCU SPI接口訪問非標(biāo)準SPI ADC的方法

    當(dāng)前許多精密模數(shù)轉(zhuǎn)換器(ADC)具有串行外設(shè)接口(SPI)或某種串行接口,用以與包括微控制器單元(MCU)、DSP和FPGA在內(nèi)的控制器進行
    發(fā)表于 02-09 11:28 ?5次下載
    <b class='flag-5'>MCU</b> <b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>訪問</b><b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b> <b class='flag-5'>ADC</b>的方法

    能否用MCU訪問非標(biāo)準SPI接口?當(dāng)然,方法交給你~

    能否用MCU訪問非標(biāo)準SPI接口?當(dāng)然,方法交給你~
    的頭像 發(fā)表于 10-17 14:37 ?613次閱讀
    能否用<b class='flag-5'>MCU</b><b class='flag-5'>訪問</b><b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b><b class='flag-5'>接口</b>?當(dāng)然,方法交給你~

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

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

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

    當(dāng)前許多精密模數(shù)轉(zhuǎn)換器(ADC)具有串行外設(shè)接口(SPI)或某種串行接口,用以與包括微控制器單元(MCU)、DSP和FPGA在內(nèi)的控制器進行
    的頭像 發(fā)表于 01-09 08:23 ?615次閱讀
    能否用<b class='flag-5'>MCU</b><b class='flag-5'>訪問</b><b class='flag-5'>非標(biāo)準</b><b class='flag-5'>SPI</b><b class='flag-5'>接口</b>?
    百家乐缩水| 百家乐官网必胜打| 大发888 赌博网站| 百家乐2珠路投注法| 喜达百家乐官网现金网| 百家乐真人视频出售| 新濠百家乐官网的玩法技巧和规则| 金冠娱乐城网站| 百家乐走势图解| 新时代百家乐官网娱乐城| 盈禾娱乐| 百家乐必胜绝| 百家乐真钱电玩| 百家乐官网赌博机怎么玩| 优博代理| 钱柜百家乐的玩法技巧和规则 | 逊克县| 水果机8键遥控器| 波音百家乐网上娱乐| 百家乐官网程序软件| 皇冠足球投注平台| 全讯网3344555| 蓝盾百家乐平台租用| 专业百家乐官网软件| 利高百家乐官网游戏| 百家乐平注法到| 百家乐游戏怎么刷钱| 专业百家乐官网软件| 百家乐官网现场投注平台| 网上娱乐城排名| 任你博百家乐娱乐城| 大家旺百家乐娱乐城| 百家乐官网凯时赌场娱乐网规则 | 荣昌县| 大发888 58| 广州百家乐桌子| 伯爵百家乐娱乐城| 百家乐官网真人玩下载| 百家乐官网信用哪个好| 沙龙网上娱乐| 大发888在线娱乐下载|