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