杜雪 宋耀東 王端 李明
摘 要:在系統調試、工業(yè)測試中,常常需要產生多路復雜的、具有特殊要求的信號,故設計和實現了一種多路信號發(fā)生裝置。該裝置以TI公司的高性能DSP芯片TMS320F2812為核心,以BB公司的DAC7724作為數模轉換芯片,并利用MAX3485芯片實現上位機與信號發(fā)生裝置之間的485通信,用戶可通過上位機界面控制信號發(fā)生裝置輸出多路不同波形。詳細闡述了硬件各模塊接口電路、軟件流程及上位機軟件設計,并通過試驗表明,該信號發(fā)生裝置能夠按照用戶需求輸出多路任意形狀波形。
關鍵詞:TMS320F2812;DAC7724;數模轉換;MAX3485;信號發(fā)生;上位機
中圖分類號:TM930 文獻標示碼:A 文章編號:2095-2945(2018)28-0026-04
Abstract: In system debugging and industrial testing, it is often necessary to generate multi-channel complex signals with special requirements, so a multi-channel signal generator is designed and implemented. The device takes the high performance DSP chip TMS320F2812 of TI as the core, the DAC7724 of BB company as the digital to analog conversion chip, and the MAX3485 chip to realize the 485 communication between the upper computer and the signal generator. The user can output multiple different waveforms through the upper computer interface control signal generating device. The hardware interface circuit of each module, the software flow chart and the software design of the upper computer are described in detail. The experiments show that the signal generator can output multiple arbitrary shape waveforms according to the needs of users.
Keywords: TMS320F2812; DAC7724; digital to analog conversion; MAX3485; signal generation; upper computer
引言
信號發(fā)生裝置是一種能提供各種頻率、波形和輸出電平信號的設備,在測量各種電信系統或元器件的特性及其他電參數時,用作測試的信號源或激勵源[1]。在系統調試、工業(yè)測試中,常常需要產生多路復雜的、具有特殊要求的信號,比如多路任意形狀的波形,普通的信號發(fā)生裝置難以滿足需求,而市場上任意信號發(fā)生裝置價格普遍偏高,因此研制一種高性能、低成本的多路信號發(fā)生裝置具有重要意義[2]。
本文設計的多路信號發(fā)生裝置使用TI公司的DSP芯片TMS320F2812作為主控芯片,BB公司的DAC7724作為數模轉換芯片,并利用MAX3485芯片實現上位機與信號發(fā)生裝置之間的485通信,用戶可通過上位機界面控制信號發(fā)生裝置輸出多路不同波形[3]。
1 硬件電路設計
綜合考慮信號發(fā)生裝置的高性能、低成本以及實用性等因素,該信號發(fā)生裝置以面向高端控制領域的TMS320F2812數字信號處理芯片為核心,集成了電源電平轉換模塊、D/A轉換模塊、RS-485通信模塊等基本功能模塊。信號發(fā)生裝置硬件結構框圖如圖1所示。
1.1 主控芯片選型
本文選用美國德州儀器公司(TI)的TMS320F2812作為主控芯片,它是新一代32位定點數字信號處理器(DSP)芯片,擁有工作頻率高達150MHz的32位DSP內核處理器,采用改進的哈佛結構,8級流水線操作。TMS320F2812片內有128K*16 FLASH,4K*16 BOOT ROM,多塊SRAM,程序/數據尋址空間4M,集成度高,功耗小,運算速度快,性價比高,可以高效可靠地實現諸如自適應控制和狀態(tài)控制等先進控制技術[4]-[6]。
1.2 D/A轉換模塊
D/A轉換模塊完成數字信號向模擬信號的轉換,本文選用2片4通道DAC7724芯片完成8路模擬量輸出。DAC7724是12位串行數模轉換器,4路獨立模擬輸出,輸出信號范圍-10V~+10V,建立時間10μs,轉換時間110ns。DAC7724具有片選、輸出使能等控制引腳,它內部有兩級鎖存,第一級是鎖存到緩沖器中,第二級是將數據鎖存到輸出寄存器,這樣就能夠實現多通道的同時輸出[7]。數字量輸入N與輸出模擬量VOUT之間的數學關系表達式如下:
式中:N為數字量輸入;VOUT為輸出模擬量;VREFL為低參考電壓;VREFH為高參考電壓。本文2片DAC7724與主控芯片TMS320F2812的接口原理如圖2所示。
圖中的兩片AD587分別輸出DAC7724的參考電壓VREFH(+10V)和VREFL(-10V),其中VREFL與跳針P2連接,如果要輸出雙極性波形,則VREFL連接-10V插針;如果要輸出單極性波形,則VREFL連接GND插針,本文輸出的都是雙極性波形,故連接-10V插針。
1.3 RS-485通信模塊
RS-485接口電路采用DSP內部串行總線接口SCI外加美國MAXIM公司生產的低功耗通信轉換器MAX3485來實現,MAX3485是用于RS-485和RS-422通信的半雙工、低功耗收發(fā)器,可以實現最高10Mbps的傳輸速率、工作電壓為3.3V[8]-[10]。本文選用2片MAX3485芯片分別與主控芯片TMS320F2812連接,接口原理如圖3所示。
TMS320F2812的SCIRXDA、SCITXDA、SCIRXDB、SCITXDB引腳分別與2片MAX3485芯片的RO、DI引腳連接,構成2路RS-485通信線路。GPIOE2、GPIOF7連接MAX3485芯片的收/發(fā)控制引腳RE、DE。本文串口工作在RS-485自動收發(fā)模式下,GPIOx引腳用于控制RS-485數據的自動收發(fā)轉換,只有發(fā)送數據時GPIOx才為高電平,其他情況下,GPIOx保持低電平,可通過狀態(tài)寄存器進行配置。
MAX3485的A端和B端分別為接收和發(fā)送的差分信號端,RS-485接收器的檢測靈敏度為±200mV,即差分輸入端VA-VB≥+200mV時輸出邏輯1,VA-VB≤-200mV時輸出邏輯0,而|VA-VB|<200mV時,輸出不確定,所以要分別在RS-485接口電路的A、B輸出端接上拉和下拉電阻,增加電路穩(wěn)定性。
1.4 電源電平轉換模塊
由于TMS320F2812內核電壓1.8V,I/O電壓3.3V;AD587、DAC7724、MAX3485的工作電壓分別為15V、5V和3.3V,因此,傳統的線性穩(wěn)壓器已經不能滿足要求,本文采用TI公司的TPS767D318芯片和DC/DC電源模塊相結合的方法,只需要直流28V電壓供電就能滿足信號發(fā)生裝置的供電需求。兩個DC/DC電源模塊分別將28V直流電轉換成5V和15V直流電,TPS767D318將5V直流電轉換成3.3V和1.8V直流電,這樣就能夠向裝置提供滿足所有器件所需的電壓。TPS767D318是一種雙路低壓差電源調整器[11],主要應用在需要多種電源供電的電路設計中,具有可單獨供電的雙路固定輸出,分別為3.3V和1.8V,每路輸出電流的范圍在0~1A,其接口原理如圖4所示。
由于DSP輸出信號為3.3V,它們必須通過3.3V轉5V的電壓變換才能與DCA7724的5V信號線連接。本文選取74ALVC164245芯片進行電平轉換,164245是一個16位(雙8進制)雙向電平轉換器,該芯片能夠靈活進行3.3V與5V電壓之間的雙向電平轉換[12]。74ALVC164245芯片的A端口由正3.3V電壓供電,B端口由正5V電壓供電,從而實現3.3V與5V電壓之間的雙向電平轉換。OE端為該電平轉換器的輸出使能控制端,DIR端為電平轉換方向控制端,轉換方向使能操作見表1所列。
本文只需要3.3V到5V電平轉換,故DIR接高電平,OE接低電平,接口原理圖如圖5所示。
2 軟件設計
信號發(fā)生裝置要有高精度、高性能等工作特性,不僅僅依賴于硬件電路的合理設計,而且與軟件的可靠設計息息相關。本文軟件設計采用模塊化的設計思想,將軟件劃分為主函數模塊、建立波形模塊、通道選擇模塊及上位機界面等四大部分。各個模塊主要完成以下功能:主函數模塊主要完成系統的初始化,調用建立波形模塊建立波形數據,調用通道選擇模塊選擇波形輸出通道;建立波形模塊根據給定波形參數(如頻率、周期數、幅值等)按公式計算數據并保存在主控芯片中;通道選擇模塊選擇8個通道中某一個或多個通道輸出,并在中斷服務程序中調用輸出函數,中斷頻率由輸出波形的頻率確定;用戶在上位機界面輸入要輸出波形的幅值、周期及通道等參數,點擊輸出,信號發(fā)生裝置輸出引腳輸出相應波形。
2.1 CCS集成開發(fā)環(huán)境
CCS是TI公司推出的集成開發(fā)環(huán)境,其專為開發(fā)TMS320系列的DSP設計。CCS自推出以來發(fā)展出了多個版本,常用的有CCS3.3、CCS5.5、CCS6等。CCS采用圖形化界面,有多種編輯工具及工程管理工具,是一種工作在Windows操作系統下的類似于VC++的集成開發(fā)環(huán)境。它所集成的代碼調試工具具有多種調試功能,用戶可進行指令級的仿真及可視化的實時數據分析。此外,CCS還提供了豐富的庫函數,極大地方便了TMS320系列DSP軟件開發(fā)過程。
CCS有軟件仿真器模式和在線編程模式兩種開發(fā)模式。其中軟件仿真器模式可以脫離主控芯片,在PC機上模擬主控芯片的指令集和工作機制,該模式主要用于前期算法的實現和調試;在線編程模式可在DSP芯片上實時運行,并與硬件電路板相結合進行在線編程和調試應用程序。本文所設計的信號發(fā)生裝置采用在線編程的工作模式。
2.2 軟件流程
根據上述的模塊化程序設計思想,軟件設計流程圖如圖6所示。
2.2.1 系統初始化
系統初始化主要包括以下步驟:首先是設置高速外設時鐘,將仿真讀取使能位EALLOW清零;然后將通用I/O口設置為默認值;再清除所有中斷,將外設中斷擴展模塊PIE向量表設置為系統默認值;最后將中斷標志寄存器IFR和中斷使能寄存器IER的相應位清零。
2.2.2 建立波形數據
建立波形模塊是整個軟件設計的重點,為了方便理解,本文以輸出標準正弦波為例詳細闡述建立波形模塊的算法,假設要輸出的波形是標準正弦波,幅值為A,頻率為f,具體步驟如下:
(1)首先確定輸出信號能達到的最高頻率,即定時器的中斷頻率為f0,則中斷周期為T0。
以上是輸出正弦波時建立波形模塊的具體步驟,當需要輸出正弦波以外的其他波形時,只需要改動最后一步即可實現。如果要輸出異形波,可將各個點的數值放入數組,采用查表法進行輸出。
2.3 上位機界面設計
系統采用Visual Studio 2010作為上位機編程軟件,C#語法簡單,代碼重用性高,易于維護,且設計出了可視化圖形用戶界面以便于測試人員快速操作。本系統的上位機設計主要是用戶在可視化界面中輸入需要的波形信息,使用Serial Port類實現PC機與信號發(fā)生裝置之間的通信,從而使信號發(fā)生裝置相應通道輸出用戶需要的波形。信號發(fā)生裝置上位機界面如圖7所示。
3 功能測試
按照上述硬件電路設計搭建系統硬件平臺,并根據軟件設計流程實現DAC7724的多路信號輸出。在上位機界面選擇輸出通道(8個通道)、輸出波形(包括正弦波、余弦波、方波、三角波、跳變沿、異形波等)、頻率、周期數、幅值等信息,用示波器實測輸出波形如圖8所示。實測結果與理論設計一致,實現了多路信號輸出功能。
4 結束語
本文研究了基于DSP和DAC7724的多路信號發(fā)生裝置,該裝置根據上位機界面輸入的波形信息輸出多路任意形狀的波形,波形的類型、頻率、幅值以及需要輸出的周期都可以根據用戶需求可視化設置,極大地提高了輸出波形的靈活性。系統具有精度高、速度快、高性能、低成本等諸多優(yōu)點,可用于系統調試及工業(yè)測試中,作為頻率和幅度可控的信號源,具有一定的現實意義和實用價值。
參考文獻:
[1]李冰,許一男.汽車電子制動踏板模擬器傳感器的容錯控制研究[J].延邊大學學報(自然科學版),2015,41(4):348-350.
[2]戴毓,彭良玉.基于BP神經網絡的模擬電路故障診斷[J].現代電子技術,2013,36(16):9-14.
[3]高少洪,張鵬.基于DSP任意路PWM波的簡易生成方法[J].工業(yè)控制計算機,2014,27(12):159-161.
[4]張立霞,門長峰,么居標.基于DSP的數模轉換系統研究[J].天津職業(yè)技術師范大學學報,2011,21(2):33-36.
[5]TMS320F2810,TMS320F2811,TMS320F2812,TMS320C2810,TMS320C2811,TMS320C2812 Digital Signal Processors DataManual SPRS174S[Z].Texas Instruments Inc,2011:11.
[6]顧衛(wèi)鋼.手把手教你學DSP——基于TMS320X281X[M].北京:北京航空航天大學出版社,2011.
[7]宋玉龍,朱洪翔.基于DSP離散頻率編碼雷達信號的實現[J].現代電子技術,2011,34(5):17-30
[8]陳彪.基于MSP430水產養(yǎng)殖環(huán)境監(jiān)控系統設計[D].??冢汉D洗髮W,2015.
[9]孟武勝,馮動動,張新偉.基于TMS320F2812的新型發(fā)電機控制器設計[J].微處理機,2012,4:69-72.
[10]賈繼鵬,張永堅,胡延凱.基于WinCE和ARM的多串口擴展及485通信設計[J].計算機系統應用,2015,24(5):62-37.
[11]徐龍威,楊帆.等.基于TMS320F28335無刷直流電機控制系統設計[J].電子測量技術,2013,36(9):79-82.
[12]宋尚升.集成電路測試原理和向量生成方法分析[J].現代電子技術,2014,37(6):122-124.