新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于CAN/LIN息線的汽車混合網關設計

基于CAN/LIN息線的汽車混合網關設計

作者: 時間:2010-03-09 來源:網絡 收藏

3.1 主監(jiān)控程序

  如圖4所示,在主控制器AT91SAM7A3中劃出4塊緩沖區(qū)BUF1~BUF4,每一塊緩沖區(qū)中的數據都有明確而且唯一的來源和目的地。主監(jiān)控程序主要通過循環(huán)依次查詢BUF1~BUF4中的存儲情況,來決定是否發(fā)送數據以及將數據發(fā)送給誰。

當高速網絡上有數據需要接收的時候,通過高速模塊接收數據,對接收到的數據進行處理后,將其存到緩沖區(qū)BUF1中,再由低速模塊將其發(fā)送到低速CAN網絡上;當網絡上有數據需要接收時,通過模塊接收數據,對接收到的數據進行數據格式轉換(格式的報文幀轉換為CAN 格式的報文幀),再將其存入到緩沖區(qū)BUF4中,并由低速CAN模塊將其發(fā)送到低速CAN網絡上;當低速CAN網絡上有數據需要接收時,先接收數據,然后判斷數據是發(fā)送到高速CAN,還是發(fā)送到LIN,根據判斷結果對數據進行處理,存入相應的緩沖區(qū)(如數據是發(fā)往高速CAN總線,則存入BUF2,否則存入BUF3)。

  3.2 數據的發(fā)送

  數據的發(fā)送由發(fā)送子程序完成,中主要有3個發(fā)送子程序,分別對應兩路CAN控制器以及一路 LIN發(fā)送器。高速CAN的發(fā)送子程序負責發(fā)送BUF1中的數據,LIN的發(fā)送子程序負責發(fā)送BUF3中的數據,低速CAN的發(fā)送子程序負責發(fā)送BUF2 和BUF4中的數據。數據的發(fā)送采用查詢總線狀態(tài)的發(fā)送方式:查詢總線的忙閑情況,如果總線忙,則退出發(fā)送子程序,進行其他的工作;如果總線空閑,則發(fā)送數據。發(fā)送完1幀數據后,再檢查與之相應的緩沖區(qū)的狀態(tài)。如果為空,則退出發(fā)送子程序;如果非空,則再檢查總線的忙閑狀態(tài)。如果忙,則退出發(fā)送子程序;如果空閑,則發(fā)送數據。然后再開始新一輪的數據查詢發(fā)送過程。圖5為高速CAN向低速CAN發(fā)送的流程,其他的發(fā)送子程序過程與此類似。

3.3 數據的接收

 



評論


相關推薦

技術專區(qū)

關閉