- Wed May 09, 2012 12:11 am
#144169
I'm looking to migrate a product from Microchip (due to many bugs with them I have found when getting to large 20kb+ size code with many different PICs).
It took a good while to figure out what ARM products are what, 8bit, 16bit, 32bit, what is top spec and low spec, and generally finding out any difference between any of them was not very clear.
I have finally come to the conclusion the ARM7 and 9 are more legacy so they are out, the R are for applications IIRC so too high up for embedded projects, and the Cortex are the most popular range. Within the Cortex the M0 are the basic embedded starting point, and the 3 and 4 just get more involved and aimed at running OSs etc... which again is more than my needs. Is that about right?
So with the Cortex M0 and M0+ as the choice, I found another issue of finding out which one to buy as unlike Microchip there isn't just a range of M0 and M0+ chips for example, but many different companies making spin-offs based on the Cortex. Cutting through all the crap I found NXP seem to be a good choice. Anyone recommend them or others?
Anyway, back to my question - the biggest issue I have found is the ADC channels on any range. My current product I want to migrate needs at least 10 but ideally 14 channels, but any Cortex even top spec I can only find 8 channels.
Are the channels remappable to different pins so I can switch to difference sources or are they fixed? I only need to read one channel at a time although reading multiple would be good, so if the channels could be swapped to any pin in code that would work. Otherwise I don't have a solution.
I could just use an analog switch to change sources but that has many more issues down the line in code and effeciency for me, so would really like to keep it on one chip like it already is.
It took a good while to figure out what ARM products are what, 8bit, 16bit, 32bit, what is top spec and low spec, and generally finding out any difference between any of them was not very clear.
I have finally come to the conclusion the ARM7 and 9 are more legacy so they are out, the R are for applications IIRC so too high up for embedded projects, and the Cortex are the most popular range. Within the Cortex the M0 are the basic embedded starting point, and the 3 and 4 just get more involved and aimed at running OSs etc... which again is more than my needs. Is that about right?
So with the Cortex M0 and M0+ as the choice, I found another issue of finding out which one to buy as unlike Microchip there isn't just a range of M0 and M0+ chips for example, but many different companies making spin-offs based on the Cortex. Cutting through all the crap I found NXP seem to be a good choice. Anyone recommend them or others?
Anyway, back to my question - the biggest issue I have found is the ADC channels on any range. My current product I want to migrate needs at least 10 but ideally 14 channels, but any Cortex even top spec I can only find 8 channels.
Are the channels remappable to different pins so I can switch to difference sources or are they fixed? I only need to read one channel at a time although reading multiple would be good, so if the channels could be swapped to any pin in code that would work. Otherwise I don't have a solution.
I could just use an analog switch to change sources but that has many more issues down the line in code and effeciency for me, so would really like to keep it on one chip like it already is.