TJA1048 - Can someone check if my calculation is good about pull-up and pull--down
Actually, your calculation has worked out how to choose a very bad pull-up resistor for your application. Let's draw a simplified version of your circuit.







simulate this circuit &ndash; Schematic created using CircuitLab

First, let's analyse what happens when NO current flows through R1. If no current flows, then the voltage across that resistor is 0V (\$I \times R = 0\$). Since one end is at 3.3V and the voltage across the resistor is 0V, the other end (at STBY_VOLTAGE) must be at the same voltage (3.3V). This is true for all values of R1 (because anything multiplied by 0 is 0).

Realistically, there is going to be some current flow from the input impedance of the INPUT pin (which can't be infinite in the real world). You have quoted this at 1uA to 10uA from the datasheet. For a fixed resistance, the higher the current flowing through it, the higher the voltage dropped across it (\$V = I \times R\$ again). So the worst case (which we should design for) is 10uA current. \$V = I \times R = 10\mu A \times 660k \Omega = 6.6V !!\$ 

Interesting result. The implication is that STBY_VOLTAGE is 6.6V lower than 3.3V - i.e. -3.3V. This isn't going to happen for several reasons, not least because the only path for current through the TJA1048 is to 0V, so for a linear circuit we're constrained between the 3.3V rail and 0V.

Moreover, it illustrates how your calculation was valid, but incorrectly applied. You were trying to calculate a resistor that would drop 3.3V at 5uA - but we don't want that. We want it to drop as little voltage as possible while still providing some current limiting to that pin.

Let's recalculate. At the worst case scenario (10uA input current) we want to be no lower than \$0.7 \times V_{IO} = 2.31V\$. That means we drop \$3.3V - 2.31V = 0.99V\$ across the resistor. \$R = {V \over I} = {0.99V \over 10 \mu A} = 99k \Omega\$. This places an upper limit on the pullup value that you should use - no more than 99k. Also, this is right at the limit and higher values are worse for us (again, \$V = I \times R\$). We should choose something smaller.

Based on this and giving myself plenty of margin I would choose something between 10k and 47k depending on what I had close to hand (or in a commercial design, what I had already designed in elsewhere on the board). Funnily enough, if you just asked me to choose a general pullup value that works for most low-speed signals like this... I would have suggested the exact same range.

We can use the same logic to calculate a value for your pulldown. This time, we're working up from the 0V rail (rather than down from the 3.3V rail) so the calculations are even easier. The voltage at the top end of the resistor is just the voltage dropped across it plus the rail voltage. Think about the direction of current flow in each resistor to work out why it's minus for the pullup and plus for the pulldown. Since the rail voltage is 0V anything plus 0 is itself and so we just have to keep the voltage drop across the resistor within bounds.

\$ {V \over I} = R = {{0.3 \times 3.3V} \over {1 \mu A}} = 990 k \Omega \$

This is the absolute maximum value - larger than that you can get away with for the pullup. We'll want to reduce the value to keep it away from the calculated limit, and since the value we choose for the pullup will be less than 990k. I would simply use the same value for both.

My vote - 10k pullup, 10k pulldown.