Built up boards and Bare PCB's are available as a service to users.
|
Contents Home
Full Production Program & Verify In-Circuit
The PIC programmer board described here was originally based on the program written by David Tait. The hardware is more sophisticated, but appears very similar to the software. Our thanks to David for graciously providing the original software. You are welcome to use our circuit or buy a built up unit.
Download the latest s/w version from Sourceforge.
We developed this programmer to provide Full Production Program & Verify In-Circuit for our own master-slave telemetry product .
If you are an electronics manufacturer who need to program and customise PIC devices in-circuit, ie after they have been soldered on the PCB, then there are very few products available. Furthermore, since in-system programming needs to be adapted for the products design, you will probably the source code to customise it, or build it into an ATE system.
Alternatively you are developing a Master-Slave or Dual-uP product. You need to be able to different download code into 2 different PIC's easily. You need the Dual-Programmer capability.
The boards use an AMP (tyco) 8 pin MicroMatch header. We put this header on all boards we make, so it is easy to reprogram the PIC's
Desc | AMP# | Farnell# | RS# |
PCB Female-on-board | 7-215079-8 | 148-593 | |
Cable Male-on-wire | 7-215083-8 | 149-070 |
# | VPP Versions | LVP Versions |
1 | VDD | VDD |
2 | RST/VPP | RST |
3 | RB7/DATA | RB7/DATA |
4 | RB6/CLK | RB6/CLK |
5 | ||
6 | ||
7 | RB4/LVP | |
8 | VSS | VSS |
Mods to fit 8 pin socket to Rev2 boards
(GIF96dpi 14k) (GIF150dpi 28k) (GIF 8k) (Documentation and Hi-Res Drawings)
Currently the software supports most programming Flash and EProm, 12 and 14 bit, ICP devices.
If you want to save yourself the trouble of building it, we supply the programmer fully built and tested with a running 16C84 fitted for approx USD49 (less bundled with the B.Lo.C language)
The PIC16C84 part is supported by our low-cost PICP in-circuit programmer. This programmer has the hardware to support all ICP parts, flash EEProm and Eprom. The program is Open Source. This programmer supports multiple voltage levels so it is a true Production Programmer. The PICPROG is not restricted to In-Circuit Programming, but has a socket for programming 18 pin dip parts, an RS232 port, and can even run simple demo programs (examples supplied) on the programmer board!
You will probably be using ICP for one of the following reasons
Designing for ICP just requires a small amount of forethought and has many benefits
ICP requires access to PB6,7, RST, and gnd
RST will have +13V applied during programming, and will also be pulled low to force reset. Your reset circuit must accept this.
As RST will have +13 applied, there may be a current path through pullup resistors, to VDD. In micropower circuits this could raise VDD above correct levels.
PB7 is a data I/O and PB6 is a clock during programming. Normally the programmer will use open collector drivers and pull up resistors. Your external hardware should not interfere with these. These pins can be used as outputs, the processor is reset before and during programming. However they may load the programmer.
An ideal use is for I2C expansion. As long as care is taken in the programmer software to avoid START and STOP conditions, the I2C devices will remain idle, and have no effect on programming. A bonus, is that the programmer can readily be used to initialise I2C ram,clocks, eeprom etc, as well as an ATE function for all.
Production programming to the specification requires that the device is verified at the max and min VCC values for that device. If you decide that this is necessary, then your programming header will require access to VCC, and some method of adjusting it. This can be a diode in VCC so that it can be externally supplied during programming. Other methods include putting the whole board inside and external regulator loop, so that the voltage can be adjusted downwards to get VCC min.
With OTP parts the programming algorithm could be adjusted to give greater overprogramming.
The PIC's use a simple system where the program counter is reset by holding _reset low, and incremented by programming commands. Any clock pulses that arrive between RST going high, and programming mode being entered, move the program counter, and the data reads/programs in the wrong place.
This is seldom a concern using the internal crystal oscillator modes. The crystal oscillator is slow to start anyway. The PWRTE (power up timer) can perform a similar function when the circuit is powered up by the programmer.
However when you are using RC oscillators, or external crystal oscillator modules, which are always running, then you can have problems.
(this note was written years ago about the C84, and incorrectly identifies the problem above)... The PIC16C84 can be ICP'd in any of its crystal/ceralock resonator modes. The oscillator is disabled and does not run during programming. During programming the oscillator input goes low. This appears to be necessary. Unfortunately if you use an RC mode there is a pullup resistor. This either has to be taken low or open during programming, or a circuit provided to pull the CLK input low during programming. (try a shorting link to gnd on the programming header). This can be a frustrating trap when a PIC16C84 is inadvertently programmed into RC mode, and subsequently cannot be reprogrammed.
Power
You need 1 cable:
Your PIC programmer is shipped with a 16C84 already installed, and programmed with a test. It should flash its LED and emit a test message at power on.back to contents
A precompiled demo program is on the disk ready to go. It program sends acsiiz strings from the ee-prom data memory area.
The program prints a string at power up and prompts you to enter a character. When you enter a char, it responds, and flashes LED2. While it is waiting, it flashes LED1
The file DEMO.B is the B.LO.C. source code for the program. STRINGS.S shows how EE-Prom data memory is initialised.
PP.EXE is the programmer software
TERM84.EXE allows you to run the demo, turn the demo board on and off, and reset the processor
Make it Happen !
Install the PIC16C84, if is not already fitted
Connect the printer port to LPT1
Connect the serial port to COM1
BE IN DOS. Completely exit WINDOWS.....make your life easy
PROG.BAT Program the PIC!
TERM.BAT Run the terminal. See the PIC working! Reset the PIC and turn the power on and off (If you are using COM2, use the file TERM2 instead)
Now Try the BLOC DEMO below
(this is the text of our Ad)
C-Language, Compiler, Emulator, Useful Demo Code
PIC16C84 Demo Board and Programmer
Dual In-Circuit Programmer for PIC16C84 / 71
The new BLOC-Start kit brings together everything you need to start developing applications for Microchips PIC micros today. You will have a running PIC in 5 Minutes
Fast & Easy : EE-Prom Micro emulates 16C5X parts easily
Fast & Easy : Programs Micro In-Circuit (or in programmer)
Fast & Easy : SMD development practical. (smd sockets unavailable)
Fast & Easy : EE-Prom Micros are Economical
Just:
Comes with Compiler, Assembler, Simulator, demos, help files, PIC16C84
Production quality programmer (ie verify at 3 voltages)
On board programming socket & demo circuit w/rs232 and leds
RS232 interface for sending debug messages to pc.
Dual In-circuit Programmer hardware.
reset button on PC for Target systems
PIC 1671 compatible hardware
operation from plug-pack or 9V battery
Your BLOC Start disc comes complete with: