Introduction; Early Project Planning; 9S12NE64

Started by jwalther1919 April 15, 2010
Hello,

I just joined the group, because I am considering a hobbyist project which I might take open source. I am still in the planning/feasibility/costing stage and could use some advice.

I'll describe the project in more detail at the bottom, but I'm going to go straight to the question. so you don't have to wade through what may be needless detail.

1) Are many folks using the 9S12NE64 to implement web servers or are folks who want microcontroller based web servers mostly going to the Coldfire options?

2) If familiarity with 68H12 family programming helpful in moving to Coldfire programming? Will I take a big hit in my ability to develop software in moving from 68H12 (some familiarity) to Coldfire (zero experience)?

I want to use a web server for a human interface for a lighting control system. I took Dr. Valvano's Interfacing class (EE345L) at U. Texas six or seven years ago, so I immediately thought of the 68H12 family and specifically the 9S12NE64.

However, while I have plenty of experience with assembly language programming (it's a large part of my job) and moderate experience with C, I know next to nothing about web servers and network protocols. Open TCP makes the project feasible, but I was hoping to find an active user community discussing and solving problems with micro web servers on the 9S12NE64.

However, I've found very little discussion. This list has maybe ten or eleven posts that even mention the 9S12NE64 according to the searches I did.

So I was left with three possibilities:

1) I searched poorly and/or in the wrong places. (Did a lot of Google searches.)
2) Few folks are using the 9S12NE64 to implement web servers
3) The 9S1264 and Open TCP are so easy to use and simple to implement that nobody who builds one has any questions.

I'm leaning toward #2...

I did some more searches on micro web servers in general. I found the MicroChip PIC controllers, but the PICs with PHYs seem underpowered for my application and the 32 bit PICs with Ethernet only have MACs and require an external PHY which I don't want to mess with.

Then I came across the Coldfire solutions. The MCF5223x and MCF5225x families have the connectivity I want, and much larger memory resources than the 9S12NE64. And they're priced about the same or lower than the 9S12NE64. And there's the RTOS support which might make things easier or more complicated... And there seems to be a lot more discussion about the Coldfire web server solutions on Freescale's forums than there is about the 9S12NE64.

So from a hardware point of view, the Coldfire solutions look superior to the 9S12NE64, but would I take a big hit in software development given that I'm (moderately) experienced on the 68H12 platform and have never done any development on the Coldfire platform?

Oh, the promised project description. It's fairly simple, but should be fun as a one person project.

High output (3V - 4V Vf, 350mA - 1.5A I) LEDs have just recently become practicle for aquarium lighting. They work best with a constant current source which can be provided using a Buck style regulator, e.g. STCS1. Most of the Buck regulators designed for current regulation (low Vfb) also have PWM inputs to "dim" the output.

So one ends up with a bunch of buck regulators running the LEDs, because the DC supply voltage limits the number of LEDs which can be put on each buck regulator/driver. For example, if one has a supply voltage of 24V, which is pretty typical, one can only put six LEDs on each driver because the sum of the forward voltages (Vf) can't exceed the supply voltage. So an aquarium with 120 LEDs would need at least 20 buck drivers.

So my project is to build a central controller which will control all the drivers as individuals or in groups. The user will be able to create programs to turn the lights on and off at different times, have them fade or brighten over time, or even simulate a cloud passing overhead (aquarium folks get pretty compulsive).

I'm going to put one ATtiny25 (Atmel Microcontroller) at each driver because the ATtiny has a PWM pin and timer, and I2C bus on two other pins so I can address them individually while they're all on the same bus. Plus there is a built-in temperature sensor as part of the A-D converter so the light enclosure temperature can be (sort of) monitored. And the ATtiny25 is only about $1 each.

The timer programming and interrupts and I/O communications is all stuff I had in Dr. Valvano's class, so the only real challenge here is the web server portion.

So 9S12NE64 or Coldfire?

Thank you for any helpful or humorous comments,

Jeff Walther

I have a done couple of embedded web server / control projects...
One for a UPS (PowerQUICC MPC850)
One for an Air Conditioner (Coldfire)

In both cases the processor was chosen because of the availability of
hardware and software drivers for Ethernet and the ability to do
CAN/PWM/IO, etc.
While implementing an Ethernet port on the 68HC12 in hardware should not
be a huge engineering problem, you may find yourself spending time
writing a good/stable ethernet driver for it (I can't remember finding
too many of them the last time I looked). Depending on your programming
skill and understanding of Ethernet this may or may not be a big issue.
Once you have done this, then it becomes a manner of finding an open
source TCP/IP stack, modifying it to work with your driver, and then
finding an open source web server to work with the stack None of this
is out of the realm of possibility, you may just end up focusing a
decent amount of time getting your basic drivers and O/S running as
opposed to focusing on the actual application of your 68HC12 system.

Ed
Hi,
1)Take a look at http://www.freertos.org - they have some examples (RTOS
+ web server)
ready to be compiled/tested, including HCS12 and ColdFire. I have tested
one example
for ColdFire and works OK, no crashes (this is important to me) over
long time tests.
2)It may be helpful to look also to other micros - for instance LM3S8962
- which has
on-chip MAC+PHY.
Regards,
Ioan

