目前主流的CAN協(xié)議控制器一般采用I/O總線(SJA1000等)或SPI接口(MCP2515等)與MCU進行通信。由于本設(shè)計采用PC /104總線擴展卡的方式來擴展多個RS232和RS485接口,沒有多余的I/O片選線可用,因此最終選用9200的SPI接口與MCP2515進行多路CAN總線接口的擴展。MCP2515是Microchip公司推出的具有SPI接口的獨立CAN控制器。它完全支持CAN V2.0B技術(shù)規(guī)范,通信速率最高可達1 Mbps,內(nèi)含3個發(fā)送緩沖器、2個接收緩沖器、6個29位驗收濾波寄存器和2個29位驗收屏蔽寄存器;它的SPI接口時鐘頻率最高可達10 MHz,可滿足一個SPI主機接口擴展多路CAN總線接口的需要。
圖是MCP2515的外圍CAN總線接口框圖,圖中省略了MCP2515和9200的接口部分。由于設(shè)備需要安裝在鐵路沿線,必須具有防雷擊的能 力。因此MCP2515與CAN總線收發(fā)器之間采用高速光耦進行完全的電氣隔離,并且光耦兩端電路的電源也必須用電源隔離模塊隔離開, 這樣才能真正起到隔離的作用。在TJA1050的CANH和CANL引腳與地之間連接2個30 pF的電容,可以過濾CAN總線上的高頻干擾;2個二極管可以在總線電壓發(fā)生瞬變干擾時起保護作用。光耦正常工作時輸入電流為10 mA左右,內(nèi)部發(fā)光二極管的正向電壓降為1.7 V左右,因此要特別注意輸入端串聯(lián)電阻的阻值選擇。