Программатор ProFlash

Introduction:
I have build my own programmer.  This device can program the AT89C51 and works with it. So it can be easily adapted to programming other devices by itself.

The Atmel Flash devices are ideal for developing, since they can be reprogrammed easy, often and fast. You need only 1 or 2 devices in low cost plastic case for developing. In contrast you need 10 or more high cost windowed devices if you must develop with EPROM devices (e.g. Phillips 87C751).

The AT89C2051 is the smallest 8051 member with full resources (128 Byte RAM, 2 Timer, UART). Only the Flash size and pin count is reduced (2kByte, 20 pin case: 15 IO pins  available).

The programmer and the PC are connected via a serial port (COM1...4). No Interrupt is used since every data byte from the programmer must be receipt by the PC. So this program can also run under WINDOWS without data loss.

Devices:
Today following devices can be programmed:
  • AT89C51 / AT89C52 (at 12V only)
  • AT89C2051
  • AT89C4051
  • AT90S1200 (AVR)
  • AT90S2312
  • AT89C53
  • AT89S8252
  • (AT89C55, AT90S8515 planned)
  • Features:
  • Input: Intel HEX, record length <= 16 (use converter to load binary)
  • Autodetection (read signature at 5V, can failed if device locked)
  • Fast parallel programming (with ready polling)
  • Batch mode programming
  • Programming lock and fuse bits
  • Adding new devices via definition file (PC program must not modified) full Protection against misinsertion or misselection
  • Using:
    The using is quite simple. The example file "proflash.bat" can be used for calling automatically after generating hex file to program in batch mode. In this case the target must be placed in the programmer before compiling started. Or you place "uniprog.ini" in the same directory with the "uniprog.exe" file and make all programming steps manually.

    On AVR devices the FLASH and EEPROM are programmed together. If only one name is given, the second name for the EEPROM hex file is build by exchanging the extension with ".eep". You can also give 2 different names for both. On using a comma to separate you can define one or both names empty.

    To select the device you can use the autoselect feature. You can also select it by using the up -or 'u'-key or down- or 'd'-key (using characters 'd' or 'u' in batch mode recommend).

    The programmer is tested under DOS or WINDOWS (3.xx or 95). A 386SX or higher CPU is needed.

    Other Features:
  • Return an errorlevel on successful programming
  • Internal virus check
  • Baudrate detection, you must give a range e.g. Baud = 22800-115200
  • The device can given by the number (entry in the definition file) or by its name (e.g. 89C51)
  • Prepared for universal using e.g. for the in system programmer
  • Documents for building:
    These are free for non commercial using only !

    There is no pcb available. Since most connections are from the programmer (AT89C51) to the same pin of the target (ziff-socket), it can be easily build with an universal pcb. Only few other devices are needed.

    To prevent malfunction on using different versions of the programmer, load all needed documents together.

  • Electrical sheet
  • Bill of material
  • Netlist
  • Hex file of the 8051 inside the Programmer
  • Exe file to use the programmer (MSDOS3.3 until WINDOWS95)
  • Definition file with the device definitions
  • Example for batch mode programming
  • PCB from Agusti Dominguez
  • Communication protocol
  • Building hints:

    Important: The Opamp (TLC2272) must meet following parameters:
    - Rail to rail output,
    - Input range include negative rail,
    - Slew rate 3.6V/µs or higher.
    If you have problems getting the TLC2272 you can try the following replacement:
      Electrical sheet to replace TLC2272, not tested !
    If you try it, please tell me, if it works.

    Data Sheets:
    If you have problems to get data from any device look at the manufacturer or distributor e.g. Farnell 
    E.g. data sheets of:  BS170, BS250

    You need a null-modem-cable to connect the programmer:
    Null Modem:
    2 --------- 3
    3 --------- 2
    4 --------- 6
    5 --------- 5
    6 --------- 4
    7 --------- 8
    8 --------- 7

    Getting the AT89C51 :
    There are 3 ways to get the preprogrammed AT89C51 inside the programmer:

    1. Ask a friend in a school or company which have access to a programmer.

    2. Most salesman offers also a programming service for a little more money.
    You must only put the hex file (proflash.hex) to a disk and send it him.

    3. Use a AT89S8252 at first and program it over the parallel port.
    Look at  http://www.fmi.cz/jak/prog.html for more informations.

    Please understand that I can't sell it.

    Errata:
    No errors known.
    I have received over 100 positive feedbacks. So it seems working stabl
    Trouble Shooting:
    some points to check:
  • the hex-file was correct burned in the programmer (IC4)
  • the crystal was correct (11.0592MHZ) for right baud rate and oscillating (check with oscilloscope)
  • EA was connect to VCC (internal program execution)
  • VCC was applied, reset was done (by C3)
  • RS232 level shifter works
    The PC software try permanetly send to the programmer until it answered right. This can easy be checked with an oscilloscope:
    Check signals on P1/pin2, IC4/pin 10, IC4 /pin11, P1/pin3. P1/pin8 must give about -12V.
  • If you have problems, please sent me an E-mail.
    Author: Peter Dannegger E-mail: danni@specs.de Text only (not HTML) required !
     
    Назад
    TopList Aport Ranker
    Hosted by uCoz