6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 1:46 am

All times are UTC




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 18 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: [5.1] Microcontroller?
PostPosted: Mon Nov 29, 1999 7:51 am 
Haven't done any microprocessor designs in a while, and
I see that most of the design has been thought out for
the 6502 pcb. However, I would recommend keeping chip
counts low and the board as small as possible.

One way to do this is (and I've been thinking of

designing my own board to do exactly this) to use
a microcontroller that has the peripherals you want
UART, A/D, timer, etc. and just interface the
6502 to it. I've been looking at the Atmel line
of RISC microcontrollers and will probably design
a circuit with that.

robert


Report this post
Top
  
Reply with quote  
 Post subject: [5.2] Microcontroller?
PostPosted: Tue Nov 30, 1999 8:06 pm 
Offline
Site Admin
User avatar

Joined: Fri Aug 30, 2002 1:08 am
Posts: 281
Location: Northern California
Hi Robert,

The design has been thought out (and continues to be) but is far from complete, I encourage anyone to get involved in the design process by submitting new ideas and suggestions.

The microprocessor for this PCB is going to be the plain old 40-pin DIP package 6502 (or 65C02). It is hoped that if this project is a success that a later board using the 65C134 microcontroller and surface-mount parts will be available for applications (robots and such) needing a nice 6502-based computer in a really small package.

_________________
- Mike Naberezny (mike@naberezny.com) http://6502.org


Report this post
Top
 Profile  
Reply with quote  
 Post subject: [5.3] Microcontroller?
PostPosted: Fri Dec 03, 1999 8:18 pm 
Thanks for your warm welcome :)

I hadnt looked at the microcontroller version of
the 6502 (the WDC web page is pretty slow to access)
but it looks interesting!


Report this post
Top
  
Reply with quote  
 Post subject: [5.4] Microcontroller?
PostPosted: Fri Feb 04, 2000 2:40 pm 
If you want to use an ATMEL or whatever microcontroller, why are you posting in the 6502 area? Do you have requirements for the features you describe? (requirement implies "live if I have it, die if I don't" rather than "might be amusing")

The AVR line offers these features as built-ins, but won't satisfy the 6502 entusiast's desire to use the 6-7 generations-old 6502.

Uli


Report this post
Top
  
Reply with quote  
 Post subject: [5.5] Microcontroller?
PostPosted: Fri Feb 04, 2000 3:05 pm 
Heh like I said, what I like is the 6502 instruction set. I'm not particularly tied to the hardware end, and frankly 6502 parts are not easily available and are comparatively bulky for the (lack of) features. I could conceivably wire-wrap a 20pin Atmel circuit in one short evening, but probably not a 6502 with all the support circuitry. I do circuit design and construction as a day job (grad student), and wire wrapping/debugging is not my idea of a relaxing hobby.

So let me ask what YOUR requirement is? To physically handle old 40 pin chips? to hand assemble UARTS, sRAMs, etc? My requirement is to have fun programming in 6502 assembly and embed 6502 code in real-world applications, which would require A/D, I/O, serial. Why would I want to bother reinventing the wheel when i can have a one-chip solution and concentrate on programming (the emulator as well as 6502 code)
I think my original, more serious, suggestion was to attach an Atmel to the 6502 to replace the peripheral chips, so I actually dont understand what your objection is.

I can allow that some hardware oriented people will have fun wwing/soldering and designing timing circuitry (and I admire most people on this board who are designing the 6502 board), but I think you can allow that more firmware oriented people would like to hack with programming first and foremost, and not care on what physical platform their code runs on.

Robert


Report this post
Top
  
Reply with quote  
 Post subject: [5.6] Microcontroller?
PostPosted: Fri Feb 04, 2000 4:34 pm 
There are a couple of different ways in which "hobby" projects are devised. One, and probably the more common, is that someone sees a device they think is "neat" and then proceeds to get one. Once they have it, they normally do nothing with it because it involves work. The other is one in which a "need" presents itself in the context of another activity, say, model railroading or such. They devise a way to solve their problem whether it's controlling the lights and switches on a model railroad layout or controlling their stereo with a single remote control to take the place of four.

