MCU SPI接口訪問非標(biāo)準(zhǔn)SPI ADC的方法
發(fā)布時間:2020-02-24 責(zé)任編輯:wenwei
【導(dǎo)讀】當(dāng)前許多精密模數(shù)轉(zhuǎn)換器(ADC)具有串行外設(shè)接口(SPI)或某種串行接口,用以與包括微控制器單元(MCU)、DSP和FPGA在內(nèi)的控制器進(jìn)行通信??刂破鲗懭牖蜃x取ADC內(nèi)部寄存器并讀取轉(zhuǎn)換碼。SPI的印刷電路板(PCB)布線簡單,并且有比并行接口更快的時鐘速率,因而越來越受歡迎。而且,使用標(biāo)準(zhǔn)SPI很容易將ADC連接到控制器。
一些新型ADC具有SPI,但有些ADC具有非標(biāo)準(zhǔn)的3線或4線SPI作為從機(jī),因為它們希望實現(xiàn)更快的吞吐速率。例如,AD7616, AD7606 和 AD7606B系列有兩條或四條SDO線,在串行模式下可提供更快的吞吐速率。AD7768, AD7779和AD7134系列有多條SDO線,用作SPI主機(jī)。用戶在設(shè)計微控制器SPI以配置ADC和讀取代碼時往往會遇到困難。
圖1. AD7768用作串行主機(jī),具有兩個數(shù)據(jù)輸出引腳(14001-193)。
與ADC的標(biāo)準(zhǔn)MCU SPI連接
SPI是一種同步、全雙工、主從式接口。來自主機(jī)或從機(jī)的數(shù)據(jù)在時鐘上升沿或下降沿同步。主機(jī)和從機(jī)可以同時傳輸數(shù)據(jù)。圖2顯示了典型的4線MCU SPI接口連接。
圖2. 與ADC從機(jī)的標(biāo)準(zhǔn)MCU SPI連接。
要開始SPI通信,控制器必須發(fā)送時鐘信號,并通過使能 CS 信號(通常是低電平有效信號)來選擇ADC。SPI是全雙工接口,因此控制器和ADC可以分別通過MOSI/DIN和MISO/DOUT線同時輸出數(shù)據(jù)??刂破鱏PI接口允許用戶靈活選擇時鐘的上升沿或下降沿來采樣和/或移位數(shù)據(jù)。為了在主機(jī)和從機(jī)之間進(jìn)行可靠的通信,用戶必須遵守微控制器和ADC芯片的數(shù)字接口時序規(guī)范。
圖3. SPI數(shù)據(jù)時鐘時序圖示例。
如果微控制器SPI和ADC串行接口具有標(biāo)準(zhǔn)SPI時序模式,那么用戶設(shè)計PCB布線和開發(fā)驅(qū)動器固件不成問題。
但是,有些新型ADC的串行接口端口不是典型的SPI時序模式。MCU或DSP似乎不可能通過AD7768串行端口(一種非標(biāo)準(zhǔn)時序SPI端口)讀取數(shù)據(jù),如圖4所示。
圖4. AD7768 FORMATx = 1×時序圖,僅通過DOUT0輸出。
與STM32F429 SPI連接
如何操縱標(biāo)準(zhǔn)微控制器SPI以便與具有非標(biāo)準(zhǔn)SPI端口的ADC接口讀取數(shù)據(jù)呢?以STM32F429微控制器讀取AD7768數(shù)據(jù)為例。如圖4所示,當(dāng)FORMATx = 11或10時,通道0至通道7僅通過DOUT0輸出 數(shù)據(jù)。在標(biāo)準(zhǔn)工作模式下, AD7768/AD7768-4 作為主機(jī)工作,數(shù)據(jù)流入MCU、DSP或FPGA。AD7768/AD7768-4向從機(jī)提供數(shù)據(jù)、數(shù)據(jù)時鐘(DCLK)和下降沿幀使能信號(DRDY)。
STM32Fxxx系列微控制器廣泛用于很多不同的應(yīng)用中。該MCU有多個SPI端口,可以使用典型的SPI時序模式將其配置為SPI主機(jī)或從機(jī)。
AD7768/AD7768-4分別為8通道和4通道同步采樣∑-?型ADC,每通道均有∑-?型調(diào)制器和數(shù)字濾波器,支持交流和直流信號的同步采樣。這些器件在110.8 kHz的最大輸入帶寬下實現(xiàn)了108 dB動態(tài)范圍,具備±2 ppm INL、±50 µV偏置誤差和±30 ppm增益誤差的典型性能。AD7768/AD7768-4用戶可在輸入帶寬、輸出數(shù)據(jù)速率和功耗之間進(jìn)行權(quán)衡,并選擇三種功耗模式之一以優(yōu)化噪聲目標(biāo)和功耗。AD7768/AD7768-4的靈活性使其成為適合低功耗直流和高性能交流測量模塊的可重復(fù)使用平臺。
遺憾的是,AD7768的串行接口不是典型SPI時序模式,而且AD7768充當(dāng)串行接口主機(jī)。一般而言,用戶必須使用FPGA/CPLD作為其控制器,例如,使用32F429IDISCOVERY和AD7768評估板。變通SPI線的連接如圖5所示。在這種設(shè)置下,AD7768的所有八通道數(shù)據(jù)僅通過DOUT0輸出。
圖5. AD7768通過DOUT0將數(shù)據(jù)輸出到STM32F429 MCU SPI連接。
需要解決的問題:
● AD7768用作SPI主機(jī),故必須將STM32F429I SPI配置為SPI從機(jī)。
● DRDY 高電平脈沖只持續(xù)一個DCLK周期,這不是典型的CS。
● 完成所有通道數(shù)據(jù)位的輸出之后,DCLK繼續(xù)輸出,DRDY為低電平。
圖6. 時序解決方案中的AD7768數(shù)據(jù)位讀取。
解決方案:MCU SPI作為從機(jī),通過一條DOUT線與SPI主機(jī)ADC接口。
● 將STM32F429的一個SPI端口(如SPI4)配置為從機(jī),以DCLK速率接收MOSI上的數(shù)據(jù)位。
● 將AD7768DRDY 連接到STM32F429外部中斷輸入引腳EXTI0和NSS (SPI CS) 引腳。 DRDY 的上升沿將觸發(fā)EXTI0處理例程,以使SPI從機(jī)能夠在DRDY 變?yōu)榈碗娖街蟮牡谝粋€DCLK下降沿開始接收數(shù)據(jù)位。時序設(shè)計在這里至關(guān)重要。
● 接收到通道0至通道7的所有數(shù)據(jù)后,應(yīng)禁用SPI以防止讀取額外的無效數(shù)據(jù),因為 DRDY 會使SPI從機(jī) CS 變?yōu)榈碗娖?,并且DCLK保持切換。
MCU固件開發(fā)注意事項
圖7. 配SPI4外設(shè)。
當(dāng)軟件處于中斷模式時,DCLK運(yùn)行速率可以高達(dá)4 MHz,實現(xiàn)8 kSPS的 ODR。軟件應(yīng)進(jìn)入中斷處理程序,在一個半DCLK周期(375 ns)內(nèi)啟動SPI。為使軟件更輕松地進(jìn)入中斷例程,MCU可以在DCLK上升沿讀取數(shù)據(jù),從而提供額外的半個DCLK周期時間。但是, t5 DCLK上升到DOUTx無效最小值為–3 ns(IOVDD = 1.8 V時為–4 ns),因此DOUTx上的傳播延遲(>|t5| + MCU 保持時間) 應(yīng)通過PCB布線或緩沖增加。
推薦閱讀:
特別推薦
- AMTS 2025展位預(yù)訂正式開啟——體驗科技驅(qū)動的未來汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽能和儲能解決方案
- 功率器件熱設(shè)計基礎(chǔ)(六)——瞬態(tài)熱測量
- 貿(mào)澤開售Nordic Semiconductor nRF9151-DK開發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級分流器以及匹配的評估板
- 功率器件熱設(shè)計基礎(chǔ)(八)——利用瞬態(tài)熱阻計算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動車
電動工具
電動汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