CAN-bus應(yīng)用方案
1 概述
作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CAN-bus已被廣泛應(yīng)用到各個(gè)自動(dòng)化控制系統(tǒng)中。例如,在汽車電子、自動(dòng)控制、智能大廈、電力系統(tǒng)、安防監(jiān)控等各領(lǐng)域,CAN-bus都具有不可比擬的優(yōu)越性。
根據(jù)各個(gè)不同應(yīng)用領(lǐng)域的設(shè)計(jì)特點(diǎn),本文提出了幾種CAN-bus應(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)論