張 靜
(大連測控技術(shù)研究所,遼寧 大連 116013)
某些應(yīng)用場合,系統(tǒng)包括大量現(xiàn)場傳感器節(jié)點,而且控制中心距離現(xiàn)場較遠(yuǎn)。這種情況下,為了實現(xiàn)遠(yuǎn)距離傳輸,必須盡可能減少數(shù)據(jù)傳輸量,通常不需要傳輸傳感器節(jié)點的原始數(shù)據(jù),只需要將傳感器節(jié)點的數(shù)據(jù)處理結(jié)果傳輸給控制中心。為此,需要在傳感器節(jié)點處設(shè)計1個信號采集與處理單元,實現(xiàn)傳感器數(shù)據(jù)的采集與處理,以及處理結(jié)果的遠(yuǎn)距離傳輸。本文介紹了1種基于TMS320F2812(以下簡稱F2812)的信號采集與處理單元的設(shè)計方案。
F2812是TI公司生產(chǎn)的工業(yè)界首批32位的控制專用的數(shù)字信號處理器[1-2],具有很強(qiáng)的運(yùn)算能力,能實時地處理許多復(fù)雜的控制算法,是專門為工業(yè)自動化、光學(xué)網(wǎng)絡(luò)及自動化控制等應(yīng)用而設(shè)計的。選擇它的原因之一是其外圍接口豐富,片上集成了多種先進(jìn)的外設(shè)(SCI,SPI,McBSP,CAN 等),能滿足數(shù)據(jù)采集和傳輸?shù)男枰?。尤其是增?qiáng)型的CAN口(eCAN),可使多個基于DSP的信號處理模塊僅通過CAN總線驅(qū)動器件就可以并聯(lián)在CAN總線網(wǎng)絡(luò)上與上位機(jī)通信。CAN總線[3]是1種多主方式的串行通信方式,能實現(xiàn)在信號傳輸距離很長(10 km)時,仍能達(dá)到高達(dá)5 kbps的數(shù)據(jù)傳輸速率,而且具有高抗電磁干擾性,能檢測出產(chǎn)生的任何錯誤;二是F2812的主頻可以高達(dá)150 MHz,能實現(xiàn)實時信號采集、處理與傳輸?shù)墓δ堋?/p>
整個系統(tǒng)由水下設(shè)備、光電傳輸纜及岸站設(shè)備3個部分組成。岸站設(shè)備通過光電復(fù)合纜與多個水下信息集成艙連接,每個信息集成艙又拖帶多個傳感器節(jié)點。2個信息集成艙之間以及傳感器節(jié)點之間都采用級聯(lián)方式,可方便擴(kuò)展。信息集成艙之間以及信息集成艙與岸站設(shè)備之間采用光網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,信息集成艙里有電壓轉(zhuǎn)換模塊和CAN轉(zhuǎn)以太網(wǎng)模塊,傳感器節(jié)點之間以及傳感器節(jié)點與其所屬信息集成艙之間通過CAN總線進(jìn)行數(shù)據(jù)傳輸。
圖1 系統(tǒng)整體結(jié)構(gòu)示意圖Fig.1 Schematic diagram of the system
每個傳感器節(jié)點包含電場傳感器、磁場傳感器及信號采集與處理單元等。本文所要闡述是電磁信號的采集與處理,再通過CAN口將數(shù)據(jù)處理結(jié)果傳輸?shù)紺AN總線電路部分的硬件實現(xiàn)與軟件設(shè)計。
信號采集與處理單元硬件主要包括信號的采集、DSP處理電路及其外圍擴(kuò)展電路等幾部分,該單元采集調(diào)理過的穩(wěn)恒電場(2路)、交變電場(2路)和穩(wěn)恒磁場(3路)共計7路的電磁場信號,由DSP對電場信號進(jìn)行功率譜估計,線譜提取,線譜跟蹤,最后將計算結(jié)果通過其CAN口發(fā)往CAN總線并經(jīng)由信息集成艙傳給上位機(jī)(前面所講的岸站設(shè)備),實現(xiàn)系統(tǒng)的遠(yuǎn)程控制和監(jiān)測數(shù)據(jù)的共享。上位機(jī)負(fù)責(zé)顯示數(shù)據(jù)處理的結(jié)果,然后對傳感器節(jié)點中信號采集與處理單元(即對核心控制芯片DSP)發(fā)送控制命令,實現(xiàn)對傳感器節(jié)點工作狀態(tài)進(jìn)行控制。下面分別介紹信號采集與處理單元的每部分硬件的實現(xiàn)。
圖2 信號采集與處理單元結(jié)構(gòu)框圖Fig.2 Schematic diagram of signal collecting and processing unit
1)模擬采集電路設(shè)計
由于F2812片上的AD為12位,不能滿足系統(tǒng)采集信號精度的要求,所以選取了TI公司生產(chǎn)的多通道24位高性能模數(shù)轉(zhuǎn)換器—ADS1278。該芯片將出色的DC精度與AC性能進(jìn)行了完美結(jié)合,實現(xiàn)了低成本集成。它可提供8通道的Δ-Σ同步模數(shù)轉(zhuǎn)換器,具有片上線性相位數(shù)字濾波器,低采樣孔徑誤差,可滿足要求嚴(yán)格的多通道信號采集應(yīng)用場合。
信號采集電路是硬件設(shè)計部分的關(guān)鍵之一,其電路設(shè)計的好壞直接影響信號的采集精度。首先是電源設(shè)計,AD的模擬電壓為5 V,數(shù)字電壓為1.8 V,IO口電壓為3.3 V供電(電路原理圖與圖4和圖5相似,后面將詳細(xì)介紹)。ADS1278和DSP外圍接口的5 V電都設(shè)計為相互隔離;ADS1278的模擬地和數(shù)字地最終在一點需要連接在一起,這樣做可以防止電干擾;其次,本芯片輸入設(shè)計為差分輸入驅(qū)動,也可以達(dá)到抑制噪聲,獲得較好的轉(zhuǎn)換效果。
圖3為采集電路原理框圖。ADS1278的輸出可以設(shè)為SPI接口通信模式,連接到DSP的SPI串行外設(shè)接口。ADS1278的29管腳連接DSP的149管腳。該管腳可以復(fù)用為外部中斷1,這樣就可以完成每次AD轉(zhuǎn)換完畢,觸發(fā)DSP的外部中斷1(XINT1),進(jìn)行數(shù)據(jù)傳輸,DSP的SPI端口設(shè)置為主模式,取數(shù)據(jù)的時鐘由DSP的34管腳(PF02/SPI_CLKA)產(chǎn)生,數(shù)據(jù)是按 CH1~CH8的順序從ADS1278的20管腳(DOUT1)傳輸給DSP的41管腳(PF01/SPI_SOMIA),每通道字長24位,數(shù)據(jù)從高位到低位傳輸,由于通道8為掉電模式,所以在傳輸時該通道被自動置為0傳輸出去。
2)DSP的電路設(shè)計
①電源電路設(shè)計
圖3 采集電路原理框圖Fig.3 Schematic diagram of collecting circuit
F2812采用高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3 V,減小了控制器的功耗。本單元中,設(shè)置DSP工作在150 MHz的頻率下,為了降低芯片的功耗,F(xiàn)2812采用雙電源供電的方式,芯片本身的內(nèi)核電壓為1.9 V,外部接口電壓為3.3 V,為 GPIO,F(xiàn)LASH,ROM等提供工作電壓。圖4和圖5為電路圖。在設(shè)計時分開設(shè)計+3.3 V電源和+1.9 V電源。該方法優(yōu)點是2路電源既可防止器件間干擾,又可分開調(diào)試,互不干擾,并可以提供較大功率[5]。
②時鐘電路
時鐘產(chǎn)生電路選擇利用內(nèi)部的晶振,這主要是考慮成本問題,1個晶振和內(nèi)部振蕩需要的一些器件通常比外部振蕩器便宜。因此,在本單元沒有別的器件需要同樣時鐘的情況下,利用晶振和內(nèi)部的振蕩電路是最好的選擇。其特點是利用芯片的內(nèi)部振蕩電路,輸出波形為頻率30 MHz的正弦波,波形的幅度由控制器決定,不存在電壓匹配問題,2個電容選擇晶體生產(chǎn)廠家推薦電容值24 pF,且電容誤差小。
③看門狗電路
看門狗電路在實際應(yīng)用中是必不可少的,由于實際使用環(huán)境并非如實驗室一樣的好,常常有很多干擾因素使得程序跑飛。在設(shè)計時,一是在軟件上設(shè)置軟件看門狗,程序跑飛時,使程序跳轉(zhuǎn)到程序開始;二是在硬件上加入看門狗電路。
④CAN接口電路
TMS320F2812處理后的數(shù)據(jù)需要傳輸出去,由于其芯片內(nèi)嵌了增強(qiáng)型的CAN模塊,可以很方便地連接到CAN總線上。CAN總線屬于現(xiàn)場總線的范疇,它是1種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。這樣就可以把本文中帶有信號采集及處理模塊、CAN接口模塊等的多個傳感器節(jié)點連接到1條CAN總線網(wǎng)絡(luò)上。此方案與傳統(tǒng)的基于RS-485總線的連接方式相比,除了能充分發(fā)揮DSP強(qiáng)大的數(shù)據(jù)實時處理能力和通信功能之外,主要還具有CAN獨(dú)特的優(yōu)勢[3]:CAN-bus使用 CAN ID區(qū)分結(jié)點,廢除了地址碼,并支持網(wǎng)段劃分;優(yōu)秀的實時性能及強(qiáng)大的數(shù)據(jù)容錯功能,支持硬件CRC校驗及出錯自動重傳機(jī)制;CAN-bus電氣安全性更高,不會存在RS485網(wǎng)絡(luò)中出現(xiàn)的總線短路情況;通訊距離長,速率快等。
圖6 CAN接口電路圖Fig.6 Circuit diagram of CAN interface
CAN總線接口芯片選用SN65HVD251,是符合ISO11898標(biāo)準(zhǔn)、專用于CAN總線的串行通信物理層接口IC,它的作用是實現(xiàn)數(shù)據(jù)差分發(fā)送到總線和從總線接收差分?jǐn)?shù)據(jù)到DSP的CAN控制器。為了增強(qiáng)抗干擾能力,SN65HVD251單獨(dú)供電,應(yīng)用高速的TTL光耦隔離器HCPL063A實現(xiàn)總線與DSP的隔離。由于TMS320F2812DSP是低功耗設(shè)計,所有的數(shù)字輸入都與TTL兼容,所有輸出都是3.3 V CMOS電平,HCPL063A的工作電壓在5 V,所以需要進(jìn)行電平轉(zhuǎn)換,我們選用TI公司的10位雙向總線轉(zhuǎn)換器SN74CBTD3384。
整個系統(tǒng)的系統(tǒng)信號采集、處理及數(shù)據(jù)傳輸程序都在DSP上完成,DSP編程工具采用TI公司的DSP集成開發(fā)環(huán)境CCS3.3,它支持TI公司C2000全系列的DSP芯片。
DSP程序結(jié)構(gòu)化編程,從系統(tǒng)初始化到算法實現(xiàn)劃分成不同的子任務(wù)模塊,包括各級初始化函數(shù)、外部輸入函數(shù)、算法實現(xiàn)函數(shù)以及中斷處理函數(shù)等,系統(tǒng)根據(jù)不同的任務(wù)調(diào)用不同的子任務(wù)模塊。程序主體采用C語言。為保證程序運(yùn)行效率,中斷向量表和DSP的初始化程序采用匯編語言編寫。
DSP上電后,先調(diào)用一系列的初始化子任務(wù)模塊,具體包括初始化系統(tǒng)控制部分(包括PLL,看門狗以及外設(shè)時鐘等)、通用目的數(shù)字量I/O(GPIO)功能設(shè)置、初始化PIE控制寄存器、映射PIE中斷向量表、初始化SPI/eCAN/SCI通信設(shè)置等;而后啟動中斷,程序交由中斷控制。中斷啟動外部中斷1(XINT)。XINT外部中斷用來采集外部芯片AD的數(shù)據(jù)。主程序只需等待規(guī)定的數(shù)據(jù)長度后,即可進(jìn)行數(shù)據(jù)處理,處理后就可以通過CAN將處理結(jié)果上傳給上位機(jī)。
圖7 DSP主程序流程圖Fig.7 Flow diagram of DSP main program
圖7和圖8分別為DSP主程序和數(shù)據(jù)采集的流程圖。交變電場功率譜計算積分時間為6 s。首先采集6 s長度的數(shù)據(jù),將其送入外部RAM,然后以2 s數(shù)據(jù)作為步長移動,保證每次計算時間長度為6 s。
圖8 數(shù)據(jù)采集(外部中斷1)程序Fig.8 Flow diagram of data acquisition
需要說明的是,每次更新的2 s的DSP采集的外部AD數(shù)據(jù)是采用乒乓機(jī)制存儲的。如前所述,從AD過來的數(shù)據(jù)首先通過SPI通信模式送到DSP的INT1,傳輸?shù)臄?shù)據(jù)為8位寬度,每個通道數(shù)據(jù)為24位,共8個通道(只存儲前7個通道的有效數(shù)據(jù),最后1個通道丟棄)。DSP的最小存儲單元為16位寬,所以1個通道的數(shù)占用3個存儲地址。在傳輸數(shù)據(jù)時,每當(dāng)1個乒乓區(qū)(以交變電場X軸信號為例,1個乒乓區(qū)長fs*3*2,2 s的數(shù)據(jù))滿時,就使能DSP的數(shù)據(jù)處理程序(詳見DSP主程序流程圖),而在之后采到的數(shù)據(jù)存到另1個乒乓區(qū),以防新數(shù)據(jù)覆蓋舊的尚未處理的數(shù)據(jù)。
還有1個重要部分為在DSP上CAN傳輸接口軟件的實現(xiàn)。TMS320F2812集成了增強(qiáng)型的CAN總線通信接口(eCAN),它是由1個CAN協(xié)議核和1個信息控制器組成。CAN控制器包含傳送信息的處理、接收管理和幀存儲功能,支持標(biāo)準(zhǔn)幀和擴(kuò)展幀2種格式。編寫CAN傳輸接口協(xié)議時,首先需要初始化DSP的eCAN模塊工作狀態(tài)設(shè)置,具體包括相應(yīng)管腳功能使能、CAN工作時鐘開啟、設(shè)置eCAN為HECC(擴(kuò)展數(shù)據(jù)幀格式)、初始化消息控制寄存器、設(shè)置CAN通訊速率(由通訊距離決定)、配置位定時參數(shù)及初始化發(fā)送和接收郵箱參數(shù)等。最后使用發(fā)送郵箱發(fā)送消息,即配置完郵箱將需要發(fā)送的數(shù)據(jù)寫到發(fā)送郵箱中,等待郵箱相應(yīng)的發(fā)送響應(yīng)標(biāo)志位,置位信息標(biāo)志著消息發(fā)送成功。接收消息同發(fā)送原理相似。
基于以上方案研制的信號采集與處理單元在系統(tǒng)原理樣機(jī)中得到成功應(yīng)用。在本系統(tǒng)的原理樣機(jī)中,CAN總線網(wǎng)絡(luò)中外掛了3個傳感器節(jié)點,總長為1000 m,通過由Labview編寫的岸站顯控界面,將3個傳感器節(jié)點串聯(lián)在CAN電纜中,進(jìn)行CAN通信數(shù)據(jù)驗證,3個傳感器節(jié)點中的DSP由于設(shè)置的CAN傳輸?shù)腎D不同,岸站會按照ID優(yōu)先級排列數(shù)據(jù),將電磁信號的特征傳輸上來,由岸站顯控界面發(fā)送開始或結(jié)束命令。經(jīng)過多次長時間的數(shù)據(jù)測試,結(jié)果均未出現(xiàn)錯誤。
通過試驗測試結(jié)果分析,文中介紹的基于TMS320F2812的電磁信號采集與處理單元,能實時地采集和處理傳感器的電磁信號,并通過DSP的內(nèi)嵌CAN模塊將處理結(jié)果傳輸給岸站顯控臺。從而實現(xiàn)了多節(jié)點、長距離系統(tǒng)的數(shù)據(jù)快速可靠傳輸。鑒于DSP的靈活的編程特性,以及CAN網(wǎng)絡(luò)的優(yōu)勢,以DSP為核心的信號采集與處理單元的成功研制為開發(fā)更多節(jié)點、更長距離的系統(tǒng)提供了可行性驗證。
[1]蘇奎峰,呂強(qiáng),常天慶,等.TMS320X281x DSP原理及 C程序開發(fā)[M].北京:北京航空航天大學(xué)出版社,2009.SU Kui-feng,LV Qiang,CHANG Tian-qing,et al.The principle of TMS320F281x and development based on C[M].Beijing:BeijingUniversityofAeronauticsandAstronautics Press,2009.
[2]三恒星科技.TMS320F2812 DSP原理與應(yīng)用實例[M].北京:電子工業(yè)出版社,2009.Science and technologycompany of three stars.The principle and applied examples of TMS320F2812[M].Beijing:Publishing House of Electronics Industry,2009.
[3]周立功.iCAN現(xiàn)場總線原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.ZHOU Li-gong.The principle and application of iCAN field bus[M].Beijing:Beijing University of Aeronautics and Astronautics Press,2007.
[4]Texas Instrument Incorporated.TMS320F28xx 和 TMS320-F28xxx DSCs的硬件設(shè)計指南[M].2008.Texas InstrumentIncorporated,The hardware design's Guide of TMS320F28xx and TMS320F28xxx DSCs[M].2008.
[5]Texas Instrument Incorporated.TMS320F2810,TMS320-F2811,TMS320F2812,TMS320C2810,TMS320C2811,TMS320C2812 Digital Signal Processors DataManual[DB/OL],2007.
[6]脫秀林,申強(qiáng),劉成,等.基于TMS320F2812與μC/OS-Ⅱ交流采樣遠(yuǎn)程終端的設(shè)計[J].計算機(jī)測量與控制,2010,18(3):699 -702.TUO Xiu-lin,SHEN Qiang,LIU Cheng,et al.Remote terminal design of AC sampling based on TMS320F2812 and μC/OS-Ⅱ[J].Computer measurement and control,2010,18(3):699-702.