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

          關(guān) 閉

          新聞中心

          CAN-bus應(yīng)用方案

          ——
          作者: 時(shí)間:2005-10-19 來(lái)源: 收藏

          1 概述

            作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,已被廣泛應(yīng)用到各個(gè)自動(dòng)化控制系統(tǒng)中。例如,在汽車電子、自動(dòng)控制、智能大廈、電力系統(tǒng)、安防監(jiān)控等各領(lǐng)域,都具有不可比擬的優(yōu)越性。

            根據(jù)各個(gè)不同應(yīng)用領(lǐng)域的設(shè)計(jì)特點(diǎn),本文提出了幾種應(yīng)用系統(tǒng)的硬件方案。

          2 基本CAN-bus節(jié)點(diǎn)

          2.1 應(yīng)用范圍

          ● 各種自動(dòng)控制網(wǎng)絡(luò),比如樓宇自動(dòng)化、儀表自動(dòng)控制、數(shù)據(jù)遠(yuǎn)程傳輸、電機(jī)控制等

          ● 可實(shí)現(xiàn)遠(yuǎn)距離傳輸(≤ 10KM),工作速率可調(diào)(1Mbps≥ 通訊速率≥ 5Kbps)

          ● 升級(jí)原有的RS-485網(wǎng)絡(luò)

          ● 2線式通訊

          2.2 基本電路

          圖1 基本CAN節(jié)點(diǎn)原理圖

          2.3 電路特點(diǎn)

            可與應(yīng)用廣泛的80C51系列單片機(jī)直接接口,電路簡(jiǎn)單,使用方便;

            采用DC-DC模塊與光電隔離器件,可抑制電磁干擾,保護(hù)系統(tǒng)電路不受網(wǎng)絡(luò)影響;

            2線式通訊,各總線節(jié)點(diǎn)需自備電源供應(yīng);

            根據(jù)通訊速率調(diào)整斜率電阻R33的值,一般在16K~140K之間。

          2.4 元件選型

          ● CAN控制器采用PHILIPS的SJA1000,工作于BasicCAN模式或PeliCAN模式下,可直接與INTEL的80C51核MCU或Motorola的MCU接口。

          ● CAN收發(fā)器采用PHILIPS的P82C250/251,可以在低至5Kbps的傳輸速率下工作,滿足遠(yuǎn)距離傳輸數(shù)據(jù)時(shí)的低速率要求。

          ● 采用高速光耦來(lái)實(shí)現(xiàn)收發(fā)器與控制器之間的電氣隔離,保護(hù)控制系統(tǒng)電路。光耦選擇高速器件,推薦型號(hào):6N137或TLP113,以滿足在最高速率1Mbps下的電氣響應(yīng)。

          ● 為了保證系統(tǒng)能夠可靠工作,并提高抗干擾能力,電路中采用隔離型DC/DC模塊向收發(fā)器電路供電。推薦采用定電壓輸入隔離非穩(wěn)壓?jiǎn)屋敵鲂虳C/DC模塊,隔離電壓≥1000VDC,推薦型號(hào): B0505S-1W或B0505LS-1W,可以向收發(fā)器電路提供≤200mA的電流;也可以選擇IB0505LS-W75,可向收發(fā)器電路提供穩(wěn)定、低噪聲的5VDC,輸出電流≤150mA,并帶有輸出短路保護(hù),且引腳與B0505LS-1W完全兼容。

          ● 微處理器可以選用PHILIPS的P87C51x2,6 Clock下的最高時(shí)鐘頻率可達(dá)30MHz,具有3個(gè)定時(shí)/計(jì)數(shù)器,雙DPTR,足以滿足CAN-BUS在最高速率1Mbps下的應(yīng)用。

          2.5 軟件流程

            對(duì)于圖1所示的基本CAN節(jié)點(diǎn),其控制軟件應(yīng)按模塊化設(shè)計(jì),一般由以下幾個(gè)部分組成:

          SJA1000初始化模塊

          SJA1000接收數(shù)據(jù)模塊

          SJA1000發(fā)送任務(wù)模塊

          SJA1000錯(cuò)誤處理模塊

          其他系統(tǒng)任務(wù)模塊

            根據(jù)所處理任務(wù)的不同,“其他系統(tǒng)任務(wù)模塊”也有所不同。在這里,關(guān)于SJA1000的控制模塊程序設(shè)計(jì),應(yīng)是系統(tǒng)的重點(diǎn)之一。各模塊之間的銜接關(guān)系如下圖所示:

          圖2 基本CAN節(jié)點(diǎn)軟件流程

            對(duì)于具有復(fù)雜功能的項(xiàng)目開(kāi)發(fā),建議采用RTOS(實(shí)時(shí)操作系統(tǒng))作為任務(wù)調(diào)度的核心程序,以節(jié)約開(kāi)發(fā)時(shí)間,提高系統(tǒng)的實(shí)時(shí)性。例如,可以采用KEIL C51中內(nèi)嵌的實(shí)時(shí)多任務(wù)操作系統(tǒng)RTX51,或者采用uCOSII操作系統(tǒng)。其中,RTX51支持SJA1000芯片和P97C591芯片的內(nèi)聯(lián)CAN驅(qū)動(dòng)程序,免去了大量的芯片編程工作,可大大縮短項(xiàng)目的開(kāi)發(fā)周期。

          {{分頁(yè)}}

          3 向網(wǎng)絡(luò)供電的DeviceNet節(jié)點(diǎn)

          3.1 應(yīng)用范圍

          DeviceNet中的供電節(jié)點(diǎn)

          采用5線通訊

          高速數(shù)據(jù)通訊

          可以向網(wǎng)絡(luò)中的其他節(jié)點(diǎn)供電

          3.2 基本電路框圖

          圖3 DeviceNet中的向網(wǎng)絡(luò)供電節(jié)點(diǎn)功能框圖

          5線式通訊(信號(hào)線CAN_H、CAN_L;屏蔽線DRAIN、電源線CAN_V+、CAN_V-)

          主干線/分支線結(jié)構(gòu)

          最多可支持64個(gè)節(jié)點(diǎn)

          同時(shí)支持網(wǎng)絡(luò)供電(傳感器)和自供電(執(zhí)行器)設(shè)備

          可選數(shù)據(jù)通訊速率(125Kbps、250Kbps、500Kbps)

          可調(diào)整的電源結(jié)構(gòu),大電流容量,以滿足各分類應(yīng)用的需要

          ******(請(qǐng)參考DeviceNet協(xié)議)

          3.4 元件選型

          3.5 軟件開(kāi)發(fā)流程框圖

          ● CAN控制器采用PHILIPS的獨(dú)立CAN控制器SJA1000芯片。如果僅作為小型傳感器或?qū)崿F(xiàn)簡(jiǎn)單功能電路,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。

          ● CAN收發(fā)器選用PHILIPS的高速CAN收發(fā)器TJA1040或TJA1050,具有速率高、低功耗、電磁性能優(yōu)越等特點(diǎn),自檢錯(cuò)能力強(qiáng),還可工作于睡眠模式。

          ● 采用高速光耦來(lái)實(shí)現(xiàn)收發(fā)器與控制器之間的電氣隔離,保護(hù)系統(tǒng)電路。光耦選擇高速器件,推薦型號(hào):6N137或TLP113,以滿足在最高速率500Kbps下的電氣響應(yīng)。

          ● 根據(jù)應(yīng)用系統(tǒng)消耗電流的大小、DeviceNet網(wǎng)絡(luò)電源標(biāo)準(zhǔn)來(lái)選擇電源模塊電路。第1組+5V電源,如消耗電流≤50mA時(shí),可采用線性穩(wěn)壓器,比如LM7805等;如電路消耗電流≥50mA時(shí),采用開(kāi)關(guān)電源作為電源供應(yīng)部件,比如LM2575、MC34063等。第2組+5V電源,可采用DC-DC模塊實(shí)現(xiàn)。系統(tǒng)電源與網(wǎng)絡(luò)電源之間還應(yīng)該考慮采取合理的電氣隔離措施。根據(jù)以上因素,整個(gè)電源模塊電路可選用一體式的DC-DC模塊,例如:寬壓輸入定壓輸出隔離模塊WRD242405等。用戶也可在輸出電流滿足DeviceNet協(xié)議要求的前提下自行選擇DC-DC電源。為了確保該系統(tǒng)的安全,建議在DC/DC模塊及系統(tǒng)的輸入和輸出端接TVS、共模扼流圈、極性保護(hù),以防止雷擊、浪涌、極性反接,起良好的保護(hù)效果。

          ● 微處理器可以選用PHILIPS的P89C668芯片,內(nèi)含64K FLASH、8K RAM,可工作于6 Clock模式,晶振頻率可達(dá)30MHz,足以滿足在DeviceNet最高波特率500Kbps下大量的數(shù)據(jù)傳輸、數(shù)據(jù)采集、DeviceNet協(xié)議解析等復(fù)雜功能的應(yīng)用要求。

            基于DeviceNet協(xié)議的控制軟件開(kāi)發(fā),主要難點(diǎn)在于編寫符合DeviceNet協(xié)議的程序軟件。為提高開(kāi)發(fā)效率,可以選擇購(gòu)買DeviceNet控制軟件模塊;這些軟件模塊由C語(yǔ)言編寫,易于理解,移植方便。

            需要注意:DeviceNet節(jié)點(diǎn)中主節(jié)點(diǎn)、從節(jié)點(diǎn)的設(shè)計(jì)模型并不相同。一般來(lái)說(shuō),DeviceNet軟件開(kāi)發(fā)流程如下所示:

           

          圖4 DeviceNet節(jié)點(diǎn)軟件開(kāi)發(fā)流程

          {{分頁(yè)}}

          4 由網(wǎng)絡(luò)供電的DeviceNet節(jié)點(diǎn)

          4.1 應(yīng)用范圍

          DeviceNet中由網(wǎng)絡(luò)供電的節(jié)點(diǎn)

          5線通訊

          高速數(shù)據(jù)通訊

          無(wú)需獨(dú)立輸入電源

          可用作為通用CAN-BUS節(jié)點(diǎn)

          適合于傳感器設(shè)備、微型執(zhí)行器設(shè)備

          4.2 基本電路框圖

          圖5 DeviceNet中的由網(wǎng)絡(luò)供電節(jié)點(diǎn)功能框圖

          4.3 元件選型

            CAN控制器采用PHILIPS的SJA1000芯片。如果針對(duì)小型應(yīng)用系統(tǒng)的設(shè)計(jì)要求,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。

            CAN收發(fā)器選用PHILIPS的高速CAN收發(fā)器TJA1040或TJA1050,具有速率高、低功耗、電磁性能優(yōu)越等特點(diǎn),自檢錯(cuò)能力強(qiáng),可工作于睡眠模式。

            采用高速光耦來(lái)實(shí)現(xiàn)收發(fā)器與控制器之間的電氣隔離,保護(hù)系統(tǒng)電路。光耦選擇高速器件,推薦型號(hào):6N137或TLP113,以滿足在最高速率500Kbps下的電氣響應(yīng)。

            采用DC-DC模塊向應(yīng)用系統(tǒng)供應(yīng)電源,可有效抑制干擾,提高可靠性。由于網(wǎng)絡(luò)電源存在電壓波動(dòng)大(電壓波動(dòng)>



          評(píng)論


          相關(guān)推薦

          技術(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); })();