周錦榮,馮翰輝
(閩南師范大學物理與信息工程學院,漳州 363000)
在本科電類專業(yè)特別是通信專業(yè)教學中,頻譜分析是理論教學和實驗實踐教學的重點和難點。頻譜分析主要就是將時域信號轉化為頻域進行處理,如利用快速傅氏變換(FFT)、離散傅氏變換(DFT)等。通過基2 - 按時間抽取的FFT 運算理論, 利用TMS320VC5416 DSP 與液晶接口等硬件,對采集到的信號進行FFT 運算,實現信號的頻譜變換,并由液晶顯示出轉換結果波形[1]。設計中基于案例教學需要,采用北京瑞泰創(chuàng)新科技有限責任公司生成的ICETEKVC5416-A 實驗板,通過CCS 編程仿真平臺,實現對輸入信號的頻譜分析和顯示[2-4]。系統方框圖如圖1 所示[1-3]。
圖1 系統模塊框圖Fig.1 System block diagram
信號采集電路使用ICETEK-VC5416-A 實驗板自帶的AD 轉換模塊,AD 芯片采用TI 公司生產的ADS7864,如圖2 所示。該模塊中,采用8 MHz 的有源晶振為AD 芯片提供時鐘,在該時鐘下采樣速率最高可達500 kHz。ADS7864 使用的方式是非差分方式,采用輸入信號的范圍為0~5 V,而5416DSP 為3.3 V 器件,所以在硬件連接設計時要采用電平轉換芯片對信號線和數據線進行隔離。電平轉換芯片采用TI 公司生產的SN74LVTH162245,該芯片為3.3 V低功耗器件,16 位三態(tài)輸出總線收發(fā)器,同時提供與TTL 兼容的5 V 系統接口,可用于不同電平系統之間的接口芯片,同時提高總線的驅動能力[5-6]。設計中使用IO 地址port0782 讀AD 轉換數據,port0783 用于AD 通道選擇,port0784 用于啟動AD 轉換[3]。
圖2 信號采集電路框圖Fig.2 Signal acquisition circuit diagram
由于DSP 速度較快而液晶速度較慢,在設計DSP 與液晶的接口電路時,需要對數據進行鎖存,以保證數據在DSP 執(zhí)行內部延時程序時不會發(fā)生不可預知的變化,設計中選用SN74HC573 對總線信號鎖存,同時滿足與液晶接口8 位需求[7]。液晶控制端口E、RS、RW 均為MCU 到液晶的單向控制線,無復用,因此該處鎖存器芯片的輸出使能端接地,一直處于輸出使能狀態(tài),數據接口的芯片連接方式與其相近,讀液晶數據時,打開總線收發(fā)器74LS245,同時使數據輸出鎖存器輸出使能處于無效狀態(tài)。IO 地址portFEFF 用于給液晶的三個控制端口E、RW、RS 寫控制命令,portFBFF 和portFBFF 用于液晶數據端口的讀和寫[3]。顯示接口電路如圖3 所示。
系統程序分為信號采集、頻譜變換以及LCD 顯示三個主要模塊,主流程圖如圖4 所示。
圖3 液晶顯示接口電路Fig.3 Interface circuit of liquid crystal display
圖4 系統主流程圖Fig.4 The main flow chart of system
信號采集模塊利用定時器中斷讀取AD 轉換結果,通過設置中斷的時間可以改變實際的采樣頻率,采集到的信號存放到ptr 指針指向的以0×6000 開始的512 個單元中,供第二個模塊使用。當采集完成時,關定時器中斷,終止對信號的采集,同時設置state 等于FOURIER,在下個主循環(huán)來臨時,轉移到頻譜變換模塊。FFT 變換模塊通過指針方式將采集到的信號復制到傅里葉變換程序的入口中,然后調用匯編編寫的傅里葉變換程序rfft_task(),轉換結果存儲在real_fft_output 數組中,供LCD 顯示時使用。變換完成后令state=LCD_DISP,當下個主循環(huán)來臨時進入LCD 顯示模塊。LCD 顯示模塊主要調用了兩個函數,ShowFFT()和Showwave()。ShowFFT()主要用于顯示實際轉換后的FFT 波形,由于采用打點方式,波形具有離散性,顯示貼近真實但是不易觀察。Showwave()主要用于顯示放大后的FFT 波形,該波形經過處理,易于觀察,但是由于LCD 顯示空間有限,處理過的波形只能在一個比較窄的范圍內顯示。兩種顯示波形進行對比,易于觀察。
頻譜變換模塊采用基2-按時間抽取的FFT 運算實現對信號的傅里葉變換,其流程如圖5 所示[8]。由于采集的信號為實數序列,為簡化運算,需要對實數序列進行一定的變換。
圖5 FFT 程序流程圖Fig.5 FFT program flow chart
LCD 顯示流程如圖6 所示。設計中利用GUI_Point(unsigned int x,unsigned int y,unsigned int flag)函數實現,該函數中x 代表顯示橫坐標,y 代表顯示縱坐標,flag=1 點亮,flag=0 代表擦除。根據該函數沿順序地址取出FFT 結果,顯示在LCD 上,顯示結果為離散的打點圖形,不易觀察。因此顯示函數分為兩部分,ShowFFT()用于顯示實際的FFT 波形,Showwave()用于顯示放大修正后的波形。
圖6 LCD 顯示流程圖Fig.6 LCD display chart
對于本系統而言,軟件程序所實現的功能相對獨立,因此可以對特定功能的程序單獨調試,例如FFT 子程序。在對程序進行仿真時,可以利用CCS 軟件自帶的圖形顯示功能,將采集到的信號以及FFT輸出結果通過圖形方式顯示出來[9]。
圖7 輸入信號波形Fig.7 Actual input signal waveform
如圖7 為用示波器觀測到的實際信號的波形,圖8 為采集到的信號數據,通過圖形顯示功能顯示出來的波形。波形顯示采集得到的信號準確。
圖8 CCS 采集到的信號波形Fig.8 Collected signal waveform of CCS
如圖9 為采集到信號的實際頻譜波形,該波形用CCS 自帶圖形顯示功能產生,為實際的信號頻譜。圖10 為經過FFT 變換后得到的信號頻譜,通過觀察可發(fā)現,經過FFT 變換后的頻譜波形特征量與實際頻譜相同,基本可以反映原來信號的特性。
圖9 信號實際頻譜圖Fig.9 Actual signal spectrum
圖10 信號FFT 變換后的波形Fig.10 Signal FFT transform waveform
在程序運行正確后,將處理結果顯示到液晶顯示器上,顯示效果如圖11 所示。該圖中下半屏為實際顯示的波形,上半屏為修正放大后的頻譜波形,兩圖中剔除了直流分量的顯示。從圖中可以看到頻譜波形與軟件仿真出來的波形接近,反映的信號特性一致,達到了預期的效果。
圖11 液晶顯示的波形Fig.11 Liquid crystal display waveform
系統基于案例教學需要,以TI 公司的TMS320VC5416 芯片為核心部件,利用快速傅里葉變換FFT 對采集到的信號進行頻譜變換,設計并制作完成基于DSP 的頻譜分析系統,在頻率點確定上雖然存在一些誤差,但整體基本符合預期要求,具有案例教學或實際應用設計參考價值。該系統還留有許多改進的余地,例如可以增大FFT 的點數,以提高頻率分辨率,提高采樣率,獲得更大的頻帶寬度。但是采樣率的提高伴隨著的FFT 點數也得相應增大,否則頻率分辨率將會降低,因此必須兩者互相匹配,才能達到要求。
[1] 卜紅霞,胡永杰,齊焱焱,等. 基于DSP 的頻譜分析系統的設計與實現[J].微計算機信息,2008,24(7-2):208-209.
[2] 周錦榮,馮翰輝,王輝,等. 基于DSP 的交通燈控制系統的硬件設計[J]. 黑龍江八一農墾大學學報,2012,24(2):84-86.
[3] 北京瑞泰創(chuàng)新科技有限責任公司.ICETEK-VC5416-A板及教學實驗箱說明書[EB/OL].[2013-04-10].http://wenku.baidu.com/view/534f5002bed5b9f3f90f1c52.html.
[4] 劉益成. TMS320C54x DSP 應用程序設計與開發(fā)[M]. 北京:北京航空航天大學出版社,2002.
[5] 劉明成,劉瑞安. 基于AD9852 多模式信號的應用研究[J]. 天津師范大學學報:自然科學版,2011,31(3):59-62.
[6] 池志鵬,陶然,單濤. 基于TMS320C6701 控制多片AD9852 的接口電路的設計[J]. 電子技術應用,2004,30(3):58-60.
[7] 許敬淑,傅華明,劉川. 一種基于DSP 實現的LCD 液晶屏顯示技術[J]. 現代電子技術,2007,30(24):52-54.
[8] 吳宏鋼,秦樹人. 基于DSP 技術的虛擬式FFT 頻譜分析儀[J]. 重慶大學學報,2004,27(7):21-23.
[9] 彭啟琮 張詩雅,常冉. TI DSP 集成開發(fā)環(huán)境(CCS)使用手冊[M].北京:清華大學出版社,2005.