In-circuit programming of the Philips 87C576 microcontroller Author: Bill Houghton 1995 May 03 1 Introduction The 87C576 includes two separate methods of programming the EPROM array, the traditional modified Quick-Pulse method, and a new On-Board Programming technique (OBP). Quick Pulse programming is a method using a number of device pins in parallel (see Figure 1) and is the traditional way in which 87C51 family members have been programmed. The Quick-Pulse method supports the following programming functions: – program USER EPROM – verify USER EPROM – program KEY EPROM – program security bits – verify security bits – read signature bytes The Quick-Pulse method is quite easily suited to standard programming equipment as evidenced by the numerous vendors of 87C51 compatible programmers on the market today. One disadvantage is that this method is not well suited to programming in the embedded application because of the large number of signal lines that must be isolated from the application. In addition, parallel signals from a programmer would need to be cabled to the application’s circuit board, or the application circuit board would need to have logic built-in to perform the programming functions. These requirements have generally made in-circuit programming using the modified Quick Pulse method impractical in almost all 87C51 family applications. On-Board Programming (OBP) The Philips On-Board Programming (OBP) facility has made in-circuit programming in an embedded application possible with a minimum of additional expense in components and circuit board area. The OBP function uses three pins in addition to VCC and VSS (see Figure 2). The diode shown is added so that in the absence of the five pin connector the VPP pin will be pulled up above the VIH level in normal system operation allowing the 87C576 to execute from internal code memory. The On-Board Programming facility consists of a series of internal hardware resources coupled with internal firmware to facilitate remote programming of the 87C576 through the serial port. This firmware is provided by Philips and embedded within each 87C576 device. The On-Board Programming facility supports the following programming functions: – program USER EPROM – display USER EPROM – program security bits – verify security bits – specify timing parameters The OBP function is invoked by having the EA/VPP pin at the VPP voltage level at the time that the part exits reset. The OBP function uses five pins (TxD, RxD, VSS, VCC, and VPP). Only a small connector needs to be available to interface your application to an external circuit in order to use this feature. The VPP supply should be adequately decoupled and VPP not allowed to exceed datasheet limits.