摘 要: 應(yīng)用CAN總線的分布式數(shù)據(jù)采集系統(tǒng)對(duì)大型飛行器殼體結(jié)構(gòu)的應(yīng)力應(yīng)變?cè)诰€實(shí)時(shí)監(jiān)測(cè)是進(jìn)行結(jié)構(gòu)監(jiān)測(cè)的有效手段,在介紹CAN總線和分布式數(shù)據(jù)采集的基礎(chǔ)上,設(shè)計(jì)以TMS320VC5416 DSP為節(jié)點(diǎn)核心的測(cè)量系統(tǒng),利用CAN總線對(duì)數(shù)據(jù)采集與傳輸進(jìn)行控制。并給出基于TMS320VC5416 DSP數(shù)據(jù)采集系統(tǒng)的相應(yīng)節(jié)點(diǎn)硬件電路設(shè)計(jì)及PC-CAN卡程序設(shè)計(jì)。
關(guān)鍵詞: CAN總線;TMS320VC5416;分布式測(cè)量系統(tǒng)
目前,大型飛行器殼體運(yùn)輸貯存設(shè)計(jì)一般不考慮殼體柔性,但是大型火箭殼體、某些有超薄機(jī)翼的結(jié)構(gòu)、特別是有大型薄壁結(jié)構(gòu)的大部件則必須考慮結(jié)構(gòu)體柔性,這就要求解決一系列問題,例如承載型架的效能(載荷分配、行程、效率、過載、滯后系數(shù)等)受到的影響、殼體儲(chǔ)存能量的耗散效率等問題等。因而,研究大型殼體結(jié)構(gòu)在運(yùn)輸貯存過程可能出現(xiàn)的問題并尋求解決這些問題的可行方案就具有非常重要的工程應(yīng)用價(jià)值,而獲得結(jié)構(gòu)監(jiān)測(cè)數(shù)據(jù)則是相關(guān)研究的前提和驗(yàn)證措施有效性的保證手段,采用基于CAN總線的分布式在線測(cè)量系統(tǒng)定期檢測(cè)是獲取大型殼體運(yùn)輸貯存過程中變形及應(yīng)變數(shù)據(jù)的有效手段[1-2]。
現(xiàn)代結(jié)構(gòu)監(jiān)測(cè)技術(shù)對(duì)于結(jié)構(gòu)損傷檢測(cè)、損傷定位、載荷檢測(cè)、結(jié)構(gòu)損傷自動(dòng)修復(fù)、結(jié)構(gòu)剩余壽命預(yù)測(cè)等成為主要的支撐技術(shù)[3-4],本文采用基于CAN總線的傳輸采集系統(tǒng)在保障大型飛行器殼體結(jié)構(gòu)監(jiān)測(cè)方面起著關(guān)鍵作用。
1 基于DSP的數(shù)據(jù)采集節(jié)點(diǎn)設(shè)計(jì)
本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)是一種分布式系統(tǒng),利用現(xiàn)代工業(yè)控制和網(wǎng)絡(luò)技術(shù),通過對(duì)多個(gè)分散在大型殼體結(jié)構(gòu)上的傳感器信號(hào)進(jìn)行實(shí)時(shí)測(cè)量、傳輸控制及遠(yuǎn)程顯示等,可以及時(shí)掌握大型殼體結(jié)構(gòu)各個(gè)監(jiān)測(cè)點(diǎn)的數(shù)據(jù)狀態(tài),從而保證結(jié)構(gòu)的安全可靠。
系統(tǒng)由CAN控制器芯片、DSP和PC機(jī)組成,即由CAN總線通信模塊、電壓采集和處理電路、中央控制單元三部分組成,并通過USB總線與上位機(jī)之間進(jìn)行通信。數(shù)據(jù)采集系統(tǒng)通過節(jié)點(diǎn)結(jié)構(gòu)的區(qū)別可分為兩種模式:一種模式為傳統(tǒng)模式,即系統(tǒng)的各個(gè)節(jié)點(diǎn)都采用CPU加控制器方式來實(shí)現(xiàn),節(jié)點(diǎn)間的結(jié)構(gòu)都一樣,都可以對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行檢測(cè)和控制,無主節(jié)點(diǎn)和從節(jié)點(diǎn)的區(qū)分;另一種模式則采用主節(jié)點(diǎn)和從節(jié)點(diǎn)的結(jié)構(gòu),主節(jié)點(diǎn)采用CPU加控制器結(jié)構(gòu)來檢測(cè)和控制整個(gè)節(jié)點(diǎn),從節(jié)點(diǎn)則利用CAN總線I/O擴(kuò)展器來實(shí)現(xiàn)采集和控制現(xiàn)場(chǎng)信號(hào)。顯然,分布式數(shù)據(jù)采集系統(tǒng)應(yīng)著重選擇抗干擾能力強(qiáng)、性能穩(wěn)定的系統(tǒng)方式和結(jié)構(gòu)元器件。研究表明,TI公司DSP器件TMS320VC5416的數(shù)據(jù)處理能力明顯優(yōu)于51系列器件,因此,系統(tǒng)的PC-CAN接口卡及各從節(jié)點(diǎn)采用MCP2510CAN控制器和DSP器件TMS320VC5416是可行的。
1.1 A/D采樣電路與DSP的接口設(shè)計(jì)
鑒于TI公司的串行芯片應(yīng)用廣泛,本文設(shè)計(jì)采用其串行A/D采樣芯片??紤]到TMS320VC5416芯片的三個(gè)McBSP接口可以方便地與SPI器件相連[5],采用了TI公司生產(chǎn)的具有SPI串行接口的TLC2574。TLC2574支持連續(xù)的數(shù)據(jù)流傳輸,通過SPI串口與TMS320VC5416實(shí)現(xiàn)無縫對(duì)接。
TLC2574有四種轉(zhuǎn)換模式(模式00,01,10,11),根據(jù)轉(zhuǎn)換器如何采樣和采用哪一個(gè)主機(jī)接口選擇相應(yīng)的模式。TLC2574以DSP的同步時(shí)間脈沖為基準(zhǔn)發(fā)送和接收數(shù)據(jù),在單次模式下首先通過命令寄存器選擇某通道,才能對(duì)該通道進(jìn)行A/D轉(zhuǎn)換。因?yàn)槊畲鎯?chǔ)器為4位存儲(chǔ)器,所以完成一次A/D轉(zhuǎn)換需要30個(gè)SCLK(同步時(shí)鐘周期),其中包括存儲(chǔ)器需要SCLK 4個(gè),采樣需要SCLK 12個(gè),模擬量轉(zhuǎn)換需要SCLK 14個(gè)。需要指出的是,TMS320VC5416的McBSP接口設(shè)置十分重要,保證該接口在SPI模式下的時(shí)序與TLC2574相對(duì)應(yīng),才能使TMS320VC5416正常工作。
通過上面對(duì)TMS320VC5416同步串行口及TLC2574外接信號(hào)的特點(diǎn)分析可以看出,利用兩者可以進(jìn)行無縫對(duì)接的優(yōu)點(diǎn),通過TMS320VC5416的同步時(shí)鐘信號(hào)作用來實(shí)現(xiàn)A/D轉(zhuǎn)換數(shù)據(jù)的傳輸。圖1是TMS320VC5416同步串行口與TLC2574連接圖。
考慮到充分利用TMS320VC5416的McBSP口的強(qiáng)大功能,設(shè)計(jì)采用TI公司的TLC2574芯片支持串行數(shù)據(jù)接收,一方面可以完美連接TMS320VC5416,支持連續(xù)的數(shù)據(jù)流傳輸,另一方面因?yàn)樵撔酒? V模擬供電和3.3 V數(shù)字供電方式可供選擇,符合TMS320VC5416的3.3 V信號(hào)環(huán)境,可以與TMS320VC5416無縫對(duì)接,而不會(huì)出現(xiàn)其他芯片電平不匹配的問題,從而降低電路復(fù)雜程度和制造成本。
1.2 MCP2510 CAN控制器與DSP的連接
本設(shè)計(jì)的CAN控制器采用Microchip公司生產(chǎn)的MCP2510[6]。它支持被動(dòng)和主動(dòng)模式的CAN1.2、CAN2.0 A/B協(xié)議,MCP2510可以接收和傳輸CAN標(biāo)準(zhǔn)幀和CAN擴(kuò)展幀,并實(shí)現(xiàn)消息管理和接收過濾器功能。它有3個(gè)發(fā)送緩沖器和2個(gè)接收緩沖器,這樣可以降低處理器對(duì)消息管理的需要。通過TMS320VC5416的McBSP接口與MCP2510的SPI接口通信,其最高數(shù)據(jù)率可達(dá)1 Mb/s,已被廣泛應(yīng)用在交通及環(huán)境控制、醫(yī)療儀器、工業(yè)自動(dòng)化等領(lǐng)域。
CAN控制器的總體特點(diǎn):兼容CAN V2.0A/B協(xié)議,支持0~8個(gè)字節(jié)可變長(zhǎng)度消息;能處理CAN標(biāo)準(zhǔn)幀和CAN擴(kuò)展幀,速度可編程并且支持遠(yuǎn)程幀;帶有屏蔽接收過濾器和3個(gè)發(fā)送緩沖器以及2個(gè)接收緩沖器;并有6個(gè)接收過濾器;其中發(fā)送緩沖器有優(yōu)先發(fā)送和退出的功能,接收緩沖器具有優(yōu)先消息存儲(chǔ)功能。
從節(jié)點(diǎn)結(jié)構(gòu)如圖2所示,其硬件有高速SPI接口,可以選擇是否使能的中斷輸出腳,同時(shí)帶有可編程預(yù)分頻器的時(shí)鐘輸出;接收緩沖滿輸出腳有兩種配置方式,分別為配置為通用的數(shù)據(jù)輸出腳或者配置為接收緩沖器滿中斷輸出;并可選擇請(qǐng)求發(fā)送的輸入腳來作為通用數(shù)據(jù)輸出腳,或選擇作為請(qǐng)求發(fā)送緩沖器立即啟用消息發(fā)送的控制腳;有休眠模式,可降低能耗,低能耗CMOS技術(shù)操作電壓在3.0 V~5.5 V;休眠模式下典型電流從正常運(yùn)行時(shí)的5 mA變?yōu)?0 μA。
1.3 CAN總線通信電路
圖3為CAN的節(jié)點(diǎn)通信部分電路。CAN控制器用SPI接口與TMS320VC5416相連接。TMS320VC5416具有主同步串行口,經(jīng)過配置作為SPI接口的輸入口,可以實(shí)現(xiàn)最高速度1 Mb/s的SPI串口通信。在使MCP2510的片選腳置低電平的前提下,在時(shí)鐘SCK上升沿,通過SI引腳把數(shù)據(jù)或命令送到MCP2510,同時(shí)MCP2510能夠在SCK下降沿通過SO引腳送出數(shù)據(jù)。
TMS320VC5416的中斷輸入腳連接MCP2510中斷輸出腳INT。由于MCP2510本身并沒有總線驅(qū)動(dòng)能力,所以另外需要82C250這種CAN驅(qū)動(dòng)器把輸出的CAN消息發(fā)送到總線上去。
CAN驅(qū)動(dòng)器82C250主要特性是:對(duì)ISO/DIS 11891標(biāo)準(zhǔn)完全兼容;抗瞬間干擾能力強(qiáng),通過斜率控制可有效降低射頻干擾,可有效保護(hù)總線;能有效降低電池與地之間短路的可能;抗熱能力強(qiáng);低電流待機(jī)方式;最高速率可達(dá)1 Mb/s;支持最大110個(gè)節(jié)點(diǎn),任一節(jié)點(diǎn)的掉電不會(huì)對(duì)總線產(chǎn)生影響。
選用Philips生產(chǎn)的PCA82C250作為CAN接口芯片。斜率控制模式通過在82C250芯片的RS腳和地之間接上30 kΩ電阻實(shí)現(xiàn)。
2 PC-CAN接口卡設(shè)計(jì)及網(wǎng)絡(luò)拓?fù)?br />
2.1 PC-CAN接口卡
通過設(shè)計(jì)PC-CAN接口卡可以完成從節(jié)點(diǎn)與上位機(jī)之間的數(shù)據(jù)交換,解決了PC機(jī)無法和CAN總線直接通信的問題。接口卡可以雙向轉(zhuǎn)換CAN總線不同波特率和上位機(jī)的USB串口波特率,轉(zhuǎn)換上位機(jī)的USB串口與CAN總線間的電平;雙向轉(zhuǎn)換CAN總線上的數(shù)據(jù)包和上位機(jī)的USB串口比特流,數(shù)據(jù)包每幀為8 B;可以CRC檢驗(yàn)傳送的數(shù)據(jù),并對(duì)錯(cuò)誤的數(shù)據(jù)重新發(fā)送。
接口卡的設(shè)計(jì)要求是硬件構(gòu)成簡(jiǎn)單、工作可靠、性能穩(wěn)定,同時(shí)USB串口和CAN總線的通信功能在設(shè)計(jì)中亦必不可少,在較多從節(jié)點(diǎn)下運(yùn)算速度應(yīng)滿足需要。
此外,系統(tǒng)A/D采樣率高,為此接口需要有較高的數(shù)據(jù)傳輸帶寬,才能實(shí)時(shí)傳輸采集信號(hào)和DSP處理結(jié)果。選用Cypress公司的CY7C68013-56PVC作為接口芯片,該芯片的USB2.0高速接口具有即插即用、便攜移動(dòng)的優(yōu)點(diǎn)。其3.3 V的電源與DSP要求吻合,能夠直連TMS320VC5416接口。其片上帶有的2K×16 bit的FIFO,通過SLAVEFIFO,模式下的AUTO-IN/OUT方式可以方便地傳輸數(shù)據(jù)和控制命令。
PC-CAN接口卡主節(jié)點(diǎn)系統(tǒng)原理圖如圖4所示。
2.2 系統(tǒng)連接方案
分布式測(cè)量系統(tǒng)連接方案如圖5所示。主機(jī)通過USB接口對(duì)主節(jié)點(diǎn)進(jìn)行通信和控制,主節(jié)點(diǎn)通過CAN網(wǎng)絡(luò)與從節(jié)點(diǎn)1、2、3、4、…相連。
3 PC-CAN接口卡軟件設(shè)計(jì)
為了監(jiān)測(cè)和處理網(wǎng)絡(luò)數(shù)據(jù),需要利用上位機(jī)軟件來監(jiān)測(cè)和控制整個(gè)CAN系統(tǒng)。實(shí)現(xiàn)上位機(jī)與從節(jié)點(diǎn)之間傳輸數(shù)據(jù)和控制。
在上位機(jī)與PC-CAN接口卡之間傳遞消息時(shí),發(fā)送方的PC-CAN接口卡軟件需要在每一幀數(shù)據(jù)的后面附加校驗(yàn)和字節(jié)。實(shí)現(xiàn)方法是PC-CAN接口卡軟件對(duì)其每一幀內(nèi)的載荷數(shù)據(jù)逐字節(jié)相加取和,然后再將總和值的低8位作為校驗(yàn)和的標(biāo)志值字節(jié)隨載荷數(shù)據(jù)一起發(fā)送。接收方在接收到數(shù)據(jù)幀后需要對(duì)載荷數(shù)據(jù)每一個(gè)字節(jié)相加取和,再將取和的結(jié)果與接收到的校驗(yàn)和值進(jìn)行對(duì)比。當(dāng)出現(xiàn)干擾產(chǎn)生誤碼時(shí),那么兩個(gè)校驗(yàn)和值不相等,即判斷舍棄該幀。若校驗(yàn)和值相等則說明接收載荷數(shù)據(jù)正確。采取校驗(yàn)和的方法可以大為減少誤碼出現(xiàn)的機(jī)會(huì)(顯然其并不能夠保證數(shù)據(jù)的傳送成功和絕對(duì)正確)。PC-CAN接口卡的軟件整體流程如圖6所示。
在介紹CAN總線和分布式數(shù)據(jù)采集后,闡述了本文方案所開發(fā)的基于CAN總線的分布式測(cè)量系統(tǒng),系統(tǒng)各節(jié)點(diǎn)以TMS320VC5416為核心,各節(jié)點(diǎn)間以CAN總線連接通信,能夠搭配不同的傳感器進(jìn)行各種參數(shù)的測(cè)量。最后系統(tǒng)實(shí)現(xiàn)的指標(biāo)為:最多容納100個(gè)節(jié)點(diǎn);CAN總線速率32 kb/s;每個(gè)從節(jié)點(diǎn)支持4路模擬采集通道;每個(gè)從節(jié)點(diǎn)支持8路開關(guān)量輸出。
參考文獻(xiàn)
[1] 張崇巍,付河,朱敏.電動(dòng)叉車CAN總線控制系統(tǒng)中人機(jī)交互節(jié)點(diǎn)設(shè)計(jì)[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2000,23(1):81-85.
[2] 朱敏,張崇巍,謝震.CAN總線在數(shù)據(jù)采集與控制系統(tǒng)中的應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2002,25(3):345-349.
[3] HOUSNER G W, BERGMAN L A, CAUGHEY T K. Structural control: past, present, and future[J]. Journal of Engineering Mechanics, ASCE, 2003,123(9).
[4] FUJUNO Y, ABE M. Structural Health Monitoring in civil infrastructures Research Activities at the Bridge and Structure[J]. Laboratory of the University of Tokyo. Structural Healthy Monitoring and Intelligent Infrastructure,2003,11,Tokyo, Japan.
[5] 任治剛,孫洪波,張澤.TMS320C54x系列McBSP串口特性及其應(yīng)用[J].內(nèi)蒙古大學(xué)學(xué)報(bào)(自然科學(xué)版),2001(3):336-339.
[6] Microchip Technology Inc.MCP2510 Data Sheet[Z].2002.