楊智明, 俞 洋, 姜紅蘭
(哈爾濱工業(yè)大學 自動化測試與控制系,黑龍江 哈爾濱 150080)
隨著計算機技術和電子技術的高速發(fā)展,數(shù)字信號處理理論和方法已成為眾多研究領域的重要研究基礎,被廣泛應用在航空航天、自動化控制、通信等領域[1]。在本科教學體系中,數(shù)字信號處理課程是通信和電子信息等專業(yè)的必修基礎課程[2]。因此,使學生熟練掌握數(shù)字信號處理理論知識和方法,對學生本科期間整個知識體系的建立和完善具有重要意義。
數(shù)字信號處理課程的特點是概念抽象,公式推導和證明過程繁瑣,同時還需要信號與系統(tǒng)等課程的理論基礎,十分難以理解和掌握[3-4]。而實驗課程作為課堂教學的有效補充,能夠幫助學生掌握數(shù)字信號處理的基本概念和方法,同時增強學生分析問題、解決問題的能力,提高教學效率[5-6]。但是,目前國內高校中的數(shù)字信號處理實驗平臺大多存在體積大、成本高、實驗地點局限、針對性不強等不足[7-8]。因此,本文設計了一種基于TMS320VC5509的低成本、便攜式數(shù)字信號實驗平臺。該平臺充分利用DSP快速數(shù)字信號處理能力,同時結合FPGA的并行控制能力,實現(xiàn)了滿足數(shù)字信號處理課程實驗要求的硬件實驗平臺。
實驗設計分為數(shù)字信號處理基本實驗和擴展實驗兩部分。前者包括信號發(fā)生、信號采集、FFT(Fast Fourier Transform)實驗和數(shù)字濾波器設計等內容。通過這些實驗,使學生對數(shù)字信號處理基本理論有了直觀的認識和理解。為了進一步說明這些理論在實際工程中的應用,還設計了量化效應、圖像處理、音頻處理以及DTMF(Dual Tone Multi-Frequency)雙音多頻信號檢測等擴展實驗,將理論與實際相結合,有力證明了數(shù)字信號處理理論的現(xiàn)實意義。
通過以上實驗內容分析,確定實驗平臺主要功能包括:① 真實信號的產生與采集,包括模擬信號、語音信號等,為數(shù)字信號處理算法提供處理對象;② 常用數(shù)字信號處理算法的實現(xiàn);③ 與上位主控計算機之間進行數(shù)據與命令互傳。平臺技術指標為:④ 實驗平臺通過USB接口與上位機進行通訊,接口符合USB2.0標準;⑤ 具有2通道信號發(fā)生功能:精度:12 bits/8 bits可調,速率:100 kHz/s,電壓范圍:±5 V;⑥ 具有2通道數(shù)據采集功能:精度:12 bits/8 bits可調,速率:最大500 kHz/s,電壓范圍:±5 V;⑦ 實現(xiàn)FFT變換、濾波器等數(shù)字信號處理算法;⑧ 支持語音信號采集、處理和回放功能。
根據實驗平臺的實驗內容和硬件技術指標要求,確定硬件總體結構如圖1所示。平臺主要由3部分組成:FPGA控制電路、數(shù)字信號處理單元以及外設電路。FPGA進行電路接口時序控制和數(shù)據緩沖;數(shù)字信號處理單元主要完成數(shù)字信號處理功能;外設電路包括USB接口電路、信號發(fā)生與采集電路以及語音信號控制電路。實驗平臺具體工作流程為:① 通過上位機程序界面選擇數(shù)字信號處理實驗,將控制命令通過USB接口發(fā)送給FPGA;② FPGA接收USB發(fā)送的控制命令,并傳送給DSP,按照相關指令,控制硬件通過數(shù)據采集通道和語音輸入通道獲得待處理數(shù)據;③ DSP按照命令進行相應數(shù)據處理;④ DSP將處理后的數(shù)據傳給FPGA,F(xiàn)PGA通過USB接口返回給上位機,如果需要通過硬件設備輸出,則控制設備輸出處理后的信號;⑤ 上位機程序顯示處理后的結果,并與仿真結果進行比對。
圖1 硬件電路總體結構
2.2.1DSP最小系統(tǒng)設計
綜合分析片上資源、通用化程度和開發(fā)的難易程度,數(shù)字信號處理器選擇了TI公司的C55x系列的TMS320VC5509A,它包含2個17×17乘法器,12組獨立總線,片上存儲器為128 kHz×16 Bit,其中包括64 KB的雙端口RAM(DRAM)和192 KB的單端口RAM(SARAM),外設接口包括3個多通道緩存串口(McBSP)和6個DMA通道[9]。具有低功耗、封裝小、價格低等優(yōu)點。
本實驗平臺中,DSP負責所有的運算,是數(shù)字信號處理的硬件基礎,其最小系統(tǒng)是整個硬件系統(tǒng)的關鍵部分,主要由DSP、程序下載配置電路、時鐘電路、復位電路、供電電路和外部擴展程序存儲器電路組成。
2.2.2DSP與Flash的接口實現(xiàn)
TMS320VC5509A內部沒有非易失性存儲器,因此,要實現(xiàn)系統(tǒng)程序脫離仿真環(huán)境獨立運行,需要在片外擴展Flash 、EPROM或者通過USB接口從上位機下載程序。在系統(tǒng)上電復位后,DSP的引導加載器把應用程序從外部存儲器或上位機中引導到DSP芯片內RAM單元或外部擴展RAM中運行。5509A自帶的Bootloader程序支持11種引導模式,引導模式的選擇是通過四個模式選擇引腳BOOTM0~3完成的??紤]到使用的方便性和節(jié)約系統(tǒng)電路板空間,本設計選用串行E2PROM引導模式,外擴Flash作為DSP的程序存儲器。
Flash選用Atmel公司的AT25F1024,通過McBSP0(配置為SPI)與TMS320VC5509A連接。AT25F1024是一款應用廣泛的高性能1 Mbits串行SPI閃存,接口簡單、體積小,可以滿足要求。
2.3.1USB通信接口設計
綜合考慮實驗平臺電路板的面積和實現(xiàn)的難易程度,本設計采用Cypress公司的EZ-USB FX2LP系列中的CY7C68013A實現(xiàn)USB接口。
CY7C68013A芯片是世界上第一款集成USB 2.0協(xié)議的微處理器接口控制芯片,它支持12 Mb/s的全速以及480 Mb/s高速傳輸。CY7C68013A上集成有16 KB的片內RAM、增強的8051微處理器、16位并行地址總線、8位數(shù)據總線、I2C總線、雙串口、4K FIFO的可配置存儲器以及通用可編程接口(GPIF)、智能串行接口引擎(SIE)和USB2.0收發(fā)器[10-11]。
CY7C68013A提供Slave FIFO和GPIF兩種接口模式,Slave FIFO模式是從機模式,外部控制器可以像對普通FIFO存儲器一樣對其多層緩沖FIFO存儲器進行讀寫;GPIF模式是主機模式,可以由軟件設置讀寫的控制波形,靈活性很大。為了減小開發(fā)難度,本設計采用Slave FIFO模式,在這種模式下,與FPGA之間的控制信號如圖2所示。FPGA通過改變FIFOADR引腳電平,對其內部FIFO進行選擇,并通過讀取CY7C68013A的FIFO狀態(tài)引腳電平,來判斷何時讀取FIFO以及是否可以向FIFO寫入數(shù)據。
圖2 CY7C68013A控制信號連接圖
2.3.2信號發(fā)生電路設計
信號發(fā)生模塊由數(shù)/模轉換電路、濾波電路以及偏置放大電路組成。為了滿足設計精度和速率要求,并節(jié)約電路板空間,數(shù)/模轉換芯片采用AD公司的12位串行數(shù)/模轉換器AD5320。信號發(fā)生電路如圖3所示。
采用運算放大器AD820實現(xiàn)差分電路,將AD5320輸出的模擬信號與參考電壓做差分,將單極性輸出轉化為雙極性,輸出范圍為±3 V,輸出電壓與輸入二進制代碼的轉換關系為
UOUT=UDD×(2D/4 096-1)
濾波電路采用可程控的集成低通濾波器,濾波器選擇8階低通橢圓開關電容濾波器MAX293,該濾波器可單/雙電源供電,可程控轉角頻率范圍0.1 Hz~25 kHz,過渡比fs/f0=1.5,時鐘頻率對轉角頻率的比為100∶1,即fosc=100f0,F(xiàn)PGA根據輸出信號頻率改變MAX293的時鐘fosc來控制其轉角頻率,實現(xiàn)濾波。
圖3 數(shù)/模轉換電路
放大電路采用差分比例運算電路,放大器反相輸入端接偏置電路,通過調節(jié)電位器來提供直流偏置,以消除濾波器產生的直流偏置電壓。
2.3.3信號采集電路設計
選擇模/數(shù)轉換芯片時考慮的主要兩個指標是轉換速率和轉換精度。根據技術指標要求,本設計選用AD公司的低功耗、四通道同步采樣、12位分辨率模/數(shù)轉換器AD7864。AD7864為+5 V單電源供電,參考電壓+2.5 V,其內部帶有參考電源,也允許外部輸入。時鐘可由內部時鐘或外部時鐘提供,由INT*/EXT CLK引腳電平決定。在使用內部時鐘條件下,單通道采樣率最高可以達到500 kHz。輸入范圍為±10 V或±5 V可選,輸出數(shù)據編碼為二進制補碼。電路圖如圖4所示:本設計采用一二通道輸入、內部參考源、內部時鐘、輸入電壓范圍±5 V。另外,為了增加輸入信號的驅動能力,提高輸入阻抗,降低輸出阻抗,在A/D前端設計增加了射隨電路。
圖4 AD7864電路原理圖
2.3.4語音電路設計
語音電路由DSP和語音編解碼芯片TLV320AIC23組成, TLV320AIC23是TI公司的一種高性能立體聲音頻編解碼器,該編碼器的數(shù)字傳輸字長可以是16、20、24、32 bits,支持8~96 kHz的采樣率[12],與TMS320VC5509A能夠達到無縫連接。
利用TMS320VC5509A的I2C模塊配置語音編解碼芯片的內部寄存器;并通過其內部的McBSP接口接收和發(fā)送采樣的音頻數(shù)據[13]。TLV320AIC23通過麥克風輸入或者立體聲音頻輸入采集模擬信號,并將模擬信號轉化為數(shù)字信號,存儲到DSP的內部RAM中,供DSP處理。當DSP完成對音頻數(shù)據的處理以后,TLV320AIC23再把數(shù)字信號轉化為模擬信號,通過耳機或立體聲音頻輸出端輸出。
本設計中FPGA選擇ALTERA公司的Cyclone系列芯片EP1C12Q240C8實現(xiàn),其主要完成的控制功能為:控制USB接口芯片,完成與上位機的通信;與DSP通信,將上位機的命令和數(shù)據傳遞給DSP,并接收DSP處理后的實驗結果;控制模/數(shù)轉換芯片AD7864,對外部模擬信號進行采集;控制數(shù)/模轉換芯片AD5320,將上位機、DSP處理的實驗結果或ADC采集的數(shù)字信號轉化為模擬信號輸出。邏輯總體功能包括USB接口控制模塊,上位機命令、參數(shù)譯碼模塊,DSP通信模塊,ADC和DAC控制模塊以及一些輔助功能模塊等。
DSP程序的設計開發(fā)環(huán)境采用TI公司的CCStudio,編程語言為標準C語言[14]。
DSP程序完成的主要任務為:接收FPGA傳遞的上位機的命令和數(shù)據并執(zhí)行相應命令,完成各種數(shù)字信號處理運算,并將處理的結果傳送到FPGA內部FIFO中。其工作過程為:DSP首先配置內部寄存器,初始化EMIF接口和CPU頻率,然后從相應地址讀取上位機的命令字、根據命令字判斷實驗類別,讀取原始數(shù)據、調用相應實驗子程序,最終將處理的實驗結果傳回FPGA,并由FPGA經USB接口返回給上位機,同時通過信號發(fā)生或語音模塊輸出。
實驗平臺上位機程序是基于PC機的一個實驗界面程序,主要功能是為用戶提供對實驗平臺硬件進行控制和操作的界面。上位機程序開發(fā)環(huán)境采用NI公司的LabWindows/CVI軟件平臺[15]。根據平臺實驗需求,上位機程序主要功能劃分如圖5所示,主要包括實驗和數(shù)據選擇、命令編碼、數(shù)據發(fā)送、數(shù)據上傳、數(shù)據存儲及結果顯示等功能。
根據上位機程序功能劃分,確定實驗平臺上位機主界面如圖6所示。
上位機具體工作流程為:首先由用戶選擇實驗及實驗數(shù)據,并設置相應的實驗參數(shù);然后上位機對用戶設置的內容進行編碼,并通過USB接口傳送給實驗板;實驗結束后,將數(shù)據傳回計算機,存儲到對應的文件中,并進行顯示。
圖5 上位機程序功能結構圖
圖6 實驗平臺上位機主界面
根據數(shù)字信號處理課程實驗需要和技術指標要求,對平臺進行了全面測試。
信號發(fā)生電路測試方法:由上位機產生一組正弦波數(shù)據,經USB接口傳給D/A輸出。輸出波形及濾波放大后結果如圖7所示,信號發(fā)生速率100 KB/s,輸出波形頻率10 kHz,峰峰值10 V。USB向下傳輸數(shù)據正確,信號發(fā)生電路滿足設計指標要求。
圖7 信號發(fā)生濾波前后結果
數(shù)據采集電路測試方法:對-5~+5 V直流信號進行多次采樣,并將結果傳回上位機顯示。表1為數(shù)據采集結果,采樣速率500 kHz/s,最大偏差小于1%。USB上傳數(shù)據正確,數(shù)據采集電路滿足設計要求。
表1 AD7864測試結果分析
測試結果表明:USB接口功能正常,數(shù)據通信正確;FPGA邏輯工作穩(wěn)定,能按照上位機指令實現(xiàn)對各電路模塊的靈活控制;DSP程序工作正常,能夠完成設定的數(shù)字信號處理實驗;上位機程序與實驗板配合良好,并且用戶界面友好,操作靈活。平臺功能和各項技術指標達到設計要求,實驗結果與軟件仿真結果相同,與理論分析結果吻合,達到了驗證數(shù)字信號處理理論的目的。
本實驗平臺專門針對大學本科數(shù)字信號處理課程開發(fā),具有體積小、功耗低等特點,學生可隨身攜帶,脫離了實驗地點的束縛;此外,用普通計算機作為控制平臺,操作簡便,實驗結果直觀,并可以與仿真結果對比分析。作者所在課程組于2011和2012學年度,借助于該平臺展開綜合性實驗教學方法的嘗試工作。實際教學情況以及學生課后反饋意見表明,該平臺可以加強對學生對于數(shù)字信號處理器的理解,積累了工程實踐經驗,是課堂教學的有益補充。
[1] Oppenheim A V, Schafer R W. Discrete-time signal processing[M]. 2nd ed. Prentice Hall International, 1999.
[2] Sanjit Mitra. Digital signal processing—A computer-based method[M]. 3rd ed. The McGraw-Hill Companies International, 2005.
[3] 王秋生, 袁海斌. 數(shù)字信號處理教學方法的探索與實踐[J]. 電氣電子教學學報, 2008, 30(8): 87-89.
Wang Qiu-sheng, Yuan Hai-bin. Teaching probe and practice to digital signal processing [J]. Journal of EEE, 2008, 30(8): 87-89.
[4] 朱金秀, 張 卓, 朱昌平.數(shù)字信號處理課程實驗教學研究與實踐[J].實驗室研究與探索, 2008, 27(5):96-98.
Zhu Jin-xiu, Zhang Zhuo, Zhu Chuang-ping. Experimental teaching research and practice of digital signal processing course [J]. Research and Exploration in Laboratory, 2008, 27(5):96-98.
[5] 陳玲玲, 劉 陽, 秦麗敏. 基于LabVIEW的數(shù)字信號處理實驗平臺設計[J]. 吉林化工學院學報, 2011, 28(11): 66-69.
Chen Ling-ling,Liu Yang,Qin Li-min. Design of DSP experimental platform based on LabVIEW [J]. Journal of JiLin Institute of Chemical Technology, 2011, 28(11): 66-69.
[6] 沈媛媛. 基于Matlab的數(shù)字信號處理綜合性實驗設計[J]. 實驗室研究與探索,2009, 28(8):60-62.
Shen Yuan-yuan. The comprehensive experimental design of digital signal processing based on matlab [J].Research and Exploration in Laboratory, 2009, 28(8):60-62.
[7] 郝小江, 繆志農, 黃 昆. 基于DSP的數(shù)字信號處理實驗設計[J]. 實驗技術與管理, 2012,29(2):44-47.
Hao Xiao-jiang, Miao Zhi-nong, Huang Kun. Experimental design of digital signal processing based on DSP [J]. Experimental Technology and Management, 2012,29(2):44-47.
[8] 倪振文, 王俊年, 劉昆山. 電子信息類專業(yè)實踐教學體系改革的研究[J]. 實驗室研究與探索, 2004, 23(2): 52-55.
Ni Zhen-wen,Wang Jun-nian,Liu Kun-shan. Study and exploration of electron information specialty practice education [J]. Research and Exploration in Laboratory, 2004, 23(2): 52-55.
[9] 楊娟娟, 黃鄉(xiāng)生, 宋大杰.基于TMS320VC5509A的圖像采集處理系統(tǒng)[J].國外電子測量技術,2011, 30(6):65-68.
Yang Juan-juan Huang Xiang-sheng, Song Da-jie. The image acquisition and processing system based on TMS320VC5509A [J].Foreign Electronic Measurement Technology, 2011, 30(6):65-68.
[10] 羅向東.基于FPGA與CY7C68013A的USB接口系統(tǒng)設計[J].國外電子測量技術, 2010, 22(4):96-98.
Luo Xiang-dong. Design of USB interface based on FPGA and CY7C68013A [J]. Foreign Electronic Measurement Technology, 2010, 22(4):96-98.
[11] 廖良斌, 喻方平. 基于DSP和USB的圖像采集系統(tǒng)的研究[J]. 武漢理工大學學報, 2006,30(1):120-123.
Liao Liang-bin, Yu Fang-ping. Research of image processing system based on DSP and USB [J].Journal of Wuhan University of Technology, 2006,30(1): 120- 123.
[12] 胡 瑛, 胡安峰.一種基于TMS320VC5509的語音處理系統(tǒng)的設計[J].電子科技, 2009, 22(5):34-35.
Hu Ying, Hu An-feng. Design of a speech processing system based on TMS320VC5509 [J].Electronic Science and Technology, 2009, 22(5):34-35.
[13] 李雙勛, 歐建平. TLV320AIC23在音頻處理中的應用[J]. 國外電子元器件, 2003, 10: 16-19.
Li Shuang-xun Ou Jian-ping. The application of TLV320AIC23 in audio processing [J]. International Electronic Elements, 2003, 10: 16-19.
[14] 王紫婷, 姚曉通,張華衛(wèi).基于TMS320C5402在語音信號處理中的研究[J]. 蘭州交通大學學報, 2004, 23(3):44-47.
Wang Zi-ting, Yao Xiao-tong, Zhang Hua-wei. Study based on TMS320C5402 in processing of phonetic signal [J].Journal of Lanzhou Jiaotong University, 2004, 23(3):44-47.
[15] 陳懷民, 李巧娣, 吳佳楠.基于CVI的多通道串口板卡測試軟件的設計與實現(xiàn)[J].測控技術,2010, 12(29):78-81.
Chen Huai-min,Li Qiao-di,Wu Jia-nan. Design and realization of a testing software for the multi serial ports card based on CVI [J]. Measurement & Control Technology, 2010, 12(29):78-81.