|
Programming Pin Access
All Pins used for programming must be made available
through connectors or test points. The pins used for
programming must have no other circuitry on the PCB
connected to them that prevents the line from being
toggled or read. Pin
Access Design Examples
Vcc & Vpp Power
(Vcc) and programming voltage (Vpp), if used, must be
present on the board at the proper levels for programming.
Power levels are determined by the devices and other
connected circuitry. Refer to device data sheets. Provisions
for varying Vcc to the PCB must be made if the device
to be programmed requires a verify cycle with variable
voltages. Some devices use a higher voltage when programming
than the end product may run at.
RESET Pin
If the ISP technique uses the RESET pin, special care
must be taken if a board mounted reset generator is
present. A reset generator might conflict with the programmer
drive signal (know as contention). Reset
Generator Design Examples
Bootloader Code
If a bootloader (aka bootstrap loader, boot code) is
necessary for programming, it must already be loaded
into the device unless the device has a mask ROM bootloader
or factory preprogrammed bootloader. In the case of
the factory preprogrammed bootloader, if this area of
the device is erased or changed, further ISP operation
may not be possible. Also, some devices require specific
bootloader's that only work with that device or device
family
Contention
Contention: Minimum time a host must transmit before
it can be sure that no other host's packet has collided
with its transmission. If the maximum propagation delay
from one host to any other is T, then a host that starts
to transmit at time t0 may collide with a host that
starts just before t0 + T. The first host will not detect
the collision until time t0 + 2T. Contention
Design Examples
Watchdog Circuits
Watchdog circuits may trigger unintentionally during
programming.
Security Fuses
If the device contains a security fuse, the in-system
programming capability may be disabled by previous programming.
Signal Capacitance
If the programming paths have too much capacitance,
or the cables from the programmer and target board are
too long, in-system programming may not work.
Noise
A noise source such as a switching power supply too
close to the target device or programming lines may
cause problems.
Programming Current
Since most devices draw higher current during programming
operations care must be taken to supply the target device
with enough current.
|