基于MCP2502X/05X的CAN總線節(jié)點設計
1 引言
CAN總線以其成本低廉、通信實時性好、糾錯能力強等優(yōu)點廣泛應用于汽車工業(yè)、電力系統(tǒng)變電站自動化、智能大廈等系統(tǒng)。J1939協(xié)議是SEA于1998年提出的,主要應用于運輸、農(nóng)林機車、船舶等大型交通工具。Microchip公司推出的MCP2502X/2505X CAN I/O系列擴展器可獨立作為CAN擴展節(jié)點,通過配置實現(xiàn)不同的CAN協(xié)議。本文以J1939為通信協(xié)議,基于該器件設計CAN擴展節(jié)點,方便實現(xiàn)汽車的前端測控功能,并且與整個車載CAN網(wǎng)絡相連。
2 MCP2502X/05X CAN I/O擴展器簡介
MCP2502X/5X器件可作為CAN系統(tǒng)的I/O擴展器使用,支持CANV2.0B Active,可在原始數(shù)據(jù)與CAN報文之間進行協(xié)議轉(zhuǎn)換,總線速率最大可達1 Mb/s。MCP2502X/5X器件具有多個外設,包括數(shù)字I/O、4通道10位A/D轉(zhuǎn)換器和能夠在引腳狀態(tài)變化時自動發(fā)送報文的PWM輸出,包括超過預設門限值的模擬輸入,提供1個屏蔽寄存器和2個接收過濾器,使得在設計系統(tǒng)時與器件響應標識符相關(guān)部分具有最大限度的靈活性。該器件也可配置為在任何時候發(fā)生一個或多個錯誤時,能夠自動發(fā)送唯一報文??稍诜且资源鎯ζ髦袑ζ骷M行預編程,這樣器件在配置過程可默認為特定配置。
3 擴展節(jié)點配置
基于MCP2502X/5X的CAN網(wǎng)絡必須有一個具有CAN接口的CPU做為主節(jié)點,MCP2502X/05X只能作為擴展節(jié)點,通過配置完成工作。器件配置方法有兩種:預編程用戶寄存器和CAN報文在線配置。MCP2502X/05X器件的用戶E-PROM出廠時是空白的,所以在上電前要對其預編程,編程結(jié)果在上電復位后自配置為默認配置。為了與主節(jié)點之間實現(xiàn)基于J1939協(xié)議通信,上電前先按J1939標識符格式對CAN模塊寄存器預編程。對MCE2502X/05X器件的用戶寄存器預編程有三種方法,分別為用MPLAB IDE配套PROMATE II編程器;在線串行編程(ICSP);根據(jù)ICSP的原理設計專門的編程電路,配合微芯公司的編程軟件MCP250XXProgrammer對器件預編程。這里采用第三種方法。
3.1 預編程用戶寄存器
3.1.1 預編程電路設計
編程需要VDD(2.0~6.0 V)和VPP(12~14 V)兩個電源,如圖1所示。圖1中,通用開關(guān)穩(wěn)壓器LM78S40CN輸出可調(diào)的1.25~40 V的穩(wěn)定電壓產(chǎn)生所需的VPPPC機通過場效應管MTSF2P02控制VPP和VDD的通斷,實現(xiàn)編程邏輯。
圖2為編程數(shù)據(jù)、時鐘邏輯電路以及編程電路與PC機的接口電路。編程電路通過并口與PC機連接。在編程電路和PC機連接后,利用Microchip公司提供的具有形象圖形化界面的軟件(MCP250X X Programmer)方便對器件預編程。
評論