home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!faqserv
- From: russ@shani.net (Russ Hersch)
- Newsgroups: comp.arch.embedded,comp.robotics.misc,comp.realtime,sci.electronics.design,alt.comp.hardware.homebuilt,comp.answers,sci.answers,alt.answers,news.answers
- Subject: Embedded Processor and Microcontroller primer and FAQ
- Supersedes: <microcontroller-faq/primer_857391387@rtfm.mit.edu>
- Followup-To: poster
- Date: 12 Sep 1997 10:51:14 GMT
- Organization: none
- Lines: 4082
- Approved: news-answers-request@MIT.EDU
- Expires: 27 Oct 1997 10:50:49 GMT
- Message-ID: <microcontroller-faq/primer_874061449@rtfm.mit.edu>
- NNTP-Posting-Host: penguin-lust.mit.edu
- Summary: This article is a primer and general FAQ about embedded
- processors and microcontrollers.
- X-Last-Updated: 1997/09/11
- Originator: faqserv@penguin-lust.MIT.EDU
- Xref: senator-bedfellow.mit.edu comp.arch.embedded:23801 comp.robotics.misc:17946 comp.realtime:21812 sci.electronics.design:47746 alt.comp.hardware.homebuilt:32931 comp.answers:28027 sci.answers:7063 alt.answers:28882 news.answers:112099
-
- Archive-name: microcontroller-faq/primer
- Posting-Frequency: monthly
- Last-modified: September 11, 1997
-
- This article is a primer and general FAQ about embedded processors and
- microcontrollers. Included is a collection of information sources.
-
-
- The following topics are addressed:
-
- 0) Rantings and ravings (to make the FAQ zero-based)
-
- 1) ABOUT THIS FAQ
- 1.1) Who put this FAQ together?
- 1.2) How can I contribute to this FAQ?
- 1.3) What newsgroups will this FAQ be posted to?
- 1.4) May I distribute this FAQ or post it somewhere else?
-
- 2) MICROCONTROLLERS
- 2.1) What is a Microcontroller?
- 2.2) Applications
- 2.3) Flavors
-
- 3) THE MICROCONTROLLER MARKET
- 3.1) Shipments
- 3.2) Industrial applications
- 3.3) Deciding whose microcontroller to use
- 3.4) The players
-
- 4) MICROCONTROLLER FEATURES
- 4.1) Fabrication techniques
- 4.2) Architectural features
- 4.3) Advanced Memory options
- 4.4) Power Management and Low Voltage
- 4.5) I/O
- 4.6) Interrupts
- 4.7) Special microcontroller features
-
- 5) SOME POPULAR MICROCONTROLLERS
-
- 6) GETTING STARTED WITH MICROCONTROLLERS
- 6.1) Evaluation Kits/Boards
- 6.2) Easy chips to use
- 6.3) Software (cheap and easy)
-
- 7) MICROCONTROLLER PROGRAMMING LANGUAGES
- 7.1) Machine/Assembly language
- 7.2) Interpreters
- 7.3) Compilers
- 7.4) Fuzzy Logic and Neural Networks
-
- 8) DEVELOPMENT TOOLS
- 8.1) Simulators
- 8.2) Resident Debuggers
- 8.3) Emulators
- 8.4) Good Stereo System
-
- 9) FINDING OUT MORE ABOUT MICROCONTROLLERS
- 9.1) Books
- 9.2) Data and Reference Books
- 9.3) Periodicals
- 9.4) USENET newsgroups
- 9.5) Internet sources of information on specific microcontrollers
-
- 10) MICROCONTROLLER FREE SOFTWARE SOURCES
- 10.1) FTP sites
- 10.2) WEB pages
- 10.2) BBSs
- 10.3) Mailing lists
-
- 11) SOURCES FOR PARTS
-
-
- 0) Rantings and ravings
-
- Disclaimer: Just so it is understood, the "rantings and ravings" are
- my rantings and ravings. My readers are refined and sophisticated
- and would never rant or rave. I, on the other hand, sit in front of
- the TV in torn underwear and drink beer out of the bottle.
-
- =====> OK, I know this FAQ is long. Very long. Well... it's
- ridiculously long. If you are inconvenienced or strenuously object to
- the posting of this FAQ, please DON'T FLAME me or send me nasty mail.
- Just think what I have to go through. This FAQ takes a lot of my
- time, of which I have very little to spare. I'm open for suggestions.
- I've considered the following:
- - splitting it up into smaller parts
- - eliminating certain sections which may no longer be relevant -
- the web and search engines certainly seem to make a lot of this
- FAQ obsolete (or am I mistaken on this?)
- - not posting it to the newsgroups and just turning this
- whole mess into a [large] web page (the problem with this
- is that I don't have a web site)
- - forgetting about it all together and reminding my kids that I'm
- their father (if you all tell me to go packing, I'll gladly
- fold up shop and devote more time to family, friends, and
- personal hygiene)
- I would be happy to hear ideas on how this FAQ could be improved for
- the reader. If it makes MY job easier, then that's even better.
-
-
- OK, with that out of the way, let's get on with it...
-
- Techno-Wimp, has announced the next generation of their wildly
- successful MIL (Mother-In-Law) transducer. Dubbed the MIL-II, it now
- includes Techno-Wimp's proprietary new breakthrough technology, MMX
- (Mad Mother-in-law Extensions). Utilizing patented heuristic
- algorithms, the MIL-II achieves a remarkable performance rating of 15
- million MIPS (Mother-In-law Periphery Scans) per second. The
- previous WOMF ("Whoa, outta my face!") technology has been updated
- and improved, and together with MMX permits the MIL-II to
- concurrently detect multiple stimuli. This provides the designer with
- the necessary safety margin when using the MIL-II in mission critical
- applications.
-
- The MIL-II is implemented in Techno-Wimp's patented new fabrication
- technique, 0.25 micron JMOS (Jello Mold On Silicon). The MIL-II also
- features a new packaging technique called PSC/CEC (Plastic Slip
- Covers with Card Edge Connector). PSC/CEC was designed to allow easy
- upgrading to future products in the MIL transducer line.
-
-
- I hate it when I'm stupid, and well, I really did it this time. I
- omitted an important source of information - EDN magazine. Always
- full of timely features, important design articles, and the popular
- Design Ideas column. In addition, the 24th edition of the EDN
- microprocessor directory is due out this fall. This directory is an
- invaluable aid for designers. The EDN web site also has a lot of
- important information and software, and is improving all the time.
- Worth taking a look at: http://www.ednmag.com/
-
-
- UMPS (Universal Microcontroller Program Simulator) is a new package
- from Virtual Micro Design in France. It simulates the following
- microcontrollers: 8051, 68HC705, PIC, ST62xx, and the 68HC11. The
- main feature of UMPS is the ability to build a virtual
- microcontroller board on screen by connecting various virtual
- resources (switches, LEDs, displays, A/D, D/A, I2C devices, logic
- functions, etc.) together with the desired processor. Then when
- debugging your software, you can see "real results" without having to
- worry about actually building the hardware.
-
- Processors that are not supported can be added by the user using
- Virtual Micro Design's toolkit. Additional virtual resources can be
- added by writing your own DLL to support the desired device.
-
- UMPS includes an integrated assembler/disassembler and debugger,
- extensive documentation on the supported processors.
-
- This is a very slick package. The English needs a lot of work, but
- the software itself is first class, easy to use, and incredibly
- powerful. For more information:
- Virtual Micro Design
- I.D.L.S.
- Technopole Izarbel
- 64210 BIDART
- FRANCE
- ++33-559-438-458 Fax: ++33-559-438-401
- Email: p.techer@idls.izarbel.tm.fr
-
-
- If you'd like to start learning about microcontrollers, but the
- thought of finding all the parts and then building one scares you,
- take a look at the line of boards available from American Educational
- Systems. They have three boards: AES-51 (8051), AES-11 (68hc11), and
- AES-88 (8088). All three boards are built along the same lines and
- include RAM, ROM, LCD display, keypad, A/D, serial ports, digital I/O
- ports, and logic probe. Also included is a full bookshelf of
- documentation. These boards are ridiculously easy to use and program
- - you can get started experimenting right away.
-
- This is a perfect system for students and hobbyists. Even
- professionals will find this system useful as a prototyping tool and
- test bed. Highly recommended.
-
- For more information, contact:
- American Educational Systems
- 970 West 17th St.
- Santa Ana, CA 92706 USA
- (800)730-3232 or (714)550-8094 Fax: (714)550-9941
-
-
- Check out Peter H. Anderson's web site. Lots of good microcontroller
- interfacing ideas and plans, PIC projects, and miscellaneous
- electronics.
- http://www.access.digex.net/~pha
-
-
- Barry Kauler, of GOOFEE fame, has done it again. He's written another
- RTOS, called CREEM. (He must stay up weeks thinking up names for this
- stuff. The names probably come to him in nightmares.) As hes says
- about this new system, "It's very unusual and very easy to use. It is
- probably the easiest way yet that anyone has come up with to do
- concurrent (multitasking) programming on a microcontroller." The
- first version is for the 8051 and is only 560 bytes and will run in a
- chip with only the internal RAM.
-
- Read the intro page and download CREEM (with source code) from the
- GOOFEE web site:
- http://www.goofee.com/creem.htm
-
-
- Point your browser at http://www.debco.com/ and take a look at what
- the gang at Debco has to offer. Lots of parts, kits, and assorted
- computer hardware. The best part is the series of Electronic
- Experimentors Journals that they've made available on-line. Chock
- full of project plans, ham radio topics (antennas and QRP), and
- computer questions and answers, these on-line journals are (IMHO) one
- of the highlights of the web. The gang at Debco should be commended.
- Recommended reading.
-
-
- Michael Dolinsky, Ph.D. and his team at Scaryna's Gomel State
- University in Belarus, have been doing research in embedded systems
- development tools. This research proposes methods, tools, and
- application results for integrated design of embedded
- hardware-software systems. Methods include tuning on selected
- hardware and designing hardware in parallel with the software.
-
- For information on this research, entitled, "High-Level Design Of
- Embedded Hardware-Software Systems", check out the following web
- sites:
- http://alcatraz.gmd.de:9422/castle/inter/inter.htm
- http://www.internet.no/kennethi/belarus/companies/sprl/
- Their Inter Demo Version is available by anonymous ftp at:
- borneo.gmd.de (129.26.12.20)
- cd pub/SYDIS/inter
-
-
- Microtec announces a new quarterly newsletter, "Newbits" as a forum
- for their customers to share ideas:
- http://www.mri.com/newbits/newbits.html
-
-
- Take a peak at Magnus Danielson's collection of CPU stuff at:
- http://www.it.kth.se/~e93_mda/electronics/logic/cpu/
-
-
- Good news... After reading about the 1 bit powerhouse (MC14500) in
- this FAQ, Christian Brunschen checked out Motorola's web site. "lo
- and behold I found,at
- <URL:http://mot-sps.com/books/sg379/pdf/comcomponents3rev6.pdf>, a
- document called 'Commercial Components' with a remark 'Effective
- date: July 5, 1997'. On page 5 (of 10) there is a line stating
- MC14500BCP CMOS 1-BIT ICU
- plus some codes, stating that this was a Proprietary device, part of
- something called the 'Phoenix Program', and that the $200 order
- minimum was waived -- but nothing about it being out of production.
- Rather, the'effective date' of july 5, 1997, would indicate that the
- chip is actually being produced as I am writing this. Also, the
- 'Phoenix Program' sounds like it could be some sort of 'let's revive
- some chips which we took out or production, just because' (Phoenix
- was the bird who died by fire every evening, and reborn from the
- ashes in the morning, if I recall correctly), so this could very well
- mean that production of this chip has been reinstated. Alas, I have
- not been able to find out any more info on Motorola's site as to what
- this 'Phoenix Program'_actually_ is."
-
-
- And you won't believe this, but Scott Finneran ALSO wrote about the
- 14500. Looks like we'll have to start a USENET newsgroup on this
- chip.
-
- Scott writes...
-
- "The Motorolla 14500 is alive and well down-under. I recently (about
- a year ago) performed some contract work for an Australian power
- station called Loy-Yang 'B'. They have a system manufactured in the
- early 1980's consisting of amongst other things hundreds of modules
- containing 14500 processors. These little beasts run at a whopping
- speed of 1KHz (liquid nitrogen coolant system was not necessary!!)
- and are used to control the start-up sequencing logic for firing up
- the power station boilers and turbines. The processor module in this
- system contained three 4-bit EPROMs in parallel (the early PICs were
- 12-bit I believe... spooky!). The first EPROM contained the op-code
- for the processor while the other two contained an 8-bit operand.
- Note: the operand was never fed into the processor (remember it is a
- single bit device) but directly out onto a parallel bus to select
- from a variety of digital inputs and outputs whose value was fed into
- the 1-bit data-bus of the processor.
-
- "My work involved reverse engineering their compiler to run on an
- MS-DOS platform. The "language" was basically boolean logic equations
- with little features such as software based flip-flops and hardware
- based timers. The compiler produced 14500 assembly language which was
- fed into the assembler that I also wrote as part of the package. With
- only sixteen instructions and 1 addressing mode, the assembler wasn't
- exactly a lot of work to produce.
-
- The system (and my compiler) are still in use today. The only
- problems are apparently the occasional timing capacitor goes dry in
- the 1KHz clock generator circuit (yes it's a 555)."
-
- Well, let's all scrap our '51 and hc11 projects and move to the
- 14500. Looks like we've got a trend here. Who knows, maybe Motorola
- will release a new generation 2-bit version? :-))
-
-
- Embedded.com is the on-line union of three embedded information
- sources, Embedded Systems Programming Magazine, Miller Freeman
- Directories, and the Embedded Systems Conferences. There is no charge
- to users of this site, which contains hands-on articles, editorials,
- and code downloads.
- http://www.embedded.com
-
-
- Vasu Srinivasan recommends the book "Using the M68HC11
- Microcontroller: A Guide to Interfacing and Programming" from
- Prentice-Hall. He says this book is useful if you're considering
- using the 68HC11EVB. See section 9.1 in this FAQ more information on
- this book.
-
-
- Take care of yourselves,
-
- Uncle Russ
-
-
- 1) ABOUT THIS FAQ
-
- 1.1) Who put this FAQ together?
-
- From time to time, general questions about microcontrollers and
- embedded processors (from beginners to experienced designers) pop up
- in the newsgroups. It seemed that a general primer/FAQ might be
- useful.
-
- Much of this document could be considered as a sort of a primer on
- microcontrollers, with some material on embedded processors being
- slowly added. For those of you with previous experience, sections 9
- and 10 might be of special interest (especially for those of you
- looking for that elusive "free COBOL compiler for the 1802").
-
-
- 1.2) How can I contribute to this list?
-
- I please ask that if you have any suggestions or additions, or you
- would like to correct any of the information contained herein, please
- send me a note.
- My Email address is: russ@shani.net
- My Smail address is:
- Russ Hersch
- HaVradim 11
- Ginot Shomron
- ISRAEL
-
- Thanks to recent contributors:
- Magnus Danielson
- Marius Gafen (NSI, Israel)
- Michael Dolinsky, Ph.D. (Scaryna's Gomel State University,
- Belarus)
- Barry Kauler (the GOOFEE guy)
- Christian Brunschen
- Michael Markowitz (EDN magazine)
- Mark Meyer (American Educational Systems)
- Philippe Techer (Virtual Micro Design)
- Thomas Vegeby
- Ron Fredericks (editor, Software Forum Newsletter)
- Leticia Smith (webmaster, embedded.com)
- Bo Eriksson (Uppsala University, Sweden)
- Henry Spencer
- Mihai-Costin Manolescu
- Vasu Srinivasan
- Scott Finneran
- Tarjei T. Jensen
- John Doe (Techno-Wimp)
-
-
- Very special thanks to Robin L. Getz (National Semiconductor) who
- probably could be considered an honorary co-author of this FAQ. :-)
-
- Also, thanks to those who have posted questions and to those who have
- posted answers. Thanks to "all my net friends" who send suggestions
- and encouragement, as well as the occasional question. Special
- thanks to my mother-in-law, who thankfully doesn't know this FAQ
- exists ;-).
-
-
- 1.3) What newsgroups will this FAQ be posted to?
-
- This FAQ will be posted to the following newsgroups:
- comp.arch.embedded
- comp.robotics.misc
- comp.realtime
- sci.electronics.design
- alt.comp.hardware.homebuilt
- comp.answers
- sci.answers
- alt.answers
- news.answers
-
- I will post once a month - on or about the 26th of each month.
-
-
- 1.4) May I distribute this FAQ or post it somewhere else?
-
- I am putting no restrictions on the use of this FAQ except - It must
- be distributed in its entirety with the copyright notice, and no
- financial gain may be realized from it. After all, I have spent, and
- continue to spend, a lot of time on this.
-
- For this reason I have appended a copyright statement to the end of
- this FAQ. I feel pretty silly doing this, but I just want to protect
- myself. The copyright does not limit the use of this list for
- noncommercial purposes. I hereby give my permission to one and all
- to pass this list around and post it wherever you want - as long as
- it is not for financial gain.
-
- Thank you.
-
-
- 2) MICROCONTROLLERS AND EMBEDDED PROCESSORS
-
-
- 2.1) What is a Microcontroller?
-
- A controller is used to control (makes sense!) some process or aspect
- of the environment. A typical microcontroller application is the
- monitoring of my house. As the temperature rises, the controller
- causes the windows to open. If the temperature goes above a certain
- threshold, the air conditioner is activated. If the system detects
- my mother-in-law approaching, the doors are locked and the windows
- barred. In addition, upon detecting that my computer is turned on,
- the stereo turns on at a deafening volume (for more on this, see the
- section on development tools).
-
- At one time, controllers were built exclusively from logic
- components, and were usually large, heavy boxes (before this, they
- were even bigger, more complex analog monstrosities). Later on,
- microprocessors were used and the entire controller could fit on a
- small circuit board. This is still common - you can find many [good]
- controllers powered by one of the many common microprocessors
- (including Zilog Z80, Intel 8088, Motorola 6809, and others).
-
- As the process of miniaturization continued, all of the components
- needed for a controller were built right onto one chip. A one chip
- computer, or microcontroller was born. A microcontroller is a highly
- integrated chip which includes, on one chip, all or most of the parts
- needed for a controller. The microcontroller could be called a
- "one-chip solution". It typically includes:
- CPU (central processing unit)
- RAM (Random Access Memory)
- EPROM/PROM/ROM (Erasable Programmable Read Only Memory)
- I/O (input/output) - serial and parallel
- timers
- interrupt controller
-
- By only including the features specific to the task (control), cost
- is relatively low. A typical microcontroller has bit manipulation
- instructions, easy and direct access to I/O (input/output), and quick
- and efficient interrupt processing. Microcontrollers are a "one-chip
- solution" which drastically reduces parts count and design costs.
-
-
- 2.2) What is an embedded controller?
-
- Hah! Why not ask an easy question like "Did Adam have a navel?" or
- "Did Eve?" <Can't say about Adam, but well, Eve probably did. She
- would have looked pretty silly in a fig leaf, without a navel.>
-
- Simply (and naively stated) an embedded controller is a controller
- that is embedded in a greater system. A rigid definition is
- difficult if not impossible to formulate, since the usual response is
- "most embedded controllers are...". The problem here is "most". We
- can't seem to shake that word from the definition. No matter how
- clever you feel your definition is, some wiseguy will come along and
- find an exception, or two, or 50.
-
- You COULD say that an embedded controller is a controller (or
- computer) that is embedded into some device for some purpose other
- than to provide general purpose computing. Of course, someone will
- eventually prove you wrong, but who cares?
-
- A common example of a general purpose computer, would be a typical PC
- clone. The x86 processor in this machine can't really be considered
- an embedded controller, since the machine is typically used for
- general purpose computing. However, what is general purpose
- computing? Take this same PC clone, turn it into a multi-media
- machine, and voila! You have an appliance - much on the order of a
- microwave oven or television. Is the x86 processor now considered an
- embedded controller Or, is the PC clone itself now considered an
- embedded controller, controlling the multi-media peripherals? Hey -
- I don't know about you, but I'm getting too old for this nonsense.
-
- Is a microcontroller an embedded processor? Is an embedded processor
- a microcontroller? What's the difference between an embedded
- processor and a microcontroller? Well, today - not much. With the
- continuing process of high scale integration continuing at a dizzying
- pace, many standard architecture processors are turning up as
- microcontrollers. A few such examples are the Motorola 68EC300,
- Intel 386 EX, and the IBM PowerPC 403GB. These chips could be called
- super-microcontrollers.
-
- So, what's the difference between an embedded processor and a
- microcontroller? I wouldn't touch that question with a ten foot
- logic probe.
-
- We might be safe by stating that an embedded processor controls
- something (for example controlling a device such as a microwave oven,
- car braking system, or a cruise missile). Is this always true?
- Maybe. Maybe not. You know, it just doesn't end.
-
- The main thing is not to get to hung up on precise definitions.
- Black and white? Hell no, we've got grey scale, dithering,
- diffusion, you name it! Same thing goes here with embedded
- controllers, just go with the flow. It all depends on your point of
- view.
-
- Alright, if you really must insist, we'll take a stab at defining
- what an embedded controller is - realize however that there will be
- many exceptions. Embedded controllers adhere to a philosophy similar
- to that of microcontrollers, high integration. By including [many]
- features necessary for the task at hand, an embedded controller
- (processor) can be a powerful yet cost effective solution. However,
- where a microcontroller [almost by definition] is a computer on a
- chip, an embedded controller might need external components before it
- is considered a "computer." This is especially true regarding RAM.
- Since including large amounts of RAM (megabytes) on a processor is
- not really practical (due to cost and available silicon real estate)
- and because many embedded controllers are real powerhouses requiring
- large amounts of RAM, the RAM is often external to the processor.
-
-
- 2.3) Applications
-
- In addition to the above home monitoring system, embedded processors
- and microcontrollers are frequently found in: appliances (microwave
- oven, refrigerators, television and VCRs, stereos), computers and
- computer equipment (laser printers, modems, disk drives), automobiles
- (engine control, diagnostics, climate control), environmental control
- (greenhouse, factory, home), instrumentation, aerospace, and
- thousands of other uses. In many items, more than one processor can
- be found.
-
- Microcontrollers are typically used where processing power isn't so
- important. Although some of you out there might find a microwave
- oven controlled by a Unix system an attractive idea, controlling a
- microwave oven is easily accomplished with the smallest of
- microcontrollers. On the other hand, if you're putting together a
- cruise missile to solve the problem of your neighbor's dog barking at
- 3 in the morning, you'll probably need to use processors with a bit
- more computing power.
-
- Embedded processors and microcontrollers are used extensively in
- robotics. In this application, many specific tasks might be
- distributed among a large number of controllers in one system.
- Communications between each controller and a central, possibly more
- powerful controller (or micro/mini/mainframe) would enable
- information to be processed by the central computer, or to be passed
- around to other controllers in the system.
-
- A special application that microcontrollers are well suited for is
- data logging. Stick one of these chips out in the middle of a corn
- field or up in a ballon, and monitor and record environmental
- parameters (temperature, humidity, rain, etc). Small size, low power
- consumption, and flexibility make these devices ideal for unattended
- data monitoring and recording.
-
-
- 2.4) Flavors
-
- Embedded processors come in many flavors and varieties. Depending on
- the power and features that are needed, you might choose a 4, 8, 16,
- or 32 bit microcontroller. Standard microprocessors (such as the
- Motorola 68000 or National 32032) are frequently used as powerful
- embedded controllers. In addition, specialized processors are
- available which include features specific for communications,
- keyboard handling, signal processing, video processing, and other
- tasks.
-
-
- 3) THE MICROCONTROLLER MARKET
-
- Thanks to Robin Getz of National Semiconductor for supplying much of
- the material in this section.
-
-
- 3.1) Shipments
-
- WorldWide Microcontroller Shipments (in millions of dollars)
-
- '90 '91 '92 '93 '94 '95 '96 '97 '98 '99 '00
- 4-bit 1,393 1,597 1,596 1,698 1,761 1,826 1,849 1,881 1,856 1,816 1,757
- 8-bit 2,077 2,615 2,862 3,703 4,689 5,634 6,553 7,529 8,423 9,219 9,715
- 16-bit 192 303 340 484 810 1,170 1,628 2,191 2,969 3,678 4,405
-
-
- WorldWide Microcontroller Shipments (in Millions)
-
- '90 '91 '92 '93 '94 '95 '96 '97 '98 '99 '00
- 4-bit 778 906 979 1036 1063 1110 1100 1096 1064 1025 970
- 8-bit 588 753 843 1073 1449 1803 2123 2374 2556 2681 2700
- 16-bit 22 38 45 59 106 157 227 313 419 501 585
-
-
- Source: WSTS & ICE - 1994
-
- If you were wondering why you should bother learning about
- microcontrollers - well, the tables above should fairly scream the
- answer at you. Microcontrollers will be *BIG* business - we're
- talking piles of cash - billions!
-
- Notice that even the lowly 4-bit device is holding its own - what use
- is a 16-bit part in a toaster oven? Also notice that the 8-bit
- market just keeps growing, and will probably continue to grow. 8-bit
- devices account for over half of the market, and will eventually grab
- even more. Now do you understand why every silicon manufacturer is
- really pushing their 8-bit microcontrollers?
-
-
- 3.2) Industrial applications
-
- Average Semiconductor Content per Passenger Automobile (in Dollars)
-
- '90 '91 '92 '93 '94 '95 '96 '97 '98 '99 '00
- $ 595 634 712 905 1,068 1,237 1,339 1,410 1,574 1,852 2,126
-
- Source: ICE - 1994
-
- The automotive market is the most important single driving force in
- the microcontroller market, especially at it's high end. Several
- microcontroller families were developed specifically for automotive
- applications and were subsequently modified to serve other embedded
- applications.
-
- The automotive market is demanding. Electronics must operate under
- extreme temperatures and be able to withstand vibration, shock, and
- EMI. The electronics must be reliable, because a failure that causes
- an accident can (and does) result in multi-million dollar lawsuits.
- Reliability standards are high - but because these electronics also
- compete in the consumer market - they have a low price tag.
-
- Automotive is not the only market that is growing. DataQuest says
- that in the average North American's home there are 35
- microcontrollers. By the year 2000 - that number will grow to 240.
- Consumer electronics is a booming business.
-
-
- 3.3) Deciding whose microcontroller to use
-
- When deciding which devices to implement in a design, there are lots
- of things to consider besides who else is using these devices (and
- how many are they using).
- - Can I expect help when I am having problems?
- - What development tools are available and how much do they cost?
- - What sort of documentation is available (reference manuals,
- application notes, books)?
- - Can I work a deal by purchasing more devices at one manufacturer?
- That is, purchasing not only the microcontroller, but also
- peripherals (A/D, memory, voltage regulator, etc.) from one
- company).
- - Do they support OTPs, windowed devices, mask parts?
-
-
- 3.4) The players
-
-
- MICROPROCESSORS
- Rank Sales ($ millions)
- 1995 1994 Company 1995 1994
- -----------------------------------------------
- 1 1 Intel $10,800 $8,036
- 2 3 AMD 881 992
- 3 2 Motorola 781 827
- 4 11 IBM 468 297
- 5 6 TI 219 202
- 6 4 Cyrix 210 240
- 7 5 Hitachi 188 66
- 8 7 NEC 100 82
- 9 8 LSI Logic 58 51
- 10 10 IDT 45 25
-
- Source: In-Stat Inc.
-
-
- MICROCONTROLLERS
- Rank Sales ($ millions)
- 1995 1994 Company 1995 1994
- -----------------------------------------------
- 1 1 Motorola $1,781 $1,511
- 2 2 NEC 1,421 1,208
- 3 4 Mitsibishi 945 708
- 4 3 Hitachi 899 782
- 5 5 Intel 835 605
- 6 6 TI 807 534
- 7 8 Philips 524 345
- 8 7 Matsushita 500 413
- 9 10 Lucent (AT&T) 492 275
- 10 9 Toshiba 400 328
-
- Source: In-Stat Inc.
-
-
-
- 4) MICROCONTROLLER FEATURES
-
- Thanks to Robin Getz of National Semiconductor who supplied some of
- the material in this section.
-
-
- 4.1) Fabrication techniques
-
- CMOS - Complementary Metal Oxide Semiconductor
-
- This is the name of a common technique used to fabricate most (if
- not all) of the newer microcontrollers. CMOS requires much less
- power than older fabrication techniques, which permits battery
- operation. CMOS chips also can be fully or near fully static,
- which means that the clock can be slowed up (or even stopped)
- putting the chip in sleep mode. CMOS has a much higher immunity
- to noise (power fluctuations or spikes) than the older fabrication
- techniques.
-
-
- PMP - Post Metal Programming (National Semiconductor)
-
- PMP is a high-energy implantation process that allows
- microcontroller ROM to be programmed AFTER final metalization.
- Usually ROM is implemented in the second layer die, with nine or
- ten other layers then added on top. That means the ROM pattern
- must be specified early in the production process, and completed
- prototypes devices won't be available typically for six to eight
- weeks. With PMP, however, dies can be fully manufactured through
- metalization and electrical tests (only the passivation layers
- need to be added), and held in inventory. This means that ROM can
- be programmed late in production cycle, making prototypes
- available in only two weeks.
-
-
- 4.2) Architectural features
-
- Von-Neuman Architecure
-
- Microcontrollers based on the Von-Neuman architecture have a
- single "data" bus that is used to fetch both instructions and
- data. Program instructions and data are stored in a common main
- memory. When such a controller addresses main memory, it first
- fetches an instruction, and then it fetches the data to support
- the instruction. The two separate fetches slows up the
- controller's operation.
-
-
- Harvard Architecture
-
- Microcontrollers based on the Harvard Architecture have separate
- data bus and an instruction bus. This allows execution to occur
- in parallel. As an instruction is being "pre-fetched", the
- current instruction is executing on the data bus. Once the
- current instruction is complete, the next instruction is ready to
- go. This pre-fetch theoretically allows for much faster execution
- than a Von-Neuman architecture, but there is some added silicon
- complexity.
-
-
- CISC
-
- Almost all of today's microcontrollers are based on the CISC
- (Complex Instruction Set Computer) concept. The typical CISC
- microcontroller has well over 80 instructions, many of them very
- powerful and very specialized for specific control tasks. It is
- quite common for the instructions to all behave quite differently.
- Some might only operate on certain address spaces or registers,
- and others might only recognize certain addressing modes.
-
- The advantages of the CISC architecture is that many of the
- instructions are macro-like, allowing the programmer to use one
- instruction in place of many simpler instructions.
-
-
- RISC
-
- The industry trend for microprocessor design is for Reduced
- Instruction Set Computers (RISC) designs. This is beginning to
- spill over into the microntroller market. By implementing fewer
- instructions, the chip designed is able to dedicate some of the
- precious silicon real-estate for performance enhancing features.
- The benefits of RISC design simplicity are a smaller chip, smaller
- pin count, and very low power consumption.
-
- Among some of the typical features of a RISC processor:
- - Harvard architecture (separate buses for instructions and
- data) allows simultaneous access of program and data, and
- overlapping of some operations for increased processing
- performance
- - Instruction pipelining increases execution speed
- - Orthogonal (symmetrical) instruction set for programming
- simplicity; allows each instruction to operate on any
- register or use any addressing mode; instructions have no
- special combinations, exceptions, restrictions, or side
- effects
-
-
- SISC
-
- Actually, a microcontroller is by definition a Reduced Instruction
- Set Computer (at least in my opinion). It could really be called
- a Specific Instruction Set Computer (SISC). The [original] idea
- behind the microcontroller was to limit the capabilities of the
- CPU itself, allowing a complete computer (memory, I/O, interrupts,
- etc) to fit on the available real estate. At the expense of the
- more general purpose instructions that make the standard
- microprocessors (8088, 68000, 32032) so easy to use, the
- instruction set was designed for the specific purpose of control
- (powerful bit manipulation, easy and efficient I/O, and so on).
-
- Microcontrollers now come with a mind boggling array of features
- that aid the control engineer - watchdog timers, sleep/wakeup
- modes, power management, powerful I/O channels, and so on. By
- keeping the instruction set specific (and reduced), and thus
- saving valuable real estate, more and more of these features can
- be added, while maintaining the economy of the microcontroller.
-
-
- 4.3) Advanced Memory options
-
- EEPROM - Electrically Erasable Programmable Read Only Memory
-
- Many microcontrollers have limited amounts of EEPROM on the chip.
- EEPROM seems more suited (becuase of its economics) for small
- amounts of memory that hold a limited number of parameters that
- may have to be changed from time to time. This type of memory is
- relatively slow, and the number of erase/write cycles allowed in
- its lifetime is limited.
-
-
- FLASH (EPROM)
-
- Flash provides a better solution than regular EEPROM when there is
- a requirement for large amounts of non-volatile program memory.
- It is both faster and permits more erase/write cycles than EEPROM.
-
-
- Battery backed-up static RAM
-
- Battery backed-up static RAM is useful when a large non-volatile
- program and DATA space is required. A major advantage of static
- RAM is that it is much faster than other types of non-volatile
- memory so it is well suited for high performance application.
- There also are no limits as to the number of times that it may be
- written to so it is perfect for applications that keep and
- manipulate large amounts of data locally.
-
-
- Field programming/reprogramming
-
- Using nonvolatile memory as a place to store program memory allows
- the device to be reprogrammed in the field without removing the
- microcontroller from the system that it controls. One such
- application is in automotive engine controllers. Reprogrammable
- non-volatile program memory on the engine's microcontroller allows
- the engine controller program to be modified during routine
- service to incorporate the latest features or to compensate for
- such factors as engine aging and changing emissions control laws
- (or even to fix bugs!!). Reprogramming of the microcontroller
- could become a standard part the routine engine tune-up.
-
- Almost every application could benefit from this type of program
- memory - If a modem's hardware supported it, you could remotely
- upgrade your modem from Vfast to V.34, or incorporate new features
- such as voice control or a digital answering machine.
-
-
- OTP - One Time Programmable
-
- An OTP is a PROM (Programmable Read-Only-Memory) device. Once
- your program is written into the device with a standard EPROM
- programmer, it can not be erased or modified. This is usually
- used for limited production runs before a ROM mask is done in
- order to test code.
-
- A OTP (One Time Programmable) part uses standard EPROM, but the
- package has no window for erasing. Once your program is written
- into the device with a standard EPROM programmer, it cannot be
- erased or modified. (Well, sort of - any bit that is a one can be
- changed to a zero - but a bit that is a zero cannot be changed
- into a one).
-
- As product design cycles get shorter, it is more important for
- micro manufacturers to offer OTPs as an option. This was commonly
- used for limited production runs before a ROM mask in order to
- test code. However, one problem with Mask ROM is that
- programming, setup, and engineering charges make it economical
- only when the systems manufacturer purchases large quantities of
- identically programmed micros. Then when you discover THAT bug
- (and find it and fix your code), you have quantities of *old
- buggy* micros around that you have to throw away. Not to mention
- that lead time (the time when you submit your code to the micro
- manufacture, to the time you receive your micro with your code on
- it) can be at least 8 weeks, and as bad as 44 weeks.
-
-
- Software protection
-
- Either by encryption or fuse protection, the programmed software
- is protected against unauthorized snooping (reverse engineering,
- modifications, piracy, etc.).
-
- This is only an option on OTPs and Windowed devices. On Masked
- ROM devices, security is not needed - the only way to read your
- code would be to rip the microcontroller apart with a scanning
- electron microscope - and how many people really have one of
- those?
-
- Although - and this is a manufacturer's little know fact - when a
- silicon manufacturer makes your ROMed microcontroller - they have
- to test it in order to make sure that it is programmed properly.
- (You should see what a spec of dust does on a mask :-) In order
- to test this, they must be able to read out the ROM and compare it
- to the code you submitted. This mode is known as test mode. IN
- TEST MODE YOU CAN READ OUT THE ROM OF ANY DEVICE. Anybody who
- tells you different, does not know what they are talking about -
- or is lying. This is usually not a big deal because test mode is
- ***VERY*** confidential, and (usually) only known by that
- manufacturer (i.e. you cannot put a device into test mode by
- accident). Test mode is ONLY applicable with ROMed devices.
-
-
- 4.4) Power Management and Low Voltage
-
- Low voltage parts
-
- Since automotive applications have been the driving force behind
- most microcontrollers, and 5 Volts is very easy to do in a car,
- most microcontrollers have only supported 4.5 - 5.5 V operation.
- In the recent past, as consumer goods are beginning to drive major
- segments of the microcontroller market, and as consumer goods
- become portable and lightweight, the requirement for 3 volt (and
- lower) microcontrollers has become urgent (3 volts = 2 battery
- solution / lower voltage = longer battery life). Most low voltage
- parts in the market today are simply 5 volt parts that were
- modified to operate at 3 volts (usually at a performance loss).
- Some micros being released now are designed from the ground up to
- operate properly at 3.0 (and lower) voltages, which offer
- comparable performance of the 5 volt devices.
-
-
- Now, why are voltages REALLY going down on ICs? Paul K. Johnson
- (of Hewlett-Packard) explains:
-
- There are a few interesting rules of thumb regarding transistors:
- 1) The amount of power they dissipate is proportional to their
- size. If you make a transistor half as big, it dissipates
- half as much power.
- 2) Their propagation delay is proportional to their size. If you
- make a transistor half as big, it's twice as fast.
- 3) Their cost is proportional to the square of their size. If
- you make them half as big, they cost one quarter as much.
-
- If you make a transistor smaller, you improve the power, speed,
- and cost. The only drawback is that they are harder to make.
- (Hey, how hard can it be for HP, IBM, Motorola, National, etc?
- ed.) Everybody in the world wants to make transistors smaller and
- smaller, the advantages are enormous.
-
- For years people have been using 5 Volts to power IC's. Because
- the transistors were large, there was little danger damaging the
- transistor putting this voltage across it. However, now that the
- transistors are getting so small, 5 Volts will actually fry them.
- The only way around this is to start lowering the voltage. This
- is why people are now using 3 (actually 3.3) Volt logic, and lower
- in the next few years. It isn't just because of batteries.
-
-
- Brownout Protection
-
- Brownout protection is usually an on-board protection circuit that
- resets the device when the operating voltage (Vcc) is lower than
- the brownout voltage. The device is held in reset and will remain
- in reset when Vcc stays below the Brownout voltage. The device
- will resume execution (from reset) after Vcc has risen above the
- brownout Voltage.
-
-
- Idle/Halt/Wakeup
-
- The device can be placed into IDLE/HALT mode by software control.
- In both Halt and Idle conditions the state of the microcontroller
- remains. RAM is not cleared and any outputs are not changed. The
- terms idle and halt often have different definitions, depending on
- the manufacturer. What some call idle, others may call halt, and
- vice versa. It can be confusing, so check the data sheet for the
- device in question to be sure.
-
- In IDLE mode, all activities are stopped except:
- - associated on-board oscillator circuitry
- - watchdog logic (if any)
- - the clock monitor
- - the idle timer (a free running timer)
- Power supply requirements on the microcontroller in this mode are
- typically around 30% of normal power requirements of the
- microprocessor. Idle mode is exited by a reset, or some other
- stimulus (such as timer interrupt, serial port, etc.). A special
- timer/counter (the idle timer) causes the chip to wake up at a
- regular interval to check if things are OK. The chip then goes
- back to sleep.
-
- IDLE mode is extremely useful for remote, unattended data logging
- - the microprocessor wakes up at regular intervals, takes its
- measurements, logs the data, and then goes back to sleep.
-
- In Halt mode, all activities are stopped (including timers and
- counters). The only way to wake up is by a reset or device
- interrupt (such as an I/O port). The power requirements of the
- device are minimal and the applied voltage (Vcc) can sometimes be
- decreased below operating voltage without altering the state
- (RAM/Outputs) of the device. Current consumption is typically
- less than 1 uA.
-
- A common application of HALT mode is in laptop keyboards. In
- order to have maximum power saving, the controller is in halt
- until it detects a keystroke (via a device interrupt). It then
- wakes up, decodes and sends the keystroke to the host, and then
- goes back into halt mode, waiting either for another keystroke, or
- information from the host.
-
-
- Multi-Input Wakeup (National Semiconductor)
-
- The Multi-Input WakeUp (MIWU) feature is used to return (wakeup)
- the microcontroller from either HALT or IDLE modes. Alternately
- MIWU may also be used to generate up to 8 edge selectible external
- interrupts. The user can select whether the trigger condition on
- the pins is going to be either a positive edge (low to high) or a
- negative edge (high to low).
-
-
- 4.5) I/O
-
- UART
-
- A UART (Universal Asynchronous Receiver Transmitter) is a serial
- port adapter for asynchronous serial communications.
-
-
- USART
-
- A USART (Universal Synchronous/Asynchronous Receiver Transmitter)
- is a serial port adapter for either asynchronous or synchronous
- serial communications. Communications using a USART are typically
- much faster (as much as 16 times) than with a UART.
-
-
- Synchronous serial port
-
- A synchronous serial port doesn't require start/stop bits and can
- operate at much higher clock rates than an asynchronous serial
- port. Used to communicate with high speed devices such as memory
- servers, display drivers, additional A/D ports, etc. Can also be
- used to implement a simple microcontroller network.
-
-
- SPI (Motorola)
-
- An SPI (serial peripheral interface) is a synchronous serial port.
-
-
- SCI
-
- An SCI (serial communications interface) is an enhanced UART
- (asynchronous serial port).
-
-
- I2C bus - Inter-Integrated Circuit bus (Philips)
-
- The I2C bus is a simple 2 wire serial interface developed by
- Philips. It was developed for 8 bit applications and is widely
- used in consumer electronics, automotive and industrial
- applications. In addition to microcontrollers, several
- peripherals also exist that support the I2C bus.
-
- The I2C bus is a two line, multi-master, multi-slave network
- interface with collision detection. Up to 128 devices can exist
- on the network and they can be spread out over 10 meters. Each
- node (microcontroller or peripheral) may initiate a message, and
- then transmit or receive data. The two lines of the network
- consist of the serial data line and the serial clock line. Each
- node on the network has a unique address which accompanies any
- message passed between nodes. Since only 2 wires are needed, it
- is easy to interconnect a number of devices.
-
-
- MICROWIRE/PLUS (National Semiconductor)
-
- MICROWIRE/PLUS is a serial synchronous bi-directional
- communications interface. This is used on National Semiconductor
- Corporation's devices (microcontrollers, A/D converters, display
- drivers, EEPROMS, etc.).
-
-
- CAN & J1850
-
- CAN (Controller Area Network) is a mutiplexed wiring scheme that
- was developed jointly by Bosh and Intel for wiring in automobiles.
- J1850 is the SAE (Society of Automotive Engineers) multiplexed
- automotive wiring standard that is currently in use in North
- America.
-
- Both of these groups have the "NOT INVENTED HERE" syndrome and
- refuse to work with each other's standard. The standards are quite
- different and are not compatible at all.
-
- The CAN specification seems to be the one that is being used in
- industrial control both in North American and Europe. With lower
- cost microcontrollers that support CAN, CAN has a good potential
- to take off.
-
- Ken Tindell points out that although the J1850 and CAN buses are
- incompatible at an electrical level, they are almost the same at a
- higher level. They both use short-frame priority arbitration based
- on 29-bit identifiers. At a software-level there is hope. Isn't
- there always?
-
-
- Analog to Digital Conversion (A/D)
-
- Converts an external analog signal (typically relative to voltage)
- and converts it to a digital representation. Microcontrollers
- that have this feature can be used for instrumention,
- environmental data logging, or any application that lives in an
- analog world.
-
- The various types of A/D converters that can be found:
-
- Succesive Approximation A/D converters -- This the most common
- type of A/D and is used in the majority of microcontrollers. In
- this technique, the converter figures out each bit at a time (most
- significant first) and finds if the next step is higher or lower.
- This way has some benefits - it takes exactly the same amount of
- time for any conversion - it is very common - (and therefore very
- cheap). However it also has some disadvantages - it is slow - for
- every bit it takes at least one clock cycle - the best an 8-bit
- A/D can do is at least 8 clock cycles (and a couple for
- housekeeping). Because it takes so long - it is a power hog as
- compared to the other types of A/Ds.
-
- Single Slope A/D converters -- This is the type of converter that
- you can build yourself (if the microcontroller has a couple of
- analog blocks on it). Your single slope A/D converter would
- include Analog Mux / comparator / timer (8-bit timer = 8 bit A/D -
- 16-bit timer = 16 bit A/D) with input capture and a constant
- current source. The only microcontroller (that I know of) that
- has all of this on it is National's COP888EK.
-
- First Step is to clear the timer to 0000 and then start it. It is
- a simple matter to hang an external capacitor, and charge it with
- the constant current source (linearly because of the current
- source) when the voltage on the cap exceeds the sampling voltage,
- the comparitor toggles, stops the timer - and voila - you have the
- voltage in uSecs - with 16-bit accuracy. The only drawback is you
- can't really expect 16 bits (14 yes) - the conversion time varies
- quite a bit, and it is SLOW.
-
- Delta-Sigma A/Ds converters -- This type of A/D converter is found
- on higher-end DSPs. These are the hardest to understand of the
- A/Ds because it just makes a best guess (a little National
- Semiconductor humor here :-). Delta sigma A/Ds can be broken down
- into two main parts.
-
- The modulator which does the A/D conversion and the filter, which
- turns the output of the modulator into a format suitible for the
- microcontroller (or DSP).
-
- The modulator is very simple - it just compares the input voltage
- to the average of the last 100 (or so) modulator outputs and
- decides if the input is higher or lower than the average. This
- happens millions of times a second, resulting in a high speed
- single-bit datastream of 1s and 0s who's *average* is equal to the
- input voltage. Becuse the ouput is only a one or a zero, there are
- very few sources of errors. This is the main reason that
- delta-sigma A/Ds are **very** accurate.
-
- The filter comes after the modulator ... and this filter is
- essentially a big DSP block. It must take the very high speed
- stream of ones and zeros and turn it into a slower speed stream of
- 16-bit (or greater) words to be used by the microcontroller. This
- process is called decimation and the filter is often called a
- "comb filter". Another digital filter follows this stage and
- rejects unwanted frequencies. This filter performs a similar
- function to the anti-aliasing filter required in many traditional
- A/D appliactions, but it does it at an unprecedented level of
- performance and at low cost. This is the other major benefit of
- delta-sigma A/Ds.
-
- Flash A/D -- This is the basic architecure for the fastest
- category of A/Ds. The flash converter involves looking at each
- level that is possible and instantaneously saying what level the
- voltage is at. This is done by setting up comparators as
- threshold detectors with each detector being set up for a voltage
- exaclty 1 LSB higher than the detector below it. The benefit of
- this architecture is that with a single clock cycle, you can tell
- exactly what the input voltage is - that is why it is so fast.
- The disadvantage is that to achieve 8-bit accuracy you need 256
- comparators and to achieve 10-bit accuracy you need 1024
- comparators. To make these comparators operate at higher speeds,
- they have to draw LOTS of current, and beyond 10 bits, the number
- of comparators required becomes totally unmanageable.
-
-
- D/A (Digital to Analog) Converters
-
- This feature takes a Digital number and converts it to a analog
- output. The number 50 would be changed to the analog output of
- (50/256 * 5Volts) = .9765625V on a 8-bit / 5 Volt system.
-
-
- Pulse width modulator
-
- Often used as a digital-to-analog conversion technique. A pulse
- train is generated and regulated with a low-pass filter to
- generate a voltage proportional to the duty cycle.
-
-
- Pulse accumulator
-
- A pulse accumulator is an event counter. Each pulse increments
- the pulse accumulator register, recording the number of times this
- event has occurred.
-
-
- Input Capture
-
- Input Capture can measure external frequencies or time intervals
- by copying the value from a free running timer into a register
- when an external event occurs.
-
-
- Comparator
-
- One or more standard comparators can sometimes be placed on a
- microcontroller die. These comparators operate much like standard
- comparators however the input and output signals are available on
- the microcontroller bus.
-
-
- Mixed (Analog-Digital) Signal
-
- We live in an analog world where the information we see, hear,
- process, and exchange with each other, and with our mechanical and
- electronic systems, is always an analog quantity - pressure,
- temperature, voltage, current, air and water flow are always
- analog entities. They can be digitized for more efficient
- sorting, storage and transmittal, but the interface - the input
- and output - is almost always analog. Thus the essence of analog
- electronics lies in sensing continuously varying information,
- shaping and converting it for the efficiency of digital processing
- and transmission, and reshaping the digital data to an analog
- signal at the other end.
-
- Mixed analog-digital devices are being used increasingly to
- integrate the complex functions of high-speed telecommunications,
- or the real-time data processing demanded by industrial control
- systems and automotive systems. Start looking for
- microcontrollers that have analog comparators, analog
- multiplexers, current sources, voltage doublers, PLL (Phase Lock
- Loops) and all sorts of peripherals that you thought were analog
- only.
-
-
- 4.6) Interrupts
-
-
- Polling
-
- Polling is not really a "feature" - it's what you have to do if
- your microcontroller of choice does not have interrupts.
- Polling is a software technique whereby the controller continually
- asks a peripheral if it needs servicing. The peripheral sets a
- flag when it has data ready for transferring to the controller,
- which the controller notices on its next poll. Several such
- peripherals can be polled in succession, with the controller
- jumping to different software routines, depending on which flags
- have been set.
-
-
- Interrupts
-
- Rather than have the microcontroller continually polling - that
- is, asking peripherals (timers / UARTS / A/Ds / external
- components) whether they have any data available (and finding most
- of the time they do not), a more efficient method is to have the
- peripherals tell the controller when they have data ready. The
- controller can be carrying out its normal function, only
- responding to peripherals when there is data to respond to. On
- receipt of an interrupt, the controller suspends its current
- operation, identifies the interrupting peripheral, then jumps
- (vectors) to the appropriate interrupt service routine.
-
- The advantage of interrupts, compared with polling, is the speed
- of response to external events and reduced software overhead (of
- continually asking peripherals if they have any data ready).
-
- Most microcontrollers have at least one external interrupt, which
- can be edge selectible (rising or falling) or level triggered.
- Both systems (edge/level) have advantages. Edge - is not time
- sensitive, but it is susceptible to gitches. Level - must be held
- high (or low) for a specific duration (which can be a pain - but
- is not susceptible to glitches).
-
- Interrupts are critical when you are controlling anything (this is
- what microcontrollers do). If you misunderstand any of the terms,
- and design your systems with the way you *think* it works - not
- the way it *really* works - it will effect system performance. It
- may also work for a very long time with no problems, and then all
- of a sudden fail. Check your datasheets - these descriptions are
- the correct ones (or are at least supposed to be), but that does
- not mean that they are agreed to by the silicon manufacturers, (or
- by the marketing guys that they employ, and who write parts of the
- data sheets.)
-
- 4 bit microcontrollers usually have either a polling or
- non-vectored type of interrupt scheme. 8 and 16 bit
- microcontrollers usually have some type of vectored arbitration
- type of interrupt scheme. 32 bit microcontrollers usually will
- have some type of vectored priority type of interrupt scheme.
- Again, check your data sheet to make sure - or ask a
- manufacturer's rep if you aren't sure.
-
-
- Maskable Interrupts
-
- A maskable interrupt is one that you can disable or enable
- (masking it out means disabling the interrupt), whereas
- non-maskable interrupts you can't disable. The benefit of
- maskable interrupts is that you can turn off a particular
- interrupts (for example a UART) during some time critical task.
- Then, those particular interrupts will be ignored thus allowing
- the microcontroller to deal with the task at hand. Most
- microcontrollers (as well as most microprocessors) have some type
- of Global Interrupt Enable (GIE) which allows you to turn off (or
- on) all of the maskable interrupts with one bit. NOTE: GIE
- usually does not effect any NMI (Non-Maskable Interrupts)
-
-
- Vectored Interrupts
-
- Simple (non-vectored) interrupts is one of the simplest interrupt
- schemes there is (Simple = less silicon = more software = slower).
- Whenever there is an interrupt, the program counter (PC) branches
- to one specific address. At this address, the system designer
- needs to check the interrupts (one at a time) to see which
- peripheral has caused the interrupt to occur. Code for this may
- look like (on a COP8):
-
- IFBIT UART,PSW ; If the UART bit has been set
- JP UART_Recieve ; Jump to the UART receive service routine
-
- IFBIT T1,PSW ; If the timer has underflowed
- JP Underflow ; Jump to the underflow service routine
-
- ... and so on
-
- This can be *very* slow - and the time between the interrupt
- happening and the time the service routine is entered, depends on
- how the system designer sets up their ranking. The peripheral
- that is checked last takes the longest to process. Most
- microcontrollers that have fewer than 3 - 5 interrupts use this
- method. The benefit of this is that the system designer can set
- the priority - The most important peripheral gets checked first -
- and you get to decide which peripheral that is.
-
- Vectored interrupts are a little easier to set up, but the system
- designer has less control of the system (i.e. is dependent on the
- silicon manufacture to make the proper decisions during design of
- the chip). When an interrupt occurs, the hardware interrupt
- handler automatically branches to a specific address depending on
- what interrupt occurred. This is much faster than the
- non-vectored approach described above, however the system designer
- does not get to decide what peripheral gets checked first.
- Example (on a National Semiconductor COP888CG):
-
- Rank Source Description Vector Address
- ------------------------------------------------------------------
- 1 (highest) Software INTR Instruction 01FE - 01FF
- 2 External Pin G0 Edge 01FA - 01FB
- 3 Timer T0 Underflow 01F8 - 01F9
- 4 Timer T1 T1A / Underflow 01F6 - 01F7
- 5 Timer T1 T1B 01F4 - 01F5
- 6 MICROWIRE/PLUS BUSY Goes Low 01F2 - 01F3
- 7 UART Receive 01EE - 01EF
- 8 UART Transmit 01EC - 01ED
- 9 Timer T2 T2A / Underflow 01EA - 01EB
- 10 Timer T2 T2B 01E8 - 01E9
- 11 Timer T3 T3A / Underflow 01E6 - 01E7
- 12 Timer T3 T3B 01E4 - 01E5
- 13 Port L / MIWU Port L Edge 01E2 - 01E3
- 14 (lowest) Default VIS Interaction 01E0 - 01E1
-
- In ROM location 01F8 - 01F9 (2bytes x 8 bits = 16bit address) the
- system designer enters the ROM location of where they want the
- service routine (of the Timer T0 underflow) to be. And so on for
- the rest of the addresses.
-
-
- Interrupt arbitration and priority
-
- Interrupt arbitration and priority - These are two of the most
- misused words when it comes to microcontrollers (microprocessors
- too for that matter) and it's generally because no one knows the
- difference between them. Priority is not Arbitration.
- Arbitration is not Priority. Lets see if we can sort out the
- differences.
-
- Arbitration - If you look at the above chart of the COP888CG, you
- may think the interrupts are prioritized because they have some
- ranking. They do have rank, but they are not prioritized. What
- happens is that (in an arbitration scheme) when an interrupt
- occurs, the GIE (Global Interrupt Enable) is cleared. This
- effectively means that all future interrupts will be delayed until
- the GIE is set. The GIE becomes set only if the system designer
- sets it in a service routines, or on a RETI (Return from
- Interrupt).
-
- Quick Example 1 - Timer 1 underflows - the hardware clears the
- GIE, looks at ROM locations 01F6 and 01F7 and jumps to the ROM
- location pointed to by those addresses. The program does a couple
- things, and then sets the GIE (because the user wants to recognize
- an external interrupt during this service routine). However while
- in the service routine, Timer 3 underflows. Although a timer 3
- underflow is lower in rank than a timer 1 underflow, the interrupt
- handler does not care - it simply looks at the GIE, and because it
- is set - handles the interrupt (now we have nested interrupts).
- The Timer 1 underflow service routine will not be completed until
- the Timer 3 underflow is complete.
-
- Quick Example 2 - Timer 3 underflows at the same time as an
- External interrupt occur. The one to be handled first is the
- External Interrupt. If the user sets the GIE, the interrupt
- handler will jump down to the Timer 3 underflow handler. If the
- user does not set the GIE, the microcontroller handles the
- External interrupt, does a RETI, and the Timer 3 underflow can now
- be handled.
-
-
- Priority - In a priority scheme, things are prioritized (well,
- what'd you expect?). If Timer T0 underflows, the only thing that
- can interrupt that is an external or software interrupt. If a
- external or software interrupt occurs, the interrupt handler will
- branch to these service routines. When they are complete, it will
- return to the Timer T0 underflow.
-
- Quick Example - In the below timing diagram, the following
- happens:
- 1) Timer T0 underflows
- 2) Timer T2 underflows
- 3) An External Interrupt occurs.
-
-
- In a priority scheme, the following would happen:
-
- External Interrupt |---------|
- | |
- Timer T0 Underflow |-------| |------|
- | |
- Timer T2 Underflow | |------|
- | |
- Normal Execution ---| |-------
-
- ^ ^ ^ ^ ^ ^
- | | | | | |
- Time -> | | | | | \-T2 Done
- | | | | \-------- T0 Done
- | | | \-------------- Ext Done
- | | \------------------------ Ext Edge
- | \----------------------- T2 Underflows
- \--------------------------- T0 Underflows
-
- This is what RTOS (Real Timer Operating Systems) do - prioritize
- and handle interrupts.
-
-
- 4.7) Special microcontroller features
-
-
- Watchdog timer
-
- A watchdog timer provides a means of graceful recovery from a
- system problem. This could be a program that goes into an endless
- loop, or a hardware problem that prevents the program from
- operating correctly. If the program fails to reset the watchdog
- at some predetermined interval, a hardware reset will be
- initiated. The bug may still exist, but at least the system has a
- way to recover. This is especially useful for unattended systems.
-
-
- Digital Signal Processors (DSP)
-
- Microcontrollers react to and control events - DSPs execute
- repetitive math-intensive algorithms. Today many embedded
- applications require both types of processors, and semiconductor
- manufacturers have responded by introducing microcontrollers with
- on-chip DSP capability and DSPs with on-chip microcontrollers.
-
- The most basic thing a DSP will do is a MACC (Multiply and
- ACCumulate). The number of data bits a DSP can Multiply and
- ACCumulate will determine the dynamic range (and therefore the
- application).
-
- Bits Fixed/Floating Dynamic Range Typical Application
-
- 8 Fixed 48 dB Telephone-quality voice
- 16 Fixed 96 dB Compact disk (marginal)
- 24 Fixed 144 dB Compact disk
- (room for error)
-
-
- Clock Monitor
-
- A clock monitor can shut the microcontroller down (by holding the
- microcontroller in reset) if the input clock is too slow. This
- can usually be turned on or off under software control.
-
-
- Resident program loader
-
- Loads a program by Initializing program/data memory from either a
- serial or parallel port. Convenient for prototyping or trying out
- new features, eliminates the erase/burn/program cycle typical with
- EPROMs, and allows convenient updating of a system even from an
- offsite location.
-
-
- Monitor
-
- A monitor is a program installed in the microcontroller which
- provides basic development and debug capabilities. Typical
- capabilities of a microcontroller monitor include: loading object
- files into system RAM, executing programs, examining and modifying
- memory and registers, code disassembly, setting breakpoints, and
- single-stepping through code. Some simple monitors only allow
- basic functions such as memory inspection, and the more
- sophisticated monitors are capable of a full range of debug
- functions.
-
- Monitors can either communicate with a dumb terminal or with a
- host computer such as a PC. Much of the work of the monitor (such
- as user interface) can be offloaded to the host PC running a
- program designed to work with the monitor. This makes it possible
- to reduce the size and complexity of the code that must be
- installed in the target system.
-
-
- MIL transducer
-
- An MIL transducer is a sophisticated and expensive device that
- detects the presence of your mother-in-law. Sensitivity settings
- are possible for a full range of stimuli such as: snarling,
- stomping, nasty faces, and others. Techno-Wimp (address withheld
- upon request), the sole manufacturer of the MIL transducer, has
- recently announced a major new version which is sensitive enough
- to detect less-tangible stimuli. This breakthrough product is
- dubbed the MIL-WOMF ("Whoa, outta my face!") transducer. Both the
- original MIL and the new MIL-WOMF transducers are programmable and
- easy to interface to most microcontrollers.
-
-
- 5) Some popular microcontrollers
-
- Some common microcontrollers are described below. A common question
- is "what microcontroller should I use for...?" Well, that's a tough
- one. The best advice would be to choose a chip that has a full set
- of development tools at the price you can afford, and good
- documentation. For the hobbyist, the Intel 8051, Motorola 68hc11, or
- Microchip PIC would all make suitable choices.
-
-
- 8048 (Intel)
-
- The grandaddy of 'em all, the first microcontroller, it all
- started here! Although a bit long in the tooth and a bit kludgey
- in design (at least by today's standards), it is still very
- popular due to its very low cost, availability, and wide range of
- development tools.
-
- Modified Harvard architecture with program ROM on chip with an
- additional 64 to 256 bytes of RAM also on chip. I/O is mapped in
- its own space.
-
-
- 8051 (Intel and others)
-
- The 8051, Intel's second generation of microcontrollers, rules the
- microcontroller market at the present time. Although featuring a
- somewhat bizarre design, it is a very powerful and easy to program
- chip (once you get used to it).
-
- Modified Harvard architecture with separate address spaces for
- program memory and data memory. The program memory can be up to
- 64K. The lower portion (4K or 8K depending on type) may reside on
- chip. The 8051 can address up to 64K of external data memory, and
- is accessed only by indirect addressing. The 8051 has 128 bytes
- (256 bytes for the 8052) of on-chip RAM, plus a number of special
- function registers (SFRs). I/O is mapped in its own space.
-
- The 8051 features the so-called "boolean processor". This refers
- to the way instructions can single out bits just about anywhere
- (RAM, accumulators, I/O registers, etc.), perform complex bit
- tests and comparisons, and then execute relative jumps based on
- the results.
-
- Piles of software, both commercial and free, are available for the
- 8051 line. Many manufacturers supply what must be a hundred
- different variants of this chip for any requirement. Often
- featured in construction projects in the popular hobbyist
- magazines.
-
-
- 80c196 (MCS-96)
-
- The third generation of Intel microprocessors, the 80c196 is a 16
- bit processor. Originally fabricated in NMOS (8096), it is now
- mainly available in CMOS. Intel Corp. has recently introduced a
- clock-doubled (50MHz) version of the 80c196.
-
- Among the many features it includes are: hardware multiply and
- divide, 6 addressing modes, high speed I/O, A/D, serial
- communications channel, up to 40 I/O ports, 8 source priority
- interrupt controller, PWM generator, and watchdog timer.
-
-
- 80186,80188 (Intel)
-
- These chips are, in essence, microcontroller versions of the 8086
- and 8088 (of IBM/PC fame). Included on the chip are: 2 channels
- of DMA, 2 counter/timers, programmable interrupt controller, and
- dynamic RAM refresh. There are several variations including: low
- power versions, variations with serial ports, and so on.
-
- One major advantage you gain by using one of these parts is that
- you can use standard PC development tools (compilers, assemblers,
- etc) for developing you applications. If you are already familiar
- with PC software development, the learning curve will be short,
- since these chips have the same basic architecture as the original
- 8088 (as used in the IBM/PC).
-
- Other advantages include high speed processing, a full megabyte
- addressing space, and powerful interrupt processing.
-
-
- 80386 EX (Intel)
-
- The 80386 EX is of course a 386 in microcontroller clothing.
- Included on the chip are: serial I/O, power management, DMA,
- counter/timers, programmable interrupt controller, and dynamic RAM
- refresh. And of course, all of the power of the 386
- microprocessor.
-
- One major advantage you gain by using one of these parts is that
- you can use standard PC development tools (compilers, assemblers,
- etc) for developing your applications. If you are already
- familiar with PC software development, the learning curve will be
- short, since these chips have the same basic architecture as the
- original 8088 (as used in the IBM/PC).
-
- We're talking power here gang. Now let's all wait for Microsoft
- to release a version of Windows for embedded and real-time
- applications (Windows ET? Windows RT? Windows 2000? :-).
-
-
- 65C02/W65C816S/W65C134S (Western Design Center)
-
- The Western Design Center, Inc. is the original owner and designer
- of the 65C02 8-bit microprocessor, used in the original Apple,
- Commodore, and Atari computers. WDC has subsequently developed a
- 16-bit MPU (W65C816S), an 8-bit microcontroller (with 65C02 as the
- core) named W65C134S, and a 16-bit microcontroller (with 65C816 as
- core). These are sold off-the-shelf and the the module technology
- is licensed for use in ASIC designs.
-
- WDC has recently come out with their .8u 134S and 265S. There are
- many companies who have or are designing in these parts into their
- board-level system design. It is expected that this new version's
- performance to be greatly enhanced over the previous 1.2u. They
- are also working with their foundry to add EE and Flash versions
- to their standard product offering.
-
- The Western Design Center
- 2166 East Brown Rd.
- Mesa, AZ 85213
- (602)962-4545 Fax: (602)835-6442
- Email: wdesignc@wdesignc.com
- Web: http://www.wdesignc.com
-
-
- MC14500 (Motorola)
-
- According to Magnus Danielson, "This is an awesome chip that
- everyone should know by heart... why? It's so weird compared to
- most other chips... it is really worth reading up on the details.
- It lives its life inside a 16 pin DIP and has 16 instructions."
-
- Motorola was the manufacturer of this 1 bit powerhouse, which is
- now out of production. And no, there isn't a C compiler for it.
- Maybe Dave Dunfield (hi Dave ;-) wouldn't mind adding this to his
- C compiler suite.
-
- Although the MC14500 is a bit bizarre (one bit's worth) and may be
- somewhat limited, it does have a few noteworthy features:
- - RISC processor with 16 instructions (well, what did you
- expect from a 1 bit processor) and one addressing mode
- - no memory boundary (an infinite amount of memory)
- - small package (16 pin)
-
- Find a copy of the data sheet on this chip and give it a careful
- going over. I'm sure you'll agree that this was an interesting
- chip and I imagine was probably quite useful. Seems to me that
- the new wave of scaled-down micros such as the Atmel 2051,
- MicroChip PIC, and Philips 752 probably caused its demise.
-
-
- 68HC05 (Motorola)
-
- The 68HC05 (and the earlier 6805) is based loosely on the
- manufacturer's earlier 6800, with some similarities to the 6502.
- It has a Von-Neuman architecture in which instructions, data, I/O,
- and timers all share the same space. Stack pointer is 5 bits wide
- which limits the stack to 32 bytes deep. Some members of this
- family include on chip A/D, PLL frequency synthesizer, serial I/O,
- and software security.
-
-
- 68hc11 (Motorola and Toshiba)
-
- The popular 68hc11 is a powerful 8-bit data, 16-bit address
- microcontroller from Motorola (the sole supplier) with an
- instruction set that is similar to the older 68xx parts (6801,
- 6805, 6809). The 68hc11 has a common memory architecture in which
- instructions, data, I/O, and timers all share the same memory
- space.
-
- Depending on the variety, the 68hc11 has built-in EEPROM/OTPROM,
- RAM, digital I/O, timers, A/D converter, PWM generator, pulse
- accumulator, and synchronous and ansynchronous communications
- channels. Typical current draw is less than 20ma.
-
-
- 683xx (Motorola)
-
- The MC68EC300 series incorporates various peripherals into various
- 68k family core processors. These can be called "integrated
- processors". They are really super-microcontrollers, very high
- performance, capable of high processing speeds, and able to
- address large amounts of memory. A typical example from this line
- would be the 68331. It is based on a 68020-like core and has
- about the same processing power as an Intel 80386.
-
-
- PIC (MicroChip)
-
- While watching my 8 year old daughter play with her Barbie Dolls
- (she has about 7 or so, including two that used to belong to Roz,
- my wife, when she was a girl) I noticed an interesting difference
- between the old dolls and the new dolls. The old Barbies could
- only move their heads sideways, while the new Barbies not only can
- move their heads sideways, but also up and down. AMAZING - the
- old Barbies were good girls - they could only say no. The new
- Barbies however can also say yes. Progress - isn't it wonderful!
- (Not to mention the gymnast Barbie that Dave Perry's daughter got
- for Christmas - "wait'll you see what *she* can do ;-)"
-
- Which leads me to an amazing fact. Most everyone thinks of the
- PIC microcontroller line as being a recent introduction. However,
- they've been popular for over 20 years. What's the difference?
- Microchip (which was originally [owned by] General Instruments),
- seems to have recreated this microcontroller into a product
- universally regarded as a powerful and cost effective solution.
- The new chips are fabricated in CMOS, some features have been
- added, and new family lines have been introduced.
-
- The PIC microcontrollers were the first RISC microcontrollers.
- RISC generally implies that simplicity of design allows more
- features to be added at lower cost, and the PIC line is no
- exception. Although having few instructions (eg. 33 instructions
- for the 16C5X line versus over 90 for the Intel 8048), the PIC
- line has a wealth of features included as part of the chip.
- Separate buses for instructions and data (Harvard architecture)
- allows simultaneous access of program and data, and overlapping of
- some operations for increased processing performance. The
- benefits of design simplicity are a very small chip, small pin
- count, and very low power consumption.
-
- PIC microcontrollers are rapidly gaining in popularity. They are
- being featured more and more often in construction projects in
- popular hobbyist magazines, and are chalking up a good number of
- design wins. Due to their low cost, small size, and low power
- consumption, these microcontrollers can now be used in areas that
- previously wouldn't have been appropriate (such as logic
- circuits). They are currently available in three lines: the
- PIC16C5x, PIC16Cxx, and PIC17Cxx families.
-
- PSST! Hey kid! Want a naked Barbie Doll?!
-
- Henry Spencer adds the following information:
-
- The 16C5x line is the descendant of the original PIC design; they
- are a bit limited and clumsy, and have essentially been made
- obsolete by the 16Cxx. The 16Cxx line is the heart of the PIC
- family today, an improved design benefitting from hindsight:
- tidier and more flexible than the 16C5x while retaining its
- simplicity and speed, and providing a wide spread of prices and
- capabilities, including quite a few choices of on-chip
- peripherals. The 17Cxx line is more ambitious, arguably pushing
- the PIC architecture rather farther than God intended :-) it to
- go; they can do things the 16Cxx line can't, but they're not where
- most of the action is.
-
- Unusually for microcontrollers, the Microchip PIC databooks
- include complete documentation on how to program the chips --
- information that other manufacturers often will give out only to
- programmer manufacturers, only under nondisclosure, or only at
- gunpoint.
-
-
- COP400 Family (National Semiconductor)
-
- The COP400 Family is a P2CMOS 4-bit microcontroller which offers
- 512 bytes to 2K ROM and 32x4 to 160x4 RAM. Packages are varied
- from 20 to 28 pin (DIP/SO/PLCC). Functions include Microwire,
- timers counters, 2.3 to 6.0 Volt operation, ROMless modes, and OTP
- support.
-
- Far from being "old" technology - 4-bit microcontrollers are
- meeting significant market needs in more applications than ever
- before. The reason for the continuing strength of the COP400
- family is its versatility. Over 60 different, compatible devices
- are available for a wide range of requirements. The first under
- $.50 microcontroller set a new standard of value for
- cost/performance.
-
-
- COP800 Family (National Semiconductor)
-
- The COP800 Basic Family is a fully static 8-bit microcontroller,
- fabricated using double metal silicon gate microCMOS technology.
- This low cost microcontroller contains all system timing,
- interrupt logic, ROM, RAM, and I/O necessary to implement
- dedicated control functions in a variety of applications.
-
- Depending on the device, features include: 8-bit memory mapped
- architect, MICROWIRE serial I/O, UART, memory mapped I/O, many 16
- bit timer/counters with capture registers, a multi-sourced
- vectored interrupt, comparator, WATCHDOG Timer and Clock monitor,
- Modulator/Timer (high speed PWM timer for IR transmission),
- 8-channel A/D converter with prescaler and both differential and
- single-ended modes, brownout protection, halt mode, idle mode,
- high current I/O pins with 15mA sink capability, Schmitt trigger
- inputs and Multi-Input-Wake-Up. Most devices operate over a
- voltage range from 2.5V to 6V.
-
- High throughput is achieved with an efficient, powerful
- instruction set operating at a 1uS per instruction rate (most
- instructions are single byte/single cycle) including true bit
- manipulation and BCD arithmetic instructions. Most devices have
- military versions for -55C to +125C.
-
-
- HPC Family (National Semiconductor)
-
- The HPC Family of High Performance microControllers is a 16-bit
- controller fabricated using National's advanced microCMOS
- technology. This process combined with an advanced architecture
- provides fast, flexible I/O control, efficient data manipulation,
- and high speed computation.
-
- With its 16x16 bit multiply and 32x16 bit divide, the HPC is
- appropriate for compute-intensive environments that used to be the
- sole domain of the microprocessor. The architecture is a
- Von-Neuman architecture where the program and data memory share
- the same address space.
-
- Depending on the family member, features include: 16-bit
- memory-mapped architecture with software configurable external
- address/data bus, Microwire/Plus serial I/O, UART, 16-bit
- timer/counters with input capture capability, High-Level Data Link
- Control (HDLC) for ISO-standard data communications, 8-channel A/D
- converter with prescaler and both differential and single-ended
- modes, power-saving modes, Multiply/Accumulate Unit with built-in
- circular buffer management for low to medium DSP applications,
- software configurable chip-select outputs, 64KB address space
- directly addressable, low-voltage (3.3V) operation.
-
- High throughput is achieved with an efficient, powerful
- instruction set operating at a 50ns per instruction cycle (most
- instructions are single byte/single cycle) including true bit
- manipulation. Key applications currently using the HPC family
- include: Anti-lock Braking Systems, Hard Disk drives for mass
- storage, telecommunications, security systems, laser printers, and
- some military applications.
-
-
- Project Piranha (National Semiconductor)
-
- Project Piranha is an internal code name for National
- Semiconductor's embedded RISC processor technology. The Piranha
- technology represents the first RISC processor specifically
- designed for the needs of embedded applications. This was
- accomplished through examination of the needs of typical embedded
- applications, resulting in a technology which maintains the
- benefits of CISC while providing the performance of RISC.
-
- Specifically, some of these benefits are:
- compact code density --> smaller memory usage/
- lower system cost
- small core size --> more room for add-on system design
- scalable architecture --> a range of performance solutions
- from 8 to 64 bits with a common architecture
- common instruction set --> you only face the learning curve
- and development tools once
- modular design --> designed for easy integration of
- specialized functions into
- single chip
-
- This technology is initially being implemented in application
- specific products from National Semiconductor, with the first
- product being available in Q1, 1995. For further information on
- this technology, please contact Mark Throndson at
- tmetsc@esd.nsc.com, or (408) 721-4957.
-
-
- Z8 (Zilog)
-
- A "loose" derivative of the Zilog Z80, the Z8 is actually a
- composite of several different achitectures. Not really
- compatible with the Z80 peripherals. Has a unique architecture
- with three memory spaces: program memory, data memory, and a CPU
- register file. On-chip features include UART, timers, DMA, up to
- 40 I/O lines. Some versions include a synchronous/asynchronous
- serial channel. Features fast interrupt response with 37
- interrupt sources. The Z8671 has Tiny Basic in ROM. The Super-8
- is just that, a super version of the Z8 with more of everything.
-
- There seem to be quite a few new members of the zilog Z8 family
- arriving recently, including chips such as the Z86C95 which
- contains a fairly "normal" Z8 but with lots of registers (not the
- normal 128, but 236), and an internal 16 bit harvard architecture
- DSP with two data memory systems and one program memory system,
- and with a 24 bit accumulator. The DSP unit has its memory
- systems accessible as additional banks of Z8 registers (the exact
- mechanism is very poorly explained in the documentation!) so the
- Z8 can be used to write the data and code for the DSP into the
- DSP's storage and then start the DSP running, etc. There are the
- usual Z8 peripherals plus A/D and D/A (single channel, accessible
- by the Z8 and DSP CPUs).
-
- Zilog has also recently come out with some new OTP parts:
- osc
- part# PDIP EPROM RAM I/O type freq
- ---------------------------------------------------------------
- Z86E04 18 pin 1K 124 bytes 14 pins xtal,LC, 8MHz
- cer res,ext
- Z86E08 18 pin 2K 124 bytes 14 pins xtal,LC, 12MHz
- cer res,ext
- Z86E30 28 pin 4K 237 bytes 24 pins xtal,LC,RC, 12MHz
- cer res,ext
- Z86E31 28 pin 2K 124 bytes 24 pins xtal,LC,RC, 8MHz
- cer res,ext
-
- All parts come with real configurable RAM stack and interrupt
- systems, two fully programmable timers with interrupts, ROM
- protect, low-EMI modes, two analog comparator inputs with
- interrupt capability, low-power standby modes (as low as 1 uA) and
- 45 easy instruction set. There are no separate chip versions to
- do each of the oscillator types, one chip does them all.
-
-
- HD64180 (Hitachi)
-
- A powerful microcontroller with full Z80 functionality plus:
- extended memory management, two DMA channels, synchronous and
- asynchronous communications channels, timers, and interrupt
- controller. Some versions of this chip also include EPROM, RAM,
- and PIO (programmable input/output). It runs Z80 code in fewer
- clock cycles than the Z80 and adds in hardware multiply and a few
- other instructions. Available in versions that run up to 18MHz.
-
-
- TMS370 (Texas Instruments)
-
- It is similar to the 8051 in having 256 registers, A and B
- accumulators, stack in the register page, etc. It also has a
- host of onboard support devices, some members have all of them
- while others have a subset, the peripherals include: RAM, ROM
- (mask, OTP, or EEPROM), 2 timers (configurable as timers/
- counters/comparators/PWM output), watchdog timer, SCI (syncronous
- serial port), SPI (asynchronous serial port), A/D (8 bit, 8
- channel), interrupts.
-
- Instruction set is mostly 8 bit with some 16 bit support. Has
- several addressing modes, 8x8 multiply, 16/8 divide. Clock speeds
- are up to 20MHz which gives 5MHz for buss access and instruction
- cycles. Pins mostly TTL compatible (except clock and reset).
-
- Packages include:
- 28,40 DIP
- 28 CLCC
- 28,44,68 PLCC
- 40,64 SDIP
-
- A developers/proto board is available. It is a multi layer PCB
- about 12"x7" with RS-232 serial I/O, and monitor as well as access
- to all processor pins on a patch and proto area. Support software
- includes IBM-PC monitor & loader, cross assembler (absolute only).
- A pure serial TTY monitor is also supported. Sole power
- requirement is +5v. Priced is about $500 or so.
-
- A relocating assembler and linker, and a C compiler are also
- available.
-
-
- 1802 (RCA)
-
- This is a real old-timer. The 1802 is the successor to the 1801
- (2 chip set) which was the first microprocessor implemented in
- CMOS. Both products were called microprocessors by RCA, not
- microcontrollers. However, since the 1801 was implemented in CMOS
- and therefore had low power requirements, it was often used in
- microcontroller applications. The 1802, with its higher level of
- integration and ease of use, could actually be considered a true
- microcontroller. The 1802 is radiation hard and used in a lot of
- deep space and satellite applications.
-
- The 1802 has a fairly clean instruction set, a bunch of
- general-purpose registers (more like a Z80 than an 8051 in that
- regard), and separate data and I/O address spaces.
-
-
- MuP21 (Forth chip)
-
- The MuP21 was designed by Chuck Moore, the inventor of Forth.
- With the MuP21, Forth can compile into machine code and still be
- Forth, because the machine code IS Forth. The MuP21 freaks out at
- 100 MIPS while consuming only 50 milliwatts. Not only that, the
- chip includes a video generator, has only about 7000 transistors
- (that's right, 7000 and not 7,000,000), and costs about $20.
-
- The assembler on this chip is a sort of dialect of Forth, as the
- CPU is modeled after the Forth virtual machine. MuP21 is a
- MINIMAL Forth engine. In fact MuP21 was designed to run OKAD
- (Chuck Moore's VLSI CAD softare), and OKAD was designed to run on
- MuP21. OKAD was run on a 486 to design MuP21, and MuP21 was
- designed to have just enough hardware to run OKAD about ten times
- as fast as a 486 on a very cheap chip (the MuP21). That's the
- reason for the MuP21's on-chip video generator coprocessor. The
- CPU programs the video generator and then just manipulates the
- video buffer. It is composite video out, so it only needs one
- pin. MuP21 is only a 40 pin chip.
-
- MuP21 chips, boards, software, manuals, and spec sheets are
- available from:
- Offete Enterprises
- 1306 South B Street, San Mateo CA 94402
- (415) 574-8250
- Email: tingch@ccmail.apldbio.com
- tingch@perkin-elmer.com.
-
-
- F21 (Next generation Forth chip)
-
- F21 will be bigger (10k vs 7k transistors for the MuP21!) but
- since it is going to implemented with a smaller geometry (.8
- micron vs 1.2) it will still be extremely small and low power, and
- low cost. Although the specs on this chip aren't final yet,
- expected performance is in the range of 250 MIPS!!. It will have
- multiple analog processors and a very high speed serial network
- coprocessor on chip. F21 will also support a wider range of
- memory chips and have more I/O processors.
-
- Designed for cheap consumer multimedia and parallel processing,
- the F21 is planned for release some time in 1995.
-
- For more information on this project, contact: Jeff Fox
- <jfox@netcom.com>.
-
-
- 6) GETTING STARTED WITH MICROCONTROLLERS
-
- In order to get started with microcontrollers, several factors need
- to be considered.
- - cost
- - convenience
- - availability of development tools
- - intended use
-
- The hardware described in this section is readily available,
- affordable, and is easy to find software for.
-
- <Inclusion or exclusion of a product in this section doesn't have any
- real significance. I've tried to give a good cross-section of
- devices and manufacturers - I'm open for suggestions.>
-
-
- 6.1) Evaluation Kits/Boards
-
- Many manufacturers offer assembled evaluation kits or boards which
- usually allow you to use a PC as a host development system. Among
- some of the more popular evaluations kits/boards are:
-
- Parallax Basic Stamp
-
- This is a small single-board controller that runs BASIC, and costs
- only $39. A SIP version for only $29 is also available. THE 256
- byte EEPROM can hold a program of up to about 100 instructions.
- The BASIC Stamp Programming Package is a complete development
- package for only $99.
- Parallax, Inc., 3805 Atherton Rd. 102, Rocklin, CA 95765
- (916)624-8333 Fax: (916)624-8003 BBS: (916)624-7101
- email: info@parallaxinc.com
-
-
- Motorola EVBU, EVB, EVM, EVS
-
- A series of very popular evaluation/development systems based on
- the 68hc11. Comes complete with the BUFFALO monitor and varying
- types of development software. Commonly used for university
- courses.
-
-
- Motorola 68705 starter kit
-
- Motorola supplies a complete development system, -- software,
- hardware, simulator, emulator, manuals, etc for just $100.
-
-
- Dallas Semiconductor DS5000TK
-
- The DS5000TK allows evaluation of any DS5000 series device in any
- existing application without circuit changes. The included
- DS5000T plugs into the supplied serial interface pod which
- provides a connection to a host PC. A target cable connects the
- pod to the target system. Programs can be downloaded directly to
- the chip (no EPROM programming!) using the built-in serial loader.
- (With Dunfield's Development System, you end up with a cheap
- "pseudo-ice". Dunfield also has a circuit if you want to build a
- similar device.)
-
-
- Philips/CEIBO DS750
- For $100 (from Philips, from CEIBO the price is $250), you get a
- "pseudo-ice" for testing your code in-circuit. Based on the
- low-end Philips 87c75x parts. Allows source-code debugging in
- assembler (included), C, and PL/M, with an interface similar to
- that of Borland's Turbo Debugger. Very popular with students and
- consultants for experimenting with 80c51 code. Includes a VERY
- NICE book which describes the theory of operation of the board
- itself, and includes a good number of experiments that you can try
- for yourself. Philips sold nearly 10,000 of these boards in the
- USA (and 5000 in Europe without even advertising).
-
-
- American Educational Systems AES-51, AES-11, AES-88
-
- If you'd like to start learning about microcontrollers, but the
- thought of finding all the parts and then building one scares you,
- take a look at the line of boards available from American
- Educational Systems. This might be the easiest way to get started.
- For less than $300, you get a complete and professionally designed
- and packaged educational tool.
-
- AES has three boards: AES-51 (8051), AES-11 (68hc11), and AES-88
- (8088). All three boards are built along the same lines and
- include RAM, ROM, LCD display, keypad, A/D, serial ports, digital
- I/O ports, and logic probe. Also included is a full bookshelf of
- documentation. These boards are ridiculously easy to use and
- program - you can get started experimenting and designing right
- away.
-
- This is a perfect system for students and hobbyists. Even
- professionals will find this system useful as a prototyping tool
- and test bed. Highly recommended.
-
- For more information, contact:
- American Educational Systems
- 970 West 17th St.
- Santa Ana, CA 92706 USA
- (800)730-3232 or (714)550-8094 Fax: (714)550-9941
-
-
- 6.2) Easy chips to use
-
- In addition, several chips provide a similar capability if you are
- willing to spend a bit of time wiring up a simple circuit. A few
- chips worth looking at are:
-
- Motorola MC68HC11A8P1
- Contains Motorola's BUFFALO monitor which has the same
- functionality as the one on Motorola's evaluation boards. A
- working system can be built with this chip and a Maxim MAX-232.
- You can talk to it with a PC or Mac over a 3-wire RS232
- connection. It is easy to load and run anything you want in the
- on-board RAM and EEPROM. You can even use subprograms in the
- BUFFALO monitor after getting a listing from Motorola's BBS or ftp
- site. This BBS/ftp site also has freeware assemblers to make a
- complete development environment cheaply and quickly.
-
- Intel 8052AH-BASIC
- This popular chip with hobbyists is another easy way to get
- started. You can download high level code from your host. The
- disadvantages are that you can't get away from a multi-chip
- solution, the code is noticeably slow, you have to buy an MCS
- BASIC manual, you are detached from the inner workings, there
- aren't many on-chip goodies like A/D, and you can forget about
- running off of a battery.
-
- Dallas Semiconductor DS5000/DS2250
- These are well suited even for electronics ignoramuses (ignorami?)
- such as myself. All you need to add is a crystal and two
- capacitors to end up with a working system. These chips come
- complete with non-volatile RAM in the form of static RAM (at least
- 8K) backed up with a lithium battery. Everything is saved -
- program, data, and bugs ;-).
-
- MicroChip PIC '5x series
- With only 33 instructions, this chip is definitely easy to use!
- Using Parallax's assembler, the instruction set is ** MUCH ** less
- intimidating than MicroChip's opcodes! These chips simply need
- power, ground, and 1 of 4 different timing circuits. Doesn't get
- much easier than that! With I/O pins that are beefy (25mA per pin
- sink, 20mA per pin source) and drive both high and low,
- interfacing is super easy. It's great to hook LEDs and such
- directly to output pins with only a resister in-line!
-
-
- 6.3) Software (Cheap and easy)
-
- Well, it's finally here. A free C compiler for the 8051. Featured in
- Dr. Dobb's August 1997 issue, Andy Yuen's Retargetable Concurrent
- Small C (RCSC) is based on James E. Hendrix' lengendary Small C. A
- previous iteration of RCSC, Concurrent Small C was introduced in the
- August 1996 issue of Dr. Dobbs. With the release of this compiler,
- Andy Yuen is very likely to become a folk hero.
-
- So, why are you still reading this? The FAQ will wait! First download
- a copy of RCSC. You can get it from: http://www.ddj.com or
- ftp://ftp.mv.com/pub/ddj. Then go out and find a copy of Dr. Dobb's
- August 1997 issue.
-
- You'll still need to purchase either James E. Hendrix's "A Small C
- Compiler" (ISBN 0-13-814724-8) or the Dr. Dobb's Small C Compiler
- Resource CD. This of course means that the free C compiler isn't
- totally free, but then again, what is?
-
-
- A couple free versions of C exist for the 68hc11. One is based on
- Small C and another on the Gnu C package. Neither package is known
- for ease of use or reliability. However, you might find that one of
- these packages fits your needs.
-
-
- You can search for free software for development, but you often get
- what you pay for. What is sorely lacking in freeware is technical
- support. Several packages are available that provide complete
- development environments for some of the more popular
- microcontrollers. If you want to be productive right away, think
- about investing $100 or so - it'll be well worth the price!
-
-
- I've been playing with the Dunfield Development System lately (on the
- 8051), and it's really quite nice. I've also heard many good things
- about it from others. It includes a near ANSI-C compiler, run-time
- library with source, assembler, ROM debugger, integrated development
- environment, monitor with source, utilities, and other extras.
- Although not freeware, the low price ($100), the features, all of the
- extra goodies, and the good reviews make this a package worth looking
- at. Also, if you're interested in working on more than one family of
- microcontroller, Dunfield supports a wide range. This means only
- needing to learn one system, instead of many. The following chips
- are supported: 6805, 6809, 68hc11, 68hc16, 8051/52, 8080/85, 8086,
- and 8096. A package including a simulator and a resident monitor
- debugger are also available for the 8051 for $50.
- Dunfield Development Systems
- P.O. Box 31044, Nepean, Ontario K2B 8S8 Canada
- (613)256-5820 Fax: (613)256-5821
- Email: ddunfield@bix.com
-
-
- A decent C compiler for the 68hc11 comes from ImageCraft. This
- package, which runs under DOS and OS/2, includes a near ANSI C
- compiler, assembler, linker, librarian, ANSI C functions and headers,
- and 90 page manual. The current release is version 1.02 of their
- compiler. The price is just $40. Initial feedback on this compiler
- seems promising. The pre-release versions are already in use by many
- of you, and will still be available as freeware.
- ImageCraft
- P.O. Box 64226, Sunnyvale, CA 94086-9991
- (Richard Man) imagecft@netcom.com
-
-
- Another low priced ($100) C compiler comes from Micro Computer
- Control. Cross compilers running under DOS are available for the
- 8051 and the Z8 (including Super-8). This package includes a C
- compiler, assembler, linker, librarian, and extensive printed
- documentation. A simulator/source code debugger is available for an
- additional $79.95.
- Micro Computer Control Corporation
- PO Box 275, 17 Model Ave., Hopewell, NJ 08525
- (609)466-1751 Fax: (609)466-4116 BBS: (609)466-4117
- Email: 73062.3336@compuserve.com
-
-
- C isn't the only development system available (yeah, I know that's
- hard to believe) - good solid Basic and Forth development systems are
- also available. Refer to the appropriate FAQ for the microcontroller
- that you are using for more information on free and commercial
- development systems.
-
-
- If the Microchip PIC is your game, then check out the Parallax tools
- (available on their ftp and web sites). All Parallax software is
- available free of charge to all takers! This includes PSIM (a PIC
- simulator), PASM (an assembler for '5x parts), and PASMX (an
- assembler for 'xx parts). These are the full commercial versions,
- not hobbled in any way!
-
-
- 7) MICROCONTROLLER PROGRAMMING LANGUAGES
-
- Just a bit of an introduction for the beginner.
-
-
- 7.1) Machine/Assembly language
-
- Machine language is the program representation as the microcontroller
- understands it. It is not easy for humans to read and is a common
- cause of migraine headaches. Assembly language is a human-readable
- form of machine language which makes it much easier for us flesh and
- bone types to deal with. Each assembly language statement
- corresponds to one machine language statement (not counting macros).
-
- An assembly/machine language program is fast and small. This is
- because you are in complete charge of what goes into the program. Of
- course, if you write a slow, large, stupid program, then it will run
- slowly, be too big, and be stupid. Assembly language (assembler)
- can't correct stupidity - although sometimes I wish it could ;-).
-
- If you are starting out learning about microcontrollers, it would be
- worth your while first learning assembler. By programming in
- assembler, you master the underlying architecture of the chip, which
- is important if you intend to do anything significant with your
- microcontroller.
-
-
- 7.2) Interpreters
-
- An interpreter is a high level language translator that is closer to
- natural language. The interpreter itself is a program that sits
- resident in the microcontroller. It executes a program by reading
- each language statement one at a time and then doing what the
- statement says to do. The two most popular interpreters for
- microcontrollers are BASIC and FORTH.
-
- BASIC's popularity is due to its simplicity, readability, and of
- course just about everyone has at least played with BASIC at one time
- or another. One common compaint about [interpreted] BASIC is that it
- is slow. Often this can be solved by using a different technique for
- performing the desired task. Other times it is just the price paid
- for using an interpreter.
-
- FORTH has a very loyal following due to its speed (approaching that
- of assembler language) and its incremental approach to building a
- system from reusable parts. Many FORTH systems come with a host
- system which turns your desktop computer into a development system.
- FORTH can be quite difficult to write in (if you have no experience
- with it) and is probably even harder to read. However, it is a very
- useful and productive language for control systems and robotics, and
- can be mastered in time.
-
- JVM - Java(TM) Virtual Machine - was added lately to the list of
- interpreters, after the invention of the language and concepts by Sun
- Microsystems. Java was adopted enthusiastically by programmers all
- over the world and has finally found its way into the embedded
- environment. Java provides a new and revolutionary concept, geared
- towards the use of portable software applications which can be
- dynamically downloaded over a network, rather than kept on the local
- disk or in the local memory of a specific computer. This way, the
- client computer does not need to keep all the applications, since
- they can be dynamically downloaded from the server whenever required.
- Another Java main feature is its Operating-System independent
- capability. Java is also a language. The Java language is a new
- object-oriented programming language, also developed by Sun
- Microsystems. In its very own architecture it is particularly suited
- to the development of Java's portable application pieces of software,
- called applets.
-
- The nicest thing about developing a system with an interpreter is
- that you can build your program interactively. You first write a
- small piece of code and then you can try it out immediately to see
- how it works. When the results are satisfactory, you can then add
- additional components until the final product is achieved.
-
-
- 7.3) Compilers
-
- A compiler is a high level language translator that combines the
- programming ease of an interpreter with greater speed. This is
- accomplished by translating the program (on a host machine such as a
- desktop PC) directly into machine language. The machine language
- program is then burned onto an EPROM or downloaded directly to the
- microcontroller. The microcontroller then executes the translated
- program directly, without having to interpret first.
-
- The most popular microcontroller compilers are C and BASIC. PL/M,
- from Intel, also has some popular support due to that company's
- extensive use of that language. Modula-2 has a loyal following due to
- its efficient code and high development productivity. Ada has many
- adherents among those designing on the larger chips (16 bits and
- above).
-
- Due to both its popularity and its slow speed, it was only logical
- that BASIC would appear as a compiled language. A few companies
- supply a BASIC compiler for several of the more popular
- microcontrollers. Execution speed is drastically increased over
- interpreted BASIC since the microcontroller is freed from the task of
- interpreting the statements as the program runs.
-
- While interpreted Forth approaches (and sometimes surpasses) the
- speed of many compilers, compiled Forth screams along. Today there
- are many high performance optimizing native code Forth compilers, and
- there are also lots of very cheap or free public domain Forths. Some
- of them like Tom Almy's ForthCMP produces optimized native code with
- less overhead and better performance than just about anything else
- out there. Of course it still has compactness and more elegant
- factoring of functionality than in most languages.
-
- C is now the language of choice for the entire universe. C is used
- on computers from the tiny microcontroller up to the largest Cray
- supercomputer. Although a C program can be a bit tedious at times to
- read (due to the terse programming style followed by many C
- programmers), it is a powerful and flexible development tool.
- Although a high level language, it also gives the developer access to
- the underlying machine. There are several very good and cheap C
- compilers available for the more popular microcontrollers. It is
- widely used, available, supported, and produces fairly efficient code
- (fast and compact).
-
-
- 7.4) Fuzzy Logic and Neural Networks
-
- Fuzzy Logic and neural networks are two design methods that are
- coming into favor in embedded systems. The two methods are very
- different from each other, from conception to implementation.
- However, the advantages and disadvantages of the two can complement
- each other.
-
- The advantage of neural networks is that it is possible to design
- them without completely understanding the underlying logical rules by
- which they operate. The neural network designer applies a set of
- inputs to the network and "trains" it to produce the required output.
- The inputs must represent the behavior of the system that is being
- programmed, and the outputs should match the desired result within
- some margin of error. If the network's output does not agree with
- the desired result, the structure of the neural network is altered
- until it does. After training it is assumed that the network will
- also produce the desired output, or something close to it, when it is
- presented with new and unknown data.
-
- In contrast, a fuzzy-logic system can be precisely described. Before
- a fuzzy control system is designed, its desired logical operation
- must be analyzed and translated into fuzzy-logic rules. This is the
- step where neural networks technology can be helpful to the
- fuzzy-logic designer. The designer can first train a software neural
- network to produce the desired output from a given set of inputs and
- outputs and then use a software tool to extract the underlying rules
- from the neural network. The extracted rules are translated into
- fuzzy-logic rules.
-
- Fuzzy logic is not a complete design solution. It supplements rather
- than replaces traditional event control and PID (proportional,
- integral, and derivate) control techniques. Fuzzy logic relies on
- grade of membership and artifical intelligence techniques. It works
- best when it is applied to non-linear systems with many inputs that
- cannot be easily expressed in either mathematical equations used for
- PID control or IF-THEN statements used for event control.
-
- In an effort to change fuzzy logic from a "buzzword" (as it is in
- most parts of the world) to a well established design method (as it
- is in Japan), most manufacturers of microcontrollers have introduced
- fuzzy logic software. Most software generates code for specific
- microcontrollers, while other generates C code which can be compiled
- for any microcontroller.
-
-
- 8) DEVELOPMENT TOOLS
-
- Having a programming language is usually not enough to develop a
- program for a microcontroller. Some way of debugging your program is
- needed. I am only too painfully aware of this fact.
-
-
- 8.1) Simulators
-
- A simulator runs your microcontroller program on a host machine (such
- as your PC). You can step through the code to see exactly what is
- happening as the program runs. Contents of registers or variables
- can be altered to change the way the program runs. Eliminates (or at
- least delays) the erase/burn/program EPROM cycle common in
- microcontroller program development. You can work out ideas or learn
- about microcontrollers by experimenting with small code fragments and
- watching on the screen what happens. A simulator can't support real
- interrupts or devices, and usually runs much slower than the real
- device the program is intended for.
-
- Some manufacturers have a cross between a software simulator and the
- hardware emulator - a hardware simulator. This is a piece of
- equipment that plugs into your target, and the pins will toggle and
- react like they should - just MUCH slower. Cost of a device like
- this is only about $100. Two such boards by National Semiconductor
- and Philips are detailed in section 6.2.
-
-
- 8.2) Resident Debuggers
-
- A resident debugger runs your program on the microcontroller itself,
- while showing the progress on your host machine (such as a PC). Has
- many of the same advantages as simulator above, with the additional
- benefit of seeing how the program runs on the real target machine. A
- resident debugger needs to "steal" some resources from the target
- machine, including: a communications port to communicate with the
- host, an interrupt to handle single stepping, and a certain amount of
- memory for the resident part (on the target) of the debugger.
-
-
- 8.3) Emulators
-
- If you've got the money, this is the equipment you want to develop
- your system with (yeah, that's right, a preposition at the end of a
- sentence!). A [usually] expensive piece of hardware that even for
- the cheaper versions will run you at least $700. An emulator is a
- sophisticated device that pretends that it is the microprocessor
- itself, while at the same time capturing information. It provides
- full and total control over your target, while at the same time not
- requiring any resources from the target. The emulator can either be
- a stand alone device with its own display, or it can be interface to
- a PC.
-
-
- 8.4) Java on Embedded Systems
-
- <Thanks to Marius Gafen of NSI in Israel for the following discussion
- of Java>
-
- This is a short discussion about the technology of Java (TM)
- implementation on Embedded Systems and the issues involved. This
- technology implementation can bring to the embedded systems world the
- benefits of Java, enabling the development of extensible, portable
- and downloadable applications, which dramatically reduce development
- costs and provide fast response to ever changing market demands,
- while keeping all existing advantages.
-
- Java - Write once, run everywhere ...
- Java provides a new and revolutionary concept, developed by Sun
- Microsystems and geared towards the use of portable software
- applications which can be dynamically downloaded over a Network,
- rather than kept on the local disk or in the local memory of a
- specific computer. This way, the client computer does not need to
- keep all the applications, since they can be dynamically downloaded
- from the server whenever required. After the applications are done,
- they can be either kept on the computer or discarded - as required.
- Of course, these applications do not need to exist when the computer
- is built or purchased - they, or their later versions, can be
- developed and added at a later stage. Java enables dynamic
- interaction, where the user receives immediate feedback. Java
- provides Operating-System independent capability. Java provides all
- these features by allowing the execution of code that can be
- distributed across the network in a portable, robust, secure and
- high-performance environment.
-
- Java - The Language
- The Java language is a new object-oriented programming language, also
- developed by Sun Microsystems. In it's very own architecture it is
- particularly suited to the development of Java's portable application
- pieces of software, called applets. These are applications which are
- dynamically downloaded over the network and executed on the
- Java-Enabled client computer, normally equipped for this purpose with
- a Java-Enabled Web Browser.
-
- Java - The Components
- The Java system compiles Java applets into Byte Code. Once compiled,
- the Java Byte Code is placed in a file ready to be downloaded through
- the Network to the client computer that requests it. A Java-Enabled
- Web Browser includes a component called a Java Virtual Machine (or
- JVM, for short). This component is responsible for actually running
- the Java Byte Code and it isolates the Java code from the specifics
- of the underlying hardware and operating system. Consequently, Java
- applets are developed once but they can run, unchanged, on any client
- computer with a Java Enabled Web Browser, regardless of the specific
- platform.
-
- Implementation of Java in Embedded Systems
- The use of Java in an embedded environment presents unique
- challenges, due to the fundamental differences between an embedded
- system and a general-purpose computer or work-station. These
- differences should be thoroughly understood in order to better
- appreciate the implications associated with implementing Java to a
- particular application domain.
- a. An embedded system usually lacks secondary storage (e.g. a hard
- disk) making it difficult to keep a library of application code and
- to load a particular routine upon demand. Therefore, the size of the
- application is limited to the size of the existing memory device
- (such as ROM or Flash).
- b. In most cases, an embedded system lacks direct user interface such
- as a monitor. Rather, it communicates with the operator (if at all)
- through some specialized devices or through a front-end station which
- is connected to the embedded application via a specialized bus or
- network.
- c. The lack of a file-system and traditional user interface devices
- has a special significance for Java-based applications which rely
- heavily on the presence of these components. Often, an embedded
- application has limited resources such as memory and CPU bandwidth.
- Consequently, the scheduling and sharing of these resources become
- one of the major design challenges when developing such an
- application. Particularly, in Real-Time applications, the performance
- requirements and the constraints on resources lead to lean and
- fine-tuned scheduling disciplines in order to meet the system's
- performance requirements.
- d. Typically, an embedded system is very specialized; it is tightly
- integrated with the surrounding environment and has demanding
- requirements for robustness. Since the protection mechanisms (such as
- address-space boundary protection) that are usually provided by a
- typical operating system are not available in such an environment,
- the mechanism of introducing new software into the application should
- be tightly controlled. This fact has special significance in the
- context of Java where the programming paradigm is based on dynamic
- downloading of applets from various sources. Java was designed (and
- initially implemented) to run on UNIX workstations. It relies on many
- services that are available on such a system (such as files,
- processes, Internet naming services) which do not exist in a typical
- embedded system. Some of these do not make sense in such an
- environment (for example, a network device might have an IP-address,
- but it does not necessarily have a domain name).
-
- Implementation Architectures
- In order to execute Java code on an embedded system, several key
- components must be developed or ported to this system. These
- components have to be tailored to the specific hardware, to the
- kernel (if one exists) and to some extent to the C compiler being
- used (since part of the JVM and its interface layers are implemented
- in C). The two main possible approaches are:
- a. Developing a dedicated Java-compatible system, exactly fitted to
- the embedded environment.
- b. Porting Sun's original Java to the embedded environment.
- The first approach has the advantage of ending with a product which
- is originally designed to the embedded environment, including all the
- constraints of this special environment. The second approach has the
- advantage of compatibility to the de-facto standard which has been
- already adopted by the industry. Since Java is a live language and
- environment, driven by both the industry needs and the rapid
- technology changes, this factor is considered to be of tremendous
- importance.
-
- More architectural concepts
- For achieving appropriate compatibility with all Java existing and
- future intrinsics, the only possible approach of porting Java is
- based on Sun's JDK (Java Development Kit) sources as distributed from
- Sun. These sources were analyzed and checked against the requirements
- of the embedded environment, before being carefully restructured.
- The final result is retargetable software which lends itself to be
- easily ported to each unique combination of hardware - kernel - C
- compiler. This software runs on a variety of Real-Time Operating
- Systems and provides a Virtual Machine environment for the execution
- of Java byte code. Special design considerations enable it to coexist
- with other applications, which are running on the same platform,
- either Real-Time or Non-Real Time, while complying with the
- constraints imposed by the Real-Time Operating System and the
- application tasking architecture.
-
- JVM Encapsulation
- As mentioned previously, the ideal technique would be the one which
- enables the embedded Java software to run on top of any commercial
- Real-Time kernel or be adapted to any application-specific executive.
- This capability is accomplished by having a well-defined API that
- encapsulates the services that the JVM needs from the underlying
- system. The Java language supports parallelism in the form of
- threads (light-weight tasking). It includes methods for thread
- management, synchronization and communication. There are two
- approaches for mapping the Java threads to the parallel entities of
- the underlying kernel (typically, they are called tasks):
- a. Mapping each Java thread to a kernel task and utilizing the kernel
- services to schedule these threads and synchronize between them.
- b. Dedicating one kernel task to run the JVM and then have the Java
- threads be implemented internally by the Java run-time support
- system.
- Again, there are tradeoffs to be considered when choosing the
- appropriate model. In the first model, the services of the Real-Time
- kernel are used directly for managing the Java threads and can, in
- some situations, perform better. In addition, Java threads can
- interact directly with other tasks in the system. However, this
- approach requires that the overall system be fully tested each time a
- new Java thread is introduced or a change to the Java code is
- performed. In the second approach, the JVM acts also as an
- intermediate monitor, which internally manages the Java threads and
- ensures that the Java code as a whole performs accurately within its
- resource boundary. It therefore ensures that in any circumstances
- the JVM does not exceed the amount of system resources allocated to
- the Java application. The practical meaning of this implementation
- approach is that once the JVM has been fully tested in a particular
- environment, the different applets can be downloaded and executed
- with no need to re-test.
-
-
- 8.5) Good Stereo System
-
- This is the most important tool for the microcontroller developer, or
- for any computer system developer for that matter. Don't expect to
- get anywhere unless you have the proper music playing in the
- background(?) at the proper volume. I find that I do my best work
- with the Rolling Stones (especially Goats Head Soup) or Clapton
- (especially early stuff like Cream - Disraeli Gears is a killer
- album!). The volume must be set to cause excrutiating pain to be
- most effective. Trust me on this ;-).
-
- Tom Mornini of Parallax reports: "Johnny Cash also has a certain
- effectiveness, as well as the Beatles, Aerosmith, and Rush! 60's
- rock and British invasion bands in particular seem to have a
- particularly productive effect."
-
- This would be an interesting topic for an in-depth study.
- Particularly intriguing, is if certain types of music work better
- with specific [families of] processors. Another question in need of
- study would be if it's really true that the smaller the chip (in
- bits), the louder the music needs to be.
-
-
- 9) FINDING OUT MORE ABOUT MICROCONTROLLERS
-
- If you are interested in learning more about microcontrollers, there
- are many fine sources of information. You have your choice of
- printed media (books, periodicals, informative graffiti) or
- interactive (right here on the Internet, or BBSs).
-
-
- 9.1) Books
-
- 8-bit Microcontroller Instruction Set Performance
- - Digitial Systems Consulting / June 1994
- - compares Motorola's M68HC05, Intel's 80x51,
- Microchip's PIC16C5x, and National's COP8
- - lit number 630008
- - (800)272-9959 call this number for copies
-
- The 16 bit 8096: Programming, Interfacing, Applications
- - Ron Katz and Howard Boyet
- - Microprocessor Training Inc
- 14 East 8th Street, New York, NY 10003
- 212-473-4947
- - Library of Congress Catalog card number: 85-61954
- - According to William Chernoff: "The book is pretty good -
- mostly software examples. The one hardware thing I looked
- closely at was wrong - a schematic error. Oh well."
-
- The 68hc11 Microcontroller
- - Joseph D. Greenfield (at R.I.T.)
- - Saunders College Publishing, (Harcourt Brace Jovanovich)
- - 1992
- - ISBN 0-03-051588-2
- - A number of the sections make use of the Buffalo monitor.
- This could be useful if you are using the Motorola Trainer EVB.
-
- The 8051 Family of Microcontrollers
- -Richard H. Barnett
- -Prentice-Hall, 1995 (yeah, that's right, 1995!)
- -ISBN 0-02-306281-9
-
- 8051 Interfacing and Applications
- - Applied Logic Engineering
- 13008 93rd Place North, Maple Grove, MN 55369
- - (612)494-3704
-
- The 8051 Microcontroller
- - I. Scott MacKenzie
- - Prentice Hall
- - 2nd edition, 1995
- - ISBN 0-02-373660-7
- - includes schematics for a single-board computer,
- assembly-language source code for a monitor program, and
- interfaces to a keypad, LEDs, and loudspeaker
-
- The 8051 Microcontroller
- - James W. Stewart
- - Regents/Prentice-Hall, 1993
- - $27.50, 273 pages
- - includes many interfacing examples (switches, solenoids,
- relays, shaft encoders, displays, motors, and A/D converters)
- and a chapter on top-down design method
-
- The 8051 Microcontroller: Architecture, Programming and Applications
- - Kenneth J. Ayala
- - 241 pages, soft cover
- - 5.25" diskette with assembler and simulator
- - ISBN 0-314-77278-2, Dewey 004.165-dc20
- - West Publishing Company
- P.O. Box 64526, St. Paul, MN 55164
- (800)328-9352
- - see review in next section
-
- The Art of Programming Embedded Systems
- - Jack G. Ganssle
- - 1992, 279pp, $55.00
- - ISBN: 0-12-274880-0
- - CONTENTS: Introduction, Initial Considerations. Elegant
- Structures. Designs for Debugging. Design for Test. Memory
- Management. Approximations. Interrupt Mamangement. Real-Time
- Operating Systems. Signal Sampling and Smoothing. A Final
- Perspective. Appendixes: Magazines, File Format. Serial
- Communications. Bibliography. Index.
-
- Assembly Language Programming (for the MCS-51 family)
- - F. A. Lyn
- - L. S. Electronic Systems Design
-
- Basic-52 Programmer's Guide
- - Systronix, Inc. (they also sell a Basic compiler)
- - address above
-
- Beginner's Guide
- - Suncoast Technologies
-
- A Beginners Guide to the Microchip PIC
- - Nigel Gardner
- - Character Press, Ltd. (UK)
- - ISBN 1 899013 00 8
- - software (on floppy) and hardware guide, debugging techniques
- - suitably titled, for those with no previous microcontroller
- experience
- - 19.95 UK Pounds
-
- The PIC Source Book:
- - assembly language source code on diskette
- - $39
- - Scott Edwards Electronics
- 964 Cactus Wren Lane, Sierra Vista, AZ 85635
- (602)459-4802 Fax: (602)459-0623
- 72037.2612@compuserve.com
-
- C and the 8051
- - Thomas W. Schultz
- - Prentice Hall
- - ISBN 0-13-753815-4
-
- Data Acquisition and Process Control with the M68HC11 Microcontroller
- - Frederick Driscoll, Robert Coughlin, Robert Villanucci of
- Wentworth Institute of Technology.
- - Macmillan Publishing Company
- - 1994
- - ISBN 0-02-33055-X
- - Several Chapters on the 68HC11, instructions, and EVB;
- chapters on interfacing Analog and Digital signals to the
- 68HC11; example applications of interfaces to temperature,
- load cell, pressure and thermocouple sensors.
- - a good companion to Motorola's "pink" books
-
- Data book / Handbook / Users' Guide
- - Advanced Micro Devices
- - Dallas (User's guide for the DS5000)
- - Intel
- - Siemens
-
- Design with Microcontrollers
- - John B. Peatman
- - ISBN 0-07-049238-7
- - This book is on a more advanced level. Uses both the 68hc11
- and Intel 8096 as example systems.
- - Used for a very popular course on microcontroller design at
- Georgia Tech.
-
- Embedded Controller Forth for the 8051 Family
- - Academic Press
- - William H. Payne
- - uses a Forth development system available on the Internet
-
- Embedded Controllers Databook 1992 Edition
- - National Semiconductor Corporation
- - literature number: 400049
- - (800)272-9959 call this number for for copies
-
- Embedded Systems Programming in C and Assembler
- - John Forrest Brown
- - Van Nostrand Reinhold, 1994
- - 304 pages, $49.95
- - ISBN 0-442-01817-7
- - covers Motorola and Intel processors
- - includes diskette with code from the book
- - book review in Dr. Dobb's Journal, November 1994, page 121
-
- Experimenter's guide
- - Rigel Corporation
-
- Introduction to Microcontroller Design, Based on the 8051 family of
- Processors
- - Business Data Computers
- P.O. Box 1549, Chester, CA 96020
-
- Mc68hc11 An Introduction
- - Han-Way Huang
- - Software and Hardware Interfacing, Applications using the
- EVB from Motorola.
- - West Publishing Company
- - ISBN 0-314-06735-3
-
- M68hc11 Reference Manual
- - Motorola - literature reference M68HC11RM/AD
- - This document is the "bible" of the 6811 and is a must-have
- for any serious 6811 programmer.
-
- MC68hc811E2 Programming Reference Guide
- - Motorola - literature reference M68HC811E2RG
- - A pocket-sized guide to the version of the 6811 used on the
- Mini Board
-
- The Microcontroller Idea Book
- - Jan Axelson (of Microcomputer Journal fame)
- - features the 8052-BASIC microcontroller
- - hands-on guide with complete plans (schematics, design theory,
- program listings, construction details, etc)
- - explains how to use sensors, relays, displays, clock/calendars,
- keypads, wireless links, and more
- - 1994, 273 pages, $31.95 + shipping
- - Lakeview Research, 2209 Winnebago St., Madison, WI 53704
- (608)241-5824 Internet: 71163.3555@compuserve.com
- - contact the author at janaxel@aol.com
-
- Microcomputer Engineering
- - Gene H. Miller
- - Prentice Hall, Englewood Cliffs, NJ 07632
- - 1993
- - ISBN 0-13-584475-4
- - Explains the basics. Many clear and concise assembly language
- example programs.
- - Written to be used with the Motorola Trainer (EVB).
-
- Microcontroller Technology, The 68hc11
- - Peter Spasov
- - Prentice Hall
- - ISBN 0-13-583568-2
-
- Microcontrollers: Architecture, Implementation, and Programming
- - Kenneth Hintz and Daniel Tabak
- - McGraw-Hill Inc. 1992
- - ISBN 0-07-028977-8
-
- Microprocessor 1995
- - Jack Quinn, Micrologic Research
- - Integrated Circuit Engineering Corporation
- 15022 North 75th St., Scottsdale, AZ 85260-2476
- (602)998-9780 Fax: (602)9481925
- - comprehensive study of the microprocessor industry and market,
- current status, trends, and developments
- - $1495
- - Microprocessor 1996 due out in November
-
- PIC 16Cxx Development Tools instructions manuals
- - Parallax, Inc.
- - Instruction manual for the Parallax PIC assemblers
- - Instruction manual for the Parallax Software Simulator
- - Instruction manual for the Parallax PIC programmer hardware
- - Details the Parallax PIC instruction set
-
- PIC 16Cxx Applications Handbook
- - Parallax, Inc.
- - Contains condensed data sheets for '5x, '64, '71, and '84
- controllers
- - Contains 14 application notes showing circuits and code for
- common projects using the PIC series of microcontrollers.
-
- Easy PIC'n, A Beginner's Guide to Using PIC16/17 Microcontrollers"
- - ISBN 0-9654l62-0-8
- - intended to ease the beginner toward understanding and
- application of the PIC16/17 line of microcontrollers from
- microchip Technology Inc. For the hobbyist or engineer for
- self study or as a text for a college engineering course in the
- application of microcontrollers.
- - examples of assembly language programs
- - in-depth coverage of program writing using flow charts
- - the approach is hands-on with lots of examples, all of which
- may be demonstrated using a very simple demo board (a project)
- described in the beginning of the book
- - For more information, contact the author:
- David Benson, Author (Easy PIC'n)
- Owner, Square 1 Electronics
- squareone@zapcom.net
- (707)279-8881 Fax: (707)279-8883
-
- Posix.4: Programming for the Real World
- - Bill O. Gallmeister
- - O'Reilly and Associates, 1995
- - ISBN 1-56592-074-0
- - Part I of the book describes the Posix standard (what it is,
- what it isn't, and what it's for), and explains the principles
- of real time programming (tasking, messages, scheduling, I/O,
- and performance) and why Unix isn't fit for real-time
- programming. Part II is a reference on the Posix functions and
- header files. Part III contains much of the code for the
- exercises in the book.
-
- Programmer's Guide to the 1802
- - Tom Swan
- - Hayden Book Company, Inc., 1981
- - ISBN 0-8104-5183-2
- - good introduction to assembly language progamming and an
- thorough tutorial on the 1802
-
- Programming Microcontrollers in C
- - Ted Van Sickle
- - HighText Publications, 1994
- - 394 pages, $29.95
- - ISBN 1-878707-14-0
- - thorough tutorial on C programming, covers aspects of C
- programming specific to embedded systems
- - covers the Motorola line of microcontrollers (small to large)
- - book review in Dr. Dobb's Journal, November 1994, page 121
-
- The Real-Time Kernel
- - Jean Labrosse
- - R&D Publications, Inc.
- Suite 200 1601 W 23rd St., Lawrence, KS 66046
- - (913)841-1631 Fax: (913)841-2624
- - Based on the article "A Portable Real Time Kernel in C"
- in Embedded Systems Programming (Part 1: vol 5 no 5
- May 1992, Part 2: vol 5 no 6 June 1992)
- - originally written for the Intel 186 but ported to HC11
- source code for UCOS11
-
- Single- and Multiple-Chip Microcomputer Interfacing
- - G.J. Lipovski
- - Copyright 1988
- - 478 pages
- - ISBN 0-13-810557-X (Prentice-Hall Edition)
- ISBN 0-13-810573-1 (Motorola Edition)
- - Based around the 68HC11 it covers both hardware and
- software at undergraduate level, but the emphasis is on
- interfacing.
- - Chapter titles:
- 1 Microcomputer Architecture
- 2 Programming Microprocessors
- 3 Bus Hardware and Signals
- 4 Parallel and Serial I/O
- 5 Interrupts and Alternatives
- 6 Analog Interfacing
- 7 Counters and Timers
- 8 Communications Systems
- 9 Storage and Display Systems
-
- Single- and Multiple- Chip Microcomputer Interfacing (Lab Manual)
- - Peter Song and G. Jack Lipovski
- - Prentice-Hall, 1988
- - ISBN 0-13-811605-9
- - Support for the above book. Examples based around the Motorola
- EVB and the BUFFALO monitor or the EVBU (or 3-chip micro) and
- PC-Bug11.
-
- User Manual for the CDP1802 COSMAC Microprocessor
- - RCA, 1977
- - contains useful hardware and software techniques
-
-
- Using the M68HC11 Microcontroller: A Guide to Interfacing and
- Programming, 1/e
- - John C. Skroder, Texas A & M, Institute of Electronics
- - Prentice Hall, 1996, $77.00
- - Copyright 1997, 627 pp. cloth
- - ISBN 0-13-120676-1
- - Table of Contents
- 1. Introduction to the M68HC11.
- 2. M68HC11 Resets and Interrupts.
- 3. M68HC11 Parallel I/O.
- 4. Parallel I/O Using the Simple-Strobed and
- Full-Handshake Modes.
- 5. The M68HC11 Serial Communications Interface (SCI).
- 6. The M68HC11 Serial Peripheral Interface (SPI).
- 7. M68HC11 Free-Running Counter and Input Captures.
- 8. M68HC11 Output Compare Functions.
- 9. M68HC11 Forced Output Compares, Real-Time Interrupts
- and Pulse Accumulator.
- 10. M68HC11 Analog-to-Digital Conversions and Fuzzy
- Inference.
- 11. M68HC11 Expanded-Multiplexed Mode.
- Appendix A. M68HC11EVB Board.
- Appendix B. M68HC11EVBU Board.
- Appendix C. Connecting the EVB/EVBU to External Circuits.
- Appendix D. AS11 Assembler.
- Appendix E. M68HC11 Instruction Set.
- Appendix F. Parts/Equipment Listing.
-
-
- 9.2) Data and Reference Books
-
- Motorola
- - M68hc11 Reference Manual, ref # M68HC11RM/AD
- this document is the "bible" of the 6811 and is a must-have
- for any serious 6811 programmer
- contact Motorola at 800-521-6274 (in the U.S.) to get a free
- copy of this manual
- - MC68hc811E2 Programming Reference Guide, ref # M68HC811E2RG
- a pocket-sized guide to the version of the 6811 used on the
- Mini Board, "ownership of this handy reference is proof of
- being a true 6811 nerd" - by Fred Martin
-
- National Semiconductor - (800)272-9959 for copies
- - COP8 Databook, ref # 400007
- - COP8 Selection Guide, ref # 630006
- - COP8 Designers Information Kit, ref # 6300007-005
- contains: - COP8 Databook (1994 Edition)
- - COP8 Selection Guide (1994 Edition)
- - Independent 8-bit Instruction Set Analysis
- - Independently prepared software analysis of
- National's COP8, Motorola's M68Hc05, Intel's
- 80X51, and Microchip's PIC16C5X
- - Utility and Overview Disks
- - Self-lead overview on COP8, includes electronic
- selection guide and sample application code
- - COP8 Utility Disk, Mac ref # 6300000, Windows ref # 630001
- typical microcontroller applications and sample code
- available by ftp nscmicro.national.com in/pub/COP8
- - COP8 Overview Disk, Mac ref # 630004, Windows ref # 630005
- self-lead COP8 overview, shows product features/benifits
- and includes a electronic selection guide (2 disks)
- available by ftp nscmicro.national.com in /pub/COP8
-
-
- 9.3) Periodicals
-
- Various magazines and journals (journals seems to be THE popular name
- for magazines these days) provide articles from time to time on
- microcontrollers. If you are just starting out learning, pick those
- magazines that feature construction articles.
-
- The Computer Applications Journal (Circuit Cellar Ink)
- - programming and construction articles
- - POB 7694, Riverton, NJ 08077-8784
- - Fax: (203)872-2204
- - Voice orders: (609) 786-0409
- - On-line orders (BBS): (203) 871-1988
- - Email orders: ken.davidson@circellar.com
- - $21.95, $31.95 surface Canada and Mexico,
- $49.95 air all other countries
-
- Computer Design
- - industry announcements and trends
- - One Technology Park Drive, P.O. Box 990, Westford, MA 01886
- - (508)692-0700
-
- The Computer Journal
- - programming and construction articles, specializing in old
- computers (S-100, CP/M, TRS-80, Xerox, Adam, etc)
- - P.O. Box 3900, Citrus Heights, CA 95611-3900
- - (800)424-8825 or (916) 722-4970 FAX: (916) 722-7480
- - BBS: (916) 722-5799
- - WWW: http://www.psyber.com/~tcj
- - Email: tcj@psyber.com
- Dave Baldwin: dibald@netcom.com
- Bill Kibler: kibler@psyber.com
- - USENET newsgroup alt.tcj
-
- Control Engineering
- - industry outlook on control, instrumentation, and automation
- systems
- - Cahners Publishing
- - Circulation:
- 8773 S. Ridgeway Blvd., Highlands Ranch, CO 80126-2329
- (303)470-4000
- - Editorial/Executive Offices:
- 1350 E. Touhy Ave, P.O. Box 5080, Des Plaines, IL 60017-5080
- (708)635-8800
-
- Dr. Dobbs Journal
- - programming articles, concepts, and designs
- - 411 Borel Ave., San Mateo, CA 94402
- - (415)358-9500
-
- EDN
- - Cahners Publishing Company
- 8773 South Ridgeline Blvd., Highlands Ranch, CO 80126-2329
- - annual microprocessor and DSP editions
- - http://www.ednmag.com/
-
- Electronic Engineering Times
- - industry announcements and trends
- - 500-B Bi-County Boulevard, Farmingdale, NY 11735
- - (516)293-3000
-
- Electronics Now
- - construction articles
- - Box 55115, Boulder, CO 80321-5115
- - $19.97 one year
-
- Elektor Electronics
- - programming and construction articles
- - World Wide Subscription Service Ltd
- Unit 4, Gibbs Reed Farm, Pashley Road
- Ticehurst TN5 7HE, England
- - 27 UK pounds
- or
- - Old Colony Sound Lab, P.O. Box 243, Peterborough, NH 03458
- - Tel. (603) 924-6371, 924-6526
- - Fax: (603) 924-9467
- - $57 USA and Canada per year
-
- Embedded Systems Programming
- - programming and systems design articles
- - Miller Freeman Publications
- - 500 Howard St., San Francisco, CA 94105
- - Miller Freeman: (415)905-2200
- Embedded Systems Programming phone: (800)829-5537
-
- Forth Dimensions
- - monthly magazine on Forth
- - Forth Interest Group, P.O. Box 2154, Oakland, California 94621
- - (510)893-6784 Fax: (510)535-1295
- - Email: johnhall@aol.com
- - Forth Interest Group home page:
- http://taygeta.oc.nps.navy.mil/fig_home.html
-
- Inquisitor Magazine
- - If you're the type that watched Gilligan's Island for its
- socio-political insights, then you'll love a new 'zine that
- just crossed my desk - Inquisitor Magazine. It's general
- philosophy seems to be ... well, it seems to be ... uh, yeah!
- Technical in nature, bizarre, tongue in cheek, eclectic,
- electric, did I mention bizarre(?), and lots of fun. Worth
- looking at if you like the out of the ordinary. The moving
- force behind this magazine is Daniel Drennan, who seems to have
- suffered from an overdose of radiation from his computer
- monitor ;-).
- - Dan is offering issue 1 of Inquisitor for free except for
- postage ($1.00 in the United States; $2.00 for Canada and
- overseas surface mail; and $3.00 for overseas airmail). This
- issue contains plans, schematics, and troubleshooting tips for
- putting together a 8052-based microcontroller. If you're
- thinking of putting together an 8051 system, you might want to
- check this out.
- - Planetarium Station, P.O.Box 132
- New York, NY 10024-0132
- - (212)595-8370
- - Email: inquisitor@echonyc.com
- - $16 per year (4 issues)
-
- Microcomputer Journal (formerly Computer Craft)
- - programming and construction articles
- - 76 N. Broadway, Hicksville, NY 11801
- - $18.95 one year, foreign $23.00, foreign air mail $76.00
-
- Midnight Engineering
- - 1700 Washington Ave., Rocky Road, CO 81067
- - (719)254-4553
-
- MW Media - Product Directories
- - Motorola Microcontroller Tools Directory
- ('94 edition out in 3 weeks)
- - Motorola 68K Source ('94 edition available now)
- - Intel Development Tools Handbook ('95 edition just beginning)
- (survey of commercial development tools for the 8051, 8096,
- and 80186 lines of Intel microprocessors)
- - Embedded Intel 386 Directory (released in Aug '94)
- - Intel 486/Pentium directory (forthcoming in '95)
- - 8051 Product Directory ('94 edition out in 4 weeks)
- (survey of various 8051 products)
- - Hitachi Microcontroller Development Tools Directory
- (out in '95)
- - AMD FusionE86 Directory (out in '95)
- (186,386,486)
- - AMD 29K Directory (pending in '95)
- - Low Power Product Directory (out in '95)
- (3.3. volts and lower)
- - DSP Directory (released in May '94)
- - Multimedia CD (hopefully out in '95)
- - These documents could very well be a "must" if you're into
- serious development using any of these chips. If you are
- "just" a hobbyist, see how the "other half" lives.
- - FREE to qualified developers
- - MW Media
- - Fairmont Plaza, 50 W. San Fernando, #675, San Jose, CA 95113
- - (408)288-4721 (408)286-4200 FAX: (408)288-4728
-
- Nuts & Volts Magazine
- - A National Publication for the Buying and Selling of
- Electronic Equipment
- - 430 Princeland Court, Corona, CA 91719
- - Mailed third class, USA only: $17.00 one year
- $31.00 two years
- - Mailed first class, one year only: $34.00-USA
- $35.00-Canada/Mexico
- - Foreign/Air Mail - $70.00; Foreign/Surface - $39.00
- - (800)783-4624
- - Email: 74262.3664@Compuserve.com
-
-
- 9.4) USENET newsgroups
-
- Various newsgroups frequently have discussions or information on
- various microcontrollers. Among some of the more useful (especially
- the first 3 newsgroups):
-
- comp.robotics
- Microcontrollers figure heavily in robotics projects. You will
- find a lot of information about the subject in this newsgroup.
- Even if you aren't building a robot, check this newsgroup out.
- Lots of 68hc11 activity, too.
-
- comp.arch.embedded (great!)
- This is a great newsgroup. Well targeted discussions on aspects
- of embedded systems and microcontrollers.
-
- sci.electronics (lots of traffic, but good)
- alt.comp.hardware.homebuilt (too much nonsense on PCs)
- Some good places to find [mostly technical] discussions on
- microcontroller use and implementation. Most of the participants
- are crazy about "rolling their own", and are eager to share their
- knowledge. These groups aren't well focused, and many subjects
- that aren't relevant to embedded control are covered here.
-
- comp.realtime
- Since embedded systems (controllers/processors) are almost always
- used in real time applications, this group could prove to be
- useful. Occasional discussions about various microcontroller
- topics.
-
- comp.os.qnx
- QNX is the leading realtime OS for PCs in terms of market share.
- It is used in high-end embedded systems (16 and 32 bit); set-top
- boxes, automotive industry, banking, telecomms, etc.
-
- comp.sys.m68k
- The full line of Motorola 68000 microprocessors is discussed in
- this newsgroup, including the very powerful and advanced embedded
- processors and microcontrollers based on this family.
-
- comp.sys.6809
- This newsgroup covers an old-time favorite, the 6809
- microprocessor, which is commonly used for control applications.
- Motorola 8 bit microprocessors and microcontrollers (6805, 6811,
- etc.) are also discussed in this newsgroup.
-
- comp.sys.intel
- Mostly trends and development are discussed in this newsgroup.
- From time to time you will find a discussion on some technical
- problem or feature. This newsgroup is usually fairly useless.
- For a while the participants spent most of their time whining
- about the Pentium bug. Now they're all moaning about Microsoft,
- PowerPCs, and everything else BUT Intel parts. I propose changing
- the name of this group to alt.crybabies.boo.hoo.hoo.
-
- comp.lang.misc
- Sometimes questions or discussions on different microcontroller
- topics pop up here. I guess it's the ".misc" that attracts these
- questions.
-
- comp.ai.fuzzy
- Fuzzy logic is rapidly becoming an increasingly important aspect
- of [embedded] control systems. This group might very well become
- an important forum for those involved in developing control
- systems.
-
- comp.dsp
- Discussions on Digital Signal Processsing
-
- comp.sys.ti
- Texas Instruments products discussed here
-
- sci.engr.control
- This forum is for the discussion of control and embedded systems.
-
- sci.engr.semiconductors
-
-
- 9.5) Internet sources of information on specific microcontrollers
-
- If you are interested in finding sources of information on a specific
- microcontroller, check out the really fine FAQs ;-) that have been
- compiled for the more popular microcontrollers.
-
- Subject: PIC microcontrollers
- Newsgroups: <no longer posted to newsgroups>
- Web page: http://digiserve.com/takdesign
- Maintainer: Tom Kellett
- Email: Tom@takdsign.demon.co.uk
-
- Subject: 8051 microcontrollers
- Newsgroups: comp.sys.intel
- comp.realtime
- comp.robotics
- comp.lang.forth
- sci.electronics
- Archive: rtfm.mit.edu : <plus all mirror sites>
- /pub/usenet/comp.answers/microcontroller-faq/8051
- /pub/usenet/sci.answers/microcontroller-faq/8051
- /pub/usenet/news.answers/microcontroller-faq/8051
- Maintainer: Russ Hersch
- Email: russ@shani.net
-
- Subject: 68hc11 microcontrollers
- Newsgroups: comp.realtime
- comp.robotics
- sci.electronics
- Archive: rtfm.mit.edu : <plus all mirror sites>
- /pub/usenet/comp.answers/microcontroller-faq/68hc11
- /pub/usenet/sci.answers/microcontroller-faq/68hc11
- /pub/usenet/news.answers/microcontroller-faq/68hc11
- Maintainer: Robert Boys - Ontario, Canada
- Email: rboys@best.com
- Russ Hersch (maintainer emeritus :-)
-
- Subject: Motorola 68K microprocessor line
- Newsgroups: comp.sys.m68k
- Archive: ftp.ee.ualberta.ca : pub/motorola/general
- ftp.luth.se : /pub/misc/motorola/faq
- file name of archive is m68kfaq?.zip (? is version)
- Comments: - also includes information on the 683xxx and 68hc16
- - without a doubt, one of the finest FAQs ever written
- (well, of course Bob paid me to say this ;-)
- Maintainer: Robert Boys - Ontario, Canada
- Email: rboys@best.com
-
- Subject: ST6 microcontroller FAQ
- Newsgroups: sci.electronics
- comp.arch.embedded
- comp.robotics
- comp.realtime
- Maintainer: Emilio Caggiano - caggiano@vm.csata.it
- Jerry van Kampen - ersicjer@er.ele.tue.nl
- Leonhard Schneider - ubie@rz.uni-karlsruhe.de
-
-
- Several other FAQs have been compiled that address various aspects of
- microcontroller design and implementation.
-
- Subject: I2C protocol
- Newsgroups: sci.electronics
- alt.hardware.homebuilt
- comp.robotics
- comp.protocols.misc.
- Comments: The I2C bus is a simple 2 wire serial interface
- developed by Philips. A number of 8051 variants as
- well as several peripherals include I2C support.
- Maintainer: Vincent Himpe
- Email: Vincent.Himpe@ping.be
-
- Subject: Robotics
- Newsgroups: comp.robotics
- Maintainer: Kevin Dowling
- (412)268-8830
- Email: nivek@ri.cmu.edu
- Smail: Carnegie Mellon University
- The Robotics Institute
- Pittsburgh, PA 15213
-
- Subject: Electronics
- Newsgroups: sci.electronics
- Comments: There are a number of FAQs available in this newsgroup
- on various subjects. Among some of the subjects covered
- are: LCDs, stepper motors, suppliers, etc.
-
- Subject: Real-time
- Newsgroups: comp.realtime, comp.answers, news.answers
- Archive: rtfm.mit.edu : pub/usenet/comp.realtime
- Maintainer: Mark Linimon
- Lonesome Dove Computing Services
- Roanoke, Virginia
- Email: linimon@nominil.lonesome.com.
-
- Subject: Neural Networks
- Newsgroups: comp.ai.neural-nets,comp.answers,news.answers
- Archive: rtfm.mit.edu : pub/usenet/neural-net-faq
- Maintainer: Lutz Prechelt
- Email: prechelt@ira.uka.de
-
- Subject: Fuzzy Logic
- Newsgroups: comp.ai.fuzzy,comp.answers,news.answers
- Archive: rtfm.mit.edu : pub/usenet/fuzzy-logic/
- Maintainer: Mark Kantrowitz
- Email: mkant+@cs.cmu.edu
-
- Subject: alt.comp.hardware.homebuilt FAQ
- Newsgroups: alt.comp.hardware.homebuilt
- Comments: This file contains frequently asked questions (FAQ) and
- general information pertaining to the newsgroup
- alt.comp.hardware.homebuilt.
- Maintainer: Mark Sokos (msokos1@gl.umbc.edu)
-
-
- 10) MICROCONTROLLER FREE SOFTWARE SOURCES
-
- This section includes descriptions and references to free
- microcontroller software. FTP sites and BBSs contain many quality
- packages and code samples for free. For heavy duty use, you might
- prefer the many commercial packages that are available. With the
- public domain (or free) stuff, you're usually on your own. The
- commercial packages usually provide extensive documentation and
- support.
-
- If you are looking for commercial software for the 8051, 68hc11, or
- PIC, then check out the FAQs on these microcontrollers for details on
- what is available.
-
-
- 10.1) FTP sites
-
- The following is a list of the anonymous ftp sites that have source
- code and programming languages for various microcontrollers. There
- are many others that are not listed here that contains bits and
- pieces. Usually you can find them using Archie and searching for
- variations on the name of the microntroller you are looking for.
-
- ftp.pppl.gov (formerly lyman.pppl.gov)
- - this is a great source of 8051 stuff
- /pub/8051
- /pub/incoming - check this out for new untested/unsorted items
-
- ftp.mcc.ac.uk
- - this is a new 8051 ftp site
-
- ftp.intel.com
- - good source of stuff the MCS-51 and MCS-96 families
- /pub/mcs51 - various development tools and sample code for the
- MCS-51 family
- /pub/mcs96 - various development tools and sample code for the
- MCS-96 family
-
- nctuccca.edu.tw
- - mirror of ftp.intel.com
- /vendors/Intel
-
- freeware.aus.sps.mot.com (Motorola)
- - the ftp site version of the freeware BBS
- - lots of free software for the HC05, HC08, HC11, HC16, 680x0,
- 683xx, and PowerPC
- - also see the Web pages in the next section
-
- nscmicro.national.com
- - the authoratative source for COP8 infomation
- /pub/COP8 - various develepment tools and sample code for the
- COP8 family including most application notes
-
- ftp.zilker.net
- - /pub/philips
- - Philips "mini ftp site" set up by Phil Wood of Philips
- - lots of 8051 code and programming tools from their BBS
-
- Philips-archive@InetBSystems.us.com
- - send Email message with the word "help" in the subject line to
- learn how to access the archive
-
- ftp.ee.ualberta.ca
- - Circuit Cookbook
- - HUGE archive of all sorts of stuff on the 68hc11 (lots of other
- good stuff too!)
- - you'll have fun mucking around this ftp site, there's piles of
- stuff here
- /pub/cookbook
- /pub/motorola
- /pub/motorola/68hc11
- /pub/motorola/mcu11
-
- cherupakha.media.mit.edu (cher.media.mit.edu)
- - HUMONGOUS archive of all sorts of stuff on the 68hc11 including
- the 6.270 robotics project, Mini Board, F1 board, and more
- (lots of other good stuff too!)
- - you'll lose yourself rooting around this ftp site, there's
- piles of stuff here (assemblers, tools, C compilers, plans and
- schematics, and many other items)
- /pub/projects - tools, docs, schematics, etc. for the MIT 6.270
- robotics project using a 68hc11-based development system
- /pub/6811 - software, schematics, etc. for the 68hc11-based F1
- board
- /pub/incoming - various unsorted or new items
- /pub/miniboard - software, docs, schematics, etc. for the 3"x2",
- 68hc11-based Mini Board controller
-
- ftp.funet.fi (nic.funet.fi)
- - this is a good source for various microcontrollers
- /pub/microprocs/ (subdirectories include: 1802, 6805, 8048,
- 8051, 8096, PIC and many other microprocessors)
-
- ftp.sics.se
- - many assemblers, utilities, and application notes for the PIC
- - Microchip BBS mirror
- - ftp site of Memec Scandinavia, Microchip's Swedish agent.
- /pub/mchipsoft
-
- ernie.uvic.ca
- - files provided by local Motorola representative
- /pub (subdirectories include: ibm, dsp96k, dsp56100, dsp56k,
- dsptools, develop, mac, mcu302, mcu332, mcu11, pgmr, mcu16,
- mcu, market, qa, general, m68k, evm, dsp)
-
- wpi.wpi.edu
- - basic stamp information
- - PIC "C" compiler
- /stamp
-
- ftp.std.com
- /vendors/microchip/
-
- ftp.luth.se
- /pub/misc/microchip - PIC information
- /pub/misc/microchip/stamp/mirror - mirror of wpi.wpi.edu
- /pub/languages/assembler - various freeware assemblers
-
- ti.com
- read the 00readme file first or you'll be lost
-
- asterix.inescn.pt - FORTH archive
- /pub/forth
-
- hpcsos.col.hp.com
- /mirrors/.hpib0/forth/8051 (mirror of asterix Forth archive)
- /mirrors/.hpib0/forth/eForth
- /misc/ns32k/beowulf
-
- ftp.netcom.com
- /pub/imagecft - prerelease version of ImageCraft C for 68hc11
-
- info@circellar.com - Email (not ftp)
- - send Email to get information file on services available
- - all Circuit Cellar INK and BYTE related files available
-
- ftp.ultranet.com
- /biz/mchip - PIC information
- - also see the Web page: http://www.ultranet.com/biz/mchip
-
- ftp.mrc-bbc.ox.ac.uk
- /pub/microchip
-
- ftp.oak.oakland.edu
- - has information and software for a wide range of
- microprocessors and microcontrollers
-
- ftp.uni-erlangen.de
- - information on PIC
- /mounts/epix/public/pub/Multimedia/VideoCrypt/
- microcontroller/microchip.bbs
-
- ftp.armory.com (Steve Walz)
- - /pub/user/rstevew/8051
- - /pub/user/rstevew/TB8051
- - /pub/user/rstevew/incoming
-
- ftp.cygnus.com (Jeff Fox)
- - source of information and software on the MuP21 Forth
- microcontroller
- /pub/forth - MUP21FTP.ZIP includes a software simulator for
- the MuP21 and and the upcoming F21.
- also see the Web page: http://www.dnai.com/~jfox
-
- ftp.best.com
- /pub/cera
- ftp.netcom.com
- /pub/ce/cera
- - embedded systems FTP archive
-
- ftp.parallaxinc.com
- /pub
- - ftp site of Parallax
- "Cool PIC development tools & the BASIC Stamp"
-
- ftp.std.com - Minds-Online ftp site
- /customers2/nonprofits/minds-online
- - Chock full of compilers, assemblers, code, articles, fuzzy
- logic, and much more.
-
- evans.ee.adfa.oz.au
- /mirrors/tms340
- - support for Texas Instruments parts
-
- ftp.ti.com
- /mirrors/tms320bbs
- - mirror of the contents of Texas Instruments BBS
-
- ftp://iglou.com/members/ITU
- - Microchip PIC and embedded systems
-
- ftp://ieee.cas.uc.edu
- - electronics archive
-
-
- 10.2) Web pages
-
- Advanced Micro Devices, Embedded Processor Division home page
- - http://www.amd.com/html/products/EPD/EPD.html
- - covers both the 29K and E86 embedded processor lines
-
- Ada language pages
- - http://sw-eng.falls-church.va.us/AdaIC/
- - http://www.adahome.com/
-
-
-
- AM Research, the Embedded Control Experts
- - http://www.amresearch.com
-
- Automation and Process Control
- - http://www.ba-karlsruhe.de/automation/home.html
-
- Bo Eriksson's web page (mostly in Swedish :-(
- - http://194.52.151.18/elektronik/internettips/index.html
- - info on tools from IAR, plus interesting links
- - info on H8-series from Hitachi
-
- Brian Brown's 8051 web page
- - http://www.cit.ac.nz/smac/cbt/hwsys/i8051/default.htm
- - contains Brian Brown's 8051 course
- - lots of other good stuff
-
- Cera Research web pages
- - Electronic Engineers' Toolbox (home page)
- http://www.cera2.com/ebox.htm
- - MCU/MPU resources
- http://www.cera2.com/micro.htm
- - Navi-GATOR (embedded dev. tools and chip-specific)
- http://www.cera2.com/gator.htm
-
- Chip Directory and Chip Manufacturers (Jaap van Ganswijk)
- - http://www.hitex.com/chipdir (USA, California)
- - http://www.civil.mtu.edu/chipdir (USA, Michigan)
- - http://www.leg.ufrj.br/chipdir (Brasil)
- - http://www.xs4all.nl/~ganswijk/chipdir (The Netherlands)
- - http://bbs.cc.uniud.it/chipdir (Italy)
-
- Chipmakers web page (Gary Creager)
- - http://www.scruznet.com/~gcreager/hello5.htm
- - well over 200 semiconductor manufacturers web pages
-
- Circuit Cellar Ink
- - http://www.circellar.com
-
- Dallas Semiconductor
- - http://www.dalsemi.com
-
- Diamond Chip
- - http://www.dchip.com
- - information on their ST62T25 BASIC chip
- - Stefan Ward, Diamond Chip
- Tel +27 (0)12 803-6287
- Fax +27 (0)12 803-4350
- BBS +27 (0)12 803-5683
-
- Electronic Laboratory of the DAEC Department of Meudon
- - http://formper1.obspm.fr
- - electronics, embedded systems, FPGA, microncontrollers in
- astronomy projects
-
- Embedded Systems Information (Cera Research)
- - http://www.cera.com
-
- Forth Interest Group home page
- - http://taygeta.oc.nps.navy.mil/fig_home.html
-
- French Forth web site
- - http://ourworld.compuserve.com/homepages/mp7
- maintained by Marc Petremann:
- 17, allee de la Noiseraie
- F - 93160 NOISY LE GRAND
- Email: 100647.3306@compuserve.com
- - http://ourworld.compuserve.com/homepages/bioforth
- maintained by Gerard SOULA
-
- Gernsback Web page (Electronics Now, Popular Electronics)
- - http://www.gernsback.com
- - current issue information, recent article related files, FTP
- site, subscription information
-
- Gregory Pugh's homepage
- - http://sleepy.anest.ufl.edu/~glp/8051.html
-
- High Tech Horizon
- - http://www.hth.com
- - This web page is in Swedish, but the files are available to all
- in the "Hardware Hackers Filelibrary" at the bottom of the
- Web-page.
- - High Tech Horizon, Asbogatan 29 C, S-262 51 Angelholm, SWEDEN
- +46 431 41 00 88 Fax: +46 431 41 00 88
- Email: info@hth.com
-
- Hitachi
- - http://www.hitachi-eu.com/hel/ecg/
-
- ITU Technologies (ITUTec@aol.com)
- - Microchip PIC and embedded systems
- - http://www.iglou.com/ITU
-
- Ken Tindell's CAN web pag
- - http://www.nrtt.demon.co.uk/can.html
- - Source code to drive the Intel 82527 CAN controller is
- available: just send e-mail to info@nrtt.demon.co.uk, with
- "Request Intel 82527 drivers" (without the quotes) in the
- subject line.
-
- MCU Survey
- - http://bip.golana.pub.ro/mcu/survey
-
- Microchip PIC
- - http://www.ultranet.com/biz/mchip
-
- Motorola's semiconductor WWW page
- - http://motserv.indirect.com
- - on-line searchable Master Selection Guide and OEM Price Book
- - 'MFax' service to request all kinds of data sheets
- - a bunch of other cool stuff
-
- Motorola's microcontroller WWW page
- - http://freeware.aus.sps.mot.com/index.html
- - the WWW version of the freeware BBS
- - lots of free software for the HC05, HC08, HC11, HC16, 680x0,
- 683xx, and PowerPC
-
- MuP21 Forth microcontroller
- - http://www.dnai.com/~jfox
- - information and software on the MuP21 Forth uC
-
- Parallax Inc. web page
- - http://www.parallaxinc.com
- - "Cool PIC development tools & the BASIC Stamp"
-
- Peter H. Anderson's web site
- - http://www.access.digex.net/~pha
- - nice site, lots of PIC stuff and interfacing plans
- - Peter H. Anderson
- Dept of Electrical Engineering
- Morgan State University
-
- POLIS web site
- - POLIS offers an integrated interactive environment for
- specification, co-simulation, formal verification, and
- synthesis of embedded systems implemented as a mix of hardware
- and software components.
- - http://www-cad.eecs.berkeley.edu/Respep/Research/hsc/abstract.html
- Most of the information about POLIS, including pointers to
- source and object code (for various CPUs and OSes) is available
- at this WEB site
- - If you are interested, but do not have WEB access, contact
- them at: polis@ic.eecs.berkeley.edu.
-
- QNX realtime website
- - http://www.qnx.com
-
- Scrumpel 68hc11 web page
- - http://www.stack.urc.tue.nl/~hcc6811
-
- Texas Instruments
- - http://www.ti.com/sc/docs/micro/home.htm
-
- Zorin
- - http://www.eskimo.com/~zchris
- - 68hc11 information and support for their line of boards
-
-
- 10.3) BBSs
-
- The following BBSs have 8051 information:
-
- Circuit Cellar, Inc.
- - contains code from their magazine articles and from the
- original Circuit Cellar articles in Byte magazine, also
- contains many other interesting items
- - The BBS is mentioned in the masthead of each issue (on the
- table of contents page). Excerpts from the BBS appear in Ken
- Davidson's ConnecTime column in every issue with a description
- of how to access the system at the end of every column.
- - (203)871-1988
- - Voice: (203)875-2751
- - Fax: (203)872-2204
-
- Dunfield Development Systems
- - support for their Micro-C C compiler and development tools
- - includes a lot of nice goodies
- - (613) 256-6289
-
- ED Teck. Pubs BBS
- - run by Fred Eady who writes for hobbyist magazines
- - good source of information on the PIC
- - (407)454-3198
-
- Electronics Now
- - contains code from their magazine articles
- - (516)293-2283
-
- Intel American Marketing Applications Support Bulletin Board System
- - 16 lines, hi-speed modems (14.4K)
- - Lots of useful info and files (including design examples)
- - Full ANSI-BBS with color is recommended, but support for just
- about all terminal types is provided
- - 916-356-3600 (24 hours)
- Auto config: 1200 thru 14.4K Baud
- 8 data bits, no parity, 1 stop
-
- Iota Systems, Inc.
- - Support for their line of hardware and software products
- - (702)831-4732
-
- Jens Holm's electronics BBS:
- - one of a number of BBSs that are networked over most of the
- industrial part of Europe
- - +45-86-510356 (Denmark)
- - distributes all shareware and freeware software which
- relates to electronics
- - system administrator - Jens Holm
- jholm@bjarke.nrg.dtu.dk or Jens.holm@asgaard.dk
-
- Don Lekei BBS
- - support for the PIC line of microcontrollers
- - (604)597-3479 (Canada)
-
- Massilia Underground BBS (Marseille, France)
- - +33-91794120
- - fidonet 2:323/25
- - not a commercial BBS
- - microcontroller related stuff (assemblers, debuggers,
- boards, etc), some 8051 stuff
- - everything coming in is tested
-
- Microchip BBS
- - support for the PIC line of microcontrollers
- - Contact by dialing the same number you would use to get to
- Compuserve at 19200,n,8,1, except that you press +<CR> at the
- (garbage) prompt, followed by MCHIPBBS as the host (instead of
- CIS).
-
- Micro Computer Control Corporation
- - (609)466-4117
-
- Motorola (Austin Texas) BBS
- - terrific, has piles of stuff, only some of which is on
- bode.ee.ualberta.ca
- - (512) 891-3733 (Austin, Texas)
- - V.32 9600 Baud modems w/ MNP-5
- - 8 Data Bits, No Parity, 1 Stop Bit.
-
- Other Motorola BBSs:
- - Munich, Germany: 49-89-92103-111 (2400 baud)
- - Stuttgart, Germany: 49-7031-275496 (19200 baud)
- - San Diego, California: (619) 279-3907
- - Toronto, Ontario, Canada: (416) 497-8989
-
- National Semiconductor COP8 BBS
- - (800)672-6427
- - worldwide telnet to nscmicro.national.com
-
- Protel (Microchip PIC software support)
- - (408)243-0125
-
- Parallax Inc.
- - (916)624-7101
-
- Philips Semiconductor (parent company of Signetics)
- - support for: standard logic, programmable logic,
- in-car electronics (planned), 8 and 16 bit microcontrollers,
- I2C software, third party software, discrete semiconductors,
- cross assemblers (general), RF (planned)
- - PHIBBS is located in the Netherlands: +31-40-721102
- - maximum 14400 baud / V42bis
- - 24 hours a day available
- - Help desk: +31-40-722749 (9.00 AM - 16.00 PM CET)
-
- Philips Semiconductors (Signetics)
- - support for their 8051 variants
- - contains many good source code items
- - partially mirrored on ftp.pppl.gov and nic.funet.fi
- - (800)451-6644 or (408)991-2406
-
- Texas Instruments microcontroller BBS
- - (713)274-3700
-
-
- 10.4) Mailing Lists
-
- 68hc11
- - for information, send empty message to listserv@hipp.etsu.edu
- - to join, send the message "subscribe mc68hc11 your_real_name"
- to listserv@hipp.etsu.edu
-
- Basic Stamp
- - to join, send the message "subscribe stamp-list" to
- majordomo@cybernetics.net
-
- GCC compilers for embedded systems
- - to join, send the message "subscribe crossgcc <your address>"
- to majordomo@first.gmd.de
- - for those who are building a cross gcc compiler for an
- embedded processor/system
-
- Imagecraft C
- - to join, send the message "subscribe icc11-list" to
- listserv@netcom.com
-
- Minds-Online
- - One mailing list is for announcing significant postings on the
- Minds-Online ftp site.
- - Another MODERATED mailing list will carry messages from real
- engineers who are working on designs slated for volume
- production. "No tire-kickers, no students, no academics, no
- sleazy something-for-nothing ripoff artists, no hobbyists, and
- no totally lost people will be able to post e-mail." (Uh, it
- looks like that sort of leaves out yours truly, I certainly
- belong in several, if not most, of those categories).
- - to join, send the message "subscribe" to the email address:
- minds-online@world.std.com
-
- Mini Board and 6.270 board (68hc11)
- - send a message containing the word "help" for directions to
- listserv@oberon.com
- - mailing list address: robot-board@oberon.com
- - maintainer: gkulosa@oberon.com
-
- Parallel Performance Group (PPG)
- - series of monthly newletters on high-tech software topics
- - for information send any e-mail to info@ppgsoft.com
-
- Philips Newsletter
- - send Email with "subscribe" in the subject field to
- Philips-News@InetBSystems.us.com
- - news, views, and articles (contributions welcome)
- Philips Developers Forum
- - send an Email message with the word "subscribe" in the subject
- to Philips-forum-request@InetBSystems.us.com
- - technical discussions between engineers and developers
-
- PIC
- - to subscribe, send email to listserv@mitvma.mit.edu
- - send the message "SUB PICLIST" for standard subscription
- - send the message "SUB PICDIGEST" to receive digested mailings
- - list address is: PIC@mitvma.mit.edu
-
-
- 11) SOURCES FOR PARTS
-
- Major manufacturers and distributors are the main (and most
- expensive) source for acquiring microcontroller parts.
-
- A good number of firms have surplus bargains on microcontrollers and
- other parts you might need for your projects. Among some of the
- better ones:
-
- All Electronics
- - http://www.allcorp.com
- - lots of great surplus items
- - nice catalog available in PDF
-
- Alltronics
- - http://www.alltronics.com
- - good selection of interesting surplus items
- - large selection of standard chips and components
- - latest advertisements available in PDF
- - update pages from catalog available in PDF
-
- BG Micro
- - http://www.bgmicro.com
- - large selection of standard chips and components
- - much of their catalog available in PDF
-
- Debco Electronics
- - http://www.debcom.com
- - piles of chips, parts, components, ham gear, computer stuff
- - Electronics Experimentors Journals (highly recommended!)
-
- Herbach and Rademan
- - http://www.herbach.com
- - great catalog
- - LOTS of stuff for robotics projects
-
- Mendelson Electronics
- - http://www.meci.com
- - on-line ordering possible, but IMHO their web site is difficult
- to navigate
-
- Timeline
- - http://www.timeline.com
- - well-known and reliable source for surplus LCD displays
- - interesting surplus bargains
-
- __________________________________________________________
-
- I disclaim everything. The contents of this article might be totally
- inaccurate, inappropriate, misguided, or otherwise perverse - except for
- my name (hopefully I got that right).
-
- Copyright (c) 1997 by Russ Hersch, all rights reserved.
- This FAQ may be posted to any USENET newsgroup, on-line service, or BBS
- as long as it is posted in its entirety and includes this copyright
- statement.
- This FAQ may not be distributed for financial gain.
- This FAQ may not be included in commercial collections or compilations
- without express permission from the author.
-
- -----------------------------------
- Russ Hersch - russ@shani.net
-