新聞中心

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

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

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

        3.1 主監控程序

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

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

          3.2 數據的發送

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

        3.3 數據的接收

         



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 加查县| 水城县| 岳普湖县| 鄂托克前旗| 云龙县| 景泰县| 射洪县| 广州市| 呼伦贝尔市| 佛学| 隆安县| 喜德县| 二手房| 闻喜县| 金阳县| 阿拉善左旗| 临泽县| 淳化县| 洞口县| 中江县| 分宜县| 安阳市| 太仓市| 浮山县| 晋宁县| 湄潭县| 无为县| 乌拉特后旗| 陆良县| 安吉县| 和平区| 洪江市| 三穗县| 西充县| 监利县| 辉县市| 江油市| 盱眙县| 铅山县| 习水县| 巴南区|