Searching \ for '[PIC]: PIC vs AVR ?' 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/devices.htm?key=pic
Search entire site for: 'PIC vs AVR ?'.

Exact match. Not showing close matches.
PICList Thread
'[pic]: PIC vs AVR ?'
2000\06\14@130541 by jamesnewton

face picon face
techref.massmind.org/techref/default.asp?url=cheapucs.htm
may provide some information of interest to you.

BTW, you should add [pic]: to the start of the subject line when posting pic
related questions.

---
James Newton spam_OUTjamesnewtonTakeThisOuTspamgeocities.com 1-619-652-0593


{Original Message removed}

2000\06\14@131414 by Bennett, Matt

flavicon
face
I've been using PICs for a while, but earlier this year moved to a new job
where AVRs are used pretty extensively.  The AVRs are quite reasonably
priced in quantity, *IF* you can get them.  The biggest problems with AVRs
right now is a serious lack of capacity for large quantities.  For 10,000+
quantities, they were taking allocations for August in May, and I've heard
rumour of near 30 week lead times.  We can get samples for our prototypes,
but finding large quantities really hard (impossible, it seems).

AVRs have some quirks - not all registers are created equal- on the
8515/4414 there are 32 registers, but some of the ALU functions only work on
the top half of 'em.  Unlike the PICs, where all the RAM can be used as a
register, the AVRs have separate RAM/register space (it is linearly
addressed though).  The linear addressing is a nice departure from the PICs
where you need to do all that bank switching.

This isn't to say that PICs don't have their own quirks, but once you've
learned one set of quirks, it can be hard to change your way of thinking.

AVRs have a single clock instruction cycle- I've been able to get much more
bit banging done with the AVR.

The AVRs have a *much* better indirect addressing scheme, and you can access
the program space to do checksums on your code.

The 18CXXX PICs seem to be aimed directly at the AVRs, and once they get the
flash going on the 18C parts the AVRs will have some serious competition.

There is no 1 universal programmer for AVRs like there is for PICs (PICStart
Plus).  We've got at least 3 different programmers to handle the different
flavors of AVRs we have been using.

For most applications, they are pretty equivalent, though the AVR may have a
bit of a speed advantage/clock cycle, which can translate into lower power
(to match instruction to instruction, a PIC would have to go 32MHz to match
a 8MHz AVR).

For my home projects, I can't beat the PIC- I can get the parts quickly, the
support from the piclist is good, and programmers are widely available.

Matt Bennett
{Original Message removed}

2000\06\14@202319 by Jim Robertson

flavicon
face
At 12:12 PM 6/14/00 -0500, you wrote:

>
>There is no 1 universal programmer for AVRs like there is for PICs (PICStart
>Plus).  We've got at least 3 different programmers to handle the different
>flavors of AVRs we have been using.

Actually, though unofficially, The WARP-13 PIC programmer with the latest
firmware will program ALL AVR types including  tiny, AVR and mega AVR (And
the 89S53, 89S8252.)

The high Voltage serial mode is supported as is page mode programming. (The
newer AVRs can be programmed within three seconds, compare that to the
two minutes + for the 16F877.)

The firmware for this is shipping with current WARP-13s and the driver is
on my web site. Yet to be produced are the wiring details but if I'm hassled
then I'm sure they will be forthcoming.

Also:

The newer AVRs have inbuilt self-programming and lock modes to put microchip
to shame.

Signed and unsigned multiply.

Baud rate doubling over existing AVRs.

All AVR parts allow direct loading of registers without the need for loading
a working register first. In many ways you have 16 W registers and this will
result in smaller , faster code everytime.

AVR is C compiler friendly, pics are not.

AVRs support position independent code though on a micro this is not that
useful.

Now if ATMEL could actually supply these parts...  Hmmm...




Regards,

Jim Robertson
NEWFOUND ELECTRONICS
________________________________________
Email: .....newfoundKILLspamspam@spam@pipeline.com.au
http://www.new-elect.com
MPLAB compatible PIC programmers.
________________________________________

2000\06\15@020158 by Philippe

flavicon
face
# All AVR part can be programmed using ISP, you may find a small ISP
serial board at http://www.vmdesign.com. This is an important thing when doing
prototype, program and reprogram just by plugging a connector ...

# All AVR have integrated EEPROM that allow to save some parameters, depending
the application this can be or not an advantage, but save space and code when
needed an EEPROM.

