Searching \ for 'Programming specifications for PIC12C5xx' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devprogs.htm?key=programming
Search entire site for: 'Programming specifications for PIC12C5xx'.

Truncated match.
PICList Thread
'Programming specifications for PIC12C5xx'
1998\02\27@005831 by Shahid Sheikh

picon face
part 0 1934 bytes
I was looking at the programming specifications for the PIC12C5xx chip (http://www.microchip.com/10/Datasheet/Specs.htm) in an effort to design my own programmer.

A few things that I'm not clear on. First of all, under section 2.2 "Programming Pulse Width" it recommends a programming pulse width of 100 us. However, in the timing diagram they have used a 100 ns pulse. Should that be a 100 us pulse in the timing diagram?

Next, under section 2.4.1.4, it says in bold letters "A load data command must be given before every begin programming command". So if I understand this correctly, after I'm done loading the data, I have to send a begin programming command to actually program that memory location? Do I have to issue a programming command after every load data command before I increment the address or do I load all the data for all the locations and then issue the begin programming command. This doesn't make any sense. It would be a lot more logical to issue the begin programming command BEFORE issuing the load data command and not the other way around like the specs specify. Then once all the locations are programmed, issue the end programming command. Also, I'm not sure if I understand the definition of "programming pulse" in that section. Are they saying that I have to issue the End Programming command after 100us of issuing a Begin Programming command? Again, this doesn't make any sense. Maybe I'm not reading it correctly. Can someone please explain.

Then in the second table of Table 5.1shouldn't P5 and P6 be in ms like the timing diagrams show? Also Note 2 is in contradiction to the conditions specified under 2.1.1 of the document.

Finally the timing diagrams are a bit confusing too but I guess if you make the pulse width 100us, it makes more sense.

If anyone has looked at this before and can clear these few things for me, I would appreciate it.

Thanks,

Shahid

1998\02\27@121718 by Alessandro Zummo

flavicon
face
Il 27-Feb-98, Shahid Sheikh scrisse:


> A few things that I'm not clear on. First of all, under section 2.2
"Programming Pulse Width" it recommends a programming pulse width of 100 us.
However, in the timing diagram they have used a 100 ns pulse. Should that be a
100 us pulse in the timing diagram?

A programming pulse is defined as the time between the begin
programming and the end programming command...  were you've got that
100ns value?

> Next, under section 2.4.1.4, it says in bold letters "A load data command
must be given before every begin programming command". So if I understand this
correctly, after I'm done loading the data, I have to send a begin programming
command to actually program that memory location? Do I have to issue a
programming

The procedure is:

1) Load Data
2) Program pulse
3) increment Address
4) goto 1)


A program pulse is:

1) Begin programming
2) Wait n uS
3) End programming


command after every load data command before I increment the address or do I
load all the data for all the locations and then issue the begin programming
command. This doesn't make any sense. It would be a lot more logical to issue
the begin programming command BEFORE issuing the load data command and not the
other way

No.. the load data latches the data in memory and the begin programming
command
will effectively store it... every programmable device as a system like this..
firs load
and then program.

around like the specs specify. Then once all the locations are programmed,
issue the end programming command. Also, I'm not sure if I understand the
definition of "programming pulse" in that section. Are they saying that I have
to issue the End Programming command after 100us of issuing a Begin
Programming command? Again, this doesn't make any sense. Maybe I'm not reading
it
correctly. Can someone please explain.

You've probably readed it too fast... a programming data sheet should be
readed carefully....
anyway,  if you've readed this message carefully you've already got the
definition
of "programming pulse" :-)

> Then in the second table of Table 5.1shouldn't P5 and P6 be in ms like the
timing diagrams show? Also Note 2 is in contradiction to the conditions
specified under 2.1.1 of the document.
Figure 5-1 is wrong.. the correct unit is uSec
I think chapter 2.1.1 is the correct one...someone confirm this?

1998\02\28@154647 by Jens.Madsen

flavicon
face
You may like to see my 12C5XX software at:

  http://www.ebar.dtu.dk/~c888600/newpic.htm

It is with source and may answer the questions. It is not total free,
but is free for anyone supporting my programmers.

Regards,
Jens Dyekjfr Madsen

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...