文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)08-0150-03
數(shù)據(jù)采集系統(tǒng)廣泛地應(yīng)用于工業(yè),、國(guó)防,、圖像處理、信號(hào)檢測(cè)等領(lǐng)域,。DSP處理器是一種高速的數(shù)字信號(hào)處理器,,藍(lán)牙技術(shù)作為一種低成本、低功耗,、近距離的無(wú)線通信技術(shù),,已廣泛應(yīng)用于許多行業(yè)和領(lǐng)域[1]。本設(shè)計(jì)采用了DSP與FPGA協(xié)同控制處理,,并用藍(lán)牙傳輸代替有線電纜傳輸,,有效地解決了DSP和FPGA單獨(dú)處理的不足與有線電纜傳輸?shù)谋锥耍蟠筇岣吡藬?shù)據(jù)采集處理能力,,拓寬了系統(tǒng)在環(huán)境較為惡劣或特殊場(chǎng)所的應(yīng)用,。
1 系統(tǒng)硬件設(shè)計(jì)
1.1系統(tǒng)總體設(shè)計(jì)
基于DSP與FPGA的藍(lán)牙數(shù)據(jù)采集系統(tǒng)由下位機(jī)和上位機(jī)兩部分組成。其中下位機(jī)主要由前端傳感器,、信號(hào)調(diào)理電路,、ADC模數(shù)轉(zhuǎn)換電路、DSP與FPGA協(xié)同處理模塊以及藍(lán)牙模塊組成,,主要完成前端數(shù)據(jù)的采集,、轉(zhuǎn)換、處理等功能,,并將處理后的數(shù)據(jù)傳輸給上位機(jī),;上位機(jī)主要由USB藍(lán)牙適配器和PC機(jī)組成,完成數(shù)據(jù)的顯示、監(jiān)控,、存儲(chǔ)等功能,,并向下位機(jī)發(fā)送命令。該系統(tǒng)主要實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)高精度,、高速度,、多通道實(shí)時(shí)采集,利用藍(lán)牙的無(wú)線傳輸特性實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸,。系統(tǒng)硬件框圖如圖1所示,。
本系統(tǒng)中,,DSP與FPGA協(xié)同控制處理是系統(tǒng)的核心部分,通過(guò)動(dòng)作指令控制前端調(diào)理模塊進(jìn)行數(shù)據(jù)采集,,同時(shí)將采集到的數(shù)據(jù)經(jīng)DSP和FPGA協(xié)同處理,,后由藍(lán)牙模塊將數(shù)據(jù)傳輸給上位機(jī),由上位機(jī)完成后續(xù)的相應(yīng)處理工作,。
1.2 前端調(diào)理模塊
前端調(diào)理電路主要包括傳感器,、信號(hào)調(diào)理電路、ADC模數(shù)轉(zhuǎn)換模塊,。
信號(hào)調(diào)理電路包括模擬信號(hào)調(diào)理電路和數(shù)字信號(hào)調(diào)理電路,。其模擬信號(hào)調(diào)理主要實(shí)現(xiàn)對(duì)模擬信號(hào)的緩沖、放大,、衰減,、隔離,、濾波以及線性化等處理,,以獲得ADC所需要的歸一化信號(hào);數(shù)字信號(hào)調(diào)理主要完成對(duì)數(shù)字信號(hào)的整形,、分頻,、隔離、緩沖等處理,,以便與FPGA模塊相連,。
前端調(diào)理電路的核心是模數(shù)轉(zhuǎn)換,對(duì)于模擬信號(hào),傳感器采集的信號(hào)經(jīng)調(diào)理后需要進(jìn)行模數(shù)轉(zhuǎn)換,然后與FPGA相連,。而數(shù)字信號(hào)則經(jīng)過(guò)調(diào)理后可直接與FPGA相連,。模數(shù)轉(zhuǎn)換模塊采用TI公司的高速、低功耗,、6通道同步采樣的16位模數(shù)轉(zhuǎn)換器ADS8364,。ADS8364采用+5 V工作電壓,具有80 dB共模抑制能力的全差分輸入通道,,6個(gè)模擬輸入通道(分為A,B,C 3組)可以同時(shí)并行采樣和轉(zhuǎn)換[2],。考慮到FPGA可以靈活地改變時(shí)鐘頻率,,進(jìn)而改變系統(tǒng)的采樣頻率,,所以ADS8364由FPGA提供時(shí)鐘和復(fù)位信號(hào),最高頻率為5 MHz,其相應(yīng)采樣頻率為250 kHz,。同時(shí)FPGA還為ADS8364提供信號(hào),。A/D轉(zhuǎn)換結(jié)束后產(chǎn)生轉(zhuǎn)換結(jié)束信號(hào),通過(guò)FPGA引發(fā)DSP的中斷。在轉(zhuǎn)換結(jié)束后,,F(xiàn)PGA將6個(gè)16位的轉(zhuǎn)換結(jié)果讀入SDRAM中,。ADS8364的地址/模式信號(hào)(A0,,A1,A2)決定ADS8364的單通道、周期或FIFO模式的數(shù)據(jù)讀取方式,。將ADD引腳置為高電平,,使得讀出的數(shù)據(jù)中包括轉(zhuǎn)換通道信息。在系統(tǒng)中,,采用FPGA實(shí)現(xiàn)ADS8364的接口控制電路,,ADS8364轉(zhuǎn)換數(shù)據(jù)通過(guò)FPGA存在SDRAM中。
本系統(tǒng)中,,ADS8364,、FPGA、DSP與SDRAM的接口連接如圖2所示,。
1.3 DSP與FPGA協(xié)同處理模塊
DSP和FPGA協(xié)同處理模塊是本系統(tǒng)的核心,,其主要完成對(duì)ADS8364的控制、數(shù)據(jù)的計(jì)算以及相應(yīng)的邏輯控制,,并通過(guò)藍(lán)牙完成數(shù)據(jù)的傳輸,。由于數(shù)據(jù)采集要求采集數(shù)據(jù)量大,多路信號(hào)同時(shí)采集,,要求實(shí)時(shí)性好,、速度快、精度高等,,本系統(tǒng)采用基于DSP與FPGA協(xié)同處理,。系統(tǒng)設(shè)計(jì)中,采用TI公司的DSP芯片TMS320F2812和Altera公司的FPGA芯片EP2C5。
EP2C5是Altera公司推出的CycloneII序列FPGA器件,,采用TSMC90nm,、Low-K工藝,1.2 V內(nèi)核電壓,,工作電壓為1.15 V~3.465 V,內(nèi)嵌RAM 119 808位,,13個(gè)乘法器,并有143個(gè)I/O腳,。在本系統(tǒng)中,,為了數(shù)據(jù)緩存,需要在FPGA和DSP之間有一個(gè)FIFO來(lái)充當(dāng)數(shù)據(jù)的緩存區(qū),同時(shí)為了滿足數(shù)據(jù)采集中高速實(shí)時(shí)數(shù)據(jù)流應(yīng)用,,避免FIFO溢出,,設(shè)計(jì)時(shí)通過(guò)FPGA及SDRAM構(gòu)造一個(gè)FIFO,以提供一個(gè)低成本并能滿足高速實(shí)時(shí)數(shù)據(jù)流傳輸?shù)慕鉀Q方案,。本系統(tǒng)中的EP2C5時(shí)鐘信號(hào)由外部晶振提供,,EP2C5的復(fù)位信號(hào)由TMS320F2812的I/O口實(shí)現(xiàn)。TMS320F2812為EP2C5產(chǎn)生復(fù)位信號(hào),,當(dāng)EP2C5檢測(cè)到有效的復(fù)位信號(hào)后,,就會(huì)按照TMS320F2812產(chǎn)生的分頻因子觸發(fā)A/D轉(zhuǎn)換器進(jìn)行A/D采樣,,同時(shí)將ADS8364輸出的數(shù)據(jù)經(jīng)EP2C5預(yù)處理后,存儲(chǔ)到SDRAM中。EP2C5的JTGA口為其提供程序下載端口,。
TMS320F1812數(shù)字信號(hào)處理器是TI公司推出的低功耗,、高性能32位定點(diǎn)數(shù)字信號(hào)處理器,它采用8級(jí)流水線結(jié)構(gòu),最高主頻150 MHz,片內(nèi)有18 KB RAM,,128 KB Flash存儲(chǔ)器[3],。TMS320F1812采用3.3 V外設(shè)供電和1.8 V內(nèi)核供電,由外部電路提供電源和時(shí)鐘信號(hào),,與藍(lán)牙模塊,、FPGA連接時(shí)不需要電平轉(zhuǎn)換。本系統(tǒng)中,,TMS320F1812主要功能:控制FPGA及數(shù)據(jù)的讀取,通過(guò)向FPGA發(fā)送復(fù)位信號(hào),、控制信號(hào)以及讀指令,使FPGA從SDRAM中讀取存儲(chǔ)的數(shù)據(jù),,并將數(shù)據(jù)傳輸給TMS320F1812,;完成輸入數(shù)據(jù)的計(jì)算、打包等處理,,與藍(lán)牙模塊連接,。
1.4 藍(lán)牙模塊
藍(lán)牙模塊設(shè)計(jì)可選用CSR公司的BlueCore2-External單芯片藍(lán)牙模塊。該模塊核心工作電壓為1.8 V,,輸入輸出口的工作電壓為3.3 V,符合藍(lán)牙規(guī)范V1.1和V1.2,集成有射頻收發(fā),、基帶控制和管理以及藍(lán)牙主控制器接口協(xié)議HCI,,具有SPI、UART,、USB,、PIO、PCM接口,。BlueCore2-External支持8 MB的外部Flash和ROM,,可實(shí)現(xiàn)100 m內(nèi)的通信[1]。其結(jié)構(gòu)框圖如圖3所示,。
本系統(tǒng)設(shè)計(jì)中,,上位機(jī)通過(guò)USB藍(lán)牙適配器,將控制,、動(dòng)作指令發(fā)送給下位機(jī),,BlueCore2-External模塊接收指令經(jīng)DSP處理后傳給其他功能模塊,完成前端數(shù)據(jù)采集處理,;下位機(jī)接收上位機(jī)命令,,執(zhí)行相應(yīng)命令,,并通過(guò)BlueCore2-External模塊將采集處理后的數(shù)據(jù)無(wú)線傳輸給上位機(jī),完成數(shù)據(jù)的顯示,、監(jiān)控,、存儲(chǔ)等。
2 系統(tǒng)軟件實(shí)現(xiàn)
本采集系統(tǒng)軟件設(shè)計(jì)主要包括數(shù)據(jù)采集和藍(lán)牙傳輸,。其中,,由于采用藍(lán)牙接口模塊和USB藍(lán)牙適配器,這部分協(xié)議已經(jīng)固化在模塊中,。因此,,用戶只需要在DSP和FPGA中編寫(xiě)數(shù)據(jù)采集、處理和收發(fā)程序,。系統(tǒng)軟件流程圖如圖4所示,。
DSP和FPGA編程的主要任務(wù)是初始化、邏輯控制,、前端數(shù)據(jù)采集和數(shù)據(jù)的處理傳輸,。系統(tǒng)上電復(fù)位后,首先完成系統(tǒng)的初始化,,包括FPGA,、TMS320F1812和藍(lán)牙模塊的初始化;然后等待上位機(jī)藍(lán)牙適配器發(fā)送的控制指令,,通過(guò)下位機(jī)的藍(lán)牙模塊完成與上位機(jī)的連接,、數(shù)據(jù)傳輸、斷開(kāi)連接等操作,。在DSP收到上位機(jī)的控制信息后,,選擇相應(yīng)的處理算法,向FPGA發(fā)出動(dòng)作指令,,同時(shí)FPGA發(fā)出采集參數(shù)指令,,控制A/D轉(zhuǎn)換器完成數(shù)據(jù)的采集,并將ADS8364輸出數(shù)據(jù)進(jìn)行預(yù)處理后存入SDRAM中,。當(dāng)上位機(jī)通過(guò)藍(lán)牙提出讀取數(shù)據(jù)指令時(shí),,DSP向FPGA發(fā)出讀指令,F(xiàn)PGA從SDRAM中讀取數(shù)據(jù)并發(fā)送給DSP,,由DSP完成數(shù)據(jù)的計(jì)算,,打包等處理,最后通過(guò)藍(lán)牙發(fā)送給上位機(jī),。
基于DSP與FPGA的藍(lán)牙數(shù)據(jù)采集系統(tǒng),,可以同時(shí)具備DSP與FPGA的優(yōu)勢(shì),支持更高的計(jì)算處理能力。其良好的重構(gòu)方案,,可以很好地完成多路信號(hào),、大量信號(hào)的實(shí)時(shí)、快速,、精確的采集,,適用于惡劣復(fù)雜的環(huán)境,且開(kāi)發(fā)成本低,,具有較高的使用價(jià)值[4],有很好的應(yīng)用前景,。
參考文獻(xiàn)
[1] 錢(qián)志鴻,楊帆. 藍(lán)牙技術(shù)原理、開(kāi)發(fā)與應(yīng)用 [M].北京: 北京航空航天大學(xué)出版社,2006.
[2] TI公司. ADS8364數(shù)據(jù)手冊(cè)[Z]. 2002.
[3] 蘇奎峰. TMS320F2812原理與開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2005.
[4] 華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)中心. FPGA應(yīng)用開(kāi)發(fā)入門(mén)與典型實(shí)例[M]. 北京:人民郵電出版社,2008.