Encoder Front Page
SRS Home | Front Page | Monthly Issue | Index
Google
Search WWW Search seattlerobotics.org

Designing a new controller board: Part 2

Kevin Ross

kevinro@nwlink.com

Last month, I started to document the steps involved in creating a new controller board. (Check out part one) I am continuing the subject this month. I wanted to let you follow along in all the steps I am taking to create this board. It consists of both the good and the bad. This month, I had a little bad.

Shackled by the Supply Chain

As you might recall, last month I decided that the 68HC912D60 was going to be a great chip to use. After writing the article, I started the rotten job of actually trying to buy these parts. If you have ever tried to obtain HC12 parts in the past, you would have found that supply can be spotty, and lead times can be very, very long. This is my first hangup on the new board. Let me explain.

There are two types of distributors in the world. There are the old guys and the new guys.

The old way of doing this was that you called your supplier on the phone. The supplier often times has to call you back later. During that later phone call, they grilled you on how many parts you wanted, how many you expected to purchase, how much money you have, your first borns name, etc. Then you start the phone tag game trying to find out if you can actually purchase the parts, or whether they are going to make you wait a very long time.

The new guys are setup to support an internet economy. Digikey and Mouser are the two really good ones. They make their money by providing excellent streamlined service to orders of any size. Their pricing is often a little higher than you would pay from the old guys, but in turn they have a catalog of parts they keep in stock, and you can usually count on them having the parts you need.

Lots of the 'old' guys are trying hard to be 'new' guys, but in reality they suffer from all of the old crusty problems. They just add the promise of being able to order online. In reality, unless you are ordering something extremely vanilla, you are going to have to play phone tag with someone who doesn't know anything about electronic parts, only procedures for making you wait.

Add to this mix is the manufacturer/distributor relationship. In this case, Motorola has a deal with its distributors that insures the distributors that they will be the only channel by which we end customers can purchase parts. Motorola has this old crusty relationship that they feel is important to retain. They are protecting their old crusty relationships by not selling parts through Digikey and Mouser, nor do they have any mechanisms in place for getting smaller quanities of parts.

Maxim, Microchip, Dallas, and a number of the 'new' manufacturers have wised up to the fact that if the parts aren't available for prototyping and small quantities, then the parts are not going to get used. All of these companies have small order desks that allow you to purchase small quantities of parts directly from the company. This is an extremely smart move on their part.

Motorola, on the other hand, is still stuck in the past and not very responsive to us who prototype. They insist on going through distributors, who in turned don't stock these parts nor do they have a vested interest in helping you buy 5 to 10 parts.

This isn't a new problem. This is actually an old problem that we have been fighting with on the 68HC811, the 68HC912B32, 812A4, and other Motorola parts.

Lead Time vs Lead Weight

Ironically, the term lead time is a very apt description of the heavy, cumbersome, and slow process in trying to order some classes of parts. Unfortunately, the 68HC912D60 is falling into this class. The current lead time is 19 weeks, meaning if I order tomorrow, I won't see the parts until the end of July. Its hard to be enthusiastic about a part that I can't purchase. Still, it looks like such a great part, I am actually going to continue pursuing the part through the distribution chain.

I am also going to try calling our local Motorola rep, to see if he can help me track down a supply of these parts in a reasonable amount of time. This has actually worked out well in the past for me. I will let you know.

Other Options

From the previous article, I stated that one of my goals was to leverage the knowledge that the SRS has in the HC11. The HC12 line has a source compatible instruction set, with lots of enhancements. The workings of the part are so similar to the HC11 that it seemed like a good choice.

Ok, so the D60 might be a hassle. I liked it because of the new peripherals and code space. However, there are other HC12 options that I can move to. I already have a 68HC912B32 based board. This is the same CPU core, but with a smaller 80 pin package, fewer peripherals, and only 32k of program space and 1k of RAM. In reality, this is a good amount of memory. I also already have a design for the 68HC812A4, which has 4k of program space and 1k of RAM. Both boards are decent HC12 replacements for the 68HC811E2.

While I am waiting for my reply from Motorola, I am going to browse through the Digikey and Mouser catalogs, looking for another series of chips that will be more available. Digikey carries several really strong lines.

The most viable in this catalog at the moment is the Atmel AVR. There are a number of different parts available all with Flash memory. The basic parts are available with up to 8k of program space and 512 bytes of RAM in a 44 pin package. The have a nice A/D port, UART, and a few timers. They run on a wide range of voltages, and speeds up to 8mhz. Not bad at all. The prices are all under $10 for the chip, which is a nice point. I am in need of more research, but apparently you can create an inexpensive incircuit programmer for your parallel port for pretty cheap. I will be looking into these a little more.

The Microchip PIC series are OK, but I have some issues with them. There are a few Flash versions of the parts, and you can do in-circuit programming. The memory size is up to 8k words (instructions) and 368 bytes. However, these parts are a poor choice for a beginner, in my opinion, since the memory structure is confusing, and writing assembler for this processor is not trivial. However, I am still willing to look around at the various parts.

I have looked at the Zilog parts in the past. They are missing EEPROM or Flash, which means you have to get a windowed part and an EEPROM eraser for development, or perhaps one of their emulators. These are relatively expensive in the Digikey catalog.

To be complete, yes, I know there are 8051 derivatives in the catalog as well. However, I really am not a big 8051 fan. It has 1 or 2 nice points, but the lack of stack space and crusty design don't particularly excite me. (I am bound to get a whole bunch of email from 8051 fans pointing out how wonderful the entire line is. I am happy for you. Perhaps you would consider writing an article for the Encoder and prove me wrong. Sorry, I am not interested enough in the part to do so. )

There are also Basic Stamp modules which are a good choice, but are a little too high level for what I would like to see. These are great parts, and I don't mean to bad mouth them at all. I am looking for something to build in kit form, rather than having a pre-packaged solution that just drops right in. A lot can be learned by getting out your solder iron.

In Summary

Building a great new board has many challanges and pitfalls. My experience here is fairly typical when you try to use parts that are on the leading edge of the production cycle. Supply issues and potential options are always part of the decision making process. I am hopeful a solution to my supply problem can be found, or at least a decent explaination for why this is a problem!