《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > ADl871型模/數(shù)轉(zhuǎn)換器在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
ADl871型模/數(shù)轉(zhuǎn)換器在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
摘要: ADl871是目前市場上動態(tài)范圍、采樣速率和采樣精度等指標(biāo)都很突出數(shù)據(jù)的一款24位 ADC,,它的推出為設(shè)計高速、高精度數(shù)據(jù)采集系統(tǒng)提供了一種較好的解決方案。由于其輸出為串行輸出,當(dāng)其和MCU直接相連時,會使采樣系統(tǒng)的采樣速率大大降低。
Abstract:
Key words :

  1 引言

  科學(xué)技術(shù)的發(fā)展對數(shù)據(jù)采集系統(tǒng)的采樣速率、分辨率,、精度、接口及抗干擾能力等提出越來越高的要求,。

  ADl871是目前市場上動態(tài)范圍,、采樣速率和采樣精度等指標(biāo)都很突出數(shù)據(jù)的一款24位 ADC,它的推出為設(shè)計高速,、高精度數(shù)據(jù)采集系統(tǒng)提供了一種較好的解決方案,。由于其輸出為串行輸出,當(dāng)其和MCU直接相連時,,會使采樣系統(tǒng)的采樣速率大大降低,。

  如果MCU的I/O端口的實際最高速率是1MHz(單片機的速率通常是這個數(shù)量級),那么I/O端13傳輸1Bit的最短時間間隔為1μs,,當(dāng)ADl871輸出2路各24Bit時,,需要實際串行輸出64Bit,故采樣速率下降為1MHz/64=15.625kHz,,這個速率遠(yuǎn)遠(yuǎn)低于ADl871的96kHz,,另外,單片機把64位串行數(shù)據(jù)再處理為2個24位的并行數(shù)據(jù)時,,速度會進(jìn)一步降低,。

  為此,筆者采用現(xiàn)場可編程門陣列(FPGA)設(shè)計了ADl871和MCU之間的接口,,由FPGA完成對ADl871的控制,,并將其輸出的串行數(shù)據(jù)在FPGA的內(nèi)部變?yōu)椴⑿袛?shù)據(jù),并行后的數(shù)據(jù)以8位或12位為一組發(fā)給MCU,。由于FPGA的實際傳輸速率可以滿足和ADl871的傳輸速率要求,,故上述“瓶頸”得以解決。

  2 接口設(shè)計

  2.1 時鐘設(shè)計

  圖1示出A/D轉(zhuǎn)換器的輸入時鐘設(shè)計,,MD轉(zhuǎn)換器工作在從模式下時,,需要外部提供RLCLK和BCLK,。在主時鐘MCLK的輸入下,,通過對MCLK 4分頻得到BCLK的信號,用來作為位數(shù)據(jù)提取的信號,。RLCLK是通過對BCLK的32分頻得到的,,用來區(qū)分左右通道的數(shù)據(jù),,同時輸出EN信號作為后續(xù)處理的同步信號。

A/D轉(zhuǎn)換器的輸入時鐘設(shè)計

  2.2 接口設(shè)計

  在圖2中,,輸入為MCLK(主時鐘),、RESET(啟動信號)和SHIFTIN(A/D輸出數(shù)據(jù)),輸出為RL(左右?guī)盘?,、BCLK(A/D數(shù)據(jù)位時鐘),,TXT(并行數(shù)據(jù)讀取控制)和SHIFTOUT(并行數(shù)據(jù)輸出)。通過時鐘控制輸出BCLK和 RLCLK到AD1871,,AD1871傳出數(shù)據(jù)SHIFTIN進(jìn)入SHIFT模塊,,SHIFT模塊在正確的位時鐘下讀取SHIFTIN的輸入數(shù)據(jù),并進(jìn)行串,,并轉(zhuǎn)換,,之后輸出8位或12位的數(shù)據(jù)。同時輸出TXT并行數(shù)據(jù)讀取控制,。

接口設(shè)計

