ICSP using a 16F84a to program 24CXX


Closed Thread
Results 1 to 27 of 27

Hybrid View

  1. #1
    Join Date
    Apr 2007
    Posts
    26


    Did you find this post helpful? Yes | No

    Question i2c with 16f84a in ICSP - stand alone.

    Quote Originally Posted by mister_e View Post
    http://www.ic-prog.com/index1.htm

    http://www.ic-prog.com/index1.htm

    If you're looking for a simple solution, you could skip the PIC and USE ic-PROG (or PONY-PROG) with a SI- Interface

    http://www.lancos.com/siprogsch.html
    Hi Steve,

    Thanks for the links.

    What I am trying to do is - I guess you can say that a stand alone i2c programmer for 24Cxx using ICSP.

    The following link has the schematic on pp 35:
    http://www.imagesco.com/microcontroller/pbc_man.pdf
    (the same is on pp 54 of my book)
    Also on:
    http://www.melabs.com/resources/pbpmanual/

    I have successfully wrote/write/programmed 24CXX using that. BUT I want to make one that can do the same in ICSP (In-Circuit Serial Programming).

    And I guess that is more complicated. I can do the ICSP using ponyprog/icprog using the ICSP header of olimex board. Interestingly it needs only 3(three wires) - ground,data and clock -- that goes to pin 4, 5 and 6 respectively-- But cannot do the same with my 16f84a programmer. There are few caps, resistors and transistors on the board on which the 24CX is mounted and with drawing power from these three pins, power are supplied to rest of the pins of 24CXX. I want to do the same that olimex icsp is doing. Do the same using my 16f84a.

    ---------|....................................|--------|
    My ........|---------------gnd--------|.24cxx..|
    16f84a ...|---------------dat--------|..........|
    ---------|---------------clk--------|--------|
    [DOTS are actually blanks i.e. nothing]

    I presume I need to do something like start,stop,ack,... that is used in i2c programming. Some lead would help me.

    My knowledge of the exciting world of pic is till now limited to blinking leds and prog one 24cxx on board using the schematic that comes e pbp.

    Thanks
    Aftab.
    Last edited by aftab; - 4th April 2007 at 01:18. Reason: misaligned ascii art

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    I guess I'm still missing something here...

    1) Do you want to build a stand-alone (no PC required at all) 24xxx programmer that would have a program already loaded into it, ready to program more 24xxx chips? Basically nothing more than a 24xxx chip copier...

    2) Do you want to build you own programmer, capable of only doing 24xxx type chips with a PC connected?

    3) Am I still missing a piece of the picture?

  3. #3
    Join Date
    Apr 2007
    Posts
    26


    Did you find this post helpful? Yes | No

    Red face

    Quote Originally Posted by skimask View Post
    I guess I'm still missing something here...

    1) Do you want to build a stand-alone (no PC required at all) 24xxx programmer that would have a program already loaded into it, ready to program more 24xxx chips? Basically nothing more than a 24xxx chip copier...

    2) Do you want to build you own programmer, capable of only doing 24xxx type chips with a PC connected?

    3) Am I still missing a piece of the picture?
    Hi - no you are not missing anything. Only thing is my poor way of asking question.

    1) Yes - no PC required at all. I program the 16f84a once through PC and then it keeps programming 24xxx(s). And basically it is nothing more than a 24xxx chip copier/firmware updater.

    2) That would be nice - but PonyProg can do that using olimex JDM programmer board. But need a PC with com port for that. Parallel ports are gone and com/serial port almost gone. USB is still expensive.

    3) So I guess I have been able to give the picture.

    This is like:
    http://www.winpicprog.co.uk/pic_tutorial_i2c_board.htm

    But using only 3 wires instead of 4.
    Dat/CLk provides the +ve which is kept in capacitor, transistor and powers the 24cxx. Gnd is Gnd.
    Three wire works for JDM program board of olimex - not my poor 16f84.

    Thanks
    Aftab.

  4. #4
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by aftab View Post
    Hi - no you are not missing anything. Only thing is my poor way of asking question.
    Ok...I think I might be getting the picture.
    Do you have a method to program a 24xxx chip right now?

  5. #5
    Join Date
    Apr 2007
    Posts
    26


    Did you find this post helpful? Yes | No

    Question

    Quote Originally Posted by skimask View Post
    Ok...I think I might be getting the picture.
    Do you have a method to program a 24xxx chip right now?
    Yes.
    Now I program the 24 using Olimex JDM programmer:
    http://www.olimex.com/dev/index.html

    Using the ICSP header I connect them as:
    http://www.olimex.com/dev/images/pic-icsp.gif
    3-Gnd-->gnd of 24CX
    4-PGD-->Data of 24CX
    5-PGC-->Clk of 24CX

    Using windows Pic progarmming software, I can program the 24X

    But not by 16f84a.
    Could this be a voltage issue ? or Should I try something else than i2cwrite ?

    Thanks
    Aftab.

  6. #6
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    SDA and SCL pin must be pull-up with resistors... as in the manual.

    The code example in the manual should work AS-IS
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  7. #7
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mister_e View Post
    SDA and SCL pin must be pull-up with resistors... as in the manual.

    The code example in the manual should work AS-IS
    I was just going to say that...along with adding an active pulldown on WP. Datasheet says there's an internal weak pull down, but ya never know.
    (BTW - Now I get what you're getting at).

  8. #8
    Join Date
    Apr 2007
    Posts
    26


    Did you find this post helpful? Yes | No

    Default 4.7k

    Quote Originally Posted by mister_e View Post
    SDA and SCL pin must be pull-up with resistors... as in the manual.

    The code example in the manual should work AS-IS
    I think I tried that last night - but could have done wrong.
    But when I had placed a 24C on my breadboard - it worked.
    But when I got 3 connectors to the circuit board with 24C on it, it did not work. However, I shall try that tonight once my classes are over.

    But I may sound stupid - till now I do not understand what pull-up means. I shall attach the 4.7k resistors (or other value ?). Only know that resistors are needed to pull-up(?) to program i2c.

    Shall post my result of this.

    Thanks
    Aftab.

Similar Threads

  1. Presetting Configuration Fuses (PIC Defines) into your Program
    By Melanie in forum FAQ - Frequently Asked Questions
    Replies: 82
    Last Post: - 15th December 2013, 09:54
  2. 24Cxx copier with PIC 16F84A
    By the_kid25 in forum Schematics
    Replies: 7
    Last Post: - 28th October 2013, 09:05
  3. Replies: 1
    Last Post: - 23rd May 2009, 09:22
  4. Making Program Code Space your playground...
    By Melanie in forum Code Examples
    Replies: 15
    Last Post: - 19th July 2008, 08:26
  5. Novice 16F83A BLINK LED program help
    By owali in forum mel PIC BASIC Pro
    Replies: 14
    Last Post: - 25th July 2007, 05:02

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts