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

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

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

基于DSP和CPLD技術(shù)實(shí)現(xiàn)ADC多路信號(hào)采集系統(tǒng)設(shè)計(jì)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-07 09:19 ? 次閱讀

引言

隨著現(xiàn)代電子技術(shù)的應(yīng)用和發(fā)展,數(shù)字信號(hào)處理的內(nèi)容日益復(fù)雜,而adc是實(shí)現(xiàn)從模擬到數(shù)字轉(zhuǎn)換的一個(gè)必然過程。針對(duì)這種情況,利用數(shù)字信號(hào)處理器和可編程邏輯器件提出了多路adc系統(tǒng)的設(shè)計(jì)方法,實(shí)現(xiàn)了對(duì)動(dòng)態(tài)多路模擬輸入信號(hào)的采樣傳輸以及處理,簡(jiǎn)化了電路設(shè)計(jì),可編程邏輯器件使得系統(tǒng)的通用性和可移植性得到良好的擴(kuò)展。系統(tǒng)框圖如圖1所示。

系統(tǒng)硬件設(shè)計(jì)

本設(shè)計(jì)所采用的adc器件是maxim公司的生產(chǎn)的低功耗16位模數(shù)轉(zhuǎn)換器(adc)max1162。max1162采用逐次逼近型adc結(jié)構(gòu),具有自動(dòng)關(guān)斷、1.1μs快速喚醒和兼容于spi/qspi/microwire的高速接口,采用+5v單模擬電源,并且具有獨(dú)立的數(shù)字電源引腳,允許芯片直接和+2.7~+5.25v的數(shù)字邏輯接口。ref引腳接外部參考電壓,用于設(shè)定模擬輸入電壓范圍,與模擬地之間連接一個(gè)4.7μf的電解電容;avdd引腳是+5v電源供應(yīng)輸入端,與模擬地之間接一個(gè)0.1μf的電容;agnd是模擬地;cs是片選輸入,低有效。當(dāng)為高時(shí),系統(tǒng)處于斷電模式,由高變低時(shí),激活系統(tǒng)到正常運(yùn)行模式,同時(shí)初始化一次轉(zhuǎn)換。本系統(tǒng)選擇作為ad的使能信號(hào);sclk是串行時(shí)鐘輸入,驅(qū)動(dòng)模數(shù)轉(zhuǎn)換進(jìn)程;dout是串行數(shù)據(jù)輸出,數(shù)據(jù)狀態(tài)在sclk的下降沿改變;dgnd是數(shù)字地;dvdd是數(shù)字電壓供應(yīng),與數(shù)字地之間接一個(gè)0.1μf的電容;ain是模擬信號(hào)輸入端。

該adc系統(tǒng)的中央控制單元采用ti德州儀器)公司的浮點(diǎn)數(shù)字信號(hào)處理器tms320vc33-150,tms320vc33的地址總線為24位,程序?qū)ぶ贩秶蛇_(dá)16m,數(shù)據(jù)總線為32位,內(nèi)部具有34k×32bit的sram,可根據(jù)需要映射在程序或數(shù)據(jù)空間,擁有一路串行口,可以構(gòu)成傳輸8、16、24、32位的數(shù)據(jù),其傳輸模式可以設(shè)置為突發(fā)模式或者是連續(xù)模式。兩個(gè)32位的通用定時(shí)器,能夠用來按照規(guī)定的時(shí)間間隔與芯片內(nèi)部通信或者是和外部通信。

基于DSP和CPLD技術(shù)實(shí)現(xiàn)ADC多路信號(hào)采集系統(tǒng)設(shè)計(jì)

使用x9241實(shí)現(xiàn)高分辨率的軟件代碼

為了方便理解實(shí)現(xiàn)控制的細(xì)節(jié),我們提供了c語言源代碼(代碼由xicor公司提供,我們做了一定的修改)。用戶只需要自己再編寫適用于不同單片機(jī)i2c硬件接口函數(shù)(函數(shù)名稱同程序中介紹一致),在應(yīng)用程序中加入我們提供的源代碼,簡(jiǎn)單的調(diào)用程序中介紹的5個(gè)函數(shù),就可以方便地實(shí)現(xiàn)dcp的高分辨率控制。

