Tennessee wrote:
>OR, we get the cheapest off-the-shelf part that does the job and use a simple astable to >generate the 60 hz with very little "drift" using discrete components (60hz doesn't need to >be precise to 0.001us
.
Yes, for many applications, the difference between 60.0 and 60.1 is not significant. BUT,
it will probably not be very accurate for any 'clock' type of applications, where the
error becomes cumulative. Any R-C oscillator will be sensitive to temperature, *especially*
at low frequencies, which require large-value caps. Yes, there are low temperature coefficient caps (NP0 types, for example), but they are not nearly as stable as a crystal,
and are generally not available in large values.
Besides, using something like an MM5369 and a 3.579 crystal (separate from the CPU
crystal, so that the CPU could run at 1 Mhz or whatever) would have *less* components than any decent discrete oscillator.
With the MM device, changing to a European-type TV crystal will give you 50 Hz, instead of 60 (3.579 Mhz is NTSC standard, so that crystal is very common in the U.S.).
>I do not want to be pushy of the option I mentionned, but I do feel that having 2x 40 pins >header will make for a LOT of trouble when making your own card. We should make >sure that all "optional" signals are on one header while the other has the CPU lines so that >we don't NEED the 2 headers on every expansion card.
That's a good idea. 40 pins should be just about enough for all the 'basic' signals.
Folks that don't need the other signals can leave the 2nd connector off the board.
>Also, I think that, even though the 154 is big, it should be mapped to one of the 8k blocks >of Pete's decoder to provide for "small I/O" (Most chips require 2 or 3 address lines. The >154 decoding would make 16x 8 lines blocks, which is more than enough) which would >make external "test boards" design much easier, due to the fact that no more decoding >will be needed.
I don't quite follow you here. With either 8K-->8 or 8K-->16, there are plenty of decoded blocks to work with. With my suggested scheme, I see the use of 'decodes'
being *something* like this:
- There are 8 blocks of 8K each, provided by the LS145 with
O.C. outputs. Of those, one is for PROM, one is for the
LS138, four are for RAM, and two are unused.
- Of the LS138 outputs (1K each), two are for 6522s, one is
for the UART, and five are unused.
That means a total of 7 decoded blocks (or up to 10 if you have only 8K or RAM).
That sounds like plenty to me! No more decoding is needed to use any one of them -
it doesn't matter that (for example) you connect a 1-address-line LCD module up
to an 8K decoded block - it's a little wasteful, but it works the same. In reality, you
would probably use the five 1K blocks for accessories like an LCD display, and
perhaps use the two 8K blocks for extra RAM/EEPROM.
>It will also allow something which I find very cool, which is an LCD connector (14 pins >header, 2x7 pins rows) ON-board, and it can provide all the decoding for all the chips of >the board which require any. I'm sure we won't decode the UART in a full 8k block, nor >the 6522. The '154 is good for that: taking all the necessary decoding and translating it >from a combination of gates to single, easy-to-use, inverted enable signals.
Remember, the 154 doesn't do anything different from the 145 or 138 - it just decodes
one extra address line, making the decoded blocks half as big. With a 138, we will end
up with 1K blocks; with a 154, we will have 0.5K blocks - there's no other difference.
[BTW, the 145 is really a BCD 1-of-10 decoder, but in this case we would be using
it just like a 138, but with O.C. outputs.]
>The '154 won't crowd the traces too much, and it can provide decoding for the UART, >the 6522, the RTC, and leave the rest of the decode lines for external devices.
The only extra thing there is an RTC - there would still be a minimum of 6 decodes
unused. As Mike suggested/hinted, more 'accessories' than that and we are talking
about a *big system*...
Pete