EmbeddedRelated.com
Forums

Which microcontroller do I need?

Started by Jay Maynard July 28, 2007
I'm trying to select a microcontroller for an application, and having
little luck sifting through the masses of information on the web.

I need:
1) Two async serial ports, capable of running at 9600 BPS. I'd greatly
prefer this to be in hardware; bit-banging is too much work, and hard
to do in realtime with other things going on. RS-232 drivers are not
necessary, but the ability to accept inverted CMOS (1=0V, 0=+2.6V)
levels is.
2) Ethernet, with TCP/IP stack provided. A web server isn't necessary,
but I'll use it if it's there.
3) Reasonably inexpensive prototype board. This is a ham radio
project, and I intend to publish it so that other hams can use it.
4) The ability to develop on Mac OS X, or at least Linux. I refuse to
run Windows unless there is absolutely no other option.
5) Open source development tools. I can deal with C, and assembler
doesn't faze me; I'd rather not do BASIC.

I don't need:
1) Bells and whistles on the prototype board. No LCD displays,
buttons, optoisolators, or any other such.
2) A big, hairy realtime OS. The application's job is to monitor
traffic going from one serial port to another, interpret it, and make
the contents available via Ethernet, and to accept commands and insert
them in the serial datastream going the other way. A nice, small
kernel, OTOH, would probably be useful.

I don't care about:
1) Architecture wars. I have no investment in any microcontroller
architecture, so I'm free to select the best (or only) one to do the
job.
2) I/O pins beyond Ethernet and async.
3) Programming methods, as long as I can plug it into my Mac. This
means USB, practically speaking, although an Ethernet-bootstrappable
prototype board will also work.
4) Whether programming is accomplished on the prototype board or via a
separate programmer.

Thanks in advance for any help you can provide.

Jay  Maynard <jaymaynard@gmail.com> writes:

> 4) The ability to develop on Mac OS X, or at least Linux. I refuse to > run Windows unless there is absolutely no other option. > 5) Open source development tools. I can deal with C, and assembler > doesn't faze me; I'd rather not do BASIC.
Freescale M5223x and the M52235EVB dev board. I'm using a GNU toolchain&#4294967295; under Linux. Haven't tried MacOSX. Unfortunately there are no free drivers available for the USB FLASH programmer that I know of. Petter &#4294967295;) http://www.codesourcery.com/gnu_toolchains/coldfire/index_html -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
On Jul 28, 10:39 am, Petter Gustad <newsmailco...@gustad.com> wrote:
> Freescale M5223x and the M52235EVB dev board. I'm using a GNU > toolchain=B9 under Linux. Haven't tried MacOSX. Unfortunately there are > no free drivers available for the USB FLASH programmer that I know > of.
That looks like a very good choice. Why the M52235EVB, though, instead of the M52233DEMO? I don't need the 235's crypto module, and the M52233DEMO is a third the cost. I'm not above soldering to the second USART pins directly; I'll have to do some soldering anyway to get the signals in and out without using the RS232 driver on the first port, as it is.
Jay  Maynard <jaymaynard@gmail.com> writes:

> On Jul 28, 10:39 am, Petter Gustad <newsmailco...@gustad.com> wrote: > > Freescale M5223x and the M52235EVB dev board. I'm using a GNU > > toolchain&#4294967295; under Linux. Haven't tried MacOSX. Unfortunately there are > > no free drivers available for the USB FLASH programmer that I know > > of. > > That looks like a very good choice. Why the M52235EVB, though, instead > of the M52233DEMO? I don't need the 235's crypto module, and the > M52233DEMO is a third the cost. I'm not above soldering to the second > USART pins directly; I'll have to do some soldering anyway to get the > signals in and out without using the RS232 driver on the first port, > as it is.
I don't think the DEMO board includes the USB programmer/debug interface. However, I'm a little uncertain since I only have the EVB and not the DEMO. Check with your dealer or on the Freescale site for more info. Also check out the Freescale forum at URL: http://forums.freescale.com/freescale/board?board.id=CFCOMM Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
As simple as that:

1. Get an old PC from junk yard. It has everything you need.
2. Install whatever software.
3. Enjoy.

VLV



Jay Maynard wrote:

