Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Best Available 16-bit uController

Status
Not open for further replies.

memarian

Full Member level 5
Joined
Aug 11, 2004
Messages
256
Helped
57
Reputation
114
Reaction score
34
Trophy points
1,308
Activity points
2,008
the best ucontroller

Dear Friends,

I need a 16-bit microcontroller,with Maximum DSP features available and

Maximum Arithmetic speed available. It must can multiply two 16-bit numbers in

one cycle.If it has a fpu it is much better and at least 33MHz Clock.

I don't need any peripheral.(Except a SPI or UART)

Thanks.
 

lpc3180 adc

Hi,

this device is not very popular outside industrial and automotive but it does have real DSP extension and a single cycle MAC.
The XC16x from Infineon.
Pick the smaller devices because for the bigger ones you pay for the peripherals and the on-chip memory which you said you do not need.

To have a MUCH higher Arithmetic Performance you could go to an ARM9 with FPU, there is one that is low cost the LPC3180 from Philips. Don't think there is anything else on the market with a similar price / performance.

You can get one from Digikey at $11.25 or if you need 100 or more it is below $9

https://www.digikey.com/ type LPC3180 into search box.

Check for the handling though if you need to build you own hardware, it is tricky, fine pitch BGA.

Hope this is helpful, Bob
 

tezzaon

bobsanjose said:
Hi,

The XC16x from Infineon.

To have a MUCH higher Arithmetic Performance you could go to an ARM9 with FPU, there is one that is low cost the LPC3180 from Philips.
You can get one from Digikey at $11.25 or if you need 100 or more it is below $9

h**p://www.digikey.com/ type LPC3180 into search box.

Check for the handling though if you need to build you own hardware, it is tricky, fine pitch BGA.

Dear Bob,

Thanks for your help.LPC3180 has very attractive features but i can't use it.
it has many features that i don't need them like as DMA Controller,DDR Ram
interface & ...

XC16x Chips have very good features .I think it can be one of the best choices available now.
But about Microchip dsPic & Pic24 digital signal controllers.do you have any information about them?(Performance & ...) I'm not familiar with microchips
uControllers.

and finally i found a 8051 single clock machine cycle upto 200MIPS with FPU
up to 100MFLOPS Chip!It's from Tezzaon semiconductor but bacause it is a 8-bit
microcontroller i think when i want to multiply 16-bit variables it takes more
machine cycle & more time than a 40 MHz 16-bit microcontroller like as XC16x series.

note : Tezzaron Semiconductor Super 8051
https://www.tezzaron.com/OtherICs/Super_8051.htm

Thanks again for your help.
 

memarian said:
Thanks for your help.LPC3180 has very attractive features but i can't use it.
it has many features that i don't need them like as DMA Controller,DDR Ram
interface & ...


Extra features don't matter at all. If it's the best bang for the buck then that's it.


Haven't needed it myself, but looking at the datasheet PIC24 does look pretty interesting..

PIC24FJ128GA

• 17-bit x 17-bit Single-Cycle Hardware
Fractional/Integer Multiplier
• 32-bit by 16-bit Hardware Divider
• 16 x 16-bit Working Register Array

16 cycles for the 16 bit divides though.

Got some on the desk, just working on other things ATM..

Realize no one can be much of any help without knowing something about what you really need to do. Most real world tasks with any real kind of computation have dedicated chips that do an easier and better job. You've changed requirements from just needing FP multiply and divide (which you likely don't really even need with proper software anyway..), to really fast operations of the same. Hiding what you want to do is fine if that's what you want, but realize no one will be able to help you much or point you towards better methods if that's the case. No way to make even a good guess at what controller without some reasonable idea of how much computing power is really needed. You'll basically have to get up to speed a bit on 6 or 8 candidates and decide for yourself..


I'd expect you'll end up overshooting by a factor of 4 to 10 or more the minimum controller to do the job. Not too big a deal though these days with so many cheap controllers, likely the cost won't even be 50% or double cost over the cheaper controller.


