<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 汽車LIN總線物理接口器件MC33399原理應(yīng)用

          汽車LIN總線物理接口器件MC33399原理應(yīng)用

          作者: 時間:2016-12-12 來源:網(wǎng)絡(luò) 收藏
          1 概述

          LIN(Local Interconnect Network局域互連網(wǎng)絡(luò))是一種低成本的總線網(wǎng)絡(luò)。其最初的開發(fā)目的在于彌補CAN總線的不足,主要用于汽車中某些對通信速率要求不高的場合,LIN總線作為CAN總線的輔助網(wǎng)絡(luò)或子網(wǎng)絡(luò)使用可以解決汽車內(nèi)因?qū)Ь€過多所帶來的許多問題。

          一個簡單的LIN節(jié)點除了微控制器外,還需要兩個芯片,即LIN接口芯片和5V的電壓調(diào)節(jié)器。Freescale公司的MC33399芯片是專用于LIN的單線物理接口器件。該器件的功耗非常低,可控制外部穩(wěn)壓器,安全符合LIN規(guī)范,抗干擾能力強,是一種高性能的模擬器件,適用于工作環(huán)境比較復(fù)雜的汽車。MC33399的主要特點如下:

          ·通信速率范圍為1~20kb/s;
          ·額定工作電壓:8V~18V,正常電壓:7V~27V;
          ·無功節(jié)點不影響總線狀態(tài);
          ·有正常和睡眠兩種工作模式,睡眠模式下的靜態(tài)電流僅20μA;
          ·LIN總線喚醒、MCU命令喚醒以及接口外部高壓開關(guān)輸入喚醒;
          ·通過兼容的CMOSI/O腳與MCU進行接口;
          ·帶有外部穩(wěn)壓器控制功能;
          ·內(nèi)置上拉電阻;
          ·LIN引腳的ESD電壓可達4kV;
          ·具有很好的電磁兼容性;
          ·工作溫度范圍為-40℃~125℃。

          2 引腳功能

          MC33399采用SO8型貼片式封裝。圖1示出引腳排列,各引腳的功能說明如表1所列。



          表1 MC33399的引腳功能

          引腳號 引腳名 功 能
          1 RX 接收數(shù)據(jù)輸出端
          2 EN 使能端
          3 Wake 喚醒端,用于將芯片從睡眠中喚醒
          4 TX 發(fā)送數(shù)據(jù)輸入端
          5 GND 電源
          6 LIN LIN總線接口端
          7 Vsup 電源
          8 INH 外部穩(wěn)壓器控制端

          3 內(nèi)部結(jié)構(gòu)及工作原理

          MC33399的內(nèi)部結(jié)構(gòu)框圖如圖2所示?,F(xiàn)將其主要工作原理介紹如下:



          3.1 主要功能

          MC33399的工作模式由使能端EN來控制。當EN為1時,電路處于正常工作狀態(tài),此時由TX引腳到LIN總線以及由LIN總線到RX引腳的兩條傳輸路徑均被激活。當EN為0時,芯片進入睡眠或低功耗模式,此時兩條傳輸路徑被禁止。睡眠模式下,LIN引腳可通過上拉電阻和上位電流源保持在高電平Vsup,并通過Vsup引腳由電源向芯片提供靜態(tài)電流(典型值為20μA)。

          MC33399的LIN引腳用于完成單總線收發(fā)功能。TX引腳則用于控制LIN引腳的輸出狀態(tài),工作時,這兩引腳的狀態(tài)始終保持一致。而RX引腳則可用來顯示LIN總線的狀態(tài),LIN總線呈現(xiàn)高電平(隱性)時,RX為高;反之,LIN總線為低電平(顯性)時,RX為低。RX輸出為典型的CMOS推挽輸出結(jié)構(gòu)。

          由于其特定的內(nèi)部結(jié)構(gòu),當?shù)仄苹蛘唠娫催B接失敗時,將不會有反向電流從LIN總線進入芯片內(nèi)部。MC33399允許Wake引腳輸入高壓喚醒,同時也可用Wake引腳由高到低或由低到高的兩種跳變喚醒,當芯片進入睡眠狀態(tài)時,芯片將記錄下當前Wake引腳的狀態(tài)。而當電路檢測到Wake端相反狀態(tài)時,就認為發(fā)生了喚醒事件。此外,芯片還內(nèi)置有噪聲濾波器,它能夠抑制總線高頻噪聲干擾,防止錯誤喚醒。

          3.2 睡眠喚醒

          MC33399可用如下三種方式從睡眠模式中喚醒:

          (1)LIN總線喚醒

          總線上任一節(jié)點發(fā)送“喚醒幀”,都可使LIN引腳的狀態(tài)由隱性變?yōu)轱@性,以喚醒芯片。喚醒時,MC33399處于“等待模式”,INH引腳置高電平以激活外部穩(wěn)壓器。此后,MCU上電并將EN引腳置高電平,從而使芯片由“等待模式”進入“正常模式”。

          (2)內(nèi)部節(jié)點激活喚醒

          當本地節(jié)點中的MCU發(fā)出指令將EN引腳置高電平時,芯片也會進入“正常模式”。

          (3)通過Wake引腳喚醒

          通過在MC33399芯片外部設(shè)置開關(guān),以使Wake引腳輸入高壓喚醒。

          4 典型應(yīng)用電路

          圖3 是MC33399的典型應(yīng)用電路,該電路采用Wake引腳輸入開關(guān)喚醒方式,其中的5V外部穩(wěn)壓器是可控的。圖中,EN引腳直接與MCM的I/O口相連,用于選擇MC33399的工作狀態(tài)。通信接收引腳RX和發(fā)送引腳TX分別與MCU的串行通信接口(SCI)相應(yīng)連接,以完成通信功能。INH引腳直接接到外部穩(wěn)壓器的控制端,當電路正常工作時,INH引腳輸出高電平,外部穩(wěn)壓器被激活,正常輸出5V電壓給MCU供電;而當芯片進入睡眠模式時,INH引腳輸出低電平使外部穩(wěn)壓器禁止,MCU掉電。此外,INH引腳還可通過晶體管連接到MCU的IRQ或者XIRQ引腳產(chǎn)生中斷,此時外部穩(wěn)壓器應(yīng)選用不可控的。芯片的應(yīng)用方式與圖3類似,只是INH引腳的接法不一致。



          由于該電路內(nèi)部在LIN引腳與Vsup引腳集成了上拉電阻和串聯(lián)二極管,所以總線從節(jié)點不需要外置上拉元件。但對于主節(jié)點,則必須在外部增加1kΩ的上拉電阻器,并且要串聯(lián)一個二極管以防止電池掉電時MC33399通過總線上電。

          通過Wake引腳外接開關(guān)可為Wake引腳輸入高壓,以將MC33399從睡眠模式中喚西。當Wake引腳的輸入電壓超過14V時,為防止輸入電流過大,必須接入串聯(lián)電阻器來限制瞬時脈沖電流(阻值一般為33kΩ)。同時必須注意Wake引腳不得懸空。若不使用該引腳,必須將其接地以防止錯誤喚醒。

          通過Wake引腳外接開關(guān)可為Wake引腳輸入高壓,以將MC33399從睡眠模式中喚西。當Wake引腳的輸入電壓超過14V時,為防止輸入電流過大,必須接入串聯(lián)電阻器來限制瞬時脈沖電流(阻值一般為33kΩ)。同時必須注意Wake引腳不得懸空。若不使用該引腳,必須將其接地以防止錯誤喚醒。

          5 結(jié)束語

          MC33399電路以其完善的性能被廣泛應(yīng)用于汽車車身控制系統(tǒng)。與該電路配合使用的外部穩(wěn)壓器可選用8引腳電路LT1121。實際上,這兩種芯片將被Freescale公司新的系統(tǒng)基礎(chǔ)芯片(SBC)所代替。


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();