Author Topic: Zilog Z180 Single Board Computer project  (Read 24178 times)

0 Members and 2 Guests are viewing this topic.

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #50 on: March 01, 2016, 09:48:32 pm »
Serial: then perhaps one connector for real RS232 levels and one connector for ttl - instead of mixing the two levels in one connector?

(looking into the attachments later)
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #51 on: March 02, 2016, 01:41:16 am »
I like the idea of separate connectors for TTL and RS-232 ports. They would have to operate mutually exclusively, one or the other, never both. It is cool that each port can be TTL or RS-232 independently. Expect an updated schematic soon. By the way, to me at least, schematics are as much fun as comic books.

I want to say I really appreciate the input. It has been so helpful. You are definitely getting a PCB. Beside, you building it will be even more debug help. ;) All part of my evil plan.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #52 on: March 02, 2016, 08:53:53 am »
I got a crazy idea to add a 8259 type chip to expand the number of interrupts by eight. All of the Z180's interrupts are committed to the on-board hardware. Adding he Priority Interrupt Controller was fairly easy. There is a good application note in the Zilog Questions and Answers notes covering how to add an 8259 to a Z180. Check out pages 6 and 7 of the attachment. I attached a snap-shot version of the updated schematic. The GAL16V8 next to the 8259A is for the glue logic in the Zilog ap note.

Does any of the ICs you use the three (!) interrupt lines for, support vectored interrupts? That is when the IC also puts a value on the Data bus when it signals interrupt and the Z80 (at least  - not sure about the Z180 - it looks compatible) uses that to index a vector table (pointed to by the I reg) to jump to the ISR (Interrupt Mode 2). That way you can support 128 interrupt sources with one INT line. I would try to free up at least one IRQ line for that purpose if at all possible. That way you don't need any extra chips.