The less specialized hardware a given system, large or small, has the more flexible it is within the confines of a given set of performance parameters. If you want to see how much you can do with firmware in place of hardware, you attack the problems not with built-in hardware features, but with simple but very fast firmware. The 65SC02 is capable of at least the 14 MHz at which it's rated. At that rate should be able to do a lot of things for which specialized hardware was once required. Aside from any arguments for or against specialized hardware for parallel or simple serial I/O, the real challenge is whether I can do a given thing using only simple registers and/or tristate buffers for I/O, handling all the other associated functions with data manipulations in the processor. One reason this became such a popular challenge is because of the way in which the 6502-based Apple-][ avoided using so much costly hardware in the form of special-purpose LSI's for disk I/O, serial, and parallel ports, and the like. I remember telling someone to try a floppy disk interface with bit-banging. The 14 MHz 65SC02 should be able to do that.

As for microcontrollers with the instruction set you like, check out the older Mistubishi microcontrollers. They have a similar architecture and instruciton set to the 650x series.

Uli


Report this post
Top
  
Reply with quote  
 Post subject: [5.7] Microcontroller?
PostPosted: Fri Feb 04, 2000 6:50 pm 
Ah I definitely fall into the former category you mention, in that I like finding "neat" things and play around with them.

With the limited time I (and I assume most people) have,

I don't mind putting in a little work, but I would like to maximize the benefits I get. It really depends on what you consider is fun i guess.

