Joined: Fri Aug 30, 2002 1:09 am Posts: 8437 Location: Southern California
|
Chuck, I use both— microcontrollers, and a 6502 workbench computer that I use for controlling experiments, taking data, and developing products. They have their separate functions and there's a place for each. It would be difficult to impossible to use an off-the-shelf microcontroller for the things I use the workbench computer for. And as much as I would like to use the 6502 for embedded control in the products (actually I did a couple of times, before the microcontroller scene was what it is today), the sad truth is that it would take too many parts and too much PC-board space, and the parts cost would be too high, to justify going that route today. The last one I did with the 6502 was in 1993. It was justifiable at the time. It had a 65c02 processor, 65c22 I/O IC, 27c64 EPROM, 6264 SRAM, 93c06 serial EEPROM for non-volatile storage of variables, a 74HC00 quad NAND for glue logic, and a few resistors and capacitors. The clock speed was set by a resistor and capacitor pair on pins 3, 37, and 39 of the processor. I took advantage of the Schmitt-trigger RST\ input to simplify the RST circuit. Here's a picture of the SBC:
(The EPROM socket is on the back.)
Quote: The other problem is I request information on chips and company reps want me to tell them how I am going to use it before they are willing to tell me how the chip works or suggest a better one. Since they have other paying customers, they don't want to keep communicating with me. I ran into that when I was trying to choose a microcontroller for the product mentioned above. One of the manufacturers basically told us, "Get lost. Your company is too small for us to be interested."
Quote: They tell me to get an IBM and program that. It would be difficult to use a PC for the workbench work, because there's too much you don't have full info on, and you don't have full control. Interrupt latency is terrible too. I don't have time to try to keep up with a consumer market that doesn't sit still long enough to really learn the insides the way I would need to. Lack of market stability causes other problems too; like if you decide you want to buy two more plug-in gizmos identical to the one you have, well, tough, because they were discontinued long ago. "But the new is better!" they say, and call you a dinosaur, never mind that the old one did the job just fine and now you have to re-write your software. I also don't want even a laptop on the workbench. It's too big. Although I host my workbench computer from a PC, the PC is on a desk, not taking room on the workbench.
What I find with the microcontrollers is that most of them lack in either the I/O or the memory (or both) of a home-made 6502 system. Some allow you to put more memory externally, but that requires forfeiting I/O pins for the address and data buses and control lines. Some of the microcontrollers these people advocate lack other resources as well. I am very familiar with PIC16's after having brought quite a few products to market with them, and I can tell you their decrepit processor is not the reason I use them. Contrary to what Microchip claims, they are not hot performers when you compare them to modern 6502's or 65816's, and they usually take twice as many clocks to get a job done as the 6502, if the PIC can do it at all. The only way to do a lot of things on the PIC is really mickey-mouse compared to the 6502.
So why do I use PICs at all? It's for tiny control jobs where an 28- or 18- or even 8-pin microcontroller has enough I/O, and it's nice to have the onboard support circuitry for things like reset, brown-out, watchdog timer, and even being able to generate their own clock without external components. They're available in many variations from many stocking distributors. But for bigger jobs, it doesn't make sense to use them.
The 6502 is going into consumer, automotive, and even medical products today at the rate of hundreds of millions of units per year, in custom ICs. The fastest of them run at over 200MHz. There's no need to apologize for it.
Oh, and BTW, there are no microcontrollers in my 6502 workbench computer, but I do use it to program the PICs for our products. It sets the voltage under program control too, so it qualifies as a production programmer which has to do the verify at the voltage extremes.
Quote: My goal is to work on a computer equal to or better than a Commodore 64 with off-the-shelf parts. Better in what way? Better in raw processing power is easy. But if I had to make the computer self-supporting in keyboard, big display, and write my own full-featured text editor and macro assembler, that would be a big job. I do hope to do basically that in the next few years; but for now I use an old PC running DOS (actually almost any old computer with RS-232 will do) for writing and storing the programs, and run them over on a serial link when I want to run them on the workbench computer. It can take the commands and more code to assemble or compile or execute at the same time that it's doing a time-critical real-time job on the workbench. Keep in mind however that the power of the processor is only a small part of determining the power of the whole computer. Other important factors include the software, the I/O capabilities, and other hardware issues.
Quote: I request: (1) The names of books that I can find on Amazon that would help me learn. Download the programming manual from WDC's website, westerndesigncenter.com .
Quote: (2) What available chips, components and devices are available to help me on my quest.
- 65c02 or 65816 processor
- 74HC, 74HCT, 74AC, 74ACT, etc. logic families (there's no reason to use 74LS anymore) Examples: 74HC00 quad 2-input NAND gate, 74HC04 hex inverter, 74HC14 hex Schmitt-trigger inverter
- 65c22 as your main I/O avenue, but not necessarily the only one. Other things can be interfaced through it. You can have several if you want (but probably don't need as many as you think you do).
- 62xxx SRAM (like the 62256 32Kx8)
- 27xxx EPROM or 28xxx EEPROM (like the 27c256 32Kx8 EPROM)
Quote: (3) What other microcontrollers could be used to interface with the 6502 and more modern variants to create a single board computer? Single-board computers were common long before microcontrollers were. So far I have never used a microcontroller in an SBC. I do plan to in the next one, but that's to pre-load RAM because I want the computer to operate too fast for the available ROMs, meaning I can't use ROM for the start-up code. I don't recommend that you use a microcontroller in your SBC. If you really, reeeeeeealy want to though, you could use virtually any of them.
I have a few pages of tips starting at viewtopic.php?t=342 . Some show an unexpected way to do something, some just help keep you out of trouble, some are for troubleshooting, developing, rigging various types of I/O, etc..
My project pages on this website are at http://www.6502.org/users/garth/ . I've sent material to Mike to update them, and hopefully he will have that up soon.
_________________ http://WilsonMinesCo.com/ lots of 6502 resources The "second front page" is http://wilsonminesco.com/links.html . What's an additional VIA among friends, anyhow?
Last edited by GARTHWILSON on Sun Feb 07, 2010 10:02 am, edited 2 times in total.
|
|