jwalther1919 wrote:
>
> Hello,
>
> I just joined the group, because I am considering a hobbyist project
> which I might take open source. I am still in the
> planning/feasibility/costing stage and could use some advice.
>
> I'll describe the project in more detail at the bottom, but I'm going
> to go straight to the question. so you don't have to wade through what
> may be needless detail.
>
> 1) Are many folks using the 9S12NE64 to implement web servers or are
> folks who want microcontroller based web servers mostly going to the
> Coldfire options?
>
> 2) If familiarity with 68H12 family programming helpful in moving to
> Coldfire programming? Will I take a big hit in my ability to develop
> software in moving from 68H12 (some familiarity) to Coldfire (zero
> experience)?
>
> I want to use a web server for a human interface for a lighting
> control system. I took Dr. Valvano's Interfacing class (EE345L) at U.
> Texas six or seven years ago, so I immediately thought of the 68H12
> family and specifically the 9S12NE64.
>
> However, while I have plenty of experience with assembly language
> programming (it's a large part of my job) and moderate experience with
> C, I know next to nothing about web servers and network protocols.
> Open TCP makes the project feasible, but I was hoping to find an
> active user community discussing and solving problems with micro web
> servers on the 9S12NE64.
>
> However, I've found very little discussion. This list has maybe ten or
> eleven posts that even mention the 9S12NE64 according to the searches
> I did.
>
> So I was left with three possibilities:
>
> 1) I searched poorly and/or in the wrong places. (Did a lot of Google
> searches.)
> 2) Few folks are using the 9S12NE64 to implement web servers
> 3) The 9S1264 and Open TCP are so easy to use and simple to implement
> that nobody who builds one has any questions.
>
> I'm leaning toward #2...
>
> I did some more searches on micro web servers in general. I found the
> MicroChip PIC controllers, but the PICs with PHYs seem underpowered
> for my application and the 32 bit PICs with Ethernet only have MACs
> and require an external PHY which I don't want to mess with.
>
> Then I came across the Coldfire solutions. The MCF5223x and MCF5225x
> families have the connectivity I want, and much larger memory
> resources than the 9S12NE64. And they're priced about the same or
> lower than the 9S12NE64. And there's the RTOS support which might make
> things easier or more complicated... And there seems to be a lot more
> discussion about the Coldfire web server solutions on Freescale's
> forums than there is about the 9S12NE64.
>
> So from a hardware point of view, the Coldfire solutions look superior
> to the 9S12NE64, but would I take a big hit in software development
> given that I'm (moderately) experienced on the 68H12 platform and have
> never done any development on the Coldfire platform?
>
> Oh, the promised project description. It's fairly simple, but should
> be fun as a one person project.
>
> High output (3V - 4V Vf, 350mA - 1.5A I) LEDs have just recently
> become practicle for aquarium lighting. They work best with a constant
> current source which can be provided using a Buck style regulator,
> e.g. STCS1. Most of the Buck regulators designed for current
> regulation (low Vfb) also have PWM inputs to "dim" the output.
>
> So one ends up with a bunch of buck regulators running the LEDs,
> because the DC supply voltage limits the number of LEDs which can be
> put on each buck regulator/driver. For example, if one has a supply
> voltage of 24V, which is pretty typical, one can only put six LEDs on
> each driver because the sum of the forward voltages (Vf) can't exceed
> the supply voltage. So an aquarium with 120 LEDs would need at least
> 20 buck drivers.
>
> So my project is to build a central controller which will control all
> the drivers as individuals or in groups. The user will be able to
> create programs to turn the lights on and off at different times, have
> them fade or brighten over time, or even simulate a cloud passing
> overhead (aquarium folks get pretty compulsive).
>
> I'm going to put one ATtiny25 (Atmel Microcontroller) at each driver
> because the ATtiny has a PWM pin and timer, and I2C bus on two other
> pins so I can address them individually while they're all on the same
> bus. Plus there is a built-in temperature sensor as part of the A-D
> converter so the light enclosure temperature can be (sort of)
> monitored. And the ATtiny25 is only about $1 each.
>
> The timer programming and interrupts and I/O communications is all
> stuff I had in Dr. Valvano's class, so the only real challenge here is
> the web server portion.
>
> So 9S12NE64 or Coldfire?
>
> Thank you for any helpful or humorous comments,
>
> Jeff Walther
Thank you for the links and recommendations. I will take a look.

