I try to implement the MCAN module on MPC5777C, but there're a lot of confusions that on the reference manual and I couldn't understand it. My MPC5777c-512DS model is 3N45H and I referred to the example Example MPC5777C MCAN simpleTXRX GHS616 that Petr Stancik wrote.
Here's some questions:
1. On the motherboard reference manual (MPC5777CEVBUG), there're two DB9 connectors, J5 (CAN2) and J6 (CAN). For CAN2, I couldn't see which CAN BUS module it is connect based on "Table2: CAN control jumpers", it said it
connect to PHY TX/RX, but I don't know what PHY TX/RX is. Can you tell me what CAN module the J5 connected to?
2. For J6 (CAN), I can see that by put jumper J37 and J38 to position 1-2, it will connect to MCAN1 TX/RX. But from the example that Petr wrote, which states: "the EVB connection: J37 and J38 to position 2-3 to connect MCAN1 TX/RX to transceiver", which is conflict with what EVB manual states, which one should I go? And what does "CAN0-CANH on P15-1 To CAN1-CANH on P14-1" actually meaning? What is P14-1 and P15-1?
3. From the EVB manual, it said that pin PC8 should connect with function RX MCAN2, PC9 to TX MCAN2; PL3 to TX MCAN1 and PL4 to MCAN2. But on MPC5777c, there's only MCAN0 and MCAN1, not MCAN2. So should I treat MCAN0 on the processor manual as MCAN1 on the motherboard manual, then MCAN1 on the processor manual as MCAN2 on the motherboard manual? Then if that's the case, is J6 supposed connected with MCAN0 or MCAN1? and which position of the jumper J37 and J38 supposed to be?
4. I tried to follow the example and adjust the register (FBTP to DBTP, NBTP to BTP) from 2N45H to 3N45H, and connect MCAN0 to J6, and test the CAN tx. On the pin side, I couldn't see anything transmit to the MCAN0_TX (I've setup the corresponding GPIO pin to be MCAN0_TX functionality). On the internal CAN register side, it issues an bus error with following warning:
MCAN0_ECR: TEC 0xF8; CEL 0x20;
MCAN0_PSR: LEC: 0x5; EP 1; EW 1; BO 1; FLEC 0x7
MCAN0_IR: EP 1; EW 1; BO 1; CRCE 1; ACKE 1
MCAN0_TXBRP: TRP 1;
MCAN0_CCCR: INIT 1;
The code I used is the same as the examleExample MPC5777C MCAN simpleTXRX GHS616 apart from that change between 2N45H and 3N45H.
Thank you for any replies.
there is following default CANs routing for a MPC5777CEVB
This should help you to figure out which pin should be configured and what jumper setting should be used.
BTW: I posted new example for 3N45H mask here: https://community.nxp.com/docs/DOC-342013
Hope it helps.