《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 利用DSP和CPLD增強(qiáng)數(shù)據(jù)采集的可擴(kuò)展性
利用DSP和CPLD增強(qiáng)數(shù)據(jù)采集的可擴(kuò)展性
摘要: DSP雖然在算法處理上功能很強(qiáng)大,但其控制功能是非常弱的;而CPLD本身并不具有內(nèi)部寄存器,雖然可以用CPLD的邏輯塊來實(shí)現(xiàn)寄存器,但是這將耗費(fèi)大量的CPLD資源。然而,CPLD的強(qiáng)項(xiàng)在于時(shí)序和邏輯控制。本文介紹的多路數(shù)據(jù)采集系統(tǒng)就是充分利用了DSP和CPLD的優(yōu)點(diǎn),將多個(gè)A/D轉(zhuǎn)換單元通過CPLD映射到DSP的I/O地址空間,利用CPLD屏蔽A/D轉(zhuǎn)換的初始化以及讀寫操作過程,使得DSP可以透過CPLD這個(gè)"黑匣子"快速、準(zhǔn)確地獲取數(shù)據(jù)。
關(guān)鍵詞: CPLD DSP 數(shù)據(jù)采集
Abstract:
Key words :
 

  在IC卡公用電話系統(tǒng)中,在線式公用電話由于其具有保密性高、可擴(kuò)展性強(qiáng)等特點(diǎn),已逐漸獲得人們的青睞。這種公用電話系統(tǒng)被置于終端和交換機(jī)之間,對(duì)兩者的信號(hào)進(jìn)行調(diào)制、解調(diào)以及其它的運(yùn)算,來完成諸如卡驗(yàn)證、終端維護(hù)、多媒體信號(hào)傳輸?shù)裙ぷ鳌Ec軟件無線電相類似,這種系統(tǒng)的硬件平臺(tái)通用性很強(qiáng),數(shù)字信號(hào)處理的算法將由專門的芯片來承擔(dān),所以這種系統(tǒng)可以兼容目前在電話線上應(yīng)用的各種調(diào)制解調(diào)方法,也可以適應(yīng)未來出現(xiàn)的其它調(diào)制解調(diào)標(biāo)準(zhǔn)。

  由此可以看出,要實(shí)現(xiàn)這樣一個(gè)系統(tǒng),數(shù)據(jù)采集是一個(gè)非常重要的方面。為了節(jié)約成本和提高DSP芯片的利用率,在這個(gè)系統(tǒng)中,一片DSP要承擔(dān)16個(gè)通道的運(yùn)算。從數(shù)據(jù)采集的角度來說,由于通道同時(shí)對(duì)應(yīng)著終端和交換機(jī)兩端,故DSP需要高速采集32個(gè)通道的數(shù)據(jù)。另外,高速ADC的出現(xiàn)和DSP性能的不斷提高也對(duì)系統(tǒng)將來的升級(jí)提出了要求。所以對(duì)數(shù)據(jù)采集部分來說,高速、可擴(kuò)展性是兩具非常重要的指標(biāo)。實(shí)現(xiàn)的系統(tǒng)就是以這兩個(gè)指標(biāo)為指導(dǎo)的。 

  目前的高速多通道數(shù)據(jù)采集系統(tǒng)一般有以下幾種實(shí)現(xiàn)方法:一是直接采用高速的多通道模/數(shù)轉(zhuǎn)換芯片,這些芯片有專門設(shè)計(jì)的與DSP接口的部分,但是這些芯片一般價(jià)格都非常昂貴;二是直接用FPGA完成整個(gè)的采集過程,這將耗費(fèi)FPGA巨大的資源;三是DSP和模/數(shù)轉(zhuǎn)換芯片的地址以及數(shù)據(jù)總線直接相接,通過單片機(jī)控制轉(zhuǎn)換等過程,這種方法雖然便宜,但是可擴(kuò)展性太差。綜上所述,提出一種通過CPLD實(shí)現(xiàn)接口,將模擬轉(zhuǎn)換通道映射到DSP的I/O設(shè)備空間甚至內(nèi)存空間的方法。這種方法大大提高了DSP可以訪問的外設(shè)數(shù)目;同時(shí)由于DSP不直接與模/數(shù)轉(zhuǎn)換模塊接口,所以ADC芯片的升級(jí)或者替代都不會(huì)影響原來的數(shù)據(jù)采集;而且采用了時(shí)分復(fù)用方式讀取轉(zhuǎn)換完成的數(shù)據(jù),因此這個(gè)系統(tǒng)數(shù)據(jù)采集速率可以達(dá)到所采用的ADC芯片輸出的最高速率。

  DSP雖然在算法處理上功能很強(qiáng)大,但其控制功能是非常弱的;而CPLD本身并不具有內(nèi)部寄存器,雖然可以用CPLD的邏輯塊來實(shí)現(xiàn)寄存器,但是這將耗費(fèi)大量的CPLD資源。然而,CPLD的強(qiáng)項(xiàng)在于時(shí)序和邏輯控制。本文介紹的多路數(shù)據(jù)采集系統(tǒng)就是充分利用了DSP和CPLD的優(yōu)點(diǎn),將多個(gè)A/D轉(zhuǎn)換單元通過CPLD映射到DSP的I/O地址空間,利用CPLD屏蔽A/D轉(zhuǎn)換的初始化以及讀寫操作過程,使得DSP可以透過CPLD這個(gè)"黑匣子"快速、準(zhǔn)確地獲取數(shù)據(jù)。

  1 數(shù)據(jù)采集系統(tǒng)框架

  整個(gè)數(shù)據(jù)采集系統(tǒng)主要由DSP處理模塊、CPLD接口模塊和ADC陣列三個(gè)部分組成,如圖1所示。透過這樣一個(gè)結(jié)構(gòu),DSP可以在未知ADC的控制方式的情況下,定時(shí)地以訪問外設(shè)的方式來獲得總共32個(gè)通道的模/數(shù)轉(zhuǎn)換后的數(shù)據(jù)。

  這樣的系統(tǒng)框圖只是完成了一個(gè)完整的數(shù)據(jù)采集功能,至于數(shù)據(jù)的處理以及DSP需要完成的其它功能,此圖并未涉及。但對(duì)于一個(gè)DSP系統(tǒng)來說,數(shù)據(jù)采集在硬件中占據(jù)了很大的比重,這也符合DSP芯片應(yīng)用的原則:用軟件完成大部分的數(shù)字處理算法。

  2 各功能模塊的實(shí)現(xiàn)

  2.1 ADC陣列的實(shí)現(xiàn)

  此數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)目標(biāo)是完成32路信號(hào)的采樣,并且要求每路的采樣率為50kHz。所以,這樣一個(gè)系統(tǒng)達(dá)到的整體采樣率為32×50k=1.6MHz。

  在模/數(shù)轉(zhuǎn)換環(huán)節(jié),采用的A/D芯片一片一次可以同時(shí)完成4路轉(zhuǎn)換。為了達(dá)到設(shè)計(jì)目標(biāo),需要8片這樣的芯片。但是,如果直接將8片模/數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)總線全部連接起來輸入到CPLD中或者將CPLD出來的某條控制信號(hào)線直接連接到8片芯片上,那么在驅(qū)上就會(huì)出現(xiàn)總是?;诖朔N考慮,此系統(tǒng)將8片芯片分成兩組,每組4片,然后從CPLD中引出兩組數(shù)據(jù)總線以及兩級(jí)控制總線分別對(duì)它們實(shí)現(xiàn)控制。這樣就能很好地解決芯片的驅(qū)動(dòng)問題。圖2就是其中一組芯片的連接架構(gòu)圖。

  從這個(gè)架構(gòu)圖可以看出,這4片A/D轉(zhuǎn)換芯片除了片選控制信號(hào)以外,其它的數(shù)據(jù)總線以及控制總線全部是分別連在一起的。將片選控制與其它控制分開的原因在于:芯片的初始化以及轉(zhuǎn)換過程需要同時(shí)完成,但是轉(zhuǎn)換后數(shù)據(jù)的輸出則分則完成。ADC控制時(shí)序框圖如圖3所示。

  要實(shí)現(xiàn)這樣的控制時(shí)序,各個(gè)階段對(duì)芯片的片選控制如下:在初始化階段,所以A/D芯片的片選信號(hào)有效,此時(shí)可以對(duì)每片芯片寫入相同的模式選擇信號(hào),同時(shí)啟動(dòng)采樣脈沖和轉(zhuǎn)換脈沖;在轉(zhuǎn)換階段,所有片選信號(hào)全部無效,此時(shí)芯片本身在內(nèi)部完成模/數(shù)轉(zhuǎn)換,同時(shí)將轉(zhuǎn)換完成的數(shù)據(jù)放置在芯片內(nèi)部的寄存器中;在數(shù)據(jù)輸出階段,首先是第一片芯片的片選有效,此時(shí)若有一個(gè)脈沖下降沿到A/D芯片的RD端口,則芯片1的轉(zhuǎn)換完成,第一路數(shù)據(jù)將浮出到數(shù)據(jù)總線上,而其它芯片由于片選信號(hào)無效,雖然有RD輸入也不會(huì)有數(shù)據(jù)輸出,不會(huì)造成總線沖突。對(duì)于芯片1而言,接下來的幾個(gè)RD脈沖可以分別使得轉(zhuǎn)換完成后的幾路數(shù)據(jù)浮現(xiàn)在數(shù)據(jù)總線上。芯片1的數(shù)據(jù)全部輸出完成后,片選1無效,此時(shí)可使芯片2的片選信號(hào)有效。依此類推,就可以完成4片芯片的轉(zhuǎn)換及數(shù)據(jù)輸出。

  2.2 CPLD接口模塊的實(shí)現(xiàn)

  整個(gè)CPLD接口模塊實(shí)際上就是一片ALTERA公司的7000系列的CPLD(外部時(shí)鐘電路除外),它控制ADC模塊的初始化,同時(shí)接收并分析DSP過來的I/O端口讀取信號(hào),為DSP和ADC之間搭起一個(gè)通道。

  在DSP要求讀取數(shù)據(jù)時(shí),CPLD將DSP過來的IOSTROBE作為A/D芯片的RD信號(hào),同時(shí)對(duì)I/O地址總線的第3位至第5位譯碼產(chǎn)生A/D芯片的片選信號(hào),這樣只要是地址按照每次遞增1的方式讀取數(shù)據(jù),就可以使得8片A/D分時(shí)片選有效,完全符合上面提到的讀取數(shù)據(jù)的要求。另外,還依靠最高位地址確定CPLD到DSP的數(shù)據(jù)輸出總線是否定義成高阻態(tài)來避免總線沖突。

  由于A/D芯片是采用5V供電的,所以其輸出高電平將高于DSP輸入高電平所能承受的范圍。解決這個(gè)總是的方法之一是采用降壓芯片(比如LVT系列)用3.3V供電,3.3V供電可以承受5V的輸入,同時(shí)輸出也和3.3V兼容,但是這種方法需要單獨(dú)外接幾片LVT芯片,占據(jù)寶貴的PCB板空間;方法之二是給CPLD芯片提供雙電源,其中提供給I/O腳的電源為3.3V,此時(shí)輸入電壓可以和5V及3.3V系統(tǒng)兼容,同時(shí)電平可以達(dá)到3.3V,符合A/D芯片高電平最低電壓2.4V的要求。所以,數(shù)據(jù)總線通過CPLD到DSP實(shí)際上是因?yàn)殡娖睫D(zhuǎn)換的需要。

  2.3 DSP處理模塊

  DSP處理模塊在硬件電路上是非常簡單的,主要由一片DSP芯片、一片EEPROm以及一片介于這兩者之間的用作電平轉(zhuǎn)換的LVT系列的芯片組成。

  DSP通過地址總線可以區(qū)分訪問的模擬通道的標(biāo)號(hào)。需要注意的是:由于采用的A/D芯片是通過對(duì)RD脈沖信號(hào)計(jì)數(shù)來確定訪問的是同一片芯片內(nèi)部4路中的哪一路,所以實(shí)際上地址總線的低兩位是沒有選擇功能的,對(duì)一片A/D芯片訪問時(shí),最后兩位地址一定要從00開始遞增到11,否則所讀取的數(shù)據(jù)就是亂的。例如,轉(zhuǎn)換完成后的DSP若想越過前兩個(gè)通道來獲得第3個(gè)通道的數(shù)據(jù),它必須給出兩個(gè)讀取I/O端口的指令,緊接著這兩個(gè)指令后的讀取端口指令才可以獲得3個(gè)通道的有效數(shù)據(jù)。

  當(dāng)然,可以通過CPLD首先將所有轉(zhuǎn)換完成的數(shù)據(jù)緩存下來,然后分析I/O地址來將對(duì)應(yīng)的通道的數(shù)據(jù)浮現(xiàn)到數(shù)據(jù)總線上。這樣做使得DSP可以自由地選擇需要訪問的通道,但需要比較大的緩存,利用CPLD作緩存是非常不經(jīng)濟(jì)的。

  3 仿真和調(diào)試

  本系統(tǒng)的軟件開發(fā)主要包括兩部分,一是DSP讀取I/O口的程序,二是CPLD的時(shí)序控制程序。前一程序的開發(fā)采用的是TI公司的CCS開發(fā)環(huán)境,并且利用DSP內(nèi)部的BOOTLOADER在起電時(shí)將存儲(chǔ)在外掛EPROM中的程序裝載進(jìn)DSP的程序空間。而后一程序的開發(fā)采用的是ALTERA公司的MAXPLUSII,利用這個(gè)環(huán)境,完成了程序的編制、仿真以及時(shí)序分析,并在找出關(guān)鍵路徑的基礎(chǔ)上優(yōu)化了整個(gè)芯片的內(nèi)部延時(shí)。

  在調(diào)試的過程中,利用DSP提供的JTAG接口實(shí)時(shí)地觀察采集進(jìn)來的數(shù)據(jù)。當(dāng)對(duì)32路模擬通道分別提供不同頻率的正弦信號(hào)時(shí),可以看到相對(duì)應(yīng)的通道的數(shù)字信號(hào)也按照固定的頻率來變化,并且各個(gè)通路不存在串?dāng)_的情況。經(jīng)過測試獲得本系統(tǒng)的各種參數(shù)如下:

  單路模擬信號(hào)采樣率:5kHz

  系統(tǒng)模擬信號(hào)采樣率:50kHz×32=1.6MHz

  單個(gè)采樣點(diǎn)讀取時(shí)間:80ns(受ADC芯片的限制)

  DSP(5402)單指令周期:10ns

  DSP讀取數(shù)據(jù)占用資源:((80÷10)×1.6×10 6)÷10 6=12.8mips

  CPLD使用I/O口:48

  CPLD使用Logic cells:80

  由此說明這樣一個(gè)系統(tǒng)達(dá)到1.6MHz的采樣率時(shí)工作是穩(wěn)定可靠的。

  本系統(tǒng)的設(shè)計(jì)思想和方法不僅適用于多路數(shù)據(jù)采集,而且能有效地?cái)U(kuò)展DSP訪問外設(shè)的能力。實(shí)踐證明,這種系統(tǒng)在成本控制、可擴(kuò)展性以及資源利用效率上都有非常大的提高。



 

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