Jeff Walther
> Hi,
> 1)Take a look at http://www.freertos.org - they have some examples (RTOS
> + web server)
> ready to be compiled/tested, including HCS12 and ColdFire. I have tested
> one example
> for ColdFire and works OK, no crashes (this is important to me) over
> long time tests.
> 2)It may be helpful to look also to other micros - for instance LM3S8962
> - which has
> on-chip MAC+PHY.
> Regards,
> Ioan
>
> jwalther1919 wrote:
>>
>> Hello,
>>
>> I just joined the group, because I am considering a hobbyist project
>> which I might take open source. I am still in the
>> planning/feasibility/costing stage and could use some advice.
>>
>> I'll describe the project in more detail at the bottom, but I'm going
>> to go straight to the question. so you don't have to wade through what
>> may be needless detail.
>>
>> 1) Are many folks using the 9S12NE64 to implement web servers or are
>> folks who want microcontroller based web servers mostly going to the
>> Coldfire options?
>>
>> 2) If familiarity with 68H12 family programming helpful in moving to
>> Coldfire programming? Will I take a big hit in my ability to develop
>> software in moving from 68H12 (some familiarity) to Coldfire (zero
>> experience)?
>>
>> I want to use a web server for a human interface for a lighting
>> control system. I took Dr. Valvano's Interfacing class (EE345L) at U.
>> Texas six or seven years ago, so I immediately thought of the 68H12
>> family and specifically the 9S12NE64.
>>
>> However, while I have plenty of experience with assembly language
>> programming (it's a large part of my job) and moderate experience with
>> C, I know next to nothing about web servers and network protocols.
>> Open TCP makes the project feasible, but I was hoping to find an
>> active user community discussing and solving problems with micro web
>> servers on the 9S12NE64.
>>
>> However, I've found very little discussion. This list has maybe ten or
>> eleven posts that even mention the 9S12NE64 according to the searches
>> I did.
>>
>> So I was left with three possibilities:
>>
>> 1) I searched poorly and/or in the wrong places. (Did a lot of Google
>> searches.)
>> 2) Few folks are using the 9S12NE64 to implement web servers
>> 3) The 9S1264 and Open TCP are so easy to use and simple to implement
>> that nobody who builds one has any questions.
>>
>> I'm leaning toward #2...
>>
>> I did some more searches on micro web servers in general. I found the
>> MicroChip PIC controllers, but the PICs with PHYs seem underpowered
>> for my application and the 32 bit PICs with Ethernet only have MACs
>> and require an external PHY which I don't want to mess with.
>>
>> Then I came across the Coldfire solutions. The MCF5223x and MCF5225x
>> families have the connectivity I want, and much larger memory
>> resources than the 9S12NE64. And they're priced about the same or
>> lower than the 9S12NE64. And there's the RTOS support which might make
>> things easier or more complicated... And there seems to be a lot more
>> discussion about the Coldfire web server solutions on Freescale's
>> forums than there is about the 9S12NE64.
>>
>> So from a hardware point of view, the Coldfire solutions look superior
>> to the 9S12NE64, but would I take a big hit in software development
>> given that I'm (moderately) experienced on the 68H12 platform and have
>> never done any development on the Coldfire platform?
>>
>> Oh, the promised project description. It's fairly simple, but should
>> be fun as a one person project.
>>
>> High output (3V - 4V Vf, 350mA - 1.5A I) LEDs have just recently
>> become practicle for aquarium lighting. They work best with a constant
>> current source which can be provided using a Buck style regulator,
>> e.g. STCS1. Most of the Buck regulators designed for current
>> regulation (low Vfb) also have PWM inputs to "dim" the output.
>>
>> So one ends up with a bunch of buck regulators running the LEDs,
>> because the DC supply voltage limits the number of LEDs which can be
>> put on each buck regulator/driver. For example, if one has a supply
>> voltage of 24V, which is pretty typical, one can only put six LEDs on
>> each driver because the sum of the forward voltages (Vf) can't exceed
>> the supply voltage. So an aquarium with 120 LEDs would need at least
>> 20 buck drivers.
>>
>> So my project is to build a central controller which will control all
>> the drivers as individuals or in groups. The user will be able to
>> create programs to turn the lights on and off at different times, have
>> them fade or brighten over time, or even simulate a cloud passing
>> overhead (aquarium folks get pretty compulsive).
>>
>> I'm going to put one ATtiny25 (Atmel Microcontroller) at each driver
>> because the ATtiny has a PWM pin and timer, and I2C bus on two other
>> pins so I can address them individually while they're all on the same
>> bus. Plus there is a built-in temperature sensor as part of the A-D
>> converter so the light enclosure temperature can be (sort of)
>> monitored. And the ATtiny25 is only about $1 each.
>>
>> The timer programming and interrupts and I/O communications is all
>> stuff I had in Dr. Valvano's class, so the only real challenge here is
>> the web server portion.
>>
>> So 9S12NE64 or Coldfire?
>>
>> Thank you for any helpful or humorous comments,
>>
>> Jeff Walther
>
Hi Jeff!
I was used (and still use) NE64+FreeRTOS+handcrafted IP stack with good
success, but think NE64 in the end of road now. NE64 just underpowered
for real-world networking at 100Mb/s.
Compare NE64 with MCF52232. You can get 2x flash (with flat model), 4x
RAM (very important for networking), 2x clock and nice 32-bit RISC core
- with lower price and better support (compiler, IP stack, RTOS, file
system, etc).

Valery Gaynullin