Friday, September 16, 2011

Tutorial 3 : Getting started with PonyProg.

Name : Getting started with PonyProg (parallel and serial port programmer)

Application
: How to configure the PonyProg to make it work with parallel port programmer.( illustrated in tutorial 1.)

Requirements and components :
  1. x86 based PC with suitable o/s  (I use windows XP SP 3)
  2. Software : PonyProg 2000 (Free to download Click here)
    (As I use windows XP SP 3, so I used to download suitable version)
  3. Refer this tutorial to generate .hex file which is to be burned in uC.
Installing the  PonyProg2000 :
  • Download the suitable version click here .
  • PonyProg2000 setup file.
  •  Double click on the setup.exe
    (This will open the installation wizard)
  • Click next .
    (This will open the licenses agreement window, accept the licenses and click next)
  • Select installation directory, by default it is C:\Program Files\PonyProg2000.
    (To change the installation directory click on Browse option)
    Click Next .
  • Click Next : This will create the start menu shortcut .
  • Click on the Install to install PonyProg2000
  • This will install the PonyProg2000 on your system.
    Un-check  the View README.TXT check box.
    Then Click on the Finish .

This will complete the installation on your system.

Configuring PonyProg2000 :
  • Now right click on My Computer .
    Then click on Manage
  
  • This  will start Computer Management wizard
    In the console tree (on left hand side) click on Device Manager
  

  • Now expand Port (COM & LPT ) menu.
    Note down the Printer Port.
    Here, I'm having LPT1. 
     
We need all this stuff for configuring the PonyProg2000
  • Turn on your speakers to enjoy special sound effect !!
    Click on start -> All Programs -> PonyProg -> PonyProg2000

    (This will start the PonyProg2000)

  • Now click on OK.
  • This will open a pop-up window asking you to run the calibration
  • Click on OK.
  • This will open one more pop-up saying "Initial setup is require".
  • Click on OK.
    (Now PonyProg2000 is ready for configuration.)
 Above fig shows the default view of PonyProg2000
________________________________________________________
STEP 1: Interface setup...
________________________________________________________
In menu bar click on the Setup and then click on the Interface Setup.. 
 
This will open up the I/O Port Setup window.
________________________________________________________
STEP 2 :
________________________________________________________
Click on Parallel (radio button) to select the Parallel programming mode.
From drop-down menu below Parallel (radio button)
select the Avr ISP I/O .
Then click on LPT1 (radio button).
(as shown below)
Now click on OK, to complete the I/O Port Setup
NOTE : Do not disturb the other settings .

________________________________________________________
STEP 3 : Calibration
________________________________________________________ 
In menu bar click on Setup and then click on Calibration .
This will open the window asking for your conformation.
Note : Remove all the connection from LPT1 (if there are any)
Click on Yes button.
This will calibrate the bus timing.

Another pop-up window will come up saying that, Calibration OK.
Click on OK.
Now we are done with initial setup !!!
It's time to select the Micro-controller.......



