1 概述
作為一種技術*、可靠性高、功能完善、成本合理的遠程網絡通訊控制方式,CAN-bus已被廣泛應用到各個自動化控制系統中。例如,在汽車電子、自動控制、智能大廈、電力系統、安防監控等各領域,CAN-bus都具有不可比擬的*性。
根據各個不同應用領域的設計特點,本文提出了幾種CAN-bus應用系統的硬件方案。
2 基本CAN-bus節點
2.1 應用范圍
● 各種自動控制網絡,比如樓宇自動化、儀表自動控制、數據遠程傳輸、電機控制等
● 可實現遠距離傳輸(≤ 10KM),工作速率可調(1Mbps≥ 通訊速率≥ 5Kbps)
● 升級原有的RS-485網絡
● 2線式通訊
2.2 基本電路
圖1 基本CAN節點原理圖
2.3 電路特點
可與應用廣泛的80C51系列單片機直接接口,電路簡單,使用方便;
采用DC-DC模塊與光電隔離器件,可抑制電磁干擾,保護系統電路不受網絡影響;
2線式通訊,各總線節點需自備電源供應;
根據通訊速率調整斜率電阻R33的值,一般在16K~140K之間。
2.4 元件選型
● CAN控制器采用PHILIPS的SJA1000,工作于BasicCAN模式或PeliCAN模式下,可直接與IN的80C51核MCU或MOTOROLA的MCU接口。
● CAN收發器采用PHILIPS的P82C250/251,可以在低至5Kbps的傳輸速率下工作,滿足遠距離傳輸數據時的低速率要求。
● 采用高速光耦來實現收發器與控制器之間的電氣隔離,保護控制系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿足在zui高速率1Mbps下的電氣響應。
● 為了保證系統能夠可靠工作,并提高抗*力,電路中采用隔離型DC/DC模塊向收發器電路供電。推薦采用定電壓輸入隔離非穩壓單輸出型DC/DC模塊,隔離電壓≥1000VDC,推薦型號: B0505S-1W或B0505LS-1W,可以向收發器電路提供≤200mA的電流;也可以選擇IB0505LS-W75,可向收發器電路提供穩定、低噪聲的5VDC,輸出電流≤150mA,并帶有輸出短路保護,且引腳與B0505LS-1W*兼容。
● 微處理器可以選用PHILIPS的P87C51X2,6 Clock下的zui高時鐘頻率可達30MHz,具有3個定時/計數器,雙DPTR,足以滿足CAN-BUS在zui高速率1Mbps下的應用。
2.5 軟件流程
對于圖1所示的基本CAN節點,其控制軟件應按模塊化設計,一般由以下幾個部分組成:
SJA1000初始化模塊
SJA1000接收數據模塊
SJA1000發送任務模塊
SJA1000錯誤處理模塊
其他系統任務模塊
根據所處理任務的不同,“其他系統任務模塊”也有所不同。在這里,關于SJA1000的控制模塊程序設計,應是系統的重點之一。各模塊之間的銜接關系如下圖所示:
圖2 基本CAN節點軟件流程
對于具有復雜功能的項目開發,建議采用RTOS(實時操作系統)作為任務調度的核心程序,以節約開發時間,提高系統的實時性。例如,可以采用KEIL C51中內嵌的實時多任務操作系統RTX51,或者采用uCOSII操作系統。其中,RTX51支持SJA1000芯片和P97C591芯片的內聯CAN驅動程序,免去了大量的芯片編程工作,可大大縮短項目的開發周期。
3 向網絡供電的DeviceNet節點
3.1 應用范圍
DeviceNet中的供電節點
采用5線通訊
高速數據通訊
可以向網絡中的其他節點供電
3.2 基本電路框圖
圖3 DeviceNet中的向網絡供電節點功能框圖
5線式通訊(信號線CAN_H、CAN_L;屏蔽線DRAIN、電源線CAN_V+、CAN_V-)
主干線/分支線結構
zui多可支持64個節點
同時支持網絡供電(傳感器)和自供電(執行器)設備
可選數據通訊速率(125Kbps、250Kbps、500Kbps)
可調整的電源結構,大電流容量,以滿足各分類應用的需要
3.4 元件選型
3.5 軟件開發流程框圖
● CAN控制器采用PHILIPS的獨立CAN控制器SJA1000芯片。如果僅作為小型傳感器或實現簡單功能電路,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。
● CAN收發器選用PHILIPS的高速CAN收發器TJA1040或TJA1050,具有速率高、低功耗、電磁性能*等特點,自檢錯能力強,還可工作于睡眠模式。
● 采用高速光耦來實現收發器與控制器之間的電氣隔離,保護系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿足在zui高速率500Kbps下的電氣響應。
● 根據應用系統消耗電流的大小、DeviceNet網絡電源標準來選擇電源模塊電路。第1組+5V電源,如消耗電流≤50mA時,可采用線性穩壓器,比如LM7805等;如電路消耗電流≥50mA時,采用開關電源作為電源供應部件,比如LM2575、MC34063等。第2組+5V電源,可采用DC-DC模塊實現。系統電源與網絡電源之間還應該考慮采取合理的電氣隔離措施。根據以上因素,整個電源模塊電路可選用一體式的DC-DC模塊,例如:寬壓輸入定壓輸出隔離模塊WRD242405等
用戶也可在輸出電流滿足DeviceNet協議要求的前提下自行選擇DC-DC電源。為了確保該系統的安全,建議在DC/DC模塊及系統的輸入和輸出端接TVS、共模扼流圈、極性保護,以防止雷擊、浪涌、極性反接,起良好的保護效果。
● 微處理器可以選用PHILIPS的P89C668芯片,內含64K FLASH、8K RAM,可工作于6 Clock模式,晶振頻率可達30MHz,足以滿足在DeviceNetzui高波特率500Kbps下大量的數據傳輸、數據采集、DeviceNet協議解析等復雜功能的應用要求。
基于DeviceNet協議的控制軟件開發,主要難點在于編寫符合DeviceNet協議的程序軟件。為提高開發效率,可以選擇購買DeviceNet控制軟件模塊;這些軟件模塊由C語言編寫,易于理解,移植方便。
需要注意:DeviceNet節點中主節點、從節點的設計模型并不相同。一般來說,DeviceNet軟件開發流程如下所示:
圖4 DeviceNet節點軟件開發流程
4 由網絡供電的DeviceNet節點
4.1 應用范圍
DeviceNet中由網絡供電的節點
5線通訊
高速數據通訊
無需獨立輸入電源
可用作為通用CAN-BUS節點
適合于傳感器設備、微型執行器設備
4.2 基本電路框圖
圖5 DeviceNet中的由網絡供電節點功能框圖
4.3 元件選型
CAN控制器采用PHILIPS的SJA1000芯片。如果針對小型應用系統的設計要求,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。
CAN收發器選用PHILIPS的高速CAN收發器TJA1040或TJA1050,具有速率高、低功耗、電磁性能*等特點,自檢錯能力強,可工作于睡眠模式。
采用高速光耦來實現收發器與控制器之間的電氣隔離,保護系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿足在zui高速率500Kbps下的電氣響應。
采用DC-DC模塊向應用系統供應電源,可有效抑制干擾,提高可靠性。由于網絡電源存在電壓波動大(電壓波動>±30%)、干擾信號多等缺點,因此,應該選擇寬電壓輸入隔離(隔離電壓≥1000VDC)穩壓單輸出型DC/DC模塊給系統供電。推薦型號:金升陽的PH2405S-01(Vin:9~27VDC,Vout:5VDC,Iout :100~200mA);或者,根據具體應用系統內核所需功率不同,也可選用PH2405D-03(Vin:9~27VDC,Vout:5VDC,Iout :≤500mA)。為確保該系統的安全,建議在DC/DC模塊及系統的前端接TVS、共模扼流圈、極性保護,以防止雷擊、浪涌、極性反接,起良好的保護效果。
微處理器可以選用PHILIPS的P87C58X2芯片,內含32K EPROM,可工作于6 Clock模式,晶振頻率可達30MHz,滿足DeviceNet的通訊任務編程要求。
4.4 軟件開發流程框圖
軟件開發流程與圖4相同。
5 推薦開發工具
仿真器: 采用HOOKS技術的TKS系列仿真器 等
調試工具 DP-51下載實驗儀、DP-668下載實驗儀 等
調試環境: Keil C51、TKStudio 等
實時多任務操作系統: Keil RTX51、uCOSII 等
CAN分析工具: ZLGCAN接口卡、ZLGCANTEST通用測試軟件
分析軟件: CANalyst 分析軟件
附錄C:SJA1000標準波特率
SJA1000獨立CAN控制器的CAN通訊波特率由寄存器BTR0、BTR1、晶振等參數共同決定。下表列出了一組推薦的BTR0、BTR1設置值,標注*符號的值是由CiA協會推薦的標準值。
建議采用16MHz作為SJA1000的工作晶振。用戶也可以根據SJA1000器件配套的參考資料自行計算合適的寄存器BTR0、BTR1設置值。
P87C591的CAN通訊波特率采用同SJA1000一致的計算方法。
參考資料:
《SJA1000獨立的CAN控制器》
《SJA1000獨立的CAN控制器應用指南》
《確定SJA1000 CAN控制器的位定時參數》
作為一種技術*、可靠性高、功能完善、成本合理的遠程網絡通訊控制方式,CAN-bus已被廣泛應用到各個自動化控制系統中。例如,在汽車電子、自動控制、智能大廈、電力系統、安防監控等各領域,CAN-bus都具有不可比擬的*性。
根據各個不同應用領域的設計特點,本文提出了幾種CAN-bus應用系統的硬件方案。
2 基本CAN-bus節點
2.1 應用范圍
● 各種自動控制網絡,比如樓宇自動化、儀表自動控制、數據遠程傳輸、電機控制等
● 可實現遠距離傳輸(≤ 10KM),工作速率可調(1Mbps≥ 通訊速率≥ 5Kbps)
● 升級原有的RS-485網絡
● 2線式通訊
2.2 基本電路
圖1 基本CAN節點原理圖
2.3 電路特點
可與應用廣泛的80C51系列單片機直接接口,電路簡單,使用方便;
采用DC-DC模塊與光電隔離器件,可抑制電磁干擾,保護系統電路不受網絡影響;
2線式通訊,各總線節點需自備電源供應;
根據通訊速率調整斜率電阻R33的值,一般在16K~140K之間。
2.4 元件選型
● CAN控制器采用PHILIPS的SJA1000,工作于BasicCAN模式或PeliCAN模式下,可直接與IN的80C51核MCU或MOTOROLA的MCU接口。
● CAN收發器采用PHILIPS的P82C250/251,可以在低至5Kbps的傳輸速率下工作,滿足遠距離傳輸數據時的低速率要求。
● 采用高速光耦來實現收發器與控制器之間的電氣隔離,保護控制系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿足在zui高速率1Mbps下的電氣響應。
● 為了保證系統能夠可靠工作,并提高抗*力,電路中采用隔離型DC/DC模塊向收發器電路供電。推薦采用定電壓輸入隔離非穩壓單輸出型DC/DC模塊,隔離電壓≥1000VDC,推薦型號: B0505S-1W或B0505LS-1W,可以向收發器電路提供≤200mA的電流;也可以選擇IB0505LS-W75,可向收發器電路提供穩定、低噪聲的5VDC,輸出電流≤150mA,并帶有輸出短路保護,且引腳與B0505LS-1W*兼容。
● 微處理器可以選用PHILIPS的P87C51X2,6 Clock下的zui高時鐘頻率可達30MHz,具有3個定時/計數器,雙DPTR,足以滿足CAN-BUS在zui高速率1Mbps下的應用。
2.5 軟件流程
對于圖1所示的基本CAN節點,其控制軟件應按模塊化設計,一般由以下幾個部分組成:
SJA1000初始化模塊
SJA1000接收數據模塊
SJA1000發送任務模塊
SJA1000錯誤處理模塊
其他系統任務模塊
根據所處理任務的不同,“其他系統任務模塊”也有所不同。在這里,關于SJA1000的控制模塊程序設計,應是系統的重點之一。各模塊之間的銜接關系如下圖所示:
圖2 基本CAN節點軟件流程
對于具有復雜功能的項目開發,建議采用RTOS(實時操作系統)作為任務調度的核心程序,以節約開發時間,提高系統的實時性。例如,可以采用KEIL C51中內嵌的實時多任務操作系統RTX51,或者采用uCOSII操作系統。其中,RTX51支持SJA1000芯片和P97C591芯片的內聯CAN驅動程序,免去了大量的芯片編程工作,可大大縮短項目的開發周期。
3 向網絡供電的DeviceNet節點
3.1 應用范圍
DeviceNet中的供電節點
采用5線通訊
高速數據通訊
可以向網絡中的其他節點供電
3.2 基本電路框圖
圖3 DeviceNet中的向網絡供電節點功能框圖
5線式通訊(信號線CAN_H、CAN_L;屏蔽線DRAIN、電源線CAN_V+、CAN_V-)
主干線/分支線結構
zui多可支持64個節點
同時支持網絡供電(傳感器)和自供電(執行器)設備
可選數據通訊速率(125Kbps、250Kbps、500Kbps)
可調整的電源結構,大電流容量,以滿足各分類應用的需要
3.4 元件選型
3.5 軟件開發流程框圖
● CAN控制器采用PHILIPS的獨立CAN控制器SJA1000芯片。如果僅作為小型傳感器或實現簡單功能電路,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。
● CAN收發器選用PHILIPS的高速CAN收發器TJA1040或TJA1050,具有速率高、低功耗、電磁性能*等特點,自檢錯能力強,還可工作于睡眠模式。
● 采用高速光耦來實現收發器與控制器之間的電氣隔離,保護系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿足在zui高速率500Kbps下的電氣響應。
● 根據應用系統消耗電流的大小、DeviceNet網絡電源標準來選擇電源模塊電路。第1組+5V電源,如消耗電流≤50mA時,可采用線性穩壓器,比如LM7805等;如電路消耗電流≥50mA時,采用開關電源作為電源供應部件,比如LM2575、MC34063等。第2組+5V電源,可采用DC-DC模塊實現。系統電源與網絡電源之間還應該考慮采取合理的電氣隔離措施。根據以上因素,整個電源模塊電路可選用一體式的DC-DC模塊,例如:寬壓輸入定壓輸出隔離模塊WRD242405等
用戶也可在輸出電流滿足DeviceNet協議要求的前提下自行選擇DC-DC電源。為了確保該系統的安全,建議在DC/DC模塊及系統的輸入和輸出端接TVS、共模扼流圈、極性保護,以防止雷擊、浪涌、極性反接,起良好的保護效果。
● 微處理器可以選用PHILIPS的P89C668芯片,內含64K FLASH、8K RAM,可工作于6 Clock模式,晶振頻率可達30MHz,足以滿足在DeviceNetzui高波特率500Kbps下大量的數據傳輸、數據采集、DeviceNet協議解析等復雜功能的應用要求。
基于DeviceNet協議的控制軟件開發,主要難點在于編寫符合DeviceNet協議的程序軟件。為提高開發效率,可以選擇購買DeviceNet控制軟件模塊;這些軟件模塊由C語言編寫,易于理解,移植方便。
需要注意:DeviceNet節點中主節點、從節點的設計模型并不相同。一般來說,DeviceNet軟件開發流程如下所示:
圖4 DeviceNet節點軟件開發流程
4 由網絡供電的DeviceNet節點
4.1 應用范圍
DeviceNet中由網絡供電的節點
5線通訊
高速數據通訊
無需獨立輸入電源
可用作為通用CAN-BUS節點
適合于傳感器設備、微型執行器設備
4.2 基本電路框圖
圖5 DeviceNet中的由網絡供電節點功能框圖
4.3 元件選型
CAN控制器采用PHILIPS的SJA1000芯片。如果針對小型應用系統的設計要求,可以采用集成CAN控制器的PHILIPS P87C591微處理器芯片。
CAN收發器選用PHILIPS的高速CAN收發器TJA1040或TJA1050,具有速率高、低功耗、電磁性能*等特點,自檢錯能力強,可工作于睡眠模式。
采用高速光耦來實現收發器與控制器之間的電氣隔離,保護系統電路。光耦選擇高速器件,推薦型號:6N137或TLP113,以滿足在zui高速率500Kbps下的電氣響應。
采用DC-DC模塊向應用系統供應電源,可有效抑制干擾,提高可靠性。由于網絡電源存在電壓波動大(電壓波動>±30%)、干擾信號多等缺點,因此,應該選擇寬電壓輸入隔離(隔離電壓≥1000VDC)穩壓單輸出型DC/DC模塊給系統供電。推薦型號:金升陽的PH2405S-01(Vin:9~27VDC,Vout:5VDC,Iout :100~200mA);或者,根據具體應用系統內核所需功率不同,也可選用PH2405D-03(Vin:9~27VDC,Vout:5VDC,Iout :≤500mA)。為確保該系統的安全,建議在DC/DC模塊及系統的前端接TVS、共模扼流圈、極性保護,以防止雷擊、浪涌、極性反接,起良好的保護效果。
微處理器可以選用PHILIPS的P87C58X2芯片,內含32K EPROM,可工作于6 Clock模式,晶振頻率可達30MHz,滿足DeviceNet的通訊任務編程要求。
4.4 軟件開發流程框圖
軟件開發流程與圖4相同。
5 推薦開發工具
仿真器: 采用HOOKS技術的TKS系列仿真器 等
調試工具 DP-51下載實驗儀、DP-668下載實驗儀 等
調試環境: Keil C51、TKStudio 等
實時多任務操作系統: Keil RTX51、uCOSII 等
CAN分析工具: ZLGCAN接口卡、ZLGCANTEST通用測試軟件
分析軟件: CANalyst 分析軟件
附錄C:SJA1000標準波特率
SJA1000獨立CAN控制器的CAN通訊波特率由寄存器BTR0、BTR1、晶振等參數共同決定。下表列出了一組推薦的BTR0、BTR1設置值,標注*符號的值是由CiA協會推薦的標準值。
建議采用16MHz作為SJA1000的工作晶振。用戶也可以根據SJA1000器件配套的參考資料自行計算合適的寄存器BTR0、BTR1設置值。
P87C591的CAN通訊波特率采用同SJA1000一致的計算方法。
參考資料:
《SJA1000獨立的CAN控制器》
《SJA1000獨立的CAN控制器應用指南》
《確定SJA1000 CAN控制器的位定時參數》
上一篇:Linux內核的嵌入式系統應用
下一篇:基于嵌入式技術的網絡視頻監控系統
全年征稿/資訊合作
聯系郵箱:1271141964@qq.com
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025長三角國際智能儀表/線纜產業博覽會
展會城市:滁州市展會時間:2025-11-11