# AVR have 16 register connected to the ALU, that allow really faster
processing than PIC, so they are TRUE RISC !. Doing just a register
manipulation will take exactly twice the code place with PIC than needed
in an AVR.

# AVR have a FLAT addressing scheme, allowing direct RAM manipulation
even on I/O and register that are only artificially separated. 3 direct
pointer allow indirect manipulation with auto-increement.
No bank switching is needed here. 40 Pin AVR can be extended with external
SRAM if necessary.

# Interrupt response time: Only one register need to be save, the other can
be just moved into low area. This allow really quick INT response.

# A Very important point is the STACK: most of PIC have a stack limited
to PC saving and 8 level, many user forget that !
AVR have a real stack, allowing pushing and poping parameters. This make it
high level language friendly, C, PASCAL ... and really simplify programmer
life.
In addition multi-tasking can be done here using the stack instead of
heavy PC register manipulation ...

# About wake up capability: This is true when using a crystal, the condition
need to be matched during the oscillator wake-up, that means at least
during 10 to 18 ms depending the crystal. But this can be dramatically
reduced to a few microsesond if using a ceramic resonator, when crystal
precision is not needed.
In addition this wake up condition is true for POWER-DOWN mode that is
different from SLEEP mode.
Nether forget wake-up will take at least the same time, whatever the micro-
controller used.

# AVR does not have brown-out circuitery, so you may need to use an external
RESET brown-out circuit: DS1811, MIC705, MAX...

# Price in small quantity (<500) are higher than PIC, this is also a
problem with AVR, I believe this is due to FLASH and EEPROM presence that
make the price difference.

# Some good compiler and tools are available: C ImageCraft, Embbeded PASCAL,
AVR Basic, AVR-RTOS, UMPS ...

Regards,
       Philippe.

 +--------------------------------------------------------+
 | Virtual Micro Design                                   |
 | UMPS: Universal assembler/disassembler/simulator       |
 |        for AVR, PIC, HC05, HC11, 8051, ST6, HOLTEK ... |
 |                                                        |
 | E-Mail: infospamKILLspamvmdesign.com                              |
 | URL:    http://www.vmdesign.com                        |
 +--------------------------------------------------------+

2000\06\15@061604 by mike

flavicon
face
># About wake up capability: This is true when using a crystal, the condition
>need to be matched during the oscillator wake-up, that means at least
>during 10 to 18 ms depending the crystal. But this can be dramatically
>reduced to a few microsesond if using a ceramic resonator, when crystal
>precision is not needed.
>In addition this wake up condition is true for POWER-DOWN mode that is
>different from SLEEP mode.
I meant power-down mode. Sleep mode is not especially low-power.
>Nether forget wake-up will take at least the same time, whatever the micro-
>controller used.
Yes - the point I was making was that external edges/pulses sometimes
need external hardware to latch them to guarantee wake-up.

2000\06\15@124542 by M. Adam Davis

flavicon
face
Why does it take so long for the warp-13 to program the f877?  My Picstart does
in in a matter of seconds (greater than 10, perhaps, so not as fast the the AVR
it looks)...

-Adam

Jim Robertson wrote:
> The high Voltage serial mode is supported as is page mode programming. (The
> newer AVRs can be programmed within three seconds, compare that to the
> two minutes + for the 16F877.)

2000\06\15@194151 by Jim Robertson

flavicon
face
At 12:44 PM 6/15/00 -0400, you wrote:


Bull! The WARP-13 will program the F877 faster than the picstart plus
everytime.

How can any programmer program the F877 in 10 seconds?

Lets see.
8192 x 0.01 = 81.92 Seconds program time alone. This is before you add the
serial comms overhead of 4 bytes @ 19200 baud.

The picstart plus takes over two minutes to program the 16F877 and in fact the
time I quoted was the picstart plus time and not the WARP-13 time as the
WARP-13 can be quicker.

I would be most interested in how you can be programming the 16F877 in 10
seconds with a picstart plus...

Jim


>Why does it take so long for the warp-13 to program the f877?  My Picstart
does
>in in a matter of seconds (greater than 10, perhaps, so not as fast the
the AVR
>it looks)...
>
>-Adam
>
>Jim Robertson wrote:
>> The high Voltage serial mode is supported as is page mode programming. (The
>> newer AVRs can be programmed within three seconds, compare that to the
>> two minutes + for the 16F877.)
>
Regards,