________________________________________________________
STEP 4 : Device selection
________________________________________________________
In menu bar click on device button, this will open a drop down menu.
Move the mouse pointer to AVR micro, this will open a drop down list of the AVR micro-controllers those can be programmed using PonyProg2000
Select the appropriate one by clicking on the option,
(Here I'm selecting ATmega16)

________________________________________________________
STEP 5 :
________________________________________________________
Once we change the device to ATmega16 one can notice the two changes
1.  In navigation tool bar you will find AVR micro and Atmega16 on left hand side.
2.  status bar will also display the same settings.(at bottom)

________________________________________________________
STEP 6 : Loading the .hex file in PonyProg2000
________________________________________________________
To find how to locate the .hex file after successful compilation (using CodeVisionAVR) refer this tutorial (click here)
(path will be ##/cvavr2>Bin>Exe)
Now we can locate the Hello_embedded.hex file.
To load file ->
1.  In menu bar click on the File and select Open Device File ... option

2.  This will open the "Open device content file" window.
3.  Change the "File of type" option to .hex (as shown below)
4.  Navigate to proper folder in order to find the .hex file using look in drop-down menu.
5.  Now select the  Hello_embedded.hex and then click open button
6. This will load the Hello_embedded.hex in PonyProg2000 (see fig bellow)


________________________________________________________
STEP 6 : Programming the micro-controller
________________________________________________________
(some people also refer it is as Burning uC or writing uC

1.  Connect the Parallel port programmer to Parallel port (PC) and programming pins of development board (micro-controller).
2.  In menu bar click on the command and then click on Write All option.

3.  PonyProg will ask for your permission .
4.  Click on the Yes button.
5.  Now PonyProg will write and verify the code, it will take 1-2 minutes
6.  After the successful write operation PonyProg says "Write successful".
Click OK button to complete the procedure.
7.  Now carefully remove the parallel port programmer from micro-controller board, and press Reset button on development board.

Enjoy Output.


Note :
This is how normal operation of PonyProg takes place.
Remove the programmer from development board to see output.
Your queries and suggestions are always welcome.

7 comments:

  1. sir i m working at ponyprog 2000.....with AT89S52 controller.......sr no problem in calibration bt sr as i "read device" option..it says that communication port is not available..........sr plz help me out........my email id is ......lokesh.tiwari90@gmail.com

    ReplyDelete
  2. Hi, Pls check your mail inbox ..

    ReplyDelete
  3. Dear sir as i click on "write all" in the Command option .....after that i click on yes for confermation...after that it shows me a message that "device missing or unknown device(-24)".
    plz help me out sir.

    ReplyDelete
    Replies
    1. Hi, Lokesh
      Basically there are two things to be taken into account,
      1.) Hardware you are using as programmer.
      2.) Software that will transfer .hex file to uC (though H/W)

      For part 1. [Hardware]

      A.) Please make sure that, H/W you are using is proper & works for AT89S series.

      B.) Pleas check this image from PonyProg2000 : http://www.lancos.com/e2p/avrisp-siprog.gif, as per PonyProg2000 this works with AT89S series.

      C.) If you are using H/W with parallel port connector, then check the LPT1 configuration in BIOS mode. It should be Bi-directional.(Pleas refer my mail dated Nov 9, 2012)

      For part 2. [Software]

      A.) Latest version of PonyProg2000 supports only AT89S8252 & AT89S53.

      B.) Every uC has its own signature from manufacturer, PonyProg will check it to make sure that the device is supported on PonyProg platform, AT89S8252 & AT89S52 have different signatures.
      (I'm bit of doubtful about PonyProg support for AT89S52)

      I suggest you to go ahead with ATmega series ...

      Delete
  4. Hi, Lokesh
    Basically there are two things to be taken into account,
    1.) Hardware you are using as programmer.
    2.) Software that will transfer .hex file to uC (though H/W)

    For part 1. [Hardware]

    A.) Please make sure that, H/W you are using is proper & works for AT89S series.

    B.) Pleas check this image from PonyProg2000 : http://www.lancos.com/e2p/avrisp-siprog.gif, as per PonyProg2000 this works with AT89S series.

    C.) If you are using H/W with parallel port connector, then check the LPT1 configuration in BIOS mode. It should be Bi-directional.(Pleas refer my mail dated Nov 9, 2012)

    For part 2. [Software]

    A.) Latest version of PonyProg2000 supports only AT89S8252 & AT89S53.

    B.) Every uC has its own signature from manufacturer, PonyProg will check it to make sure that the device is supported on PonyProg platform, AT89S8252 & AT89S52 have different signatures.
    (I'm bit of doubtful about PonyProg support for AT89S52)

    I suggest you to go ahead with ATmega series ...

    ReplyDelete
  5. Hi,

    I use a dell 610 with LPT port.

    In the bios settings i have 2 bi-directional settings for LPt port : EPC and IBM AT. Which on is correct ?

    Thanks.

    ReplyDelete
    Replies
    1. Hi dear,
      Sorry for late reply.
      Pleas use EPC settings.

      Delete