6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Oct 05, 2024 10:45 pm

All times are UTC




Post new topic Reply to topic  [ 148 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 10  Next
Author Message
PostPosted: Sun Oct 20, 2013 4:25 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8411
Location: Midwestern USA
Justin wrote:
My SBC was built with mostly junk box parts. I use a Rockwell 6551 that had several broken pins. Was going to replace it with a new 65C51 but maybe not now. There's enough of a nub left to conduct :)

I used to salvage memory SIPPs (not SIMMs) with broken pins back when they were used in MC68000-powered minicomputers. At the time, a single SIPP was many hundreds of dollars (and didn't have all that much memory on it), and due to the way they were designed, it was very easy to break off a pin. If there was a nub still projecting from where a pin broke off I could manage to solder a short piece of hard-drawn brass rod (about 0.030" diameter) to the nub and then carefully cut to length. Of course, back then (25+ years ago) I could still see straight. :lol: I doubt that I could do it now. :cry:

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Oct 20, 2013 5:18 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8521
Location: Southern California
BigDumbDinosaur wrote:
I used to salvage memory SIPPs (not SIMMs) with broken pins back when they were used in MC68000-powered minicomputers. At the time, a single SIPP was many hundreds of dollars (and didn't have all that much memory on it), and due to the way they were designed, it was very easy to break off a pin.

Like this?

Attachment:
20LeadZigZag.jpg
20LeadZigZag.jpg [ 174.59 KiB | Viewed 4370 times ]

_________________
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?


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 1:28 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8411
Location: Midwestern USA
GARTHWILSON wrote:
BigDumbDinosaur wrote:
I used to salvage memory SIPPs (not SIMMs) with broken pins back when they were used in MC68000-powered minicomputers. At the time, a single SIPP was many hundreds of dollars (and didn't have all that much memory on it), and due to the way they were designed, it was very easy to break off a pin.

Like this?

Attachment:
20LeadZigZag.jpg

No. SIPP = Single Inline Pin Package. The device engages a single row of holes in the receptacle. Wikipedia has an illustration.

SIPPs were relatively short-lived due to their fragility and cost to produce. Also, there was some evidence that the package had more parasitic capacitance than an equivalent SIMM or DIMM.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 1:43 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8521
Location: Southern California
Ah yes, you can make your own with http://www.interplex.com/nas/index/prod ... ip_headers. Here are some examples of their products:

Image Image Image

They have a lot more types, but unfortunately their website is very difficult to find things in.

_________________
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?


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 3:06 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1383
BigDumbDinosaur wrote:
Alternative number three would be to not beat a lame horse and instead use a UART that works right. The 6551 has had problems since inception and it seems that even WDC can't get the pesky critter to behave.

Interfacing a Motorola 6850 to the 65xx bus is fairly trivial, but unless you wait-state it, your maximum possible Ø2 speed will be significantly constrained, no more than a couple of MHz with the 68B50. Interfacing a 2692/26C92 is a little more involved but not too much so, and you gain a significantly higher performance part in the process, as well as dual channels. The 26C92 also gives you access to "battle-tested", IRQ-driven code for both RxD and TxD that takes advantages of the device's FIFOs.

Regardless of whether you choose the 6850 or the 2692, you avoid the hassle of working around 6551 chip errata and gain a more flexible and powerful UART in the process.


Yes, I've sorta gotten the feeling that you don't like the 6551/65C51 chip.. and that you're fairly set on the 26C92 being the preferred UART going forward, albeit I wouldn't call it a third alternative, as it's a complete HW/SW replacement.

I've been working on a small 65C02 project and hoped to use a reasonable set of WDC 65XX series chips for core functions, the 65C51 being the console. Unfortunately this hasn't worked out so well as the older chips I have can't handle the higher clock speeds I want and most unfortunately the latest new manufacture chips from WDC have some pretty significant errors which prevent them from being used with standard coding due to the nature of the hardware problem. So be it.... I did take your advice (sorta) and ordered some 2691 chips (single channel version) from Newark, but during shipment, the UPS tracking log shows: package damaged, contents missing, remainder of damage packaging discarded, shipper contacted. So it would seem somebody doesn't approve of me having these chips.

In any case, I will get some replacements and build up a board to try them out. However, I would like some clarification on what "battle-tested" IRQ-driven code for the 26C92 is? Exactly what are the specifications for this and exactly how was the certification carried out?

All joking aside, I still think my testing and results with the new chips is beneficial; I got to use some of my old trouble-shooting skills from decades ago, and both WDC and a good percentage of the 6502 community now know some facts and errata with the new chips and why they won't work with standard software coding. Hopefully others won't stumble down this path as a result. As for the rest of customers who have purchased the new chips, it's not clear if they are using them now or for future stock for maintaining older equipment.

And yes, I can appreciate the work you've done and the success you've had with your POC SBC.... nicely done. So, I'm going to switch UARTs... but I won't be tempted to look at your code as I prefer to write device level stuff myself, hopefully I'm successful.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 3:29 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8411
Location: Midwestern USA
GARTHWILSON wrote:
Ah yes, you can make your own with http://www.interplex.com/nas/index/prod ... ip_headers. Here are some examples of their products:

Image Image Image

It's not SIPP. There is only one row of pins on a SIPP, which is why they were so easily damaged.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 4:20 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8521
Location: Southern California
Quote:
It's not SIPP. There is only one row of pins on a SIPP, which is why they were so easily damaged

Take a look in the online catalog. They have lots of different configurations. Are the damaged ones on the modules replaceable (with skill)? If so, Interplex NAS may very well have a suitable replacement.

floobydust: Will you have SPI on your SBC? If SPI is already in the plans anyway, you might like the MAX3100 UART which:
  • has 8-byte buffers,
  • derives all the standard bit rates from 300bps up to 115K from a single, standard 1.8432MHz crystal, or 600-230K from 3.6864MHz, with onboard oscillator,
  • is compatible with IrDA and with 9-bit multidrop networks
  • can be powered with anywhere from 2.7V to 5.5V,
  • outputs can sink up to 25mA for optocouplers,
  • has Schmitt-trigger inputs for optocouplers,
  • saves a lot of board space, being in a 14-pin DIP or 16-pin QSOP, and
  • is in current production.
The data sheet is at http://datasheets.maximintegrated.com/en/ds/MAX3100.pdf . I've mentioned it many times before, always saying it was in a 16-pin DIP and I just saw on the data sheet that it's in a 14-pin DIP, and I checked my board that has one, and sure enough, 14, so I went back and fixed all my posts that mention it.

I don't know why anyone would want to use the 6850 which lacks an onboard baudrate generator.

_________________
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?


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 5:23 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8411
Location: Midwestern USA
floobydust wrote:
BigDumbDinosaur wrote:
Alternative number three would be to not beat a lame horse and instead use a UART that works right...

Yes, I've sorta gotten the feeling that you don't like the 6551/65C51 chip.. and that you're fairly set on the 26C92 being the preferred UART going forward, albeit I wouldn't call it a third alternative, as it's a complete HW/SW replacement.

It's not a matter of liking or not liking. It's a matter of having a functioning part. While I have focused on the 26C92, there are other UARTs that perform as well and aren't too difficult to interface to the 65xx bus. Garth suggested a Maxim part that works very well, although it requires SPI on your board to talk to it.

One of my basic design goals from the onset was having two TIA-232 channels, one for the console and the other for a communications path to my UNIX server. During my "research period" before I started to formalize POC V1.0's design, I looked at the 2692, 16550D and 16650. The latter two are familiar to anyone who knows x86 hardware. Both have a 16-bit receive FIFO, which was a feature added to the older 16450 when it became apparent that x86 interrupt performance at the time couldn't stay with the higher transmission speeds (reliable 115.2Kbps CBAT with the 8250 and 16450 was essentially impossible with interrupt-driven code on an 8086 or 80286). The 2692, which was derived from an older UART that was 68K bus-compatible, has a smaller receive FIFO, but a more efficient programming model than the 16550D.

Aside from programming considerations, I was looking at the shortest path to a functioning system and the 2692 was easier to interface to the 65C816 than the 16550. I would have had to use two 16550s to achieve what could be achieved with a single 2692. Also, I had prior experience with the 2698 OCTART, which is four 2692s in a single package, so I was already familiar with how to talk to the 2692. That's how I arrived at my decision to use it. The switch to the 26C92 came later when I decided I wanted to reduce the IRQ load during console writes. Among other things, the 26C92 has an 8 byte transmit FIFO, which makes for more efficient utilization of each UART-generated interrupt

Quote:
I've been working on a small 65C02 project and hoped to use a reasonable set of WDC 65XX series chips for core functions, the 65C51 being the console. Unfortunately this hasn't worked out so well as the older chips I have can't handle the higher clock speeds I want and most unfortunately the latest new manufacture chips from WDC have some pretty significant errors which prevent them from being used with standard coding due to the nature of the hardware problem. So be it.... I did take your advice (sorta) and ordered some 2691 chips (single channel version) from Newark, but during shipment, the UPS tracking log shows: package damaged, contents missing, remainder of damage packaging discarded, shipper contacted. So it would seem somebody doesn't approve of me having these chips.

The driver that I developed for the 2692 will work with the 2691. You should consider that the PLCC version of the 2691 takes up almost as much board space as the 2692 and is only slightly cheaper. As both channels in the 2692 are identical in all respects to the single channel of the 2691, the driver is only slightly more complicated than for the 2691—mostly just code repetition and a little more analysis of the interrupt status register.

Quote:
However, I would like some clarification on what "battle-tested" IRQ-driven code for the 26C92 is? Exactly what are the specifications for this and exactly how was the certification carried out?

I was using "battle tested" tongue-in-cheek. :lol: However, the driver has seen a lot of use on the POC units and due to that, I've been able to substantially tightened the code to maximize throughput, as well as reduce its footprint (that 8KB ROM that houses POC's firmware has a lot jammed into it). Last year, I had replaced the 2692 with the 26C92, due to the latter's quicker response to chip selects, enlarged receive FIFOs and 8-byte transmit FIFOs—the latter feature is not present in the 2691 and 2692.

I recently reworked the IRQ part of the driver to take advantage of the 26C92's improvements, and now can process up to 16 bytes coming and going on both channels in a single interrupt. Needless to say, the performance implications are considerable. For example, if 128 bytes arrive in rapid succession on one channel, only 16 interrupts are needed to get and store all of them in the receive buffer. With the 2692, the same data flow would require 32 interrupts. So there's a potential receive performance improvement of 2 to 1 to be had by using the 26C92 instead of the 2691 or 2692. I won't even mention using a 65C51, which has a one byte receive buffer and would generate a flood of 128 IRQs in the same data flow scenario.

The improvement on transmission is even more dramatic. If 128 bytes (the transmit buffer's capacity) are waiting to be sent through each channel, I can now potentially send all 256 bytes in just 16 interrupts ("potentially" means if both channels are running at the same effective speed). With the 2692, the same data flow would require 128 interrupts, as that device lack a transmit FIFO.

Quote:
And yes, I can appreciate the work you've done and the success you've had with your POC SBC.... nicely done.

Thanks. However, if you really want to see an accomplishment, you should check out André Fachat's GECKO system, which he designed many years ago with 74LS logic and a whole lot of imagination. He even engineered SCSI into it via bit-banging, an unimaginably huge amount of programming effort due to the complexity of the SCSI bus protocol. I cheated by using a 53C94 ASIC to run my SCSI interface, so I avoided the pain and agony of sequencing the bus "by hand." All I had to do (!) was tell the 'C94 what to do and handle the different bus phases as they occurred (via some tricky IRQ programming).

Quote:
So, I'm going to switch UARTs... but I won't be tempted to look at your code as I prefer to write device level stuff myself, hopefully I'm successful.

Well, I hope you're successful, as writing any device driver is no simple matter. Please don't feel inadequate if you get stymied and decide to ask for help. We're all here to help out each other with what we know. I've already done all the dirty work with getting the 2692 to play nice with the 65C816. Plus I've done the reading between the data sheet lines to find out the stuff that always seems to be hard to find. You should take advantage of that effort, just as I've borrowed ideas and asked for help from others around here.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 7:29 pm 
Offline

Joined: Sun Sep 15, 2002 10:42 pm
Posts: 214
Another UART you may want to consider is the Zilog Z8530.

It was used on the Apple //gs, so I suspect it would be fairly easy to interface with a 6502/65816 system. It also supports HDLC/SDLC CRC generation in hardware iirc which makes it easy to implement serial LAN protocols such as AppleTalk.

Toshi


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 8:16 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8411
Location: Midwestern USA
TMorita wrote:
Another UART you may want to consider is the Zilog Z8530.

The Z8530 was only widely used in Apple hardware and some Apple-compatible peripherals. At this time, this device appears to be obsolete—I don't see it listed by Digi-Key, Mouser and some others. There is a Z85230 (Zilog part number Z8523008VSG) that is available in PLCC, at about 12.00 USD per piece from Digi-Key. That's a bit pricey for something to be used as an ordinary UART.

The Z85230 is characterized as a "universal bus" device, which makes it the best bet for attachment to a 65xx bus—other versions are meant for use with a Z8000 or x86 MPU. The "universal" monicker is a bit misleading, as interfacing the Z85230 to a 65xx won't be trivial—it appears to be more difficult than interfacing an NXP 269x or a 16550/16650. Also, a fair amount of hoop-jumping will be required to program the Z85230 to support ordinary TIA-232.

Incidentally, the HDLC/SDLC CRC feature would be nice if it weren't for the hardware and programming complexity of the device. As use of HDLC and SDLC has all but vanished, I'd have to question the application of the Z85230 to a homebrew design. If one is going for that sort of communication, better to implement Ethernet, which is applicable to many more situations.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 21, 2013 8:42 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8521
Location: Southern California
I used a couple of Z8536's in the automated test equipment around 1990, and one thing I remember about them was that they ran so hot that even with a heat sink on them, you could hardly touch them. Was that true of the Z8530 also?

_________________
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?


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 22, 2013 12:37 am 
Offline
User avatar

Joined: Mon Apr 23, 2012 12:28 am
Posts: 760
Location: Huntsville, AL
I used both of these parts, and did several designs with them. However, I used the CMOS versions from AMD instead of the NMOS parts from Zilog.

The AMD CMOS versions were somewhat power hungry, but not so much so that they would run "hot" to the touch. I've done some work on some old instrumentation radars built in the mid-80s using wire-wrap boards and backplanes, and both of these parts were used along with the AMD Z8002 microprocessor. In that application they do not run particularly hot, and they are very reliable. A significant number of the original 27 radars are still in service, still in the original WW, and using the original components.

_________________
Michael A.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 22, 2013 11:13 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1383
Garth - for this initial SBC, no SPI on-board, but I have put in for the 65SPI order with Daryl, so there's future hope. I have looked at the Max3100 as a result of some of your previous posts... nice chip. My initial SBC will be very small with basic I/O:

W65C02 running at 10MHz or higher
32KB EEPROM - 70ns
32KB SRAM - 55ns
Glue chip - TBD - looking at a few options vs a few 74HC chips
2691 UART direct attached to an on-board FTDI-USB bridge for console
W65C22 with a 24-pin connector for ports/handshake lines
30-pin I/O expansion connector
Small size - 3.8" x 2.5"

BDD - Thanks for the feedback. Good info on the earlier PC-based UARTs... I lived thru them all during the 80's.... I've also ordered some PLCC versions of the 2691 and a few DIP versions for initial prototyping. Turns out so are some others. Newark had over 600 in stock (PLCC)... my initiaI order got lost, then someone else ordered 300, who knew? But as noted, the 2691 seems easy enough to interface to the 65xx. I'll know more in another week or so. Once I get a small expansion board built up, I can start poking the chip and see what I get. If I get stuck, you'll likely get a PM (thanks). I also found Andre's Gecko some time ago... yes, quite an effort, spent a couple hours on his site, great stuff and extensive.

Toshi - Thanks for the extra UART to look at, but having gone thru the datasheet on the 2691, I've decided to give this a try and am pretty confident it will work out. I'm also looking to run the board at 10MHz or better and the Zilog chips get pretty expensive at higher clock rates.

On another note, Digi-Key has stock of the Atmel 28C256 EEPROM in PLCC 70ns, I've ordered some.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 22, 2013 2:48 pm 
Offline

Joined: Mon Mar 25, 2013 9:26 pm
Posts: 183
Location: Germany
Where did you found an EEPROM with 70ns? I only found 27C256 EPROMs that need higher voltage for programming and also UV light for erasing.
Are the Atmel 28C256 EEPROM are also available as DIP with 70ns?

Mario.

_________________
How should I know what I think, until I hear what I've said.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 22, 2013 2:53 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
mkl0815 wrote:
Where did you found an EEPROM with 70ns?


Digikey has Atmel AT28HC256E 70ns, although the DIP version is not in stock. They have several surface mount options, though.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 148 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 10  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 48 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: