Intermediate/advanced microcontroller options

Discussion in 'Electronics & Electrics' started by Elder, May 8, 2008.

  1. Elder

    Elder Member

    Joined:
    May 15, 2004
    Messages:
    1,236
    Location:
    Brisbane
    I was hoping we could get a discussion going on microcontroller selection that go's a little bit further than the 'my first microcontroller' threads. I don't have particular requirements in a microcontroller. Just after a general discussion on the options available, and who does what well in peoples experience.

    For example some things I don't know and would like to:

    -ARM7/ARM9... often discussed with linux or other operating systems, especially ARM9 from what I've skimmed over so far. Difficulty of programming without an operating system?

    - ARM7.. lots of manufacturers.. eg Philips/Atmel/etc. Any comments on who's support is superior/inferior to the rest?

    - DSPs.. Zero exp here for me.. when I think about DSPs what I'd want is excellent app notes / pre-made free dsp code for common DSP tasks. Eg. If I wanted to do an FFT, I'd expect to use free code from a DSP package.. that could be found easily. I don't think I should have to worry about efficient fixed point algorithms for things I would consider common DSP tasks.. but I'd like to not pay for it too. Am I asking too much?

    - cheapish full feature dev boards, programmers etc.. cheap ways to enter into 16bit+ relatively powerful micros? Are any/many of these micros programmable directly over their UART (or whatever) to the PC straight from the dev environment? ie no programmer, press program button from within the dev environment... oh how I would like that :p
     
  2. spludgey

    spludgey Member

    Joined:
    Jun 30, 2001
    Messages:
    5,635
    Location:
    Sydney
    Can't say anything for the programming as I've never done that, but last time I worked with microcontrollers arm9 was actually cheaper than arm7. Something like a Euro price difference.

    I designed a control system around the arm9, but then we went with the arm9 because the elec engineer was used to programming them. :mad:
     
  3. Foliage

    Foliage Member

    Joined:
    Jan 22, 2002
    Messages:
    32,093
    Location:
    Sleepwithyourdadelaide
    What kind of project are you looking to build?
     
  4. OP
    OP
    Elder

    Elder Member

    Joined:
    May 15, 2004
    Messages:
    1,236
    Location:
    Brisbane
    I want to step into something more powerful than 8bit micros (or low-ish level 16bit micros). No project in mind.. personal learning.. something that is a big enough jump that its not overlapping too much with what I can do if you know what I mean. Would like to buy a feature packed dev board to play around with once I know what I'm stepping into.

    I have a rough understanding of what different systems are capable of hardware wise but it seems like a slow process to go through all the options and learn about things like:
    -total cost of entry
    -quality of dev enironment & data sheets
    -quality of compiler
    -quality/quantity of application notes
    -availability of free drivers/libraries (ready made code)
    -user support
     
  5. newmarket

    newmarket Member

    Joined:
    Jan 9, 2006
    Messages:
    45
    I'd really like to build a debian system around an arm9, or something similar. I'm thinking about an always on device serving files, and running some utility apps like asterisk, openvpn, maybe apache.

    I have an ASUS WL-500gp, and it's good but I'd like something with more grunt. That and I'd really like to try out a project like -- for fun.

    Am I way out in left field???? I don't even know where to buy an arm9.

    I would appreciate any input.
     
  6. nudge

    nudge Member

    Joined:
    Sep 5, 2001
    Messages:
    860
    Location:
    Amsterdam NL
    Texas Instruments range of DSPs have a heap of quality application notes, code libraries and code examples. They have pretty good optimising C compilers, have a royatly-free real time kernel (DSP/BIOS), and their development tools are pretty decent. Their datasheets are extremely thorough, though there I have spotted the occasional mistake in them. However their devices and development tools are not cheap. Also, their toolchain (and Code Composer) is proprietary and in most cases, Windows only.
     
    Last edited: May 12, 2008
  7. newSpeak

    newSpeak Member

    Joined:
    Jun 9, 2005
    Messages:
    185
    The 16bit MSP430 range from TI is popular in industry. There are a couple of c compilers out there, including a gnu one. I think the main selling point of msp430 range is their low power consumption.

    ARM7s are good value for money. Fast and lots of peripherals. The atmel sam7 range features hardware DMA which is kindof funky. ARM7 dev boards are everywhere. Dontronics have several to choose from.

    You can program arm7s and 9s just as you would an 8bit micro. They can take a while to get used to if you are a novice. There are a lot settings for clock options and whatnot.

    You don't need an operating system. Remember that an operating system is just a program that functions as a platform for higher level processes.
     
  8. OP
    OP
    Elder

    Elder Member

    Joined:
    May 15, 2004
    Messages:
    1,236
    Location:
    Brisbane
    Thanks guys, I think the MSP430 is a little too low end.. a little too close to the 8bit micros. The C2000 series is more like what I'd be looking at.

    nudge.. or anyone else.. anyone got experience with TI's C2000 series? I'm reading that boot loaders come standard in the boot ROM of these controllers. Sounds pretty good to me.. I should do some more reading first, but it looks like I might be able to..

    1) Sample if possible or just buy one of the higher end C2000 controllers.
    2) make my own dev board, more effort than I was hoping but I haven't found cheap dev boards yet.
    3) use a free compiler & boot loader to start with (http://www.code-skin.com/)

    I expect the free compiler isn't the type of well supported solution I'm after, but maybe this is a good starting point before shelling out money.
     
  9. nudge

    nudge Member

    Joined:
    Sep 5, 2001
    Messages:
    860
    Location:
    Amsterdam NL
    I've had quite a bit of experience with the C2000 controllers (specifically the TMS320F2810). The C2000 range of controllers are particularily useful for industrial control, automotive and power electronics applications, but are not so good at higher end DSP applications such as telecomms, audio and video (C6000 range is better for this). The reason I say this is because most of the parts in the C2000 range don't have a external memory interface or DMA channels. In addition, all but the newest of the range are fixed-point (newer ones have a FPU). One thing that is excellent about the C2000 range is its ultra-fast PWM and ADC channels, which is great for control applications. The PDPINT feature is also neat, where it will immediately tristate all PWM pins in the event of an external interrupt. It also has CAN bus (which I've never used).

    Knocking up your own dev board is quite difficult, as it would most likely have to be be a 4 layer board (ours was):
    http://fec.eng.monash.edu.au/2005/photos/images/DSCN2428.jpg
    http://fec.eng.monash.edu.au/2005/photos/images/IMG_3295.jpg

    You also won't find a free compiler for the C2000 range. I took a quick look at the codeskin page, they develop free tools to program the flash over RS232, a eclipse plugin, and a tool for extracting debug information from already compiled executables. These are great tools if you want to develop without a JTAG which is not strictly required (i used the Spectrum Digital XDS510 USB as seen in the first pic above, which is quite expensive in itself), but you'll still need a license for the TI C2000 compiler.

    There is a tiny onchip bootloader that makes it possible to boot the devices from onchip flash (or ROM), external memory (if the device has an EMIF), from SPI, or via serial. The way the RS232/serial programmers work is by instructing the bootloader to to boot off serial (by setting a few jumpers), then sending down a little program via serial that programs the FLASH directly with the desired executable. One it is complete, set the jumper back to instruct the bootloader to boot from flash. I have used this method to program chips whilst out in the field, its pretty neat.

    So in short, TI probably don't make the most accesible DSC/DSPs for hobbyists :( kinda sucks really.

    Hope this helps!
     
    Last edited: May 13, 2008
  10. OP
    OP
    Elder

    Elder Member

    Joined:
    May 15, 2004
    Messages:
    1,236
    Location:
    Brisbane
    Thanks heaps Nudge.
    Didn't realise it was all still based on TI compiler :/
     

Share This Page

Advertisement: