We have detected that your browser's active-content scripting (JavaScript) features have been disabled. This site may appear differently than designed and some of its advanced features, online shopping, and navigational aids may not be usable. Some portions of the site may be difficult to read.
Data I/O Corporation engages in the design, manufacture, and sale of programming systems used by designers and manufacturers of electronic products worldwide.   Careers  |  Company info  |  Contact Us   
Search:   
   
    Why sign in?  
Products Menu
 
Engineering
  FlashPAK II
  3980xpi
  UniSite-xpi
  Optima
  Plus 48
Manufacturing
  ProLINE-RoadRunner
  FlashPAK II
  PS288FC
  ImageWriter-300
  FLX500
  FLX-FMD
  PS588
  ImageWriter-200
  MultiSyte
  Multisyte Flash
Software
  Application Software Catalog
  DataMapper
  TaskLink for Windows
  NAND Flash Bad-Block Schemes Software Option
  Serial Number Server™ for FlashCORE
Other Products
  Labels and Ribbons
  Programmer Accessories
  Programming Services

 

In-System Programming

Preventing In-System Programming Troubles


If you are planning to program devices In-System (in the application environment on the circuit board), here are some hardware gotchas to watch for.

Not all devices support In-System Programming (ISP). If a device does support ISP, it still may not be able to be programmed in-system if there is no protocol. If the target device manufacturer claims the device supports In-System Programming, it means if all conditions for the device to be programmed in-system are met. This involves many elements, and each needs your attention to ensure the device can be programmed. Target device specifications and board design must be addressed to determine any issues.

Data I/O experts may be able to provide you with answers to your ISP questions not addressed here.

This application note Tips For In-System Programming will address some of the hardware considerations to be taken into account when you plan to program devices on the board.

Yes, Please Have an ISP Application Engineer Contact me

 

ISP Programming Design Guidelines


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.



Email a Colleague

 

 
Legal   |   Privacy Contact Us Copyright 2001© - 2006© Data I/O Corporation