基于DSP+FPGA多通道單端/差分信號采集系統(tǒng)
在信號處理過程中,經(jīng)常采用DSP+FPGA協(xié)同處理的方法。是因為DSP雖然可以實現(xiàn)較高速率的信號采集,但其指令更適于實現(xiàn)算法而不是邏輯控制,其外部接口的通用性較差。而FPGA時鐘頻率高、內(nèi)部延時小,全部控制邏輯由硬件完成,速度快、效率高,適合于大數(shù)據(jù)量的傳輸控制,可以集成外圍控制、譯碼和接口電路,在高速數(shù)據(jù)采集方面有著DSP以及單片機無法比擬的優(yōu)勢,但缺點是難以實現(xiàn)一些復(fù)雜的算法。因此,若采用DSP+FPGA協(xié)同處理的方法,便可以使DSP的高速處理能力與FPGA的高速、復(fù)雜的組合邏輯和時序邏輯控制能力相結(jié)合,達(dá)到互補,使系統(tǒng)發(fā)揮最佳性能。
在目前的信號采集及測試系統(tǒng)中,由于應(yīng)用背景的復(fù)雜,經(jīng)常需要對多路信號進(jìn)行采集,有的甚至需要對多路單端及差分信號進(jìn)行采集,在某些情況下,為測試分析的方便,還需要對采樣率進(jìn)行改變。文中介紹了一種采用DSP+FPGA協(xié)同處理的方法,并主要利用ADS8517這一A/D轉(zhuǎn)換芯片來實現(xiàn)多路可以選擇單端或差分輸入的信號采集系統(tǒng)的設(shè)計方法。
1 系統(tǒng)實現(xiàn)功能
該系統(tǒng)可以實現(xiàn)32個通道單端信號或16個通道差分信號的采集輸入,由DSP控制輸入信號是單端信號還是差分信號,以及各自使能輸入的通道,其中單端信號最多使能輸入32個通道,差分信號最多使能輸入16個通道。A/D在各個使能通道間采用類似時分復(fù)用的方法進(jìn)行輪尋采樣,A/D采樣頻率200 kHz,DSP可設(shè)置采樣率分頻值,對采樣率進(jìn)行改變,假如DSP設(shè)置采樣分頻值為D,使能輸入通道數(shù)為N,則每個通道實際采樣率為200 kHZ/(D·N)。
2 系統(tǒng)硬件設(shè)計
根據(jù)以上功能要求,整個系統(tǒng)的設(shè)計思路如圖1所示。其中DSP采用TI公司的TMS3206713B,F(xiàn)PGA采用Altera公司的CycloneIII系列,A /D采用TI公司的ADS8517。ADS8517的主要性能:(1)16位分辨率;(2)采樣頻率:200 kHz;(3)模擬輸入范圍±10 V;(4)輸出有串行和并行兩種方式。
在整個系統(tǒng)中,F(xiàn)PGA根據(jù)DSP對各個通道是單端或者差分的設(shè)置,以及各個通道使能與否和采用率分頻值的設(shè)置,控制ADS8517以及多路選擇器,將A/D輸入的數(shù)據(jù)以及其對應(yīng)的通道存入一個FIFO中,當(dāng)FIFO半滿時向DSP發(fā)送中斷,由DSP讀取FIFO中A/D的采樣數(shù)據(jù)及其對應(yīng)的通道號??梢钥闯?,設(shè)計重點主要集中在多路選擇器的設(shè)計以及FPGA中硬件邏輯的設(shè)計。2.1 多路選擇模塊設(shè)計
2.2 FPGA部分的設(shè)計
由于DSP數(shù)據(jù)總線為32位雙向總線,所以在FPGA中需要設(shè)計一個總線的三態(tài)控制器,來控制總線的輸入輸出,這部分設(shè)計較簡單,模式相對固定,應(yīng)用已成熟。
對于DSP發(fā)出的各個通道單端/差分控制,各個通道使能控制以及采樣率分頻值設(shè)置這些控制信息,由在FPGA中開辟出的3個32位寄存器來存儲。通道單端/差分控制寄存器和通道使能寄存器的定義如表1和表2所示,采樣率分頻值設(shè)置寄存器中的32位無符號2進(jìn)制整數(shù)表示相應(yīng)的分頻值。
當(dāng)DSP的控制信息設(shè)置好以后,根據(jù)通道單端/差分控制寄存器以及通道使能控制寄存器中的內(nèi)容,建立一個使能通道索引表,索引表中字的個數(shù)等于使能的通道數(shù),每一個字的字長為6位,依次將使能的通道號轉(zhuǎn)換成二進(jìn)制無符號數(shù)后放入表中各個字的低5位,每個字的高位記錄相應(yīng)的通道是單端還是差分,‘0’表示單端,‘1’表示差分。 設(shè)計采用ADS8517并行輸出的工作模式,按照圖3所示的并行輸出方式時序圖對其進(jìn)行控制,其中和BYTE信號為ADS8517的輸入控制信號,的下降沿表示一次采樣的開始,為高電平時表示可以讀取A/D的輸出數(shù)據(jù),輸出為并行8位輸出,當(dāng)BYTE信號為低電平時輸出高8位,反之則輸出低8位,從而完成16位分辨率的輸出。為ADS8517輸出信號,為低電平時則表示本次A/D轉(zhuǎn)換正在進(jìn)行,為高電平時表示本次轉(zhuǎn)換完成,因此當(dāng)和同時為高電平時,便可以讀取本次A/D采樣轉(zhuǎn)換后的數(shù)據(jù)。
fpga相關(guān)文章:fpga是什么
評論