新聞中心

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

        基于CAN/LIN息線的汽車混合網(wǎng)關設計

        作者: 時間:2010-03-09 來源:網(wǎng)絡 收藏

        3.1 主監(jiān)控程序

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

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

          3.2 數(shù)據(jù)的發(fā)送

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

        3.3 數(shù)據(jù)的接收

         



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 兴文县| 永靖县| 隆林| 恩施市| 汉川市| 七台河市| 司法| 巴东县| 仲巴县| 奎屯市| 饶阳县| 古田县| 沅陵县| 长葛市| 鲜城| 桑日县| 曲松县| 陆河县| 泽库县| 峨眉山市| 金沙县| 香格里拉县| 娱乐| 武隆县| 新蔡县| 岱山县| 合阳县| 扬州市| 克拉玛依市| 普安县| 稷山县| 京山县| 榆林市| 尼玛县| 奈曼旗| 赣榆县| 阿坝县| 广河县| 姚安县| 介休市| 兰西县|