ARM for ~$10 sounds like a deal too. If you're complaining about the extras because you want one cheaper without add-ons then don't bet on it. It doesn't make any sense to build a complex unit with nothing else, you won't see a 32 bit multiplier 8 pin PIC for a reason. The one with the extra parts will be the cheapest, because it's what most people want. The 'extra' actually has a negative cost for you, it makes your price lower from being what the larger majority want in their controller. Won't make sense to pay more to leave it out, except in rare low power circumstances.


Realize that that you only want a SPI or UART is what makes me think you have no real need for anything near what you're asking. A lower end 16F or 18F series PIC could easily outperform anything you're likely to get in and out of a serial port. Not that it can't be done with encryption algs etc, but likely you're not doing anything near that complex, you're just not up on the ways to do higher math in a lower processor and looking for a shortcut. That's fine too, but the extra crap is all going to come along with the extra math functions. You're going to have waste with getting the FPU or math unit etc, which again probably includes even buying the FPU in the first place. But certainly easy and still cheap enough, just get past the idea of wasting large parts of the controller. It's simply cheaper and easier to waste parts of a cheap large controller than find a limited but still with FPU version..
 

Alan69 said:
Realize no one can be much of any help without knowing something about what you really need to do.

Dear Alan,

First,I must thank you for your help.
I want to implement FFT Algorithm.I want to choose an algorithm that uses
Integer (Int:16-bit) variables not float variables because if i want to use FFT
I need FPU.and also i have a limmited time to computing FFT;I have a pulsed
modulated RF Signal that i must detect it's RF Frequency in less than 300us
and save it in E2PROM and also sending to a PC.
because this RF Pulse repeated with various rf frequencies at least every 350us.
(pulse to pulse varies from 350us to 1s and i don't know when next pulse is coming.
about 1us before RF Comming,i receive an interrupt.)

I see some application notes from Dallas/Maxim & Silicon Labratories on FFT.I
already have KEIL for C166 & ARM,It seems Microchip uControllers needs MPLab
from Microchip to compile C and not implemented in KEIL.I don't want to pay
more for a seperate compiler.

Thanks
 

memarian said:
I see some application notes from Dallas/Maxim & Silicon Labratories on FFT.I already have KEIL for C166 & ARM,It seems Microchip uControllers needs MPLab from Microchip to compile C and not implemented in KEIL.I don't want to pay more for a seperate compiler.

Thanks
You don't have to pay to have a C compiler (C30 for dsPIC and PIC24) from Microchip. They do offer a Student Edition version of the C compiler, which will fully function in 60 days, then disable some optimization levels afterward.
MPLAB IDE is always free from Microchip (offering you an IDE, a simulator, and some other facilities).

Cheers,
 

Ok, from there I'd say first you need a solid analysis of if you even need a FFT.

FFT is like a 10 million dollar home. If all you really need is a $595 storage shed, it doesn't make good economic sense to buy the large home to store a small pile of stuff.

Averaging finds your base signal level. Crossings vs time is used to get frequency. Once you have that burst's carrier frequency it's easy enough to look through the data again for modulation, FM or AM. This doesn't require anything near FFT. Won't matter if it's 'hopping', you simply figure out each new carrier freq. You're not likely needing to decode a bunch of carriers all at once. FFT is like a huge eyeball array that can see all the different colors at once and tell how much of each color is in even a huge mix of all the colors. You likely just need one eyeball to look at one thing and say which color is being shown, one at the time.

FFT is used for if you had like a 'chord' of many different carriers being used at once to encode. It looks deep in the data and seperates out a lot of information. Unlikely what you're following is using anything near that complex. Even if you wanted to make it hard for encryption etc, it's easier and better for them to just add good encryption codes than to do something complex like this that could still be broken easily enough.



If the signal is that complex and you really DO need FFT, then you'd need to start in an FFT forum. Starting with how much FFT you need to pull out the info you need, how many calculations it'd take, then look at if anything is even capable of doing it in real time with the ability and speed you need. If not you'd have to look at hardware solutions or non-realtime ideas..

Not much point in looking at it from the controller end first. The fastest might still be 10 or 100 times less than needed to do what you want in the short time periods.