Jim Robertson
NEWFOUND ELECTRONICS
________________________________________
Email: .....newfoundKILLspamspam.....pipeline.com.au
http://www.new-elect.com
MPLAB compatible PIC programmers.
________________________________________

2000\06\15@223127 by Damon Hopkins

flavicon
face
Jim Robertson wrote:
{Quote hidden}

I noticed that in somewhere either in the WARP-13 software or maybe
MPLAB.. maybe both.. there is a setting to program the entire chip or
just the part needed.. my gues is that somewhere these settings are
enabled differently either mplab or the warp-13 program) and that is
what is taking a long time.. also if you program the EEprom data it will
take a little longer.. w/ my 4k code it doesn't take NEARLY 2 minutes to
program a 877 with the warp-13 software.. I'm a happy customer..

                       Damon Hopkins

2000\06\15@224621 by Jim Robertson

flavicon
face
At 10:19 PM 6/15/00 -0500, you wrote:
>Jim Robertson wrote:
>>
>> At 12:44 PM 6/15/00 -0400, you wrote:
>>
>> Bull! The WARP-13 will program the F877 faster than the picstart plus
>> everytime.
>>
>> How can any programmer program the F877 in 10 seconds?
>>
>> Lets see.
>> 8192 x 0.01 = 81.92 Seconds program time alone. This is before you add the
>> serial comms overhead of 4 bytes @ 19200 baud.
>>
>> The picstart plus takes over two minutes to program the 16F877 and in
fact the
{Quote hidden}

WARP-13 ONLY, "program used space only" under the options menu.
You can select ranges with MPLAB but this is a manual  operation and
will need to be repeated from session to session.


there is a setting to program the entire chip or
>just the part needed.. my gues is that somewhere these settings are
>enabled differently either mplab or the warp-13 program) and that is
>what is taking a long time..

A long time for MPLAB that is.

also if you program the EEprom data it will
>take a little longer..

Right, at least with the WARP-13 you have a choice whether to program it or
not.

w/ my 4k code it doesn't take NEARLY 2 minutes to
>program a 877 with the warp-13 software.. I'm a happy customer..

That is nice to know. I would reckon that 4k of code takes < 50 seconds
with the WARP-13. To program that amount into a 16F877 with MPLAB/picstart
plus would be over two minutes.  You can reduce this by selecting a 16F873/74
with MPLAB but this is not as straight forward as you need to ensure that
the PIC selected in the source code is also changed but then you'll have
potential problems with the different RAM addressing.

Stick with the WARP-13. ;-)

-Jim


>
>                        Damon Hopkins
>
Regards,

Jim Robertson
NEWFOUND ELECTRONICS
________________________________________
Email: EraseMEnewfoundspam_OUTspamTakeThisOuTpipeline.com.au
http://www.new-elect.com
MPLAB compatible PIC programmers.
________________________________________

2000\06\16@024119 by William Chops Westfield

face picon face
> How can any programmer program the F877 in 10 seconds?
>
> Lets see.
> 8192 x 0.01 = 81.92 Seconds program time alone. This is before you add the
> serial comms overhead of 4 bytes @ 19200 baud.

Where did you get 0.01 seconds per byte downloaded?  19200 is more like
0.0005 seconds per byte (or .001 per byte of object code, in hex.)

BillW

2000\06\16@032254 by Michael Rigby-Jones

flavicon
face
> -----Original Message-----
> From: William Chops Westfield [SMTP:billwspamspam_OUTCISCO.COM]
> Sent: Friday, June 16, 2000 7:39 AM
> To:   @spam@PICLISTKILLspamspamMITVMA.MIT.EDU
> Subject:      Re: [PIC]: PIC vs AVR ?
>
> > How can any programmer program the F877 in 10 seconds?
> >
> > Lets see.
> > 8192 x 0.01 = 81.92 Seconds program time alone. This is before you add
> the
> > serial comms overhead of 4 bytes @ 19200 baud.
>
> Where did you get 0.01 seconds per byte downloaded?  19200 is more like
> 0.0005 seconds per byte (or .001 per byte of object code, in hex.)
>
> BillW
>
The 0.01 seconds per byte is the *programming* time, not the download time
which is added on top of this figure.

Mike

2000\06\16@032908 by Don McKenzie