關(guān)于x9241實(shí)現(xiàn)高分辨率的軟件源代碼,工程師可到http://www.icbase. com/download/x9241.c去下載

本系統(tǒng)考慮到主要應(yīng)用在adc中,所以就直接采用tms320vc33的數(shù)據(jù)總線和地址總線,沒有再附加額外的電路,使得adc的采樣速度和轉(zhuǎn)換精度得到良好的保證。同時(shí)還利用了int2和xf0引腳,作為dsp接收數(shù)據(jù)的中斷信號(hào)和adc的使能信號(hào)。int2是外部中斷引腳,由外部的數(shù)據(jù)輸入觸發(fā)中斷;xf0即外部標(biāo)志輸出引腳,受軟件控制,可以用來向外部器件發(fā)送信號(hào),該引腳的狀態(tài)由i/o標(biāo)志寄存器決定,iof=0x22,即置xf0為通用目的輸出引腳,同時(shí)該引腳輸出0;若iof=0x26,則置xf0為通用目的輸出引腳,同時(shí)該引腳輸出為1。本系統(tǒng)利用軟件指令對(duì)xf0進(jìn)行置高置低,控制adc的啟動(dòng)轉(zhuǎn)換和停止。

emp7512ae基于eeprom技術(shù),采用多電壓i/o接口技術(shù),系統(tǒng)內(nèi)核供應(yīng)電壓為3.3v,而i/0引腳與2.5v、3.3v、5.0v邏輯電平相互兼容。epm7512ae有10 000個(gè)可用門、512個(gè)宏單元、32個(gè)邏輯陣列塊和212個(gè)用戶可用i/0引腳。cpld在系統(tǒng)中的主要功能是:給adc轉(zhuǎn)換提供時(shí)鐘信號(hào),控制adc轉(zhuǎn)換的使能和復(fù)位,由于采用的adc芯片是串行輸出的,cpld還實(shí)現(xiàn)對(duì)串行數(shù)據(jù)的輸入轉(zhuǎn)為并行數(shù)據(jù)的輸出,然后直接和tms320vc33的數(shù)據(jù)總線相連接。同時(shí)cpld產(chǎn)生脈沖信號(hào),在adc轉(zhuǎn)換完成后,數(shù)據(jù)暫存在cpld中,該脈沖向cpu申請(qǐng)中斷,提示有數(shù)據(jù)需要接收。另外,cpld的一個(gè)關(guān)鍵作用就是,實(shí)現(xiàn)路數(shù)的動(dòng)態(tài)選擇,目前設(shè)計(jì)的該系統(tǒng)最多路數(shù)為8路。cpld和dsp及ad芯片的具體硬件連接圖如圖2所示。

基于DSP和CPLD技術(shù)實(shí)現(xiàn)ADC多路信號(hào)采集系統(tǒng)設(shè)計(jì)

使用x9241實(shí)現(xiàn)高分辨率的軟件代碼

為了方便理解實(shí)現(xiàn)控制的細(xì)節(jié),我們提供了c語言源代碼(代碼由xicor公司提供,我們做了一定的修改)。用戶只需要自己再編寫適用于不同單片機(jī)的i2c硬件接口函數(shù)(函數(shù)名稱同程序中介紹一致),在應(yīng)用程序中加入我們提供的源代碼,簡(jiǎn)單的調(diào)用程序中介紹的5個(gè)函數(shù),就可以方便地實(shí)現(xiàn)dcp的高分辨率控制。

關(guān)于x9241實(shí)現(xiàn)高分辨率的軟件源代碼,工程師可到http://www.icbase. com/download/x9241.c去下載。

下面給出vhdl語言的主要程序部分。

基于DSP和CPLD技術(shù)實(shí)現(xiàn)ADC多路信號(hào)采集系統(tǒng)設(shè)計(jì)

begin

adcs 《= synthesized_wire_12;

ada 《= synthesized_wire_2;

gdfx_temp_signal_1 《= (l & l & h & h & h & l);

gdfx_temp_signal_0 《= (h & l & h & h & l);

u1 : lpm_bustri_0----三態(tài)總線緩沖器,允許采樣的數(shù)據(jù)輸出到dsp的數(shù)據(jù)總線上

