Reply by Mat Nieuwenhoven February 26, 20062006-02-26
On Fri, 24 Feb 2006 10:28:55 +0000, Pete Fenelon wrote:

>Ian Bell <ruffrecords@yahoo.com> wrote: >> >> I always thought the PIC might be a handy device. But I have used micros (4, >> 8 and 16 bit) professionally for over 20 years and the stupidly odd >> terminology the PIC uses for things known commonly by other names simply >> alienates me from the parts. >> > >The PIC is a pile of I/O lines and some peripherals with just enough >glue in the middle to hold it together as a CPU. Nobody chooses one >because of the instruction set or architectre... For a long time I >reckoned the only thing that kept Microchip going was Keeloq. > >Every time Microchip have tried to make a "more modern PIC" they've hit >the wall - PIC17 was a monstrosity which even the firm's own engineers >don't like to talk about; PIC18 is less gruesome but still too expensive >and unpleasant to program; PIC30 has a (relatively) nice architecture >but was too little, too late - conventional micros and cheap fixed-point >DSPs outperform it for less money.
I think PIC addresses a different market. They are designed as logic replacement, not as general purpose CPUs, hence the unsuitability for e.g. the C language. For logic replacement, an ARM would be way overkill, asuming it even could do it. For thing like coffee machines, hairdryers etc. a PIC is a very good solution. Mat Nieuwenhoven
Reply by Jim Granville February 24, 20062006-02-24
Jonathan Kirwan wrote:
> I have yet to see a better designed and crafted use of 16 bits for an > instruction. The JSR you mention is itself a thing of beauty and > power -- it's utility exceeds mere subroutine calls and is useful for > coroutines and more. > > For embedded processors, I can accept the idea that better might > possibly be done. For example, I'm attracted to the idea of using one > of the registers as a constant generator, combined with the addressing > modes to provide commonly found constants. The loss of a register > might be well compensated -- and I think an analysis of a large number > of real embedded applications should be done and would help to decide > if so. The MSP-430, for example, takes this approach -- but > sacrifices too much in going over the top to support 16 registers in > each and every instruction and thereby severely cripples its > addressing modes.
If you are a student of processor design, this one is worth a look. http://forums.parallax.com/forums/attach.aspx?a=5975 Bizare rollout aside, this started life as a FPGA core, and uses 32 bit opcodes, so has room for two 9 bit register fields. Similar to the Intel 196, that blurred register/ram Present silicon has a 512W memory limit (per core, of which there are 8!), but it looks like the CALL can go further, in future. -jg
Reply by Dave Hansen February 24, 20062006-02-24
On Sat, 25 Feb 2006 07:56:03 +1300 in comp.arch.embedded, Jim
Granville <no.spam@designtools.co.nz> wrote:

>Dave Hansen wrote: >> >> In the applications where I've used them, they were chosen for their >> mix of I/O and their environmental specifications. And their price. >> As the software guy, I was always looking for better alternatives, but >> everything cheaper didn't have the I/O we needed, and everything that >> did was _way_ more expensive. I remember one project I asked >> purchasing to get a quote for a Cygnal (now SiLabs) part (F300 IIRC). >> They came back with about $6.50 at 10k quantities, which was about 5x >> the Microchip part. > > That must have been a long time ago ? - In feb 2006 the quote their
Long enough that I don't remember exactly when. Maybe 3 or 4 years ago. As I said, it was Cygnal then. And the incident sticks out because it was extreme. I don't doubt their prices have come down.
>much bigger USB devices as >= $1.76/10K, for the 32x and >= $3.42/10K >for the 34x. > > Having said that, when you work out the PIC Average selling price, >it is still very close to $1 - so they clearly deliver shiploads of >vanilla devices...
It just seemed funny that Microchip almost always had exactly the part we needed, with nothing missing, and very little (if any) extra. Regards, -=Dave -- Change is inevitable, progress is not.
Reply by Jim Granville February 24, 20062006-02-24
Dave Hansen wrote:
> > In the applications where I've used them, they were chosen for their > mix of I/O and their environmental specifications. And their price. > As the software guy, I was always looking for better alternatives, but > everything cheaper didn't have the I/O we needed, and everything that > did was _way_ more expensive. I remember one project I asked > purchasing to get a quote for a Cygnal (now SiLabs) part (F300 IIRC). > They came back with about $6.50 at 10k quantities, which was about 5x > the Microchip part.
That must have been a long time ago ? - In feb 2006 the quote their much bigger USB devices as >= $1.76/10K, for the 32x and >= $3.42/10K for the 34x. Having said that, when you work out the PIC Average selling price, it is still very close to $1 - so they clearly deliver shiploads of vanilla devices... -jg
Reply by Jonathan Kirwan February 24, 20062006-02-24
On Fri, 24 Feb 2006 14:11:43 GMT, Tauno Voipio
<tauno.voipio@INVALIDiki.fi> wrote:

>Pete Fenelon wrote: >> Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote: >> >>>>The MSP430 won't teach you too many bad habits and it's a nice clean >>>>instruction set. (It'll also give you a good heads-up should you ever >>>>fall back through a timewarp and need to program PDP-11s). >>> >>>The Motorola 68xx family is a lot closer to the PDP-11. >> >> >> 68xxx maybe; 68xx doesn't have enough registers or addressing modes to >> feel like a PDP-11 -- at least not to me ;) > >6800 is kinda correct: It was all of PDP-11 Motorola could >squeeze on the silicon of that day. Motorola was using PDP-11's >for their system products, and the resemblance is not accidental. > >Of course, most of the good ideas of PDP are missing: > > - multiple general registers, > - homogenous addressing modes, > - subroutine call with register linkage > >The worst property of a 6800 is the bottleneck created >by the accumulators and a single addressing register (X). > >There are other PDP-like architectures: M68k and Hitachi H8. >IMHO, both have lost some of the beautiful simple completeness >of the genuine PDP-11.
I have yet to see a better designed and crafted use of 16 bits for an instruction. The JSR you mention is itself a thing of beauty and power -- it's utility exceeds mere subroutine calls and is useful for coroutines and more. For embedded processors, I can accept the idea that better might possibly be done. For example, I'm attracted to the idea of using one of the registers as a constant generator, combined with the addressing modes to provide commonly found constants. The loss of a register might be well compensated -- and I think an analysis of a large number of real embedded applications should be done and would help to decide if so. The MSP-430, for example, takes this approach -- but sacrifices too much in going over the top to support 16 registers in each and every instruction and thereby severely cripples its addressing modes. Jon
Reply by Everett M. Greene February 24, 20062006-02-24
Pete Fenelon <pete@fenelon.com> writes:
> Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote: > >> The MSP430 won't teach you too many bad habits and it's a nice clean > >> instruction set. (It'll also give you a good heads-up should you ever > >> fall back through a timewarp and need to program PDP-11s). > > > > The Motorola 68xx family is a lot closer to the PDP-11. > > 68xxx maybe; 68xx doesn't have enough registers or addressing modes to > feel like a PDP-11 -- at least not to me ;)
Quite true but wasn't the original poster looking for something simple for learning purposes?
Reply by Spehro Pefhany February 24, 20062006-02-24
On Fri, 24 Feb 2006 14:33:23 +0000, the renowned Pete Fenelon
<pete@fenelon.com> wrote:

>Ian Bell <ruffrecords@yahoo.com> wrote: >>> The PIC is a pile of I/O lines and some peripherals with just enough >>> glue in the middle to hold it together as a CPU. Nobody chooses one >>> because of the instruction set or architectre... For a long time I >>> reckoned the only thing that kept Microchip going was Keeloq. >>> >> >> I do know of other volume applications. They are very aggressive on price >> for high volume applications. I found one once in a hair dryer, one in an >> electric toothbrush and we actually used one once in a CO2 detector design. >> >> But I agree, they are crap devices. >> > >I don't doubt that there are *many* ultra-low-margin applications that >use PICs (and many of them could probably get by with a 555 timer and no >micro, but everything's got to have a micro in it these days, right?!) but >Keeloq seems to be the one truly profitable line of business Microchip >have. Then again they have some good points; sitting right next door to >Intel's fabs in Chandler basically means that as Intel scrap one line >Microchip can take it over ;) > >I'm not quite sure what they're trying to achieve with PIC24, either - >cutting the fixed-point DSP end off PIC30 doesn't seem to be much of >a saving? > >pete
It's all about marketing and money, not engineering and gates. It can increase their profits even if each one costs them *more* to make. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
Reply by Dave Hansen February 24, 20062006-02-24
On Fri, 24 Feb 2006 11:28:30 +0000 in comp.arch.embedded, Ian Bell
<ruffrecords@yahoo.com> wrote:

>Pete Fenelon wrote: >
[...]
>> >> The PIC is a pile of I/O lines and some peripherals with just enough >> glue in the middle to hold it together as a CPU. Nobody chooses one >> because of the instruction set or architectre... For a long time I
In the applications where I've used them, they were chosen for their mix of I/O and their environmental specifications. And their price. As the software guy, I was always looking for better alternatives, but everything cheaper didn't have the I/O we needed, and everything that did was _way_ more expensive. I remember one project I asked purchasing to get a quote for a Cygnal (now SiLabs) part (F300 IIRC). They came back with about $6.50 at 10k quantities, which was about 5x the Microchip part. I've always had good luck with their support as well.
>> reckoned the only thing that kept Microchip going was Keeloq.
Actually, I never used that.
>> > >I do know of other volume applications. They are very aggressive on price >for high volume applications. I found one once in a hair dryer, one in an >electric toothbrush and we actually used one once in a CO2 detector design. > >But I agree, they are crap devices.
Actually, they're good, solid, reliable devices with a hideous programming architecture. Cheap doesn't hurt either, especially in high-volume applications that can tolerate a little extra NRE. Regards, -=Dave -- Change is inevitable, progress is not.
Reply by Pete Fenelon February 24, 20062006-02-24
Ian Bell <ruffrecords@yahoo.com> wrote:
>> The PIC is a pile of I/O lines and some peripherals with just enough >> glue in the middle to hold it together as a CPU. Nobody chooses one >> because of the instruction set or architectre... For a long time I >> reckoned the only thing that kept Microchip going was Keeloq. >> > > I do know of other volume applications. They are very aggressive on price > for high volume applications. I found one once in a hair dryer, one in an > electric toothbrush and we actually used one once in a CO2 detector design. > > But I agree, they are crap devices. >
I don't doubt that there are *many* ultra-low-margin applications that use PICs (and many of them could probably get by with a 555 timer and no micro, but everything's got to have a micro in it these days, right?!) but Keeloq seems to be the one truly profitable line of business Microchip have. Then again they have some good points; sitting right next door to Intel's fabs in Chandler basically means that as Intel scrap one line Microchip can take it over ;) I'm not quite sure what they're trying to achieve with PIC24, either - cutting the fixed-point DSP end off PIC30 doesn't seem to be much of a saving? pete -- pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]
Reply by Tauno Voipio February 24, 20062006-02-24
Pete Fenelon wrote:
> Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote: > >>>The MSP430 won't teach you too many bad habits and it's a nice clean >>>instruction set. (It'll also give you a good heads-up should you ever >>>fall back through a timewarp and need to program PDP-11s). >> >>The Motorola 68xx family is a lot closer to the PDP-11. > > > 68xxx maybe; 68xx doesn't have enough registers or addressing modes to > feel like a PDP-11 -- at least not to me ;)
6800 is kinda correct: It was all of PDP-11 Motorola could squeeze on the silicon of that day. Motorola was using PDP-11's for their system products, and the resemblance is not accidental. Of course, most of the good ideas of PDP are missing: - multiple general registers, - homogenous addressing modes, - subroutine call with register linkage The worst property of a 6800 is the bottleneck created by the accumulators and a single addressing register (X). There are other PDP-like architectures: M68k and Hitachi H8. IMHO, both have lost some of the beautiful simple completeness of the genuine PDP-11. -- Tauno Voipio tauno voipio (at) iki fi