新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > MC微控器在汽車CAN/LIN網關中的應用

        MC微控器在汽車CAN/LIN網關中的應用

        作者: 時間:2009-03-25 來源:網絡 收藏

        以接收 報文幀為例說明一下GZ32 / 網關工作流程:
        DDRC_DDRC1=0; // RX 使能
        DDRC_DDRC0=1; //CAN TX 使能
        re_id0=REC_IDR0;
        re_id1=REC_IDR1; //讀ID 標識符寄存器
        temp0=REC_DSR0;
        temp1=REC_DSR1;
        temp2=REC_DSR2; //讀數據段寄存器
        … …
        re_dlr=REC_DLR; //讀數據長度寄存器
        當 GZ32 CAN/網關接收到CAN報文幀后,根據所接收到的標識符及數據段寄存器,就可以對左前組合燈以及后組合燈模塊進行正確控制。同時,網關還可以將各燈的狀態等信息發送給CAN 總線。
        3.3 報文的接收和發送
        當 GZ32 CAN/LIN 網關接收到CAN 報文并對其進行正確解析后,將通過增強型串行通信ESCI 模塊向LIN 總線發送LIN 報文幀,本設計使用TJA1020 LIN 收發器加以實現。這樣LIN 總線上的各從機模塊,如車門模塊(包括門鎖電機、雨刮電機、后視鏡等)、后組合燈模塊,通過ID 識別可以正確的接收LIN 報文并加以控制。同理,各模塊亦可將各自的狀態等信息反饋給LIN 總線,并通過TJA1020 反饋給CAN/LIN 網關,如圖3 所示。

        以發送LIN 報文幀為例說明一下GZ32 CAN/LIN 網關工作流程:
        DDRE_DDRE0=1; //TXD 使能
        DDRE_DDRE1=0; //RXD 使能
        SCBR=0xC0; //LINT 和LINR 使能
        SCPSC=0xB0; //設置波特率為9.6K
        SCC1=0x40; //ESCI 使能
        SCC2=0x0C; //TE 和RE 使能
        SCC3=0x00;
        transmit_data[0]=0x55;
        transmit_data[1]=ID;
        transmit_data[2]=REC_DSR0;
        transmit_data[3]=REC_DSR1;
        … … //發送LIN 數據場及校驗和場
        4 調試過程及結論
        本文針對 MC68HC908GZ32 微控制器在CAN/LIN 網關中的應用,給出了具體的硬件設計方案及控制軟件,并最終加以了調試。在調試過程中遇到一些問題,并最終得到解決。比較典型的問題及解決方法如下:
        (1)網關無法正確接收CAN 報文:網關若想正確收發CAN 報文,波特率配置與高低速CAN 網關之差一定要在CAN 協議允許的范圍之內。同理,網關發送LIN 報文的波特率與LIN 從節點的波特率也要符合LIN 協議規定,否則容易產生無法接收報文或接收到錯誤報文的現象。
        (2)網關能發送LIN 報文但總線上無信號:LIN 收發器TJA1020 的NSLP 引腳為高電平時,方可啟動發送器,因此須將PTE2 引腳置為輸出腳,且端口置為隱性狀態。本文作者創新點:以Freescale公司8位微處理器MC68HC908GZ32為主芯片,對其在CAN/LIN網絡中的應用加以了設計。給出了車身網絡結構圖、CAN/LIN網關電路設計圖、報文收發流程以及調試過程中對所遇到的問題的解決方法等。經調試結果表明該GZ32 CAN/LIN網關具有結構簡單、性能穩定、實用性強等特點。


        上一頁 1 2 下一頁

        關鍵詞: CAN LIN MC微控器 汽車

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 保靖县| 陈巴尔虎旗| 四子王旗| 南江县| 武宣县| 云霄县| 泽州县| 济源市| 改则县| 柘城县| 绥阳县| 苍南县| 平江县| 湄潭县| 马龙县| 贵阳市| 库尔勒市| 达拉特旗| 罗山县| 青阳县| 阳泉市| 墨江| 西昌市| 阿勒泰市| 嘉峪关市| 永昌县| 伊川县| 长丰县| 报价| 常宁市| 论坛| 班戈县| 淮北市| 中宁县| 芦溪县| 兴仁县| 大同县| 平陆县| 根河市| 勃利县| 新余市|