You have already chosen AT90CAN128, whose excellent function compared to other AVR processors is CAN bus support. In fact, there is no better choice than CAN for an automotive application with data transfer and noise immunity requirements. If you go to the car client with anything but CAN, you will end up spending all your time defending the decision not to use it.
With that said, for noise immunity in a hostile environment such as a car, you will need a bus that uses differential signaling. This excludes i2c or SPI, which is unsuccessful because they meet your other requirements. RS-485 will work as @Andrew Edgecombe points out.
If you are not building a commercial product, but instead building something for your own use to put in the engine compartment, you can probably get by using USB. USB will simplify interaction with a laptop in the cabin, and although it is not designed for high-noise environments, it is differentially signaled at a fairly high voltage.
source share