> I'm trying to select a microcontroller for an application, and having > little luck sifting through the masses of information on the web. > > I need: > 1) Two async serial ports, capable of running at 9600 BPS. I'd greatly > prefer this to be in hardware; bit-banging is too much work, and hard > to do in realtime with other things going on. RS-232 drivers are not > necessary, but the ability to accept inverted CMOS (1=0V, 0=+2.6V) > levels is. > 2) Ethernet, with TCP/IP stack provided. A web server isn't necessary, > but I'll use it if it's there. > 3) Reasonably inexpensive prototype board. This is a ham radio > project, and I intend to publish it so that other hams can use it. > 4) The ability to develop on Mac OS X, or at least Linux. I refuse to > run Windows unless there is absolutely no other option. > 5) Open source development tools. I can deal with C, and assembler > doesn't faze me; I'd rather not do BASIC. > > I don't need: > 1) Bells and whistles on the prototype board. No LCD displays, > buttons, optoisolators, or any other such. > 2) A big, hairy realtime OS. The application's job is to monitor > traffic going from one serial port to another, interpret it, and make > the contents available via Ethernet, and to accept commands and insert > them in the serial datastream going the other way. A nice, small > kernel, OTOH, would probably be useful. > > I don't care about: > 1) Architecture wars. I have no investment in any microcontroller > architecture, so I'm free to select the best (or only) one to do the > job. > 2) I/O pins beyond Ethernet and async. > 3) Programming methods, as long as I can plug it into my Mac. This > means USB, practically speaking, although an Ethernet-bootstrappable > prototype board will also work. > 4) Whether programming is accomplished on the prototype board or via a > separate programmer. > > Thanks in advance for any help you can provide. >
On Sat, 28 Jul 2007 08:19:25 -0700, Jay  Maynard
<jaymaynard@gmail.com> wrote:

>I'm trying to select a microcontroller for an application, and having >little luck sifting through the masses of information on the web. > >I need: >1) Two async serial ports, capable of running at 9600 BPS. I'd greatly >prefer this to be in hardware; bit-banging is too much work, and hard >to do in realtime with other things going on. RS-232 drivers are not >necessary, but the ability to accept inverted CMOS (1=0V, 0=+2.6V) >levels is. >2) Ethernet, with TCP/IP stack provided. A web server isn't necessary, >but I'll use it if it's there. >3) Reasonably inexpensive prototype board. This is a ham radio >project, and I intend to publish it so that other hams can use it. >4) The ability to develop on Mac OS X, or at least Linux. I refuse to >run Windows unless there is absolutely no other option. >5) Open source development tools. I can deal with C, and assembler >doesn't faze me; I'd rather not do BASIC.
http://www.sparkfun.com/commerce/product_info.php?products_id=273 is a possibility. Follow the links at the bottom of the page for info on GCC ports, and example projects using FreeRTOS and the (also free) uIP TCP/IP stack. Got a couple of buttons on it, tho. '-)
On Jul 28, 12:04 pm, Petter Gustad <newsmailco...@gustad.com> wrote:
> I don't think the DEMO board includes the USB programmer/debug > interface. However, I'm a little uncertain since I only have the EVB > and not the DEMO. Check with your dealer or on the Freescale site for > more info.
Hm. Wonder how you program the board's micro, then?
> Also check out the Freescale forum at URL:http://forums.freescale.com/freescale/board?board.id=CFCOMM
I did, and it raises a question: Based on your experience with your sample code, am I going to get in trouble distributing the complete code, ready to build, if I start from your example? There was a lot of wrangling about it on the forum...
On Jul 28, 11:19 am, Jay  Maynard <jaymayn...@gmail.com> wrote:
> I'm trying to select a microcontroller for an application, and having > little luck sifting through the masses of information on the web.
I would suggest that you consider the Atmel ARM CPU, AT91SAM7X256 or ...X512. I believe it suits all of your requirements and they offer a development board with little in the way of "bells and whistles". There are also many others with similar development boards, some for less money such as from Olimex... http://olimex.com/dev/index.html Their SAM7X256 board does come with a tiny color LCD, but it costs about half what the Atmel module does so could you just cover the LCD with tape and ignore it? For software you can find excellent open source tools from www.gnuarm.com. The code to drive the Ethernet port can be found at a number of sources such as RTOS or other real time OS. Or you should be able to use the code available on the Ethernut project which was set up for needs just like yours. Perhaps you should check them out since there is also hardware available. Another choice would be the Luminary Micro Cortex M3 version of the ARM processor. They have an LM3S6xxx line that includes Ethernet with an eval board which is only $80 including eval tools code size limited to 32 kB. It comes with sample code, but otherwise I don't think there is a large base of software available yet. One of the real time OS is available for it though. The eval board is nice and small, but I think it will also require that piece of tape to cover the OLED display. While checking out the Luminary CM3 I found that contrary to what one of the frequent posters here will tell you, Luminary *does* have in their road map a device with *both* CAN and Ethernet. Right now you can get either CAN (LM3S92xx) or Ethernet (LM3S96xx) periperhals. The LM3S98xx will have *both* usable at the same time! Not that this is relevant to your needs, but I just found that I was being misled.
> I need: > 1) Two async serial ports, capable of running at 9600 BPS. I'd greatly > prefer this to be in hardware; bit-banging is too much work, and hard > to do in realtime with other things going on. RS-232 drivers are not > necessary, but the ability to accept inverted CMOS (1=0V, 0=+2.6V) > levels is. > 2) Ethernet, with TCP/IP stack provided. A web server isn't necessary, > but I'll use it if it's there. > 3) Reasonably inexpensive prototype board. This is a ham radio > project, and I intend to publish it so that other hams can use it. > 4) The ability to develop on Mac OS X, or at least Linux. I refuse to > run Windows unless there is absolutely no other option. > 5) Open source development tools. I can deal with C, and assembler > doesn't faze me; I'd rather not do BASIC. > > I don't need: > 1) Bells and whistles on the prototype board. No LCD displays, > buttons, optoisolators, or any other such. > 2) A big, hairy realtime OS. The application's job is to monitor > traffic going from one serial port to another, interpret it, and make > the contents available via Ethernet, and to accept commands and insert > them in the serial datastream going the other way. A nice, small > kernel, OTOH, would probably be useful. > > I don't care about: > 1) Architecture wars. I have no investment in any microcontroller > architecture, so I'm free to select the best (or only) one to do the > job. > 2) I/O pins beyond Ethernet and async. > 3) Programming methods, as long as I can plug it into my Mac. This > means USB, practically speaking, although an Ethernet-bootstrappable > prototype board will also work. > 4) Whether programming is accomplished on the prototype board or via a > separate programmer. > > Thanks in advance for any help you can provide.
On Jul 28, 1:51 pm, rickman <gnu...@gmail.com> wrote:
> Another choice would be the Luminary Micro Cortex M3 version of the > ARM processor. They have an LM3S6xxx line that includes Ethernet with > an eval board which is only $80 including eval tools code size limited > to 32 kB. It comes with sample code, but otherwise I don't think > there is a large base of software available yet. One of the real time > OS is available for it though. The eval board is nice and small, but > I think it will also require that piece of tape to cover the OLED > display.
The LM3S6965 board looks nice, and for $80, I can't complain. My aversion to the built-in displays was that they tend to drive up the price, but all I'm aiming for is less than $100. If it's there and doesn't drive up the cost, I'll happily use it. All of the ARM systems seem to use the same JTAG interface. Is there a JTAG adapter that can be used from Linux and doesn't require a parallel port? If I'm going to use Linux (which seems likely; nobody does OS X or provides fully open-source versions of ther software that can be ported, it appears), it'll be from a virtual machine on my Mac, and while I can connect USB devices to it, I can't do that with parallel-port devices. I'm also impressed enough with FreeRTOS that I'll probably use that. It seems to be able to deal with interrupt-driven I/O on the LM3S6965 for both Ethernet and serial, and that will make programming a lot easier. It also seems to be completely redistributable, unlike the Freescale stuff.
On Jul 28, 11:19 am, Jay  Maynard <jaymayn...@gmail.com> wrote:
> I'm trying to select a microcontroller for an application, and having > little luck sifting through the masses of information on the web. > > I need: > 1) Two async serial ports, capable of running at 9600 BPS. I'd greatly > prefer this to be in hardware; bit-banging is too much work, and hard > to do in realtime with other things going on. RS-232 drivers are not > necessary, but the ability to accept inverted CMOS (1=0V, 0=+2.6V) > levels is. > 2) Ethernet, with TCP/IP stack provided. A web server isn't necessary, > but I'll use it if it's there. > 3) Reasonably inexpensive prototype board. This is a ham radio > project, and I intend to publish it so that other hams can use it. > 4) The ability to develop on Mac OS X, or at least Linux. I refuse to > run Windows unless there is absolutely no other option. > 5) Open source development tools. I can deal with C, and assembler > doesn't faze me; I'd rather not do BASIC. > > I don't need: > 1) Bells and whistles on the prototype board. No LCD displays, > buttons, optoisolators, or any other such. > 2) A big, hairy realtime OS. The application's job is to monitor > traffic going from one serial port to another, interpret it, and make > the contents available via Ethernet, and to accept commands and insert > them in the serial datastream going the other way. A nice, small > kernel, OTOH, would probably be useful. > > I don't care about: > 1) Architecture wars. I have no investment in any microcontroller > architecture, so I'm free to select the best (or only) one to do the > job. > 2) I/O pins beyond Ethernet and async. > 3) Programming methods, as long as I can plug it into my Mac. This > means USB, practically speaking, although an Ethernet-bootstrappable > prototype board will also work. > 4) Whether programming is accomplished on the prototype board or via a > separate programmer. > > Thanks in advance for any help you can provide.
Look at Netburner. THey've got some $99 systems that should fit the bill. gm