基于ARM7的MVB_CAN網(wǎng)關(guān)設(shè)計(jì)
摘要:介紹了用于機(jī)車(chē)內(nèi)部數(shù)據(jù)通訊的MVB網(wǎng)絡(luò)和CAN總線(xiàn)網(wǎng)絡(luò)的報(bào)文結(jié)構(gòu),給出了MVB-CAN總線(xiàn)網(wǎng)關(guān)的硬件和軟件實(shí)現(xiàn)方法。
關(guān)鍵詞:MVB;CAN;MVB-CAN網(wǎng)關(guān)
0 引言
隨著網(wǎng)絡(luò)技術(shù)和控制技術(shù)的發(fā)展,機(jī)車(chē)信息化控制技術(shù)向著更高的方向發(fā)展。為此,IEC制定出新的列車(chē)通信網(wǎng)路國(guó)際標(biāo)準(zhǔn)TCN(機(jī)車(chē)通信
網(wǎng)絡(luò)),以滿(mǎn)足列車(chē)微機(jī)控制系統(tǒng)中對(duì)車(chē)載數(shù)據(jù)通信網(wǎng)提出的新要求。
按照TCN標(biāo)準(zhǔn),列車(chē)通信網(wǎng)可分為兩級(jí):第一級(jí)是WTB絞線(xiàn)式列車(chē)總線(xiàn)(Wired Train Bus),可實(shí)現(xiàn)車(chē)輛間的數(shù)據(jù)通信;第二級(jí)是MVB(Mul-
tifunction Vehicle bus)多功能車(chē)輛總線(xiàn),主要實(shí)現(xiàn)同一個(gè)車(chē)輛內(nèi)各個(gè)功能控制單元之間的數(shù)據(jù)通信。
多功能車(chē)輛總線(xiàn)(MVB)是主要用于有互操作性和互換性要求的互連設(shè)備之間進(jìn)行串行數(shù)據(jù)通信的一種總線(xiàn),MVB以其高實(shí)時(shí)性、高可靠性及可管理性等多方面的優(yōu)勢(shì)而廣泛的應(yīng)用在列車(chē)總線(xiàn)控制當(dāng)中。
控制器局部網(wǎng)(CAN-CONTROLLER AREANETWORK)是BOSCH公司為現(xiàn)代汽車(chē)應(yīng)用推出的一種多主機(jī)局部網(wǎng)。由于該網(wǎng)的卓越性能,現(xiàn)已廣泛應(yīng)用于工業(yè)自動(dòng)化、多種控制設(shè)備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多領(lǐng)域。
對(duì)于現(xiàn)在的機(jī)車(chē)總線(xiàn)通信,MVB總線(xiàn)主要應(yīng)用在單臺(tái)機(jī)車(chē)內(nèi)的車(chē)載設(shè)備間的通訊,而CAN總線(xiàn)則用于車(chē)載設(shè)備內(nèi)部模塊間的數(shù)據(jù)通訊。因
此,實(shí)現(xiàn)CAN總線(xiàn)與MVB總線(xiàn)之間的通信就成為工程實(shí)踐中一個(gè)必須解決的問(wèn)題。
1 報(bào)文
1.1 CAN報(bào)文
CAN報(bào)文主要包括數(shù)據(jù)幀、遠(yuǎn)程幀、出錯(cuò)幀、超載幀等四種幀。
在總線(xiàn)中傳送的報(bào)文,每幀一般由7部分組成。CAN協(xié)議支持兩種報(bào)文格式,它們之間唯一的不同是標(biāo)識(shí)符(ID)長(zhǎng)度不同。它們的標(biāo)準(zhǔn)格
式為11位,擴(kuò)展格式為29位。
在標(biāo)準(zhǔn)格式中,報(bào)文的起始位通常也稱(chēng)為幀起始(SOF),之后,一般是由11位標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位(RTR)組成的仲裁場(chǎng)。RTR位用于標(biāo)明是數(shù)據(jù)幀還是請(qǐng)求幀,請(qǐng)求幀中沒(méi)有數(shù)據(jù)字節(jié)。控制場(chǎng)的包括的標(biāo)識(shí)符擴(kuò)展位(IDE)用于指出是標(biāo)準(zhǔn)格式還是擴(kuò)展格式。此外,它還包括一個(gè)保留位,以便為將來(lái)擴(kuò)展使用。它的最后四個(gè)字節(jié)用來(lái)指明數(shù)據(jù)場(chǎng)中數(shù)據(jù)的長(zhǎng)度(DLC)。數(shù)據(jù)場(chǎng)范圍為0~8個(gè)字節(jié),其后有一個(gè)檢測(cè)數(shù)據(jù)錯(cuò)誤的循環(huán)冗余檢查(CRC)。CAN的標(biāo)準(zhǔn)幀格式如圖1所示。
應(yīng)答場(chǎng)通常(ACK)包括應(yīng)答位和應(yīng)答分隔符。發(fā)送站發(fā)送的這兩位均為隱性電平(邏輯1),這時(shí),正確接收?qǐng)?bào)文的接收站會(huì)發(fā)送主控電平(邏輯0)覆蓋它。用這種方法,發(fā)送站可以保證網(wǎng)絡(luò)中至少有一個(gè)站能正確接收到報(bào)文。報(bào)文的尾部應(yīng)由幀結(jié)束標(biāo)出。在相鄰的兩條報(bào)文間有一很短的間隔位,如果這時(shí)沒(méi)有站進(jìn)行總線(xiàn)存取,則總線(xiàn)將處于空閑狀態(tài)。
1.2 MVB報(bào)文
MVB報(bào)文主要包括兩種幀:主幀和從幀。其中主幀只能由總線(xiàn)主設(shè)備發(fā)送,而從幀則為響應(yīng)主幀而由從設(shè)備發(fā)送。
主幀應(yīng)傳送16位數(shù)據(jù)字,發(fā)送的數(shù)據(jù)字的第一位應(yīng)為它的最高有效位,用bit0來(lái)表示,其內(nèi)容為16位字中的最高前四位,應(yīng)為FCODE。次有效的后12位用于表示Focde所指定的地址或參數(shù)。因此,主幀有固定的格式,為34 bit(9 bit主幀分界符+16 bit數(shù)據(jù)位+8 bit校驗(yàn)位+1bit終止分界符)。一個(gè)主幀應(yīng)以主起始分界符開(kāi)始,其后為16位幀數(shù)據(jù),接著為8位校驗(yàn)序列。MVB的主幀格式如圖2所示。
一個(gè)從幀應(yīng)以從幀起始分界符開(kāi)始,接著為16、32、64、128或256位幀數(shù)據(jù),在每64個(gè)數(shù)據(jù)位后還包含一個(gè)8位的校驗(yàn)序列或當(dāng)幀數(shù)據(jù)只有16或32位時(shí)將一個(gè)8位的校驗(yàn)序列附在其后,其MVB的從幀格式如圖3所示。
評(píng)論