一種基于Salvo的通用CAN/LIN網(wǎng)關(guān)
各任務(wù)和中斷服務(wù)程序優(yōu)先級(jí)的設(shè)置對(duì)系統(tǒng)完成正常功能影響較大。為防止CAN總線和LIN總線上數(shù)據(jù)丟失,接收任務(wù)(CAN_RXD任務(wù)和LIN_RXD任務(wù))優(yōu)先級(jí)高于發(fā)送任務(wù)優(yōu)先級(jí)(CAN_TXD任務(wù)和LIN_TXD任務(wù))。為防止大量數(shù)據(jù)在網(wǎng)關(guān)中來(lái)不及轉(zhuǎn)換或發(fā)送而丟失,系統(tǒng)開(kāi)辟了多個(gè)接收緩沖器(CANSDU和LINSDU數(shù)組)和發(fā)送緩沖器(LINPDU和CANPDU數(shù)組)。PIC18F4680的CAN模塊是獨(dú)立的硬件電路,可以不依賴于CPU獨(dú)立工作,且內(nèi)有3個(gè)接收緩沖器(包括MAB)和3個(gè)發(fā)送緩沖器,而LIN協(xié)議的數(shù)據(jù)處理由CPU的程序控制USART完成,為防止LIN總線數(shù)據(jù)丟失,LIN總線任務(wù)(LIN_RXD任務(wù)和LIN_TXD任務(wù))優(yōu)先級(jí)高于CAN總線任務(wù)(CAN_RXD任務(wù)和CAN_TXD任務(wù))。系統(tǒng)各任務(wù)和中斷服務(wù)程序的優(yōu)先級(jí)參見(jiàn)表1。
本文引用地址:http://www.ex-cimer.com/article/173697.htm
5 結(jié)論
基于CAN/LIN總線的分級(jí)網(wǎng)絡(luò)控制系統(tǒng)正逐漸從汽車電子領(lǐng)域推廣到其它,如:工業(yè)測(cè)控、安全防護(hù)等鄰域中應(yīng)用,在基于CAN/LIN總線的分級(jí)網(wǎng)絡(luò)控制系統(tǒng)中CAN/LIN網(wǎng)關(guān)是一個(gè)核心部件,它為CAN總線設(shè)備和LIN總線設(shè)備的互訪提供連接橋梁。本文討論的基于Salvo的通用CAN/LIN網(wǎng)關(guān)采用新型集成CAN2.0B模塊和可支持LIN1.3的USART模塊的PIC18F4680微處理器,軟件設(shè)計(jì)采用商用RTOSDDSalvo,大大提高了系統(tǒng)的穩(wěn)定性和可靠性,增加了系統(tǒng)的可移植性和可擴(kuò)展性,通過(guò)系統(tǒng)功能的裁剪和擴(kuò)充可應(yīng)用于各種分級(jí)網(wǎng)絡(luò)控制領(lǐng)域,是一種通用性很強(qiáng)的CAN/LIN網(wǎng)關(guān)。
本文作者創(chuàng)新點(diǎn):采用RTOSDDSalvo設(shè)計(jì)一個(gè)通用CAN/LIN網(wǎng)關(guān),傳統(tǒng)的CAN/LIN網(wǎng)關(guān)主要專用于汽車電子通用性不強(qiáng),采用RTOS設(shè)計(jì)的網(wǎng)關(guān)功能裁剪和擴(kuò)充方便,可移植性和通用性大大增強(qiáng)。
評(píng)論