Atmel T89C51CC01 PSEN pin, bootloader

Part data sheet and CAN bootloader documentation recommend "releasing" PSEN before the end of RESET when using PSEN=0 as the "hardware condition" forcing the on chip CAN bootloader to execute.

The Atmel Demo board just has a DIP switch to ground to force PSEN=0; it doesn't "release". Even though the Demo board doesn't use PSEN as an output, shorting this pin to ground must not be a good idea.

Does anyone have a practical circuit to properly drive and release the PSEN pin? The data sheet is pretty vague about the properties of this pin during the brief time it is an input. How about grounding it through a resistor? value?

Can the on-chip CAN bootloader be used to boot more than one T89C51CC01 on a CAN segment? If not, what is the best way to boot/ISP a bunch of these parts on the same CAN bus segment? They will all get identical code loaded into them.


Paul Smith Indiana University Physics

Reply to
Paul Smith
Loading thread data ...


PSEN has to be pulled low during microcontroller power up so it has to be pulled low until some time after reset signal becomes inactive.

The thing is you have to pull PSEN signal low then reset the microcontroller, and when microcontroller wakes-up (in bootloader) you can release the PSEN line, but it doesn't have any function as you won't be accessing external ROM memory for which PSEN signal is needed.

I have external device (with 80C52) which when PC sends request to program the target device (FLIP) it generates hardware conditions for target to boot up in bootloader (PSEN low) and resets the target. I'm working with serial bootloader.

I'm not sure if you can simultanleously program many devices because they send some kind of echo during programming and those signals would colide then.

I think this particular device sends '.' when command requested during programming mode has been executed sucessfuly.

Reply to

I use a MOSFET of 2N7000 type tied bewteen GND and PSEN. Gate is connected to RESET line via jumper and pulled to GND by 10K resistor. If I want to boot normally, I pull out jumper. When I want bootloader start, I insert jumper...Simple.

CAN bootloader CAN boot up to 8 devices. But first time you use it, device MUST be alone on the bus for proper configuration. There's app.note on ATMEL's site about CAN bootloader...Read it.



Reply to
Dejan Durdenic

Release before? Isn't it latched on the falling edge of RESET?

I think the pulldown resistor is a good idea. When the PSEN- pin stays grounded it draws a lot of current (I've seen up to 50mA extra supply current with some chips which is enough to cause metal migration).

Assuming that during RESET this pin has the same weak pullup as the other pins, a 1 kOhm to GND would be low enough, but a check with a scope during the RESET release is advised.

Regards, Arie de Muynck

Reply to
Arie de Muynck

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.