CAN-bus應用方案
1 概述
作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò )通訊控制方式,CAN-bus已被廣泛應用到各個(gè)自動(dòng)化控制系統中。例如,在汽車(chē)電子、自動(dòng)控制、智能大廈、電力系統、安防監控等各領(lǐng)域,CAN-bus都具有不可比擬的優(yōu)越性。
根據各個(gè)不同應用領(lǐng)域的設計特點(diǎn),本文提出了幾種CAN-bus應用系統的硬件方案。
2 基本CAN-bus節點(diǎn)
2.1 應用范圍
● 各種自動(dòng)控制網(wǎng)絡(luò ),比如樓宇自動(dòng)化、儀表自動(dòng)控制、數據遠程傳輸、電機控制等
● 可實(shí)現遠距離傳輸(≤ 10KM),工作速率可調(1Mbps≥ 通訊速率≥ 5Kbps)
● 升級原有的RS-485網(wǎng)絡(luò )
● 2線(xiàn)式通訊
2.2 基本電路
圖1 基本CAN節點(diǎn)原理圖
2.3 電路特點(diǎn)
可與應用廣泛的80C51系列單片機直接接口,電路簡(jiǎn)單,使用方便;
采用DC-DC模塊與光電隔離器件,可抑制電磁干擾,保護系統電路不受網(wǎng)絡(luò )影響;
2線(xiàn)式通訊,各總線(xiàn)節點(diǎn)需自備電源供應;
根據通訊速率調整斜率電阻R33的值,一般在16K~140K之間。
2.4 元件選型
● CAN控制器采用PHILIPS的SJA1000,工作于BasicCAN模式或PeliCAN模式下,可直接與INTEL的80C51核MCU或Motorola的MCU接口。
● CAN收發(fā)器采用PHILIPS的P82C250/251,可以在低至5Kbps的傳輸速率下工作,滿(mǎn)足遠距離傳輸數據時(shí)的低速率要求。
● 采用高速光耦來(lái)實(shí)現收發(fā)器與控制器之間的電氣隔離,保護控制系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿(mǎn)足在最高速率1Mbps下的電氣響應。
● 為了保證系統能夠可靠工作,并提高抗干擾能力,電路中采用隔離型DC/DC模塊向收發(fā)器電路供電。推薦采用定電壓輸入隔離非穩壓?jiǎn)屋敵鲂虳C/DC模塊,隔離電壓≥1000VDC,推薦型號: B0505S-1W或B0505LS-1W,可以向收發(fā)器電路提供≤200mA的電流;也可以選擇IB0505LS-W75,可向收發(fā)器電路提供穩定、低噪聲的5VDC,輸出電流≤150mA,并帶有輸出短路保護,且引腳與B0505LS-1W完全兼容。
● 微處理器可以選用PHILIPS的P87C51x2,6 Clock下的最高時(shí)鐘頻率可達30MHz,具有3個(gè)定時(shí)/計數器,雙DPTR,足以滿(mǎn)足CAN-BUS在最高速率1Mbps下的應用。
2.5 軟件流程
對于圖1所示的基本CAN節點(diǎn),其控制軟件應按模塊化設計,一般由以下幾個(gè)部分組成:
SJA1000初始化模塊
SJA1000接收數據模塊
SJA1000發(fā)送任務(wù)模塊
SJA1000錯誤處理模塊
其他系統任務(wù)模塊
根據所處理任務(wù)的不同,“其他系統任務(wù)模塊”也有所不同。在這里,關(guān)于SJA1000的控制模塊程序設計,應是系統的重點(diǎn)之一。各模塊之間的銜接關(guān)系如下圖所示:
圖2 基本CAN節點(diǎn)軟件流程
對于具有復雜功能的項目開(kāi)發(fā),建議采用RTOS(實(shí)時(shí)操作系統)作為任務(wù)調度的核心程序,以節約開(kāi)發(fā)時(shí)間,提高系統的實(shí)時(shí)性。例如,可以采用KEIL C51中內嵌的實(shí)時(shí)多任務(wù)操作系統RTX51,或者采用uCOSII操作系統。其中,RTX51支持SJA1000芯片和P97C591芯片的內聯(lián)CAN驅動(dòng)程序,免去了大量的芯片編程工作,可大大縮短項目的開(kāi)發(fā)周期。
{{分頁(yè)}}
3 向網(wǎng)絡(luò )供電的DeviceNet節點(diǎn)
3.1 應用范圍
DeviceNet中的供電節點(diǎn)
采用5線(xiàn)通訊
高速數據通訊
可以向網(wǎng)絡(luò )中的其他節點(diǎn)供電
3.2 基本電路框圖
圖3 DeviceNet中的向網(wǎng)絡(luò )供電節點(diǎn)功能框圖
5線(xiàn)式通訊(信號線(xiàn)CAN_H、CAN_L;屏蔽線(xiàn)DRAIN、電源線(xiàn)CAN_V+、CAN_V-)
主干線(xiàn)/分支線(xiàn)結構
最多可支持64個(gè)節點(diǎn)
同時(shí)支持網(wǎng)絡(luò )供電(傳感器)和自供電(執行器)設備
可選數據通訊速率(125Kbps、250Kbps、500Kbps)
可調整的電源結構,大電流容量,以滿(mǎn)足各分類(lèi)應用的需要
******(請參考DeviceNet協(xié)議)
3.4 元件選型
3.5 軟件開(kāi)發(fā)流程框圖
● CAN控制器采用PHILIPS的獨立CAN控制器SJA1000芯片。如果僅作為小型傳感器或實(shí)現簡(jiǎn)單功能電路,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。
● CAN收發(fā)器選用PHILIPS的高速CAN收發(fā)器TJA1040或TJA1050,具有速率高、低功耗、電磁性能優(yōu)越等特點(diǎn),自檢錯能力強,還可工作于睡眠模式。
● 采用高速光耦來(lái)實(shí)現收發(fā)器與控制器之間的電氣隔離,保護系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿(mǎn)足在最高速率500Kbps下的電氣響應。
● 根據應用系統消耗電流的大小、DeviceNet網(wǎng)絡(luò )電源標準來(lái)選擇電源模塊電路。第1組+5V電源,如消耗電流≤50mA時(shí),可采用線(xiàn)性穩壓器,比如LM7805等;如電路消耗電流≥50mA時(shí),采用開(kāi)關(guān)電源作為電源供應部件,比如LM2575、MC34063等。第2組+5V電源,可采用DC-DC模塊實(shí)現。系統電源與網(wǎng)絡(luò )電源之間還應該考慮采取合理的電氣隔離措施。根據以上因素,整個(gè)電源模塊電路可選用一體式的DC-DC模塊,例如:寬壓輸入定壓輸出隔離模塊WRD242405等。用戶(hù)也可在輸出電流滿(mǎn)足DeviceNet協(xié)議要求的前提下自行選擇DC-DC電源。為了確保該系統的安全,建議在DC/DC模塊及系統的輸入和輸出端接TVS、共模扼流圈、極性保護,以防止雷擊、浪涌、極性反接,起良好的保護效果。
● 微處理器可以選用PHILIPS的P89C668芯片,內含64K FLASH、8K RAM,可工作于6 Clock模式,晶振頻率可達30MHz,足以滿(mǎn)足在DeviceNet最高波特率500Kbps下大量的數據傳輸、數據采集、DeviceNet協(xié)議解析等復雜功能的應用要求。
基于DeviceNet協(xié)議的控制軟件開(kāi)發(fā),主要難點(diǎn)在于編寫(xiě)符合DeviceNet協(xié)議的程序軟件。為提高開(kāi)發(fā)效率,可以選擇購買(mǎi)DeviceNet控制軟件模塊;這些軟件模塊由C語(yǔ)言編寫(xiě),易于理解,移植方便。
需要注意:DeviceNet節點(diǎn)中主節點(diǎn)、從節點(diǎn)的設計模型并不相同。一般來(lái)說(shuō),DeviceNet軟件開(kāi)發(fā)流程如下所示:
圖4 DeviceNet節點(diǎn)軟件開(kāi)發(fā)流程
{{分頁(yè)}}
4 由網(wǎng)絡(luò )供電的DeviceNet節點(diǎn)
4.1 應用范圍
DeviceNet中由網(wǎng)絡(luò )供電的節點(diǎn)
5線(xiàn)通訊
高速數據通訊
無(wú)需獨立輸入電源
可用作為通用CAN-BUS節點(diǎn)
適合于傳感器設備、微型執行器設備
4.2 基本電路框圖
圖5 DeviceNet中的由網(wǎng)絡(luò )供電節點(diǎn)功能框圖
4.3 元件選型
CAN控制器采用PHILIPS的SJA1000芯片。如果針對小型應用系統的設計要求,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。
CAN收發(fā)器選用PHILIPS的高速CAN收發(fā)器TJA1040或TJA1050,具有速率高、低功耗、電磁性能優(yōu)越等特點(diǎn),自檢錯能力強,可工作于睡眠模式。
采用高速光耦來(lái)實(shí)現收發(fā)器與控制器之間的電氣隔離,保護系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿(mǎn)足在最高速率500Kbps下的電氣響應。
采用DC-DC模塊向應用系統供應電源,可有效抑制干擾,提高可靠性。由于網(wǎng)絡(luò )電源存在電壓波動(dòng)大(電壓波動(dòng)>
評論