點擊看原圖

 

 

  2.3 SHIFT模塊程序

  •   Emity shifill is
  •   PORT(BCLK:IN STD_LOGIC,;一輸入的BCLK位信號
  •   CR :IN STD_LOGIC;--輸入的使能信號
  •   SHIFTIN:IN STD_LOGIC:--AD輸入的串行信號
  •   RLEN:IN STD_LOGIC,;--輸入的RLCLK使能,,幀對準(zhǔn)信號
  •   TXTS:OUT STD_LOGIC;--8位的組信號輸出控制信號
  •   sddddd:OUT STD_LOGIC_VECTOR (7DOWNTO 0),; --8位并行信號輸出),;
  •   end shift11:
  •   architecture Behavioral of shift11 is
  •   SIGNAL TEMPDATE:STD_LOGIC_VEC—TOR(8 DOWNTO 0);
  •   SIGNAL TEMPO11:STD_LOGIC_VECTOR(7DOWNTO 0):=“00000000”,;
  •   SIGNAL Q:INTEGER RANGE 0 T0 7,;
  •   一并行信號計數(shù)8位產(chǎn)生一個脈沖;
  •   SIGNAL Q4:INTEGER RANGE 0 TO 3,;
  •   --有用信號選擇,,選擇32位中的24位;

程序

  筆者用MaxPlus II對以上設(shè)計進(jìn)行仿真后得到圖3所示的時序圖,,完全滿足設(shè)計要求,,從圖3可以看出串行輸入的數(shù)據(jù)(shiflin)變成并行的數(shù)據(jù)(shiftout) 輸出,在此過程中數(shù)據(jù)延時8個周期,,每個txts的上升沿提取數(shù)據(jù)能保證數(shù)據(jù)的正確性,。因為從數(shù)據(jù)的變動到txts的上升沿有400ns,大于FPGA的數(shù)據(jù)建立時間(25ns~50ns),,可以保證提取數(shù)據(jù)的正確性,。

用MaxPlus II對以上設(shè)計進(jìn)行仿真

  3 小型采樣系統(tǒng)

  圖4示出采用ADl871構(gòu)成的采樣系統(tǒng)結(jié)構(gòu)。整個系統(tǒng)在1個FPGA上實現(xiàn),,分為3部分:并轉(zhuǎn)換模塊,;ADC控制和配置,;UART通信。

采用ADl871構(gòu)成的采樣系統(tǒng)結(jié)構(gòu)

  具體的功能是實現(xiàn)ADC的初始化,、信號的采集存儲及UART通信,。

  工作原理是由ADC控制模塊來接收PC的數(shù)據(jù),轉(zhuǎn)發(fā)控制數(shù)據(jù)到ADC,,對ADC的工作狀態(tài)進(jìn)行配置,。完成后ADC采樣并儲存在FIFO中,通過控制向單片機傳送數(shù)據(jù),。

  從仿真結(jié)果看,,整個系統(tǒng)的工作正常,說明接口設(shè)計的正確性和可行性,。

  4 結(jié)束語

  由ADl871構(gòu)成的數(shù)據(jù)采集系統(tǒng)具有高分辨率,、寬動態(tài)范圍、高信噪比等特點,,特別適用于高精度數(shù)據(jù)采集系統(tǒng),。∑-△型ADC具有抗干擾能力強、量化噪聲小,、分辨率高,、線性度好、轉(zhuǎn)換速度較高,、價格合理等優(yōu)點,,因此越來越多地受到電子產(chǎn)品用戶及設(shè)計人員的重視。解決這類ADC的接口問題在實際設(shè)計中具有重大意義,。筆者設(shè)計的接口使單片機從接收數(shù)據(jù)的困境中解脫出來,,大大提高了單片機的采樣速率,原來處理一幀數(shù)據(jù)需要讀64次,,現(xiàn)在只需要6次,,在12位輸出的情況下只需要4次,也就是說采用FPGA后單片機的I/O口可以達(dá)到1MHz/6=166.66kHz 的采樣速率,,大大超過了96kHz的采樣速率,,使單片機有時間對數(shù)據(jù)進(jìn)行一些處理。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。