基于FPGA+DSP的多通道單端/差分信號采集系統(tǒng)設計
在信號處理過程中,經常采用DSP+FPGA協(xié)同處理的方法。是因為DSP雖然可以實現(xiàn)較高速率的信號采集,但其指令更適于實現(xiàn)算法而不是邏輯控制,其外部接口的通用性較差。而FPGA時鐘頻率高、內部延時小,全部控制邏輯由硬件完成,速度快、效率高,適合于大數(shù)據(jù)量的傳輸控制,可以集成外圍控制、譯碼和接口電路,在高速數(shù)據(jù)采集方面有著DSP以及單片機無法比擬的優(yōu)勢,但缺點是難以實現(xiàn)一些復雜的算法。因此,若采用DSP+FPGA協(xié)同處理的方法,便可以使DSP的高速處理能力與FPGA的高速、復雜的組合邏輯和時序邏輯控制能力相結合,達到互補,使系統(tǒng)發(fā)揮最佳性能。
在目前的信號采集及測試系統(tǒng)中,由于應用背景的復雜,經常需要對多路信號進行采集,有的甚至需要對多路單端及差分信號進行采集,在某些情況下,為測試分析的方便,還需要對采樣率進行改變。文中介紹了一種采用DSP+FPGA協(xié)同處理的方法,并主要利用ADS8517這一A/D轉換芯片來實現(xiàn)多路可以選擇單端或差分輸入的信號采集系統(tǒng)的設計方法。
1 系統(tǒng)實現(xiàn)功能
該系統(tǒng)可以實現(xiàn)32個通道單端信號或16個通道差分信號的采集輸入,由DSP控制輸入信號是單端信號還是差分信號,以及各自使能輸入的通道,其中單端信號最多使能輸入32個通道,差分信號最多使能輸入16個通道。A/D在各個使能通道間采用類似時分復用的方法進行輪尋采樣,A/D采樣頻率200 kHz,DSP可設置采樣率分頻值,對采樣率進行改變,假如DSP設置采樣分頻值為D,使能輸入通道數(shù)為N,則每個通道實際采樣率為200 kHZ/(D·N)。
2 系統(tǒng)硬件設計
根據(jù)以上功能要求,整個系統(tǒng)的設計思路如圖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對各個通道是單端或者差分的設置,以及各個通道使能與否和采用率分頻值的設置,控制ADS8517以及多路選擇器,將A/D輸入的數(shù)據(jù)以及其對應的通道存入一個FIFO中,當FIFO半滿時向DSP發(fā)送中斷,由DSP讀取FIFO中A/D的采樣數(shù)據(jù)及其對應的通道號。可以看出,設計重點主要集中在多路選擇器的設計以及FPGA中硬件邏輯的設計。
2.1 多路選擇模塊設計
根據(jù)系統(tǒng)要實現(xiàn)的功能,多路選擇模塊的設計采用如圖2所示的設計思路,其中16選1多路器和4選1多路器分別采用ADI公司的ADG1206和ADG1204。由FPGA控制這些多路選擇器來選擇通道以及單端/差分模式,在設計選擇差分信號時,為方便,只支持A0~A15通道和A16~A31通道依次對應的差分,而不支持A0~A15通道中任意一個通道和A16~A31通道中任意一個通道的差分。
2.2 FPGA部分的設計
由于DSP數(shù)據(jù)總線為32位雙向總線,所以在FPGA中需要設計一個總線的三態(tài)控制器,來控制總線的輸入輸出,這部分設計較簡單,模式相對固定,應用已成熟。
對于DSP發(fā)出的各個通道單端/差分控制,各個通道使能控制以及采樣率分頻值設置這些控制信息,由在FPGA中開辟出的3個32位寄存器來存儲。通道單端/差分控制寄存器和通道使能寄存器的定義如表1和表2所示,采樣率分頻值設置寄存器中的32位無符號2進制整數(shù)表示相應的分頻值。
當DSP的控制信息設置好以后,根據(jù)通道單端/差分控制寄存器以及通道使能控制寄存器中的內容,建立一個使能通道索引表,索引表中字的個數(shù)等于使能的通道數(shù),每一個字的字長為6位,依次將使能的通道號轉換成二進制無符號數(shù)后放入表中各個字的低5位,每個字的高位記錄相應的通道是單端還是差分,‘0’表示單端,‘1’表示差分。
設計采用ADS8517并行輸出的工作模式,按照圖3所示的并行輸出方式時序圖對其進行控制,其中
和BYTE信號為ADS8517的輸入控制信號,
的下降沿表示一次采樣的開始,
為高電平時表示可以讀取A/D的輸出數(shù)據(jù),輸出為并行8位輸出,當BYTE信號為低電平時輸出高8位,反之則輸出低8位,從而完成16位分辨率的輸出。
為ADS8517輸出信號,為低電平時則表示本次A/D轉換正在進行,為高電平時表示本次轉換完成,因此當
和
同時為高電平時,便可以讀取本次A/D采樣轉換后的數(shù)據(jù)。
ADS8517控制以及通道切換控制模塊在按照圖3所示的時序控制過程中,要根據(jù)采樣率分頻值設置寄存器中的值控制兩次采樣之間的時間間隔,即控制兩個相鄰
信號下降沿之間的時間間隔,從而改變采樣率。在控制多路選擇模塊進行通道切換時,根據(jù)建立的索引列表依次切換通道,切換要在圖3中兩個相鄰
信號低脈沖之間進行,這樣才能確保當A/D采樣時,通道已經切換完畢,輸入信號已穩(wěn)定,從而保證采樣的準確性。
除此之外,在FPGA中開辟一個字長為32位的FIFO,低16位存入A/D采樣的數(shù)據(jù),高16位存入該數(shù)據(jù)對應的通道號,F(xiàn)IFO半滿,則給DSP發(fā)中斷,由DSP將A/D采樣后的數(shù)據(jù)讀出,以便后續(xù)處理。要注意的是,F(xiàn)IFO深度不能設置得太淺,否則會很快達到半滿,導致DSP對中斷響應不過來。
3%20結果驗證
按照以上設計思路,完成硬件電路、FPGA內邏輯和DSP的程序設計,使用QuartusII中的在線邏輯分析儀SignalTapII%20Logic%20%20Analyzer對結果進行采樣分析,圖4所示為在DSP設置使能通道為30和31,并且均為單端的條件下采到的結果,與期望結果一致,類似這樣通過多次改變控制條件采樣分析發(fā)現(xiàn),該系統(tǒng)可以正確地實現(xiàn)之前所描述的功能,從而驗證了該設計的合理正確性。
4 結束語
由于DSP+FPGA協(xié)同工作平臺的優(yōu)越性,使其在信號處理中的應用越來越廣泛。文中介紹了一種基于DSP+FPGA的平臺,并利用ADS8517構成的一個具有多通道單端/差分的A/D信號采集系統(tǒng)。該系統(tǒng)的使能通道數(shù)可選,單端/差分方式可設置,采樣率可改變,機動靈活,可以應用在諸多信號采集以及測試系統(tǒng)中。