Brown Out Detection on AST-CAN485 Dev Board

Hello, can you please confirm if the BOD (Brown Out Detection) is activated by AST-CAN485 Dev Board? When yes, on witch value is activated? When no, how can I activate?
Thanks.

The BOD setting is defined in the Extended fuse bits. I managed to read the fuze bits and the value of the extended fuse bits is 0xFF which means that the BOD is not activated (lfuse:0xcf, hfuse:0x96, efuse:0xff). This is quite a problem, since one of our applications uses the EEprom and it has happened several times that the values ​​in the EEprom have changed at startup. If the BOD is not activated, at startup the microcontroller may interpret the EEMWE and EEWE internal registers as 1 and write something to the EEprom where the EEADR register currently points. If we want to write, say, 0xF9 to the efuse which corresponds to BOD 3.9V, we get a write error. Does anyone have an idea or experience on how to write a new value to the efuse?

It might require custom firmware :-/

It also might be a good idea to file an ‘issue’ in the relevant repo Atlantis-Specialist-Technologies repositories · GitHub asking similar

I assume you’ve tried other values (other than 3.9v / 0xF9)?

Looks like you have a couple options to write the fuse bits. Per the schematic the JTAG port is broken out onto JP2 and JP3. Refer to section 25.9 of the datasheet for the AT90CAN128 for how to use this port for programming. I am not as familiar with this method, so I can only offer limited help here.

Your second option is to use the serial programming interface (or ISP). The clock input is on JP9 pin 9, the data in/out are on JP8 pins 3/2, and reset is on JP1 pin 10. Section 25.7 of the datasheet describes the process. Essentially you power the board and hold reset to ground. Then clock in instructions - first a Programming Enable, then a Write Extended Fuse Bits, and finally (optionally) a Read Extended Fuse Bits to verify (see Table 25-15).

To do the above you can use an ISP programmer if you have one, download the ArduinoISP sketch onto a spare arduino, or you can rig up a couple pushbuttons (with debouncing) and bitbang the commands. I’ve done this - it’s not hard; tedious, but not hard.

Anyway, hope that helps.

Mike

1 Like