Arduino Mega & LIN Transceiver (MCP2004)

arduinointerfacepullup

I am trying to connect an Arduino Mega with another device using a LIN Transceiver. I have decided to use a LIN MCP2004 Transceiver for this.

I am now trying to understand the reference design of MCP2004.
I have come up with the following design but I have a couple of questions:

  1. Should RxD be pulled up to 5 volt or 12 volt?
  2. Are the values for R1 and R2 ok?
  3. I don't understand what to do with the V_REN pin?

Thanks.

PS, please don't suggest other LIN transceivers since I only have access to MPC2004.

schematic

simulate this circuit – Schematic created using CircuitLab

Best Answer

Should RxD be pulled up to 5 volt or 12 volt?

To 5V, or else you're out of spec with with the Arduino.

Are the values for R1 and R2 ok?

Looks alright. RXD is an open drain pin. It will connect the resistor from floating +5V to GND when active.

I don't understand what to do with the V_REN pin?

My guess (from reading the datasheet) is that this circuit when used in an automotive application, is able to keep a connected MCU in reset/shutdown until the system voltage has stabilized. In the datasheet the circuit does this by using the V_REN pin connected to a voltage regulator that drives the connected MCU. The voltage regulator is implied to have a shutdown pin or similar that can be controlled by V_REN. The reason to do this is that the LIN bus should not be disturbed by stray data when the vehicle turns on and the MCU might be in a undefined state.