port map(enabledt =》 drd,

data =》 ado,

tridata =》 d);

u2 : lpm_counter_1----計(jì)數(shù)器,把數(shù)據(jù)總線寬度改為3位

port map(sload =》 synthesized_wire_0,

clock =》 synthesized_wire_1,

aload =》 xfa0,

data =》 cmd(2 downto 0),

q =》 synthesized_wire_2);

u3 : lpm_dff_1---d觸發(fā)器,數(shù)據(jù)總線寬度為8位,接收來自于dsp的數(shù)據(jù)

port map(clock =》 cmdck,

data =》 d(7 downto 0),

q =》 cmd);

u4 : lpm_compare_1---比較器,比較cmd(5..3)和cmd(2..0)的值,即輪詢采樣通道

port map(dataa =》 cmd(5 downto 3),

datab =》 synthesized_wire_2,

aeb =》 synthesized_wire_0);

synthesized_wire_1 《= not(aq(4));

nrw《= not rw;

cmdck《= not( not page3 and(not rw)and a6 and a5 and a4 and (not a3));

----通道控制地址編碼

drd 《= not page3 and rw and a6 and a5 and a4 and a3;----采樣地址編碼

clka 《= not(clk);

u5 : lpm_counter_2---產(chǎn)生計(jì)數(shù)脈沖

port map(sload =》 synthesized_wire_3,

clock =》 hfp(5),

data =》 gdfx_temp_signal_0,

eq =》 sq,

q =》 aq);

u5 : lpm_dff_5---緩沖器

port map(clock =》 synthesized_wire_12,

data =》 synthesized_wire_5,

q =》 ado);

synthesized_wire_12 《= sq(12) or 0 or xfa0;

synthesized_wire_3 《= xfa0 or sq(14);

aden 《= not(xfa0);

synthesized_wire_10 《= hfp(5) and hfp(4) and hfp(0) and synthesized_wire_6 and synthesized_wire_7 and synthesized_wire_8;

synthesized_wire_7 《= not(hfp(2));

synthesized_wire_6 《= not(hfp(3));

inta2 《= xfa0 or synthesized_wire_9;

u6 : lpm_shiftreg_1----串行數(shù)據(jù)輸入轉(zhuǎn)為并行數(shù)據(jù)輸出

port map(shiftin =》 adout,

clock =》 hfp(5),

q =》 synthesized_wire_5);

u7 : lpm_counter_3---產(chǎn)生時(shí)鐘信號(hào)

port map(sload =》 synthesized_wire_10,

clock =》 h1ck,

data =》 gdfx_temp_signal_1,

q =》 hfp);

synthesized_wire_8 《= not(hfp(1));

adsck 《= not(hfp(5));

synthesized_wire_9 《= not(synthesized_wire_12);

h 《= 1;

l 《= 0;

end;

把該vhdl程序?qū)懭氲絜pm7512ae芯片中的,對(duì)數(shù)據(jù)進(jìn)行采樣編程就簡(jiǎn)單了許多。在.cmd文件的memory段中加入adport :org=0x00c00070,len=9。然后通過自定義數(shù)據(jù)段把數(shù)組adport[8]映射到段adport中。下面給出用c編寫的采樣主要程序。

main()

{

……

iof = 0x26;/*置max1162數(shù)據(jù)輸出端為高阻態(tài)*/

adport[0] = 0x28;

/*采樣通道選擇:0通道~5通道,總共6路;若設(shè)adport[0]=0x38,則通道為:0通道~7通道,總共8路。同理可進(jìn)行其他設(shè)置*/

ie = 4;/*中斷使能*/

iof = 0x22;/*啟動(dòng)adc*/

/* adport[0]對(duì)應(yīng)地址為0x00c00070,配置寄存器有6位,0、1、2位對(duì)應(yīng)起始通道,3、4、5位對(duì)應(yīng)結(jié)束通道。adport[8]對(duì)應(yīng)地址為0x00c00078,是控制寄存器*/

……

}

在中斷服務(wù)子程序接收采樣的數(shù)據(jù),程序如下。

c_int02()