Now there are stripped down modified FFTs etc. But even they will likely do more than you need, and no doubt the more you strip out extra power the closer it'll approach to doing it directly as described first. Unless you really need something as versatile as even a thinned down FFT, you're probably much better off to figure out exactly what you do need similar to above and program for it directly.


Of course I don't use things of this nature often, just follow the discussions sometimes. Again best place to really find what you need would be a FFT board or list. Could be something that would make sense for you, I haven't looked at it closely in quite some time. But pretty sure the relative ideas are close, and that it's usually done either post mortem or in hardware because it's a fairly heavy duty problem..

Alan
 

ADSP12xxx, 16 bit fix point, 160 MHz 14 bit ADC 20 Msps, many flash RAM, . . . . .
 

Dear Alan,

Thanks for your great help.I realy need fft,because the carrier frequency have
12MHz Bandwith without any modulation (Like FM,Only Pulse modulated Carrier).

I'm working on FFT Algorithm,Simulating in Matlab and writing example codes for
16-bit (&ARM) Microcontrllers in Keil.at my best simulated algorithm using Integer (16bit)

variables,I needs about 4608 (16bit*16bit) Multiplication,if the selected controller
can multiply 16bit*16bit in a machine cycle (clock 33MHz),it takes about 140us.

for other computation & program parts ,they take about 5000~5500 machine cycle
(150~165us).I think if i can use a 16bit or 32bit microcontroller with a clock more

than 33MHz that can multiply 16bit variable in a machine cycle i can do it.

Finally, I found STR71xF Microcontrollers from STMicroelectronics,(ARM7TDMI
32-Bit,66MHz),Specially STR715 (without CAN,USB & ...).I think this uController

& XC164LM from infineon are best choices for me.(XC164LM with 40MHz Clock,
I must work more on FFT algorithm to use this uController.)

Best Regards.
 

Ok,

First, note that even with wide bandwidth needed, simple crossings over time calculations can still cope with 12 MHz easily. FFT isn't a bandwidth thing, it is a 'many frequencies all at once' thing. It has a bandwidth that the calculations will be able to see but it is still for multiple signals all at once. If it's one carrier at a time hopping around in the bandwidth it could still be done with easier calculations..

But, it at least sounds doable with your estimated number of calculations. Still haven't really used, but I've looked at ARM some before so some other notes..

Digikey used to have Intel Strongarm. 200 MHz ARM was like $50.. Don't think it was there last time I looked though. And I think the ARM goes up to 400 MHz or so from last time I looked at it much, a year or two ago. Maybe even more but 400 MHz was highest that didn't have crazy pricing etc..

By the time you get even a $10 ARM chip, and make a small system, it'll cost a little bit. Instead of making your own, look on google for the self development PDA forums. An older lower end PDA with a 100 MHz or better processor, already built with nice features and screen, with good assembly tools available and more can probably be had for less than $100. You may even be able to find something decent with a street price of $50. Generally it will make more sense than making your own board, you would have to make a lot to do better than a used or lower end PDA. Look at the Gameboy Advance Dev page too, GBA is ARM, and a used GBA here has a street price around $25-$50, and I know there is development for it. Ah just looked it up, 16 MHz in ARM or Thumb mode..



https://www.devrs.com/gba/files/gbadevfaqs.php#GBAScreen

Still probably better off with an old model PDA, you can probably get a 100 or 200 MHz ARM for not much more with an older B&W screen model.. I've looked into it a few times for ARM speed, but most of my stuff is hardware oriented so I have ended up staying with PICs.

Alan
 

You don't need to pay for dsPIC C30 compiler since it's based on GNU gcc. Because of GPL license Microchip has to publish sources and you can build C30 compiler yourself.
Full build process description here...
 

Dear Friends,

Thank you all for help.I'm just going to use an ARM9E Microcontroller because

of speed,special dsp instruction set,and also it is 32-bit processor.(STR91x,96MHz)

My Application needs huge Arithmetic (16&32bit)calculations and Ram,and because of that

i decide to use an ARM Microcontroller.

Thanks again.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top