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