{

ad[adi++] = adport[8];/*把采集的數(shù)據(jù)十六進(jìn)制數(shù)據(jù)存入數(shù)組ad中*/

if(adi》0x7ff) /*存入的數(shù)據(jù)大小為2k×16bit,根據(jù)內(nèi)存大小動(dòng)態(tài)改變*/

adi &= ox7ff;

}

結(jié)論

經(jīng)過實(shí)際驗(yàn)證,本adc系統(tǒng)在低成本的情況下的采樣精度達(dá)到了13位,這在16位的adc芯片中達(dá)到很好的水平,并被應(yīng)用到高精度工業(yè)控制中。利用tms320vc33和epm7512ae,靈活方便地實(shí)現(xiàn)了對(duì)高精度模數(shù)轉(zhuǎn)換器max1162的控制和動(dòng)態(tài)多通道采樣,簡(jiǎn)化了系統(tǒng)設(shè)計(jì)的復(fù)雜性,同時(shí)使得dsp的編程處理變得非常高效簡(jiǎn)潔。若應(yīng)用在要求更加嚴(yán)格的場(chǎng)面,本系統(tǒng)有待做進(jìn)一步的改進(jìn),把a(bǔ)dc芯片更換為并行輸出,同時(shí)把cpld芯片更換為cycloneii fpga,dsp芯片用tms320c6713,同時(shí)加入噪聲抑制設(shè)計(jì),這樣整個(gè)系統(tǒng)性能將會(huì)顯著提高。在一定的條件下,和adc模塊相類似,本系統(tǒng)可以經(jīng)過擴(kuò)充,實(shí)現(xiàn)更多路的信號(hào)采集

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

    關(guān)注

    552

    文章

    7959

    瀏覽量

    347926
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1246

    瀏覽量

    169151
  • 信號(hào)采集
    +關(guān)注

    關(guān)注

    6

    文章

    227

    瀏覽量

    67847
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DSP多路視頻監(jiān)控系統(tǒng)設(shè)計(jì)

    主處理芯片來實(shí)現(xiàn)視頻的采集、壓縮與傳輸?shù)裙δ???紤]到系統(tǒng)不僅需要采集多路標(biāo)清PAL制式視頻,還需要進(jìn)行H.264壓縮編碼,很難利用單
    發(fā)表于 05-03 11:37

    利用DSP系統(tǒng)實(shí)現(xiàn)多路測(cè)量信號(hào)擴(kuò)頻傳輸實(shí)現(xiàn)

    實(shí)現(xiàn)多路信號(hào)的復(fù)用;在接收機(jī)中再對(duì)其解擴(kuò),恢復(fù)原傳輸信號(hào)。利用擴(kuò)頻通信的擴(kuò)頻增益,可大大提高通信系統(tǒng)的信噪比,增加傳輸
    發(fā)表于 07-08 08:28

    怎么利用AD7892SQ和CPLD設(shè)計(jì)一個(gè)多路信號(hào)采集電路?

    系統(tǒng)以AD7892SQ和CPLD(復(fù)雜可編程邏輯器件)為核心設(shè)計(jì)了一個(gè)多路信號(hào)采集電路,包括模擬多路
    發(fā)表于 05-08 07:51

    基于CPLDDSP的線陣CC 檢測(cè)系統(tǒng)的設(shè)計(jì)

    基于CPLDDSP 設(shè)計(jì)了線陣CCD 檢測(cè)系統(tǒng),CCD 的時(shí)序驅(qū)動(dòng)由CPLD 實(shí)現(xiàn),經(jīng)過運(yùn)放后的視頻
    發(fā)表于 08-13 14:53 ?22次下載

    基于DSPDSP/BIOS的實(shí)時(shí)雷達(dá)信號(hào)采集與處理系統(tǒng)

    基于DSPDSP/BIOS的實(shí)時(shí)雷達(dá)信號(hào)采集與處理系統(tǒng):介紹了一種在實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 01-16 16:59 ?25次下載

    多路測(cè)量信號(hào)擴(kuò)頻傳輸?shù)?b class='flag-5'>DSP系統(tǒng)實(shí)現(xiàn)

    本文對(duì)多路測(cè)量信號(hào)的擴(kuò)頻傳輸系統(tǒng)進(jìn)行了研究,提出了對(duì)所傳輸信號(hào)的頻譜進(jìn)行擴(kuò)展并利用碼分復(fù)用實(shí)現(xiàn)多路
    發(fā)表于 02-24 14:22 ?13次下載

    CPLD多路高速同步數(shù)據(jù)采集系統(tǒng)中的應(yīng)用

    CPLD多路高速同步數(shù)據(jù)采集系統(tǒng)中的應(yīng)用 CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器
    發(fā)表于 03-28 16:49 ?956次閱讀
    <b class='flag-5'>CPLD</b>在<b class='flag-5'>多路</b>高速同步數(shù)據(jù)<b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>中的應(yīng)用

    利用CPLD實(shí)現(xiàn)多路數(shù)據(jù)采集

    設(shè)計(jì)了以CPLD為核心處理芯片的多路數(shù)據(jù)采集系統(tǒng),整個(gè)數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)最大
    發(fā)表于 05-05 20:04 ?1775次閱讀
    利用<b class='flag-5'>CPLD</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>多路數(shù)據(jù)采集</b>

    基于DSP+CPLD的智能IED設(shè)計(jì)

    本文的設(shè)計(jì)師基于DSPCPLD搭建的智能IED(Intelligent Electronic Device,智能電力監(jiān)測(cè)裝置)可以同時(shí)采集多路信號(hào)
    發(fā)表于 07-02 11:15 ?1399次閱讀
    基于<b class='flag-5'>DSP+CPLD</b>的智能IED設(shè)計(jì)

    基于DSP的聲雷達(dá)信號(hào)采集系統(tǒng)

    聲雷達(dá)信號(hào)采集系統(tǒng)主要由信號(hào)采集、信號(hào)處理、電源和時(shí)鐘四部分組成,本文介紹的基于美國(guó)模擬器件公司
    發(fā)表于 08-17 11:17 ?1530次閱讀
    基于<b class='flag-5'>DSP</b>的聲雷達(dá)<b class='flag-5'>信號(hào)</b><b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>

    基于CPLD多路音頻采集系統(tǒng)

    基于CPLD多路音頻采集系統(tǒng),有需要的下來看看。
    發(fā)表于 01-21 11:07 ?29次下載

    基于CPLD控制的通用視頻采集模塊詳述

    本文實(shí)現(xiàn)了一種基于CPLD控制的視頻采集模塊。CPLD主要通過視頻A/D的輸出狀態(tài)信號(hào)以及TMS320C6x
    發(fā)表于 10-20 11:11 ?31次下載
    基于<b class='flag-5'>CPLD</b>控制的通用視頻<b class='flag-5'>采集</b>模塊詳述

    如何DSP設(shè)計(jì)語音信號(hào)采集系統(tǒng)的論文說明

    設(shè)計(jì)了一種基于16位定點(diǎn)DSP TMS320VC5410 的語音信號(hào)采集系統(tǒng), 該系統(tǒng)應(yīng)用了集ADC
    發(fā)表于 01-24 15:06 ?3次下載
    如何<b class='flag-5'>DSP</b>設(shè)計(jì)語音<b class='flag-5'>信號(hào)</b><b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>的論文說明

    如何使用FPGA和ARM設(shè)計(jì)和實(shí)現(xiàn)多路視頻采集系統(tǒng)

    提出了一種基于FPGA+ARM的多路視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。該視頻采集系統(tǒng)不僅能對(duì)
    發(fā)表于 11-19 15:51 ?21次下載
    如何使用FPGA和ARM設(shè)計(jì)和<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>多路</b>視頻<b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>

    采用復(fù)雜可編程邏輯器件實(shí)現(xiàn)多路信號(hào)采集系統(tǒng)的設(shè)計(jì)

    系統(tǒng)以AD7892SQ和CPLD(復(fù)雜可編程邏輯器件)為核心設(shè)計(jì)了一個(gè)多路信號(hào)采集電路,包括模擬多路
    發(fā)表于 03-03 17:21 ?1480次閱讀
    采用復(fù)雜可編程邏輯器件<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>多路</b><b class='flag-5'>信號(hào)</b><b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)