Boards falsely indentified as "TeslaM3"
Posted: Thu Nov 26, 2020 12:02 pm
I just realized that under certain conditions a board is detected as a TeslaM3 modboard in place of what it really is.
The reason is that the detection tests the precharge pin. On all hardware it is connected to either a FET or an NPN transistor but on the modboard it is tied to Vcc. So the pin reads as high on the modboard and low on all others. Mostly.
The bug occurs when precharge is implemented via a MOSFET instead of NPN. That is on both Tesla SDU and LDU boards. When you simply power up the board there will be no problem but if you do a soft reset e.g. after a firmware update, the false detection occurs. That is because precharge is on in stop mode and the pin becomes floating in boot loader mode. So after the update the pin will still be high because of the FETs gate capacity.
On Tesla hardware that leads to faulty temperature calculation. Since the problem only occurs after a software update and is fixed by power cycling I will just fix it in the next firmware release via boot loader pin initialization.
The reason is that the detection tests the precharge pin. On all hardware it is connected to either a FET or an NPN transistor but on the modboard it is tied to Vcc. So the pin reads as high on the modboard and low on all others. Mostly.
The bug occurs when precharge is implemented via a MOSFET instead of NPN. That is on both Tesla SDU and LDU boards. When you simply power up the board there will be no problem but if you do a soft reset e.g. after a firmware update, the false detection occurs. That is because precharge is on in stop mode and the pin becomes floating in boot loader mode. So after the update the pin will still be high because of the FETs gate capacity.
On Tesla hardware that leads to faulty temperature calculation. Since the problem only occurs after a software update and is fixed by power cycling I will just fix it in the next firmware release via boot loader pin initialization.