I have designed a custom SoM using the i.MX6Q and have been working with the CAN interface. Following the Sabre AI board we used a 3.3v transceiver so there was no need for level translation between the processor and transceiver. We have run into problems in that the signals coming from the i.MX6Q are not what would be expected. Both the CAN_RX and CAN_TX signals are being driven when sending data. I connected a scope to the CAN_TX and CAN_RX signals without the transceiver being connected and observed the following;
These signals look exactly like what I would expect to see after the transceiver and not coming directly from the i.MX6. I tried connecting these lines directly to another board without using the transceiver and was able to transmit and receive without issue.
I would like for someone to shed some light on exactly what is happening here as I can find no mention in the reference design or reference manual that alludes to what could possibly be going on. Is the transceiver built into the SoC and just not mentioned anywhere or do I have the FlexCAN configured in some weird way and it just happens to work?