By: dmsc (no.delete@this.more.spam), March 12, 2013 3:43 pm
Room: Moderated Discussions
Hi,
David Hess (davidwhess.delete@this.gmail.com) on March 7, 2013 6:30 pm wrote:
> Paul A. Clayton (paaronclayton.delete@this.gmail.com) on March 1, 2013 6:56 pm wrote:
> > David Hess (davidwhess.delete@this.gmail.com) on March 1, 2013 1:58 pm wrote:
> > [snip]
> > > I still live in 8 and 16 bit land. The more I play with ARM the more annoyed
> > > I get with it but not only because of the instruction set.
> >
> > What makes ARM annoying from the perspective one used to developing for 16-bit systems? Are
> > the "not only" reasons related to the ecosystem (e.g., implementers not providing microcontroller
> > features appropriate to specific uses or long-term supply guarantees) or to ARM, Ltd. (perhaps
> > awkward licensing restrictions or aggressive patent litigation??) or something else?
> >
> > I am curious about the ISA and the "not only" reasons as I was under the impression that the
> > Cortex M series was making progress in meeting requirements for 16-bit microcontrollers (at the
> > ISA level--code density, bit manipulation, fast interrupts, etc.--and the implementation level--e.g.,
> > decent peripheral selection [though perhaps not yet good support for variable voltage??]); but
> > I am extremely ignorant in this and would appreciate a little bit of education.
>
> I thought your question deserved a better answer so I spent some time going back over
> my notes and currently available ARM microcontrollers including the new Cortex designs
> that would be suitable. Here are some of my complaints in no particular order:
>
> 1. I do not like the packaging. DIP and SO are fine, PLCC (J-lead) would be ideal, and smaller quad
> flat packs with larger pin spacing might be acceptable. Only the last include enough memory to be an
> upgrade. BGAs and similar under fill packages are an inspection and design diagnostic nightmare.
>
> 2. Large amounts of memory are only available in packages I have no interest in using.
> As it is, in the right packages, the 8 bit microcontrollers effectively have just as
> much or *more* memory than the ARM microcontrollers. A microcontroller with direct support
> for an asynchronous SRAM interface would be fun even if it limited performance.
>
> 3. The ARM microcontrollers are significantly more expensive, like 3
> to 4 times, for less performance (see 4), functionality, and memory.
I have the exact opposite experience.
Cortex microcontrollers are cheaper, with more memory (specially flash) and
in better packages than 8 bitters.
For example, the cheapest microcontroller with >64kB RAM, >128kB flash and
no BGA package, on qty 100 at digykey is:
http://www.digikey.com/product-detail/en/ATSAM3S8BA-AU/ATSAM3S8BA-AU-ND/3128650
64MHz, cortex M3, 64kB RAM, 512kB flash, 64-TQFP package, at US$4.79.
The cheaper non ARM microcontroller is:
http://www.digikey.com/product-detail/en/PIC24FJ128GB206-I%2FPT/PIC24FJ128GB206-I%2FPT-ND/2352060
32MHz, PIC24 (16bit), 96kB RAM, 128kB flash, 64-TQFP, at US$4.91.
Both are easy to solder packages, the PIC have more RAM but much less
flash and half the speed.
>
> 4. For code that can take advantage of 32 bit operations and DSP, ARM would be faster but working with 8 bit
> data or even worse, bit oriented I/O can be slower. The bit oriented I/O is impacted by the peripheral I/O
> problem I mentioned in my other post which as far as I could tell still exists in the newer Cortex designs.
Nower cortex has bit-banged I/O memory areas that allow to toggle pins
at > 30MHz. Much faster than any 8-bitter.
Daniel.
David Hess (davidwhess.delete@this.gmail.com) on March 7, 2013 6:30 pm wrote:
> Paul A. Clayton (paaronclayton.delete@this.gmail.com) on March 1, 2013 6:56 pm wrote:
> > David Hess (davidwhess.delete@this.gmail.com) on March 1, 2013 1:58 pm wrote:
> > [snip]
> > > I still live in 8 and 16 bit land. The more I play with ARM the more annoyed
> > > I get with it but not only because of the instruction set.
> >
> > What makes ARM annoying from the perspective one used to developing for 16-bit systems? Are
> > the "not only" reasons related to the ecosystem (e.g., implementers not providing microcontroller
> > features appropriate to specific uses or long-term supply guarantees) or to ARM, Ltd. (perhaps
> > awkward licensing restrictions or aggressive patent litigation??) or something else?
> >
> > I am curious about the ISA and the "not only" reasons as I was under the impression that the
> > Cortex M series was making progress in meeting requirements for 16-bit microcontrollers (at the
> > ISA level--code density, bit manipulation, fast interrupts, etc.--and the implementation level--e.g.,
> > decent peripheral selection [though perhaps not yet good support for variable voltage??]); but
> > I am extremely ignorant in this and would appreciate a little bit of education.
>
> I thought your question deserved a better answer so I spent some time going back over
> my notes and currently available ARM microcontrollers including the new Cortex designs
> that would be suitable. Here are some of my complaints in no particular order:
>
> 1. I do not like the packaging. DIP and SO are fine, PLCC (J-lead) would be ideal, and smaller quad
> flat packs with larger pin spacing might be acceptable. Only the last include enough memory to be an
> upgrade. BGAs and similar under fill packages are an inspection and design diagnostic nightmare.
>
> 2. Large amounts of memory are only available in packages I have no interest in using.
> As it is, in the right packages, the 8 bit microcontrollers effectively have just as
> much or *more* memory than the ARM microcontrollers. A microcontroller with direct support
> for an asynchronous SRAM interface would be fun even if it limited performance.
>
> 3. The ARM microcontrollers are significantly more expensive, like 3
> to 4 times, for less performance (see 4), functionality, and memory.
I have the exact opposite experience.
Cortex microcontrollers are cheaper, with more memory (specially flash) and
in better packages than 8 bitters.
For example, the cheapest microcontroller with >64kB RAM, >128kB flash and
no BGA package, on qty 100 at digykey is:
http://www.digikey.com/product-detail/en/ATSAM3S8BA-AU/ATSAM3S8BA-AU-ND/3128650
64MHz, cortex M3, 64kB RAM, 512kB flash, 64-TQFP package, at US$4.79.
The cheaper non ARM microcontroller is:
http://www.digikey.com/product-detail/en/PIC24FJ128GB206-I%2FPT/PIC24FJ128GB206-I%2FPT-ND/2352060
32MHz, PIC24 (16bit), 96kB RAM, 128kB flash, 64-TQFP, at US$4.91.
Both are easy to solder packages, the PIC have more RAM but much less
flash and half the speed.
>
> 4. For code that can take advantage of 32 bit operations and DSP, ARM would be faster but working with 8 bit
> data or even worse, bit oriented I/O can be slower. The bit oriented I/O is impacted by the peripheral I/O
> problem I mentioned in my other post which as far as I could tell still exists in the newer Cortex designs.
Nower cortex has bit-banged I/O memory areas that allow to toggle pins
at > 30MHz. Much faster than any 8-bitter.
Daniel.