(Extension bus/sheet 3: EX_IRQx point to sheet 3 (we're on sheet 3)? I suppose these are the extra IRQ lines from the 8259? Where is it?)
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #53 on: March 02, 2016, 08:55:54 am »
I want to say I really appreciate the input. It has been so helpful. You are definitely getting a PCB. Beside, you building it will be even more debug help. ;) All part of my evil plan.

You're welcome. No need to give me anything, although I really appreciate the gesture. Besides I am busy with my own Z80 board.  ;D
Like you said: this is fun!
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #54 on: March 02, 2016, 06:21:28 pm »
The original circuit had the three Z180 IRQ's going to the on-board hardware, and they were vectored. I changed it and used /IRQ0 to channel the 8 IRQ lines from the 8259, formerly the IRQ for the VIA parallel chip. The VIA's IRQ now goes to the 8259. I really need to go over all of the IRQ stuff. I want to make sure it's even close to right. I think the 8259 Priority Interrupt Controller uses vectored interrupts. It has several modes. There's a good article written by Jack Ganssel that covers Z80 interrupts and the use of the 8259. I really need to read through it a lot more carefully. It can be found here: http://www.ganssle.com/articles/acodeisr.htm.

I'm uploading an updated schematic. A new set of bugs! I hope I cleaned up the sheet tags and I worked on the interrupt stuff, but I'm sure it need more work. Please feel free to go over it and let me know if you find any anomalies.

On a separate note... if you don't build the Z180 board, you can always use it as a coffee coaster.  :)
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #55 on: March 02, 2016, 11:41:18 pm »
I've attached a pdf version of Jack Ganssel's article in Interrupts. I find it's usually easier to read a formatted pdf than a web page that may go away some day. This will be my evening reading before i go back to the interrupt circuit on the Z180 SBC.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #56 on: March 03, 2016, 10:33:41 am »
INT0 on sheet 3 goes where? On sheet 1 I cannot find INT0...?

Sheet 5 has some missing lines for the clock circuit for the audio chips.

Also I now see that both chips are in parallel on everything. That does not make sense to me. If you want stereo sound you should be able to control both channels separately - otherwise just use one chip and tie the stereo inputs of the output amp together...

I scanned the document on interrupts and using the 8259 does introduce extra house keeping. You could argue that this complexity is unnecessary because the interrupts are only provided as a service to the expansion bus - they're not used for the board itself. Like I said before, expose on vectored interrupt on the bus, the rest is an extension...

Do you think this will all still fit on a regular sized board?

[2c]
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #57 on: March 03, 2016, 06:10:58 pm »
I'm working on the interrupt signals and I should have a new schematic soon. I'm also working on the sheet tags, they need a lot of help. I changed the clock source on the Sound Generators and that is now corrected in the schematic. The YMZ284 chips are paralleled except for the chip select lines. I need to resolve the additional chip selects in the Address Decoder GAL on page 1. The updated schematic will be a lot more complete when it is posted.

I was planning on waiting for the code development on the Priority Interrupt Controller until after most of the board was up and running. I may temporarily wire the VIA interrupt to /IRQ0 to bring the board up, then change it back to being connected to the 8259.

The current board size is 8.25 inches x 5 inches (224.8mm x 127mm). I doubt that's a standard size. I hadn't considered a standard footprint because it was more or less a one-of-kind design. Let me know if you are familiar with a stand size that this may fit. I am willing to change the board size to match something standard.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #58 on: March 04, 2016, 10:51:01 am »
I'd check probable board size against cheapest manufacturer sizes and adjust from there.

If I search for a 2 layer 8.25x5" pcb for quantity of 10 on pcbshopper - its about (US) $90,= Ouch.

I am planning small (10cmx10cm (about 4" square) I think) modules for my own design. Cost will be down and I can develop/upgrade separate modules. Modules are strung together with the two 40-pin ribbon cables.
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #59 on: March 04, 2016, 12:26:58 pm »
I'll check out the current PCB size against prototype boards I can find from China on eBay. My board cost is more ouch than you thought: 4-layer, 5 boards ~145.00US.

Update schematics are coming today.
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #60 on: March 05, 2016, 12:40:23 am »
I forgot to upload the USB interface board for the Flash memory stick. I should be getting 5 of these boards next week. This board works like a 28-pin carrier and goes in the MOD1 socket on the Z180 SBC.
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #61 on: March 06, 2016, 02:14:02 am »
It would seem the largest 'standard size' prototype PCB is 100mm x 80mm. The Z180 SBC is considerably larger than that. On the other hand, it's smaller than some VME boards. Unless there's a good reason to have a specific size, it looks like it will be a standard of it's own.  :)

I spent a lot of time working on the sheet tags in the schematic. It's not easy to do that by hand. I really wish Eagle had a ULP for this. I also brought out the audio signals going to the speaker amplifiers to the Expansion Bus. There were a number of 'spares' and it is only two signals. Who knows. it may come in handy.

I've attached the latest schematic. It looks like it's getting close to ordering boards. I wonder if it would be worth adding a prototype area with .1" x .1" plated through holes. It would be a nice feature, but it would increase board size and cost. Let me know what you think.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #62 on: March 06, 2016, 07:25:31 am »
(prototype) Eurocards are 100mm x 150mm ...
With standard size I meant a size (like 100mm x 100mm) that the pcb houses uses as standard and will allow you to manufacture cheaply.

I would not add anything at all to the pcb.


I just noticed the !BUS_OWNR signal. What is it for?

Other than that it looks fine. I am curious to see the board layout. Have you started on that already?
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1345
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #63 on: March 06, 2016, 01:43:09 pm »

MSM58321http://pdf.datasheetcatalog.com/datasheet/oki/MSM58321.pdf

This chip will cause a buss conflict with the logic you have now.
A problem does not go away by not reading all of the data sheet.


 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #64 on: March 06, 2016, 02:20:28 pm »
Here's the PCB layout for the Z180 SBC. It still needs some tweaking with renumbering and such. I have routed the +5V on the 2nd layer and the 3rd layer is a ground plane. I will also use the 2nd layer for signals, if needed, but I plan to keep that to a minimum.v The current size is 225mm x 127mm.

Thanks for the pointing out a problem with the Real-Time clock. Can you elaborate on what you found? That would be very helpful.

The /BUS_OWNR signal establishes who is in control of the buses, the local processor or something on the expansion bus. I got this from earlier conversations regarding the expansion bus. It is currently not defined as to exactly how the signal is generated or works. I have yet to get into the details of the programmable logic chips. I thought it may be handy since the GAL16V8 looks at all the signals that should be needed to make it happen. Let me know if you think I'm on the right track with this signal and if it would be useful.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #65 on: March 07, 2016, 06:44:08 am »
That is one big dense board! Nicely done!

When the CPU signals BUSACK it clearly does not have control...  :-//
I don't think you need BUS_OWNR...
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #66 on: March 08, 2016, 07:37:02 pm »
I plan to leave the /BUS_OWNR signal on the board, for now. It could always go away at a future date. Who knows, it might actually be useful.

I created an alternate schematic that includes an arithmetic processor for floating point math. This chip, AM9511/8231 would be entirely optional. Software could check if the part is installed and only use floating point functions if it is. I felt there was just a little too much empty space that begged to be filled. I have to attach the datasheet for the APU separately.
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #67 on: March 08, 2016, 07:56:55 pm »
Here's the AMD version of the arithmetic processor. Intel (and others) made the same part, 8231.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #68 on: March 09, 2016, 08:49:42 am »
12v  :o I don't think I have ever seen that on a digital chip...

I am currently routing my own board and I am curious how you have done your routing in such a dense board. Care to share?

Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #69 on: March 09, 2016, 12:27:17 pm »
On a board like this I always use ate least 4 layers. I make one internal layer a single ground plane. I normally also make a power plane on the other internal layer, but on this one I used this layer to route +5V and any other power signals. This way I could use this power layer for some signal routing, if needed. It's important to use an internal layer for any solid plane. It helps keep the board from warping, and a board this size can warp pretty easily.

I set my clearances to 6mils and distances to 8mils. I use .01" traces for signals and .024" for power (wider is less inductance). I use .015" drills for all signals. I usually use .023" drills for power. Not all board houses can make boards with these geometries, but most can.

Next I route the +5V layer. I have to make sure it is completely routed before using the autorouter. I only use the autorouter to verify my layout is routable. I save the the board right before I start the autorouter and then reload the board without saving to take me back to were I was before using the autorouter. As wonderful as the autorouter is, it does not route with any insight at all. It's a lot like using GPS, it will get you there, but takes the most unorthodox path to do it. It has a tendency to go around it's elbow to get to it's nose. :) If the board routes 100% you could just generate Gerber file and order a board. It would also look butt ugly. Cleaning up after the autorouter is more work than hand routing.

I usually use the top layer for vertical traces and the bottom layer for horizontal traces. At first this will create a lot of vias, even for a board with a lot of through-hole parts. The vias will become fewer as you have to rip-up and re-route.

I've found on most boards signals, and their traces, are clumped around groups of parts. This leaves traces that connect the groups. I route the local groups first and then connect groups. This seems to minimize the amount of rip-up. If the longer interconnecting traces become 'squiggly', consider ripping it up and starting from the other end.

Routing PC boards is an art. It takes practice to get good at it. I have ripped up a completed board and started over just to get the experience. I often found the second, or even third, go at it produces a cleaner and neater route. I usually only do this on my own stuff at home, my boss isn't so understanding about taking two or three times longer to get it done just to make it look better.

I use Eagle and have done so for nearly twenty years. I've used Pads and Mentor professionally, but Eagle is the only affordable package to use at home. Even then it's worth spending the money and get the better version. I use pro and I probably have over $1,000 invested in it. It's worth every penny! For me, drawing schematics and laying out PCBs is the most fun I can have with my clothes on.

Let me know if you have questions or need any help. I'm glad to be of assistance.
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #70 on: March 19, 2016, 01:48:13 am »
I finally got the Z180 board routed. I've attached the board order files, including the Eagle CAD files. I'm pretty sure it's ready to order. If anyone sees any need for changes, please let me know,
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #71 on: March 19, 2016, 06:29:00 am »
Wow that looks really impressive.  :-+

I could not spot any problems - but then I am not a pro  :P
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #72 on: March 29, 2016, 09:07:21 pm »
The boards arrived today, It only took 8 days from order to received, very impressive. The total cost was $176 USD, very reasonable. I've attache photos of the front and back of the boards. They look perfect. I can't wait to get one built.
 

Offline ron.owens

  • Regular Contributor
  • *
  • Posts: 57
  • Country: us
Re: Zilog Z180 Single Board Computer project
« Reply #73 on: March 29, 2016, 09:10:40 pm »
I see I missed the back side of the PCB.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Zilog Z180 Single Board Computer project
« Reply #74 on: March 30, 2016, 07:26:22 am »
That looks really nice!  :-+ I am curious how the build will go.

Any ideas yet on the software?
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf