王 瓊 劉嗣勤
(91550部隊(duì),遼寧 大連 116023)
基于CAN總線的雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)的研究
王 瓊 劉嗣勤
(91550部隊(duì),遼寧 大連 116023)
針對傳統(tǒng)的雷達(dá)測試手段無法滿足雷達(dá)網(wǎng)絡(luò)測試工作的需求,本文設(shè)計(jì)基于CAN總線的雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)來解決此類問題。首先對CAN總線進(jìn)行了詳細(xì)的分析,描述其優(yōu)點(diǎn)和數(shù)據(jù)幀格式;其次從系統(tǒng)網(wǎng)絡(luò)架構(gòu)和功能模塊兩個(gè)方式對系統(tǒng)進(jìn)行設(shè)計(jì);最后給出了系統(tǒng)的部分實(shí)現(xiàn)。本文對于網(wǎng)絡(luò)管理人員和雷達(dá)測試工作人員都具有積極的作用。
CAN總線;雷達(dá);網(wǎng)絡(luò)
隨著網(wǎng)絡(luò)技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)的不斷發(fā)展,傳統(tǒng)的雷達(dá)測試系統(tǒng)已經(jīng)不能滿足當(dāng)前雷達(dá)網(wǎng)絡(luò)的測試需求。當(dāng)前,網(wǎng)絡(luò)速度的提高已經(jīng)為雷達(dá)網(wǎng)絡(luò)測試提供了強(qiáng)大的網(wǎng)絡(luò)基礎(chǔ),網(wǎng)絡(luò)傳感器的應(yīng)用也為雷達(dá)遠(yuǎn)程測試提供了硬件基礎(chǔ),大大提高了雷達(dá)遠(yuǎn)程維護(hù)的效率,有力推動了雷達(dá)網(wǎng)絡(luò)測試技術(shù)的發(fā)展[1]。
2.1 CAN總線概念
CAN是控制總線(ControllerArea Network)的縮寫,最早是1986年是由德國電氣商博世公司設(shè)計(jì),主要應(yīng)用于汽車行業(yè)。經(jīng)過多年的不斷發(fā)展,通過ISO標(biāo)準(zhǔn)化,當(dāng)前已經(jīng)成為國際標(biāo)準(zhǔn)的串行通信協(xié)議[2]。
CAN總線屬于現(xiàn)場總線的范疇,高可靠性和高性能的優(yōu)點(diǎn)使之被廣泛應(yīng)用于工業(yè)設(shè)備、船舶、工業(yè)自動化和醫(yī)療設(shè)備等各個(gè)領(lǐng)域,基于CAN總線設(shè)計(jì)和開發(fā)的控制系統(tǒng)具有以下優(yōu)點(diǎn):
(1)通信實(shí)時(shí)性高
CAN總線模式使得網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)通過總線訪問逐位仲裁的競爭方式發(fā)送數(shù)據(jù),不同的節(jié)點(diǎn)會收到相同的信息,網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信實(shí)時(shí)性大大提高。雖然在網(wǎng)絡(luò)結(jié)構(gòu)上造成了冗余,但系統(tǒng)的靈活性和可靠性得到加強(qiáng)。
(2)開發(fā)周期短
CAN總線上的節(jié)點(diǎn)當(dāng)出現(xiàn)嚴(yán)重錯(cuò)誤時(shí),會關(guān)閉輸出功能,不會與其他的節(jié)點(diǎn)輸出相沖突,避免了總線短路現(xiàn)象。CAN總線上節(jié)點(diǎn)的“死鎖”狀態(tài),可以由CAN的控制芯片完成,大大減小了開發(fā)難度,提高了開發(fā)效率。
2.2 CAN總線數(shù)據(jù)格式
CAN總線的通信幀主要分為幀間隔、過載幀、錯(cuò)誤幀、遠(yuǎn)程幀和數(shù)據(jù)幀五種類型,其中數(shù)據(jù)幀主要用于發(fā)送數(shù)據(jù),是系統(tǒng)開發(fā)應(yīng)用最廣泛的。數(shù)據(jù)幀在結(jié)構(gòu)上由七部分組成,分別是幀起始、仲裁幀、控制段、數(shù)據(jù)段、CRC段、ACK段和幀結(jié)束。根據(jù)仲裁段長度的不同,分為CAN2.0A(標(biāo)準(zhǔn)幀)和CAN2.0B(擴(kuò)展幀)兩種。具體的幀格式如圖1所示[3]。
圖1 CAN數(shù)據(jù)幀格式
其中幀起始和幀結(jié)束在標(biāo)準(zhǔn)幀和擴(kuò)展幀中都是相同的,幀起始由單個(gè)的顯性位組成,幀結(jié)束由7個(gè)連續(xù)的隱性位組成。
在CAN總線上的節(jié)點(diǎn),是處于均等地位的,但通過仲裁段可以區(qū)別數(shù)據(jù)幀的優(yōu)先級。標(biāo)準(zhǔn)幀的仲裁段幀ID為11位,擴(kuò)展幀的仲裁段幀ID為29位。
控制段由6位組成,標(biāo)準(zhǔn)幀中由4位DLC、1個(gè)保留位r0和1個(gè)標(biāo)志位IDE組成。擴(kuò)展幀由4位DLC、1個(gè)r0和1個(gè)r1位組成,其中r0和r1用隱性電平填充。
數(shù)據(jù)段、CRC段、ACK段在標(biāo)準(zhǔn)幀和擴(kuò)展幀中是一致的。數(shù)據(jù)段可以包含0-64位的數(shù)據(jù)位;CRC段主要用于檢錯(cuò),由15位CRC值和1位CRC界定符構(gòu)成;ACK幀是當(dāng)發(fā)送無錯(cuò)時(shí),結(jié)果為顯性電平。
3.1 系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
雷達(dá)通過CAN總線形成總線型的雷達(dá)網(wǎng)絡(luò),為了滿足對雷達(dá)網(wǎng)絡(luò)的測試功能需求,需要在CAN總線網(wǎng)絡(luò)上布置相關(guān)的設(shè)備儀器(示波器、萬用表、功率計(jì)、信號源等),另外還需要有相應(yīng)的測試設(shè)備,并通過CAN總線將數(shù)據(jù)發(fā)送給CAN總線上的計(jì)算機(jī)[4],對收集到的數(shù)據(jù)信息進(jìn)行分析,同時(shí)還需要有打印設(shè)備,便于輸出測試的結(jié)果。雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)的網(wǎng)絡(luò)架構(gòu)如圖2所示。
圖2 雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)網(wǎng)絡(luò)架構(gòu)
3.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)
雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)分為硬件和軟件兩部分,硬件主要是雷達(dá)和各個(gè)設(shè)備儀器通過CAN總線相連,具有發(fā)送和接收數(shù)據(jù)的功能;軟件是系統(tǒng)的核心,本文主要介紹軟件的實(shí)現(xiàn)。軟件采用C/S結(jié)構(gòu),設(shè)計(jì)原則上要符合模塊化、系列化和通用化的開發(fā)原則。整個(gè)系統(tǒng)功能主要由用戶管理模塊、通信接口模塊、設(shè)備管理模塊、數(shù)據(jù)采集模塊、測試模塊和打印模塊六部分組成。系統(tǒng)功能結(jié)構(gòu)如圖3所示。
用戶管理模塊主要是對系統(tǒng)的用戶進(jìn)行管理,分為系統(tǒng)管理員和一般管理員,系統(tǒng)管理員可以添加、修改和刪除一般管理員的信息,而一般管理員可以通過用戶名和密碼進(jìn)入到系統(tǒng)中,對系統(tǒng)進(jìn)行操作。
設(shè)備管理模塊是對系統(tǒng)中與CAN總線相連的所有設(shè)備進(jìn)行管理,包含的設(shè)備有雷達(dá)、萬用表、示波器、頻譜儀和功率表等,可以進(jìn)行添加、刪除、修改等操作對設(shè)備進(jìn)行管理,對設(shè)備進(jìn)行分類和存儲。
圖3 系統(tǒng)功能模塊結(jié)構(gòu)圖
通信接口模塊主要是實(shí)現(xiàn)計(jì)算機(jī)、雷達(dá)、儀器設(shè)備通過CAN總線進(jìn)行通信,設(shè)計(jì)統(tǒng)一的通信接口模式,能夠?qū)崿F(xiàn)模擬信號與數(shù)字信號之間的轉(zhuǎn)換,便于各個(gè)設(shè)備之間的通信。
測試模塊是通過測試設(shè)備對雷達(dá)的動態(tài)參數(shù)進(jìn)行分析,查找和分析雷達(dá)是否正常工作,發(fā)現(xiàn)出現(xiàn)異常的雷達(dá),并通過遠(yuǎn)程進(jìn)行維護(hù)。
數(shù)據(jù)采集模塊是對各個(gè)設(shè)備的信息進(jìn)行實(shí)時(shí)動態(tài)采集,為測試工作作好準(zhǔn)備。
打印模塊主要是對測試的結(jié)果進(jìn)行網(wǎng)絡(luò)打印輸出。
4.1 設(shè)備采集模塊
為了保障系統(tǒng)能夠準(zhǔn)確地對設(shè)備進(jìn)行測試,首先要確保系統(tǒng)中的設(shè)備數(shù)據(jù)能夠正確地被采集。在整個(gè)系統(tǒng)中,除了雷達(dá)以外,儀器設(shè)備的種類比較多,在收集數(shù)據(jù)以前,要保障每個(gè)儀器設(shè)備都與服務(wù)器準(zhǔn)確相連,并且處于打開狀態(tài),根據(jù)CAN總線的特點(diǎn),周期性地向服務(wù)器發(fā)送數(shù)據(jù),當(dāng)數(shù)據(jù)在規(guī)定的時(shí)間內(nèi)沒有發(fā)送自己的相關(guān)信息,服務(wù)器會主動檢測該設(shè)備,查看是否出現(xiàn)故障。
模塊的核心代碼如下所示:
struct CANs*yq=ct(Canjd->i_shb,struct CANs,shb);
struct spi_yqsbie*spi=yq->spi;
struct CANs_pingt_sj*psj=spi->shb.pingt_sj;
file->private_sj=yq;
if(!yq->count)
{
if(psj->zh_enable)
psj->zh_enable(1);
CANs_hw_reset(spi);
CANs_hw_wakeup(spi);
/*禁止中斷*/
CANs_write_reg(spi,CANNB,
CANNB_CWIE|CANNB_TX2IE
|CANNB_TX1IE|CANNB_TX0IE
|CANNB_RX1IE|CANNB_RX0IE);
/*將設(shè)備設(shè)為打開狀態(tài)*/ CANs_write_reg(spi,CANKZ,CANKZ_REQOP_NORMAL);
CANs_write_reg(spi,RXBKZ(0),RXBKZ_BULK); }
yq->count++;
4.2 測試模塊
測試模塊是系統(tǒng)的核心模塊,所有的模塊都是為測試模塊服務(wù)的,在測試的過程中,明確各個(gè)雷達(dá)節(jié)點(diǎn)處于哪種模式(主動工作模式、被動工作模式及非法工作模式),便于系統(tǒng)在不同模式下做出準(zhǔn)確的測試判斷。
核心代碼如下:
STATUS szdm=OK;
if(qdsl>=pShb->pKz->numChn)
{
cwnoSet(S_can_fm_qd_no);
szdm=CWOR;
}
else
{
switch(mode)
{
case WNCAN_CHN_ZHUDONG:
pShb->pKz->chnMode[qdsl]=WNCAN_CHN_ZHUDONG;
break;
case WNCAN_CHN_BEIDONG:
pShb->pKz->chnMode[qdsl]=WNCAN_CHN_BEIDONG;
break;
default:
cwnoSet(S_can_error);
szdm=CWOR;
break;
}
}
本文針對雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)展開討論,主要分析了雷達(dá)網(wǎng)絡(luò)測試系統(tǒng)的設(shè)計(jì)和部分實(shí)現(xiàn),所設(shè)計(jì)的系統(tǒng)可以有效地測試CAN總線下的雷達(dá)網(wǎng)絡(luò),有效提高了測試工作的效率,也為雷達(dá)網(wǎng)絡(luò)的協(xié)同工作提出了新的思路。由于本文的篇幅所限,在具體的功能描述上略顯不足,請盡見諒。
[1]李寶安,李行善.自動測試系統(tǒng)(ATS)軟件的發(fā)展及關(guān)鍵技術(shù)[J].測控技術(shù),2003,22(1):1-4.
[2]趙晴,鄭敏杰,李麗娜,等.基于RS-485總線的雷達(dá)模擬器的硬件研制[J].微型機(jī)與應(yīng)用,2011,30(5):24-26.
[3]梁士龍,王力男,楊嘉偉.用FPGA實(shí)現(xiàn)RS-485通信接口芯片[J].系統(tǒng)工程與電子技術(shù),2002,24(4):103-106.
[4]李貴山,戚德虎.PCI局部總線開發(fā)者指南[M].西安:電子科技大學(xué)出版社,2001.
Research on the Radar Network Testing System Based on CAN Bus
Wang Qiong Liu Siqin
(91550 Forces,Dalian 116000,Liaoning)
In order to meet with the needs of radar testing that the traditional method cannot satisfy,this paper designs a radar network testing system based on CAN bus.Firstly,the CAN bus is analyzed in detail,and its advantages and data frame format are described.Secondly,the system is designed from two aspects of the network architecture and function modules.Finally,partial implementation of the system is given.This paper has a positive effect on network managers and radar test staff.
CAN bus;radar;network
TN953
A
1008-6609(2017)07-0035-03
王瓊(1983-),女,吉林松原人,碩士,研究方向?yàn)闊o線電測量。