flavicon
face
William Chops Westfield wrote:
>
> > How can any programmer program the F877 in 10 seconds?
> >
> > Lets see.
> > 8192 x 0.01 = 81.92 Seconds program time alone. This is before you add the
> > serial comms overhead of 4 bytes @ 19200 baud.
>
> Where did you get 0.01 seconds per byte downloaded?  19200 is more like
> 0.0005 seconds per byte (or .001 per byte of object code, in hex.)
>
> BillW

I thought he said 0.01 seconds per byte program time.

Don McKenzie    KILLspamdonKILLspamspamdontronics.com      http://www.dontronics.com

The World's Largest Range of Atmel/AVR  & PICmicro Hardware and Software
Free Basic Compiler and Programmer http://www.dontronics.com/runavr.html
The Little "rAVeR!" AVR & Basic Kit http://www.dontronics.com/dt006.html

2000\06\16@101308 by M. Adam Davis

flavicon
face
I did not say the PICStart + programs a 16F877 in 10 seconds.  I said it was a
time greater than 10 seconds, but that it was a matter of seconds as opposed to
your understanding that it is a matter of minutes.

I haven't programmed an f876 for a few weeks, so I certianly could be mistaken
in my recollection, but I will see about programming one over the weekend and
timing it so I can get my facts straight.

You are correct in stating that no programmer can completely program the f87x in
10 seconds.  Going by the programming spec:

Start programming
10mS to do bulk erase
Programming Cycle
14uS to start programming cycle
loop:
7uS to send load data command
17uS to load 14bit word
2mS to for tprog (typical, no minimum mentioned, max is 5mS)
7uS to send read data command
17uS to read 14bit word
7uS to increment PC
endloop
 (Total = 2.055 mS per memory location
  or 16.83 seconds for 8192 locations)
Programming configuration and data eeprom
(another cycle as above for up to 261 locations
 plus a few commands is about .54 seconds)
Verify all memory locations
14uS to reset PC
loop:
 7uS to send read command
17uS to get 14 bit word
 7uS to increment PC
endloop
  (Total = 31uS per memory location,
   or .25 seconds per verify)
End programming

So, assuming a non production programmer (one verify), we can theoretically
program the complete 16f87x chip in under 18 seconds.

This from information I took from the 18f8xx programming specification.  I could
easily have missed some important step, not having actually built a programmer
myself.

But this indicates that the programming limit reaches the limit of the chip one
would use to program.  With some good programming one could probably do it with
a 5mips PIC.  An 18cxxx (scenix) chip could easily go fast enough to reach this
limit, but not the 1mips (max) chips most programmers use.  I don't recall what
clock speed the PICstart runs its chip at, but I'm sure it doesn't go this fast,
so my earlier statement must have been off.  I'll go home and program a chip
tonight to time it...

As far as serial speed, I can envision a bulk programming scheme where each word
only needs two bytes sent from the computer to the programmer (you indicated 4
bytes per location, I assume to send the programming commands, rather than put
that functionality in the firmware (at the cost of needing firware updates more
frequently)).  At 9600bps we can send 480 words/second, or 8,453 words in under
18 seconds.  (the seperate verify actually will take 18 seconds as well unless
the programming chip has stored the data onto memory to perform the verify
without the computer re-sending the data)

So, unless I'm not reading the programming spec correctly, it is possible to
program the chip (using it's typical timings, not minimum or maximum) with a
serial link to the computer @ 9600bps in under 20 seconds, with another 20
seconds to verify.

Perhaps you can enlighten me on the finer points of chip programming.  I know I
must be missing something large since you've indicated it takes 10mS to program
each location, though I'm sure that was an estimate, and probably based on using
a 1 MIPs pic to do the programming.  I'll likely look at building my own
programmer at a future date (learning experience more than necessity).

I'll try to word my replies differently in the future so as not to mislead
anyone (wrt to the > 10 second statement)...

-Adam

BTW, out of curiosity, when you say the new firmware supports the atmel, is this
a firmware upgrade that users must pay for?  If so, how much do these upgrades
cost, and are your users then allowed to sell their older programmer chip to
others?  I couldn't find this info on your web site...

Jim Robertson wrote:
>
> At 12:44 PM 6/15/00 -0400, you wrote:
>
> Bull!

Such a nice way of calling me a liar ;-)

{Quote hidden}

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