Subject:
|
Re: 68hc11 & z80
|
Newsgroups:
|
lugnet.robotics.handyboard
|
Date:
|
Thu, 25 Sep 1997 04:10:58 GMT
|
Original-From:
|
root <root@snotnoseSTOPSPAM.wizard.org>
|
Viewed:
|
1856 times
|
| |
| |
> hi!
>
> My question is this: for a High School Project, I'd like to make a
> project out of a microprocessor & stuff from scratch. I'm wondering: what
> system is better: a 68hc11 based system, or a z80 system?(the only reason i
> bring up z80 is i saw that their chips are cheap ( <2$), and they have a
> disk drive controller, which means i could connect a disk drive).
> Specifically, i'd like to know as far as useability, programming and
> interfacing objects.
> If anyone has any other suggestions, I'm alll ears!
>
> Again, Thank you very much!
> Phil
Hello Phil-
I have built systems in the past around both CPUs you mentioned. Here is my
two cents worth-
The Z80 is a very easy processor to understand and work with. You are correct
that they are quite cheap these days. They are also very easy to construct
but require a number of support chips to create a useful system. The 68HC11
however is even easier to work with but because of its complexity it requires
a lot more initial study and familiarity before you start. From a total novice
standpoint the 68HC11 will look very intimidating. However, I can assure you
that once you wade through the docs and 'grok' the way it works that it will
(IMO) make the better project. Why you say? I'm so glad you asked :) ...
First let's compare the basic features of the two processors- the 68HC11 is
really more of a complete computer-on-a-chip. It has lots of built-in goodies
like an RS232 port, 8 Analog-to-Digital inputs, lots of internal clocks and
timers you can use, an SPI (high-speed synchronous serial port), lots of
input and output lines, and probably other stuff I'm not thinking of right
off. Oh- and many versions have some onboard memory- either EEPROM or EPROM.
It can address 64K of memory. Static memory works well and with memory prices
these days its very cheap too. A single 68HC11 processor and literally just
a handful (or less) of support chips will get you a very powerful and useful
system.
The Z80 on the other hand can address 64K of memory and that's about its only
built-in "feature". You can get support chips that can provide the other
functions- such as the Z80 DART (Dual-Asynchronous Receiver/Transmitter) for
RS232 style serial communications, a Z80 PIO (Parallel I/O) for parallel stuff,
Z80 CTC (Counter-Timer Chip), etc. But each of these chips is another 40-pin
chip that you'll have to wire up. (Just think of all those little tiny wires
and all that soldering- its enough to drive you crazy... bwahahaha :) And we
haven't even gotten to the memory yet! Actually there is one nice built-in
feature of the Z80 I just thought of- it supports Dynamic memory without any
external timing. It supplies all the necessary refresh signals to keep the
dynamic memory alive. These days though you could just stick some static
memory on it and forget about it.
As far as programming goes- both processors are roughly the same in complexity
(IMO) and while the instruction sets are different (the 68HC11 has a lot of
special instructions to support its nifty features) I think that the 68HC11
is a little easier to work with overall. Then there is the extra bonus you
get with the 68HC11- Interactive C! :) If you build your system in a certain
way (see either the HandyBoard page or my page http://www.vnet.net/wizorg)
for more information and schematics) you can run Interactive-C on your system
and save yourself a lot of hassles in programming. If you do not run IC then
you might look into the Buffalo monitor available on the Motorola web page.
(I don't recall the URL offhand but there's a link to it on my page above).
Its been way too long for me to have any ready Z80 software references but I'm
sure there are similar monitors that you can get for it. Alternately if you
build a sophisticated enough system you can run CPM/80 (heh- anybody remember
CPM??? :) on your Z80 system but that's a little too advanced for a first
project :)
As far as the disk I/O stuff, unless you have some disk drive driver software
(the stuff that talks to the chips and tells the drive what to do) you will
have to write that yourself. While it isn't impossible to do, again I think
that's a little advanced for a first system. If you build a HandyBoard
compatible 68HC11 system, it is programmed via a serial port attached to
another computer. You download all your code via the serial port and then use
IC's built-in commands to tell it to run, etc.
In terms of interfacing other things to either system, in my opinion its a
toss-up. While each CPU has a completely different way of interfacing, they're
not really "difficult" to understand. The Z80 uses an I/O bus while the 68HC11
uses memory-mapped I/O. The difference is that the Z80 can address 64K of RAM
_and_ 64K of "devices" while the 68HC11 only addresses 64K of stuff (which is
a mixture of RAM and devices). Unless your application is going to have to
fight for every byte the difference really isn't that critical. The only real
consideration is in chip selection. With the I/O bus approach you generally
use "intel-style" chips (not necessarily made by Intel) which have the required
interface lines to hook to the I/O bus. With the memory-mapped approach you
will want "motorola-style" chips (not necessarily made by Motorola) which have
the proper lines for that style interface. You _can_ mix and match if you want
but that will complicate things a lot. I don't recommend that unless you know
what you're doing and why.
I hope this helps give you some insight into the basic particulars of the two
CPU's. Feel free to write if you need more information (although I'll be honest
and tell you its been a long time since I've messed with Z80's).
John Whitten
brat@naxs.com
|
|
1 Message in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|