Q
Can the PSEN pin be pulled
low during the duration of the serial
programming or are there any specific timing requirements re this line
during serial programming?
I am not using any external memory with the ADuC812 so can I leave this
pin always pulled low?
A
The PSEN pin is primarilly an output pin from the ADuC812 to external program
memory.
It has a secondary function, which is to enable serial downlod mode on the
ADuC812. This works as follows.
When the part is powered up normally, with PSEN left floating, the
microconverter boots up then exeutes the users code from it's internal code
space (or from external memory if the EA pin is enabled). This is the normal
operating mode for the part.
When the part is powered up, with PSEN pulled low during power up, the part
does not execute the users code from code memory but instead executes an
internal monitor program (written into the part in the factory and not
user-changeable). This program allows user code to be written to the internal
code memory via the UART, and allows access to internal memory locations etc.
When the part is powered up with PSEN held low, it is operating in "serial
download mode".
The choise of whether to operate in normal mode or in serial download mode is
made at power up. The PSEN pin is read during power up only. If it is pulled
low during power up (or reset), the part enters serial download mode. If not,
the part enters normal mode. Anything you do to PSEN after power up is ignored
and the part cannot be brought into or out of serial download mode without a
reset or power cycling.
You cannot have PSEN permanently pulled low in the final application because it
will always power up in serial download mode and will never execute user code
in normal mode.