My 6502 background comes from hacking with the Apple ][, so I definitely see where you are coming from. My fondest memories were writing small routines in the unused areas in DOS 3.3 and coding efficiently.

As for the built-in hardware vs fast firmware, I am not sure what you are getting out. Most people who design 6502 circuits still use specialized hardware to perform I/O tasks (6522, etc), so they dont just solve it in firmware or simple register/latches. I dont see a conceptual difference between using an all-in-one chip solution to i/o that happens to be a microcontroller and using two or three separate chips.

Yes, I've looked at the Mistubishi microcontrollers, and while they look nice, the pin counts are really high for the really cool chips (64, 80, 100+). I admit freely that I'm lazy and the less hand wiring I have to do the better. Once I get a real job I'll probably be able to afford PCBs, but in the meantime...

Robert


Report this post
Top
  
Reply with quote  
 Post subject: [5.8] Microcontroller?
PostPosted: Fri Feb 04, 2000 10:03 pm 
Well, I'm going to start at the tail end of your message.

I'd recommend you snag a copy of EAGLE v3.55. That's a freeware version of the EAGLE package which will route pcb's for which you've entered a schematic with the included schematic editor and relatively vast component libraries, provided you make the board fit in 80 x 100 mm or smaller. among other things, this would enable you to make board layouts which will enable you to use fairly old conventional techniques with the radically dense packages popular today. [check <www.cadsoft.de>}

COnsider that there are PCB houses in the eastern European countries that will make upt to 16-layer PCB's in single quantity up to what's really quite a large size for just over $25 each. They'll do it promptly and charge you for the shipping.

That will enable you to produce a host board for the high-density packages with a wire-wrap area around it for your connectors.

Before you get too wrapped around your 20-pin AVR, figure out its interrupt response time. Then go back and figure out how quickly you can execute the basic control loop:
(1) examine inputs
(2) take appropriate action

Assume you have a 10 MHz 6502. Let's assume, further, that you're controlling a terminal. There are lots of terminals, not just the CRT sitting on the desk. We have to receive a character, then dispatch to whatever routine is required to process it, taking appropriate action. The actual response is not important here, but the monitoring and dispatch process is purely overhead, so it does matter. On your 6502 you wire the comm port so its 7-bit ascii characters from the UART are left justified. (you can't do that on your single-chipper) so you load X with the data which is always a zero at the low end, since it's left justified, then jump indexed indirect (cmos processor instructions) to a dispatch table containing 128 absolute addresses of the correct response to that character in that context. Since it's a left-justified index, it is appropriate for addressing word-addresses. Let's see . . . the load takes three clock ticks and the jump indexed indirect takes 6, well maybe 7 if a page boundary is crossed somewhere. So, the process takes 1 microsecond. On the 1 MHz 6502 it took 10, but that was then. You won't find many processors that can match that performance of this very basic control sequence.

Give that some thought and see where it leads you.

The problems solvable with firmware as opposed to software grows exponentially with processing bandwidth. Back in the early days of the Apple-][, it was common for people to "bit-bang" serial interface tasks at rates upward of 9600 bps. In 1976-77 I became acquainted with Wayne Wall, who had taken a digital tape drive previously in a LEXITRON word processor and controlled its 48Kbps interface with a 1 MHz 6502 in his Digital Group computer USING ONLY A FEW PARALLEL PORT BITS.

No one has ever shown me a situation where the work done by a 6522 couldn't be done better or at least as well by using no 6522, and spending the saved cost on a faster processor. In general, the 6522 and its kin can't drive much. Hence, they have to be buffered if they have to talk via a cable. If they have to drive a darlington, it's already too much to expect of all but the "high-current" output which drive 2 mA instead of less than 1. While the complex interrupt handling logic in these devices is impressive, once you have to try to live with it, it's always the wrong polarity, or too late or too early. That means that they require external logic. That's just like the buffering. What Wayne Wall did was use the chips that would ordinarily have been needed to buffer the LSI with which he communicated with the drive and simply used them. Instead of a complicated I/O port, he used a simple one. An output port was a '373 or '374, acutally it was a pair of '74174's back then and an input port was a '244 or the 4-bit equivalent, since those 8-bit parts were scarce and costly back then.

In response to an earlier comment, I don't really like to build circuits at all. However, that's part of the task of checking a circuit out. I prefer to build everything in a programmable logic device of one sort or another, including microcontrollers, but that also requires some fabrication. That way, I never have to rewire the board. I just fiddle with the internals of the programmable devices.

Uli


Report this post
Top
  
Reply with quote  
 Post subject: [5.9] Microcontroller?
PostPosted: Mon Feb 07, 2000 10:00 pm 
Yes, wasn't the venerable old Apple II fun?? I still have a pair of Franklin Ace's (Apple II+ knock-offs) and an Apple IIc that I love to play with! I remember writing self-modifying code so that it would fit into the smallest nooks and crannies in pages 0 and 3 and thus remain resident while DOS loaded other programs into the main RAM above page 7....

Anyway, you might want to look into the offerings of SunPlus if you are interested in low-pin-count devices with built-in I/O circuitry and so forth. They have true high-speed 6502 type parts, but most of their offerings are "6502-like" in architectutre and nearly identical in software (though the hex opcodes have been moved around, so that you need a translator program if you compile using a commercial 6502 compiler). In most of their parts they have canned the Y-register and Decimal modes, as well as some extended adressing modes for some of the instructions, but this is a lot easier to get used to than I first thought it would be. They make up for it by adding dual on-board timers, D-to-A outputs, bank-switched memory up to 1 megabyte, and similar neat stuff. They are mostly interested in selling mask-programmed parts to major manufacturers in the consumer electronics world, but if I recall correctly you said you were a lab tech at a college, so they might be interested in getting their wares into the schools if they haven't already done so.

Also, regarding PCB layouts, a few years back PADS made a somewhat stripped-down version of PADS-LOGIC and PADS-PCB available as shareware. It was fully functional and allowed boards as large as 12" x 12" x 4 layers if I remember correctly. You could plot, print, or photoplot the results, and I think it even had full netlist and design-rules checking. It ran under DOS on the IBM-PC family. I probably still have copies around, if you are interested.

It is very easy to etch your own circuit boards for nearly no dough! I use the "GC Tech" line of presensitized copper-clad board and associated developer and etchant chemicals from GC Thorsen, which are available at many electronics hobby stores. If you want more info on this, let me know and I'll post the details. The whole set-up including all the GC Thorsen chemicals, a cheap 12" flourescent blacklight for exposing the board, Rubbermaid containers for developing and etching, and a starter kit of pre-sensitized board cost me less than $50 and it only takes 3 minutes to expose the boards and about 8-10 minutes to fully etch them -- and the quality is very high, we use this method at my work to deliver prototypes to our customers, and everybody loves it.

-- Brian Farley


Report this post
Top
  
Reply with quote  
 Post subject: [5.10] Microcontroller?
PostPosted: Tue Feb 08, 2000 3:15 am 
Offline
Site Admin
User avatar

Joined: Fri Aug 30, 2002 1:08 am
Posts: 281
Location: Northern California
Brian,

Have you had any luck obtaining Sunplus chips in small quantities?

_________________
- Mike Naberezny (mike@naberezny.com) http://6502.org


Report this post
Top
 Profile  
Reply with quote  
 Post subject: [5.11] Microcontroller?
PostPosted: Tue Feb 08, 2000 5:38 am 
Mike,

Are you looking for SPL191A by sunplus?

Simon


Report this post
Top
  
Reply with quote  
 Post subject: [5.12] Microcontroller?
PostPosted: Tue Feb 08, 2000 4:38 pm 
The ability to get small quantities of SunPlus parts depends on what a person does for a living... Since I am a professional developer of toys and consumer electronics, I get very good support from SunPlus and their US representatives -- this includes samples and development kits for just about anything I want. Other bona-fide developers would certainly get the same support, and I'd bet that educators would probably do well too.

For the hobbyist however, I'd bet that there is little or no support. Not that SunPlus wouldn't like to get even more people on the bandwagon, but their profit comes from mask-programming the parts and selling them in 100,000 to 1,000,000 unit quantities. They are just not set-up for small volume sales.

I've been mulling the idea of appraoching them about becoming a distributor of development systems for them, basically buying their chips and development boards, then putting together value-added kits with better development software, cheaper programming/ICE boards, and lots of libraries of usefull routines, and providing support for the hobbyist and home-robotics market.

If enough people are interested, this could make it worthwhile to Sunplus. If anyone is interested in this, or wants info about submitting inventions to the toy/CE industry, shoot me an E-mail (Brian@STMProducts.com. In the meantime, I'll contact the rep company to see if they provide support for low-quantity applications.

-- Brian Farley


Report this post
Top
  
Reply with quote  
 Post subject: [5.13] Microcontroller?
PostPosted: Tue Feb 08, 2000 6:42 pm 
>Yes, wasn't the venerable old Apple II fun?? I still have a

They certainly were :) Back in the old days when you knew everthing there was to know about your computer. Lately I've been having fun playing around with Apple ][ emulators and am writing my own right now.

>Anyway, you might want to look into the offerings of SunPlus if you are interested in low-pin-count devices with built-in I/O circuitry and so forth. They have true high-speed 6502 type parts, but most of their offerings are "6502-like" in

Ah thanks I checked their site and they look good. My only beef as someone else mentioned is their availability in small quantities.

>electronics world, but if I recall correctly you said you were a lab tech at a college, so they might be interested in

I'm actually a grad student, but have managed to convince a few companies to send me samples.

Thanks for your suggestions!

Robert


Report this post
Top
  
Reply with quote  
 Post subject: [5.14] Microcontroller?
PostPosted: Sun Feb 27, 2000 2:44 am 
Rather than making lots of compromises in code, register set, etc, there are a couple of free or low-cost IP possibilities which would allow you to put the procesor core and a couple of essential peripherals into a CPLD or FPGA. The VHDL/Verilog implementations are normally more suited to FPGA's than to CPLD's, but the cheapo 9500 series from Xiinx is tempting. There are estimates that these cores use abouut 3500 gates, but there's lots of discussion over what "gate" means in these field-programmable devices. YOu can build your own in-system programmer, and experiment with how fast you can make the core run in a given technology. Xilinx, Altera, Cypress, Atmel, Actel, and Lattice/Vantis all have free or <$100 packages you can use. I'd recommend you look at all the options and give it a shot. These are all reprogrammable parts and the Xilinx 5200 series FPGA's are downright reasonable and available through DigiKey, as are the 9500-series CPLD's.

By my last reckoning, the core should be implementable in somewhere under 2k gates if you stick to the original architecture which uses the same ALU for address computations as for data arithmetic/logic. This will make it slower in FPGA's but won't offend the CPLD's much.

Try it! Even if the part never gets built, you'll have some interesting experiences.

Uli


Report this post
Top
  
Reply with quote  
 Post subject: [5.15] Microcontroller?
PostPosted: Sun Feb 27, 2000 2:46 am 
PCB layout won't be much of a challenge if you roll-yer-own 6502 core in a cheap CPLD.

See my previous post regarding this thread.

Uli


Report this post
Top
  
Reply with quote  
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 18 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 41 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron