RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » Multicomp PCBs
Multicomp PCBs [message #103] Tue, 01 December 2015 07:12 Go to next message
lenzjo is currently offline  lenzjo
Messages: 5
Registered: November 2015
Junior Member
Hi,

I've just got a Cyclone II board and would like to build a 6809 system with it. I noticed mention of some pcbs for it in the wiki. Are these pcb's still available?
Re: Multicomp PCBs [message #105 is a reply to message #103] Thu, 03 December 2015 16:45 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
Hi Lenzjo,

the Cyclone II PCB "motherboard" was available from http://www.smarthome.jigsy.com/fpga but the designers (Dr Acula and James Moxham) have now moved on to a PCB designed for a different, Cyclone IV-based daughtercard. You can try contacting them to see whether they still have any of their older design available.

If not, it's fairly straightforward to construct this system using a prototyping board. I used point-to-point wiring with (soldered) wire-wrap wire. It's about 45 wires. Use Grant's diagram as a guide:

http://searle.hostei.com/grant/Multicomp/index.html

The end result is not beautiful but it's All My Own Work:

https://github.com/nealcrook/multicomp6809/blob/master/photo s/re_20150429_multicomp.jpg

For the RTL itself, since you want a 6809 system, I suggest you use my updated set of files which you can find here:

https://github.com/nealcrook/multicomp6809/tree/master/multi comp

With this hardware setup, you can run the following software:

Brad Rodriguez's Camel Forth (I use this as the ROM "boot monitor" and everything else is loaded and started from images on SD card)
Microsoft 8K BASIC
Lennart Benschop's 6809 debug monitor, BUGGY
Dave Dunfield's CUBIX
FLEX 09
Nitros9 (level 1, currently)

images for all of this and source code for (nearly) all of this is available here:

https://github.com/nealcrook/multicomp6809

and documentation here:

https://github.com/nealcrook/multicomp6809/wiki

The Nitros9 sources are not on-line but the executable disk image is online and the sources (as a patch from the open-source repository) is available from me on request.

If you have any problems getting up and running or in following any of the documentation on my wiki, let me know; I'm always keen to facilitate bringing another 6809 system into existence.

Neal
Re: Multicomp PCBs [message #107 is a reply to message #105] Sat, 05 December 2015 02:48 Go to previous messageGo to next message
lenzjo is currently offline  lenzjo
Messages: 5
Registered: November 2015
Junior Member
Hi Neal,

THX for the info. I had seen Grant's site, that's what prompted me to go further with the project. I am building a real 6809 system and thought that the FPGA might be a quick way of test-driving Flex and OS9 before commiting on the real system. Went to the Smarthome site no contact info but will dig and find one. Don't really want to do point-to-point with the memory..
Re: Multicomp PCBs [message #108 is a reply to message #107] Sun, 06 December 2015 15:29 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
I haven't got any cyclone II boards left (sorry) but I am putting together some kits for cyclone IV boards. Should be available soon. We found we needed a larger FPGA when doing things like multiple serial ports and a memory management unit.
If you built a 6809 on the cyclone IV you would need to change all the pin assignments as the cyclone IV has more pins/different numbering.
Re: Multicomp PCBs [message #109 is a reply to message #108] Sun, 06 December 2015 15:40 Go to previous messageGo to next message
lenzjo is currently offline  lenzjo
Messages: 5
Registered: November 2015
Junior Member
thx dr acula for answering this thread Smile I might be interested in the cyclone IV pcb/kit though I won't be able to get hold of a cyclone IV till the new year. I've only found 'em in China, none so far here in the UK. If you're not making any more cyclone II pcbs would you be willing to release the gerbers so that I could get one made?
Re: Multicomp PCBs [message #110 is a reply to message #109] Sun, 06 December 2015 15:55 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
I'll see if I still have the gerbers - had a computer crash a few months back and lost a pile of data. I might have one soldered up somewhere though - will rummage around in the shed and see what I can find.
Grant's design will fit on the free (10x10cm) size of Eagle - I don't know if you feel keen trying to design a board using Eagle?



Re: Multicomp PCBs [message #111 is a reply to message #110] Sun, 06 December 2015 16:08 Go to previous messageGo to next message
lenzjo is currently offline  lenzjo
Messages: 5
Registered: November 2015
Junior Member
I use Kicad, so size is not a problem.. It's more the time that I'm lacking right now otherwise I wouldn't be bothering you with this.
Re: Multicomp PCBs [message #112 is a reply to message #111] Wed, 09 December 2015 02:02 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
My original boards added a touchscreen, which I always had hopes of getting working but the code didn't quite fit on a cyclone II so all of that part of the board is not needed. Hence the move to the cyclone IV. Just now I costed out the real cost of a cyclone IV kit. With all the parts, including three serial ports, dual ram, wifi access and cyclone IV fpga, it comes to $120AU, maybe $100US. I'm putting together some kits right now and should have them available soon. One big plus for me is Max's software where he puts partitions on an SD card so one card can do CP/M2, CP/M3 and MP/M plus software to easily copy between FAT and CP/M partitions.
Having said all that, the cyclone IV project has different pin layouts due to the FPGA board, so the 68xx part of Grant's original project has been left behind. Given this discussion, I thought it well worthwhile to go back to Grant's original design and do another PCB. The cyclone II fpga is cheaper, there are less parts on the board and an complete kit would be cheaper too.
I've got a PCB designed just tonight. It is 10x10cm, and is pretty much exactly the same as Grant's webpage http://searle.hostei.com/grant/Multicomp/index.html except for i) the serial ports also include max3232 chips for proper RS232, and ii) one pulldown on the NC pin 1 of the ram chip which means the socket can take a 128K or a 512K ram chip.
The thing is I am 99% sure that this pcb is correct but not 100%. It is based on version 9 of boards I already made and those 9 versions ironed out a lot of bugs, including things like flipping the fpga board upside down and adding two pins for power. It uploads fine to Seeed PCB and the processed gerber looks correct. The quote is $21.90 for 10 boards (minus shipping).
So the next step. I'm happy to send this pcb package to anyone and you can get your own boards made, but no guarantee it is perfect. If you want to do this, log into Seed and upload the attached zip file.
Or I can get boards made and we wait a few weeks and I can post them out, which of course will be cheaper but will take longer.
There probably is a market for Grant's original design as it is, because it is cheaper than the cyclone IV option. Though you need an obsolete version of Quartus to program it and the fpga is pretty much full, so clever things like MP/M and more serial ports run out of room.
In an ideal world, I think there is a place for both the cyclone II and IV, and as prices come down, maybe someone might port over the 68xx part of Grant's project into the cyclone IV (not me though, I'm more a Z80 sort of bod!).
Cheers, James Moxham
  • Attachment: Image1.jpg
    (Size: 260.45KB, Downloaded 669 times)
  • Attachment: Image2.jpg
    (Size: 319.58KB, Downloaded 655 times)
  • Attachment: Cyclone2v110.pdf
    (Size: 42.83KB, Downloaded 834 times)
  • Attachment: Cyclone2v110.zip
    (Size: 135.43KB, Downloaded 464 times)

[Updated on: Wed, 09 December 2015 02:14]

Report message to a moderator

Re: Multicomp PCBs [message #113 is a reply to message #112] Wed, 09 December 2015 04:38 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
Hi James,

nice work in recreating a smaller version of your original. Are you working to a fixed board size? I'd (respectfully and politely) lobby for the following changes:

1/ add a second RAM device like your original board (it looks like this might fit if you rotated the MAX devices and switched to a mini SD socket). Routing should be straightforward because you can arbitrarily scramble address and data lines to the RAMs
2/ add the option to power the keyboard from 5V rather than 3V3 (power jumper plus 2 optional diode clamps as suggested by Ian May)
3/ 2-pin jumper connecting pin <cannot remmmber offhand> to Gnd. In my 6809 codebase, as deployed by Kip Koon, I used that to swap the address decode of UART1 with the virtual uart (VGA/PS2). This allows the system to selectively boot to either device with no sw change
4/ 4-pin header to support connection of RTC chip + button cell (ebay module)

If you're open to any of these suggestions I'd be happy to provide more details and/or review schematics/layouts. I'd be interested in one or two of such boards and would be willing to fund a purchase of 10 (in the UK).

I see that you have 5V on this board, for the MAX devices. Is there a connection on the FPGA daughtercard header to route power up (I don't recall seeing one) or do you need to use separate power connection to the FPGA daughtercard?

My current 6809 codebase, compared with Grant's original, includes a GPIO module, interrupt controller, memory mapper, timer and hardware single-step support and more synchronous timing. The FPGA has not yet declared itself "full" but it is pretty close.

thanks,

Neal.

Re: Multicomp PCBs [message #114 is a reply to message #113] Wed, 09 December 2015 04:55 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Hi Neal,

Thanks for the suggestions.
0) The board size is 10x10cm because Seeed charge in 5x5cm increments and going to 10x15cm is quite a bit more so I guess that is the thinking. Plus for some very strange reason, my local post office charges more that double the price of postage to the USA for a 10x15cm board cf a 10x10cm one. It goes over a weight threshold. On the cyclone IV we put things in the middle of the fpga chip and there is spare room too on this cyclone II so we can fit things in the middle there too. So there is spare space for (fairly low-rise) things.
1) Second ram kind of led us (me and Max) down the path of how do we use the second ram, and that led to a MMU using both MP/M and a ram drive at the same time and that led to more vhdl which pushed us to the cyclone IV. There probably is a cunning way to put in a MMU in the cyclone II but might mean only one serial port. There is another idea - Grant's board only used 64k of a 128k chip, but with three jumpers to three spare fpga pins it would be possible to use the same 32 pin ram socket to use a 128k chip or a 512k chip, and so go from 64k to 512k with just one chip. Is this enough to do clever things with a 6809?
2) Happy to take suggestions about the keyboard power. Ian did lots of research on this. Grant's design powers from 3V3 but can easily change to 5V. Or put in two jumpers for either/or.
3) Can you post a schematic for that - should be ok to do.
4) Sounds a good idea, have you got a schematic?

In general, Grant's design has lots of spare pins and so extras should be possible if they can fit in 10x10cm. I'd very much prefer that everything stay backwards compatible with Grant's original design, but then add in things that add extra value but which can be left off a board if not needed.

5) Power is 5V, this goes to the fpga which has a local 3V3 regulator. I don't think anything on the board is powered by 5V except the fpga. Oh and one pin on the VGA which tells the display it is enabled (and which Grant leaves not connected, not sure about that...) Max3232s are powered by 3V (max232s are 5V).

6) Your 6809 sounds brilliant and is exactly the sort of addon that this design needs. In an ideal world, I'd like a board that is Grant's original design, adds in your extras and is all backwards compatible.

Great fun brainstorming this - I look forward to adding in your suggestions Smile

Cheers, James

[Updated on: Wed, 09 December 2015 05:10]

Report message to a moderator

Re: Multicomp PCBs [message #115 is a reply to message #114] Wed, 09 December 2015 12:40 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
Hi James,
thanks for your explanations. I agree that your rationale for keeping the board size down is sound, and I agree that a board that works with Grant's original design is highly desirable.

Here is a (sorry, hand-drawn) schematic showing RTC dimensions/hookup, kbd connections and the uart address jumper. Also (if there's room.. Wink a connector for 8 GPIO which are software accessible in my design. I showed the dimensions of the RTC module. It would be OK to fit this on the bottom of the board (mirror the connector). Search in ebay.co,uk "arduino rtc ds1302" for a picture.

My code-base does include a memory mapper that has 2 contexts and can map up to 1MByte of SRAM in 8K chunks. It also has the ability to disable the ROM, making the whole address space appear as RAM (apart from the 16-byte memory mapped I/O space (yes, yes, memory-mapped. No sniggering from you z80 types!! WinkWink. The memory mapper has been designed to be functionally compatible with that on the Tandy Coco, with the hope that it will allow a level-2 port of NITROS9 (I already have a level-1 port running). As I mentioned, it does all fit along with the VGA color display, 2xUART, GPIO etc. (I guess a 6809 is somewhat smaller than a z80).

That is why I would lobby for (i) connecting all the address lines to the existing RAM (ii) adding a second RAM if it is at all possible. However, I guess that worst-case, a second RAM could be added by piggy-backing and a flying lead for the extra chip select.

I understand that wiring the extra address lines for the RAM would break compatibility with Grant's design, in the sense that his project would need a couple of 1-line additions in order to work with a 128Kx8 device, but I think it's too sad to pass up the opportunity to access 1MByte of RAM. It was my unhappiness at tying off the high-order address line of the AS6C1008 that led me to develop my mk1 memory mapper, then learning about NITROS9 led me to redesign it to accommodate a bigger address space and the capabilities required for NITROS9.

regards,

Neal.

[Updated on: Tue, 18 October 2016 00:05]

Report message to a moderator

Re: Multicomp PCBs [message #118 is a reply to message #115] Wed, 09 December 2015 15:37 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
James,
now that I'm staring at your layout and holding the FPGA daughtercard, a couple more questions occur to me..

1/ do you need the 5V connector on your board? why not take power in on the connector on the FPGA daughtercard and use the 2-pin connector to route power down to your board (only used for the kbd so some may not need it at all. Perhaps it could be a flying lead and not require the FPGA daughtercard to completely sit within the footprint of your PCB

2/ if you rotated the FPGA daughtercard by 180 the programming connectors would align with the edge of the PCB. You could put a "knockout" area on your PCB and provide free access to those connectors - and access to the reset button, and somewhat sight of the LEDs.

apologies if you've already considered and rejected these ideas.

Neal.
Re: Multicomp PCBs [message #119 is a reply to message #115] Wed, 09 December 2015 15:51 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Hi Neal,

Thanks for the great schematic.

I've added the changes - please take a look and let me know. Which pins do you want to use for A16 to A18?

Cross post with your one above, yes, once get the schematic right can look at layout. And yes, if the fpga overhangs the side of the board, better access to the programming socket, and it may well free up space for that second ram chip. However, then no access to the two 5V supply pins. Would need flying leads. Or maybe some other solution...

[Updated on: Wed, 09 December 2015 15:55]

Report message to a moderator

Re: Multicomp PCBs [message #121 is a reply to message #103] Thu, 10 December 2015 00:25 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
Hi James,

schematic looks good. Here is the pin assignment (from your previous cycloneII board). BTW, I don't think the jumper is needed on the RAM pin1 because that pin is NC on the smaller device.

set_location_assignment PIN_4 -to n_sRamWE
set_location_assignment PIN_126 -to n_sRamCS
set_location_assignment PIN_79 -to n_sRamCS2
set_location_assignment PIN_134 -to n_sRamOE
set_location_assignment PIN_32 -to sRamAddress[18]
set_location_assignment PIN_31 -to sRamAddress[17]
set_location_assignment PIN_25 -to sRamAddress[16]
set_location_assignment PIN_8 -to sRamAddress[15]
set_location_assignment PIN_30 -to sRamAddress[14]
set_location_assignment PIN_24 -to sRamAddress[13]
set_location_assignment PIN_28 -to sRamAddress[12]
set_location_assignment PIN_136 -to sRamAddress[11]
set_location_assignment PIN_132 -to sRamAddress[10]
set_location_assignment PIN_139 -to sRamAddress[9]
set_location_assignment PIN_142 -to sRamAddress[8]
set_location_assignment PIN_143 -to sRamAddress[7]
set_location_assignment PIN_141 -to sRamAddress[6]
set_location_assignment PIN_137 -to sRamAddress[5]
set_location_assignment PIN_135 -to sRamAddress[4]
set_location_assignment PIN_133 -to sRamAddress[3]
set_location_assignment PIN_129 -to sRamAddress[2]
set_location_assignment PIN_125 -to sRamAddress[1]
set_location_assignment PIN_121 -to sRamAddress[0]
set_location_assignment PIN_122 -to sRamData[7]
set_location_assignment PIN_120 -to sRamData[6]
set_location_assignment PIN_118 -to sRamData[5]
set_location_assignment PIN_114 -to sRamData[4]
set_location_assignment PIN_112 -to sRamData[3]
set_location_assignment PIN_113 -to sRamData[2]
set_location_assignment PIN_115 -to sRamData[1]
set_location_assignment PIN_119 -to sRamData[0]

I will do a double-check/review of the whole schematic against this assignment file but that won't happen until the weekend.

regards,

Neal.
Re: Multicomp PCBs [message #122 is a reply to message #121] Thu, 10 December 2015 04:37 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Thx for the layout. Ok, maintaining the backwards compatibility but adding extras...

1) overhang the board upside down. One disadvantage - board overhangs. But advantages - frees up some space on the pcb for a second ram chip, frees up space to attach the jtag programming header, and doesn't need to use tall headers (which are a bit hard to find anyway as dual row, so need to use lots of single row ones. Standard height ones are much cheaper than tall ones.

2) add one jumper cable like you say, to bring out the 5V onto the board. Leave it out if not using any 5V things (keyboard mainly).

3) This frees up some space for the second ram. It is entirely optional but also completely backwards compatible with Grant's original design.

4) Yes agree that header is not needed for the NC pin on the 128K ram chip. Is easy to add the pads though on the pcb and they don't cost anything. Realistically, many folks might be tempted to use a 512k rather than a 128k chip as they are almost the same price and then you have the flexibility to do more things. Just bridge the pads with solder.

5) Changes on the attached pdf are i) adding the second ram chip and ii) deleting the power jack on the board.

I need to remind myself that now need to design the board so the cyclone II power jack doesn't get blocked by anything on the pcb.

Is this all ok?

[Updated on: Thu, 10 December 2015 04:54]

Report message to a moderator

Re: Multicomp PCBs [message #123 is a reply to message #122] Thu, 10 December 2015 04:56 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
James,
looks great. I did play around with some PCB price comparison sites and can see that, in general, moving from 10x10 does step up the price, so the current board size is an attractive goal (to the extent that I'd probably be happy with piggy-backing the second RAM if it didn't fit, rather than growing the board). You could maybe fit the VGA resistors inside the FPGA connector footprint, and you can certainly put the RTC module on side 2. It would be good to avoid the double-height connectors for the FPGA. Happy routing!
Neal.
Re: Multicomp PCBs [message #124 is a reply to message #123] Thu, 10 December 2015 23:55 Go to previous messageGo to next message
mscane is currently offline  mscane
Messages: 111
Registered: October 2015
Senior Member
Hi James,

One of the things I really like about the larger Cyclone II board is having all the connectors along one edge.

The board sits nicley on the desk with all the cables going out the back.

However, as you said, it does add to the cost.

Since the pin layout is going to be different to the first two Cyclone II boards I wouldn't worry too much about being compatible with the previous designs (or Grant's for that matter) I generally create a new project in Quartus and assign the correct pins for that project. You can still leverage all the common components from other designs.

I also have a register (CPUid) which allows the software to know which board it is running on and adapt accordingly.

A couple of things I would like see on the next design:

1. Add CTS to each serial port (same as Cyclone IV) this is used to determine which console is used with auto boot.

2. Remove the USB connector it was the wrong type anyway.

3. To reduce board size maybe remove one DE9 and replace it with a 6 Pin header (same as Arduino serial header). That should bring it back to 10x10 with connectors on one edge I think. You can also connect a bluetooth board with the same pinout.

4. If adding a 6 pin header have a Jumper for 3/5 volts. Some USB serial cables supply 3 and other are 5. That way you can run the board from 1 USB cable.

5. If you are going to add an RTC why not use an I2C type? That way you could expand the board with other I2C chips.

6. Bring out the data bus, 3v, gnd and a couple of signals for I/O selects to a header for expansion

Has anyone considered re-working the Cyclone II module to put the pins around the 'right' way?


Cheers!

Max

Re: Multicomp PCBs [message #128 is a reply to message #124] Fri, 11 December 2015 02:28 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Hi Max,

Great ideas there.

1) CTS to each port. Yes, can do that.
2) USB connector removed.
3) See below brainstormed a bit more
4) I might need to think about that. See the posts above, ended up removing the supply jack off our pcb and using the supply jack on the cyclone ii board instead. So then 3V and 5V comes off that board onto our board.
5) I2C is on the 'to do' list. But it has been on there forever... The RTC on this board is at least a working design with software written as per previous posts. Or maybe we do both? Adding I2C is really just a matter of declaring two pins on the cyclone II to be I2C and adding a couple of 10k pullups to 3V. So it is really just a header and two resistors.
6) some general I/O pins on this board already done, but might run out of pins if we start adding I2C and CTS. Will need to check...

I like this idea of having things all along one edge and maybe it can be done with a 10x10cm format. Hmm - , that is going to be vga, keyboard, one serial port and sd card? When I get home i'll test that out. I have ordered some little micro sd sockets on pcbs - they actually end up cheaper to buy now that a standard sized sd socket. That makes the sd part smaller. The 'single edge' design becomes more feasible.

Technically, if we are replicating Grant's project, he doesn't have either serial port converting to RS232 levels, and brings out both as TTL. So..., keeping to that philosophy, it should be quite possible to bring all the I/O to one edge. Maybe one D9 RS232 and one TTL serial port - that could be a good compromise.

I'll see if it fits. If it does, the ram chip (s) probably will end up some distance from Grant's original location, which then means it doesn't matter any more about the cyclone ii being flipped. The autorouter is easily completing on Eagle in under a minute or so.

@Max, what would be really cool would be to bring as much as possible from the cyclone IV project back to this cyclone II project. Especially your boot monitor, your multiple partitions on an sd card, and your diagnostics. They make setting up and testing boards a breeze and it is so nifty to be able to copy CP/M files between partitions rather than downloading them via serial. I think you free up some fpga space by moving some of the bootloader into the sd card. So maybe there is room in the cyclone ii for at least vga, keyboard, two serial and ?? the MMU

If it almost fits but not quite along one edge, can also move the 2 corner holes in maybe 2cm so the full 10cm is available.

[Updated on: Fri, 11 December 2015 02:35]

Report message to a moderator

Re: Multicomp PCBs [message #129 is a reply to message #128] Fri, 11 December 2015 04:48 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Quick experiment with the PCB layout trying to get all the important things along just one edge.

If move the mounting holes back, then it is possible to get VGA, then Keyboard, then one D9, then a micro sd board just to fit in 10cm.

The micro sd module is this one http://www.ebay.com.au/itm/New-Mini-SD-Card-Module-Micro-SD- Card-Module-/201107614941?hash=item2ed2f2acdd:g:j64AAOSwcnpT mVk8

So - TV not along this edge. But ?? if you needed TV it is just two wires and may as well put a RCA socket on a front panel of a box and solder two wires over.

And the second serial port can be TTL.

The cyclone II extends off the side of the board. So can the RTC. And there could well be enough space on the board for a ESP8266 wifi module, which also should extend off the board so less interference to the antenna. Can have 3 jumpers so can connect to the second serial port. So this could add wifi.

On Grant's board he leaves 16 pins free - pins 40,41,42,43,44,45,47,48,51,52,53,55,57,58,59,60

In posts above we have allocated pins 40,41,42 to the RTC and pin 48 to VDUFFF0. And pins 51 to 60 as general purpose I/O pins to a header. So that leaves 4 pins free. Is it ok to allocate 2 of those to CTS on serial ports for full flow control, and another 2 to an I2C bus?

All still fully backwards compatible with Grant's design. Just bringing things out to headers and they can always be used for other things anyway.
Re: Multicomp PCBs [message #130 is a reply to message #129] Fri, 11 December 2015 05:21 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
Hi James, Max,

That is all sounding good. In particular, having 1 DB9 and 1 header sounds even better than 2 DB9, given that most PCs don't have RS232 so that many people will need a converter at one or other end of the cable. Please can the DB9 be "port A" (pins 103/104).

Would it be possible/worthwhile to add a 6-pin header for both serial ports, so that the Maxim/DB9 could be omitted? I haven't used any RS232 to date so I don't have a strong feeling on this, just trying to keep all the options open (after all, the autorouter doesn't sound as though it's even breaking a sweat on this, yet)

For the 6-pin header, the 3v/5v selection could be just as planned for the kbd socket. @Max: the current "plan" is to require a flying lead to grab 5V power from the FPGA card (requiring the 2-pin 5V connector on the FPGA card to mate with the 10x10 board constrains the layout too much).

Allocating the 4 spare pins to CTS and "I2C" sounds perfect.

For the RTC module, I have a mild preference for it not extending over the edge of the 10x10 -- eg by mounting it on the bottom of the board. My reasoning is that I think it's easier to get a good mechanical connection - using a 2-sided sticky foam pad. Admittedly the 10x10 then needs to be on stand-offs to keep the whole thing stable. (Of course, in the end it's your call as you are the one doing the work..)

BTW: I zoomed in and didn't like the look of the soldering on that micro sd module!

Neal.
Re: Multicomp PCBs [message #133 is a reply to message #130] Fri, 11 December 2015 09:35 Go to previous messageGo to next message
Andrew B is currently offline  Andrew B
Messages: 467
Registered: October 2015
Location: Near Redmond, WA
Senior Member
Administrator
When you guys get this all worked out, let's make a new board page on the wiki - since this seems like it will probably be the last iteration of the Cyclone II Multicomp PCB.
Re: Multicomp PCBs [message #137 is a reply to message #128] Fri, 11 December 2015 11:29 Go to previous messageGo to next message
mscane is currently offline  mscane
Messages: 111
Registered: October 2015
Senior Member
I would stick to the normal SD card connector. Those micro SD cards are too small and fiddly. Rather than put is on the back of the board put it on the front like the current Cyclone II board. That makes it easy to access and keeps the size of the board small.

So on the front you would have SD card. reset, leds etc

On the rear you would have VGA, Keyboard, DE-9. The TTL serial port doesn't have to be on the edge

That should work with 10x10.

I have a Cyclone II version of my new software pretty much working at the moment. I had to remove a few goodies (like the baud rate generator etc) but it is compatible with the Cyclone IV system. You can put the SD card in either board and boot CP/M without any problems.

Cheers!

[Updated on: Fri, 11 December 2015 11:29]

Report message to a moderator

Re: Multicomp PCBs [message #138 is a reply to message #137] Fri, 11 December 2015 16:15 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Thanks for all those suggestions. This board is going to be brilliant!

Agree with the micro sd socket comments including the dodgy soldering - ok, stick with the standard size one.

Changes on this schematic are:
1) added 2 pins for reset (bring out pin 144 which is the board's reset)
2) I2C
3) remove one max3232
4) added 6 pin headers for TTL serial for both ports.
5) Added some 4 pin headers in the supply section for 5V, 3V and Gnd (always handy to have)
6) Added 3 leds - duplicates the ones on the cyclone ii board. Can be handy for diagnostics.

Plan is that on the back of the board, VGA then Keyboard, then D9 and on the front of the board, SD leds, reset, and TV.

Attached - preliminary PCB layout. It all fits and autoroutes. The RTC is a large module - would it be ok if it sits over the ram chips? Maybe on taller headers, or two headers stacked? Can then avoid overhang, stick it to the top of the ram chips and it doesn't take too much pcb real estate.

Addit: Fixing Leds - they are active low on the cyclone II.

[Updated on: Fri, 11 December 2015 17:24]

Report message to a moderator

Re: Multicomp PCBs [message #139 is a reply to message #138] Fri, 11 December 2015 22:20 Go to previous messageGo to next message
mscane is currently offline  mscane
Messages: 111
Registered: October 2015
Senior Member
Looks great!

One suggestion: It might be a good idea to increase the clearance at the back for the VGA and serial connectors. There are few types around and some have more depth than others. Having that bit more clearance would allow a greater number of brands to be used.

Cheers!

Max
Re: Multicomp PCBs [message #140 is a reply to message #138] Sat, 12 December 2015 03:13 Go to previous messageGo to next message
mscane is currently offline  mscane
Messages: 111
Registered: October 2015
Senior Member
Another suggestion. If you bring out the current 8 data lines as a second row of pins under the GPIO pins (convert to 2x9 header) you would have a ready made I/O bus expansion capability.

Cheers!

Max
Re: Multicomp PCBs [message #141 is a reply to message #140] Sat, 12 December 2015 16:11 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Good idea re the data bus. I hope it is ok, the autorouter is just starting to struggle so I brought out the data bus as 8 pins on a physical header just near the data bus on the cyclone II. Ended up with short traces. Ditto the reason the GPIO header is where it is. So they aren't near each other, but shouldn't matter much and like you say, could create a nifty expansion bus with those two.

I managed to find an extra 0.05" above the vga and serial connectors, is that enough?

Any other suggestions/changes from anyone?

[Updated on: Sat, 12 December 2015 19:32]

Report message to a moderator

Re: Multicomp PCBs [message #142 is a reply to message #141] Sat, 12 December 2015 16:48 Go to previous messageGo to next message
yoda is currently offline  yoda
Messages: 125
Registered: October 2015
Location: Cedar Rapids, IA
Senior Member
Just a thought - how about swapping SP3232 with TTL serial headers. That way if a user want so only use TTL serial with USB adapters they don't populate DB9 and cables can run there. With current have to run the cables over the top of DB15 which may not be optimal.
Re: Multicomp PCBs [message #143 is a reply to message #142] Sat, 12 December 2015 19:32 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Good idea yoda. And the GPIO and Data headers now end up next to each other. Is this ok?
  • Attachment: PCBDec14.jpg
    (Size: 292.51KB, Downloaded 566 times)

[Updated on: Sat, 12 December 2015 19:32]

Report message to a moderator

Re: Multicomp PCBs [message #146 is a reply to message #143] Sun, 13 December 2015 04:05 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
James,
the board is looking better and better. Here are my comments/suggestions
1/ I note the VGA connector has +5V. This is inherited from your earlier design, but Grant's design (and mine on veroboard) had 3.3V. Is 5V necessary here? It creates another dependency on 5V.
2/ the designator for the 3-pin kbd voltage jumper "3V3_k_5V" should be "5V_K_3V3" (or "5V_K_3V" for consistency) - at the moment the silk screen is marking the 3V3 side as 5V and vice-versa.
3/ The jumper VDUFFF0 should be named VDUFFD0. I apologise for this mistake in my hand-drawn schematic. Not worth fixing if it will result in a lot of work.
4/ suggest changing the designator for the RTC connector from "RTC" to "RTC_3V_0V_CLK_IO_CE"
5/ C21 C22 suggest swapping silk screen value/designator to match C23 C24 (getting really picky here, only because the connector might obscure the lower text)
6/ suggest a review of the 3V connections to see whether there's any opportunity to add more traces to "grid up" the power
7/ likewise 0V (I can't inspect these from the JPG because where tracks are coincident top/bottom only one track is visible)

Additional annotation for the schematic :
1/ in VGA add text "HSYNC" to PIN_71 and "VSYNC" to PIN_72
2/ in LED add text "SD ACTIVE" to PIN_3
3/ in RTC add text "SCLK" to PIN_41 and "I/O" to PIN_40 and "CE/RST" to PIN_42. Add general text "RTC module contains DS1302 and button cell"
4/ in GPIO add text "GPIO7" to PIN_60 ... "GPIO0" to PIN_51
5/ in DATA BUS add text "D0" to PIN_119 .. "D7" to PIN_122
6/ in VDUFFD0 add general text "Fit link to swap address decode of VDU and Serial A"
7/ in Upside down socket:
In Serial A add PIN_45
In Serial B add PIN_47
Delete Group A/Group B
Add CLK PIN_17
Change "Input only group" to "Unused input only group" and remove PIN_17
Add RTC PIN_40 PIN_41 PIN_42
Add GPIO PIN_51 PIN_52 PIN_53 PIN_55 PIN_57 PIN_58 PIN_59 PIN_60
Add I2C PIN_43 PIN_44
Add VDUFFD0 PIN_48
Delete comment "use stackable female headers"
Maybe add comment "http://www.retrobrewcomputers.org"
Delete comment "I/O spare pins.."

regards,

Neal.

Re: Multicomp PCBs [message #147 is a reply to message #146] Sun, 13 December 2015 04:57 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Thanks ++ Neal.

I think all of those should be possible. I have work commitments for the next 48h but after then should have some time to make all these changes. Re points 6 and 7, do you mean make the 3V an 0V traces thicker?

[Updated on: Sun, 13 December 2015 04:58]

Report message to a moderator

Re: Multicomp PCBs [message #154 is a reply to message #147] Sun, 13 December 2015 09:35 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
>> Re points 6 and 7, do you mean make the 3V an 0V traces thicker?
Well, widening those traces is never a bad thing, but not quite what I was thinking about. Anywhere where (eg) the 0V trace connects to one (non-decoupling cap) component and then goes on to connect to another (ie, daisy-chains) see if there's room to add a trace that connects the far end of the chain back to one of the FPGA 0V connections.. or to any other 0V connection. The end result will be a set of loops -- so that the whole topology is a mesh rather than a star or daisy-chain. This is a simple board so I don't expect any problem but having been bitten by ground bounce one before (and not even realising what had happened until some years later) having the best 0V distribution possible has no down-side. Same (to a lesser extent) for 3V3.

Neal.
Re: Multicomp PCBs [message #167 is a reply to message #154] Mon, 14 December 2015 05:56 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Hi Neal,

Wow, great list there. I have been through it one line at a time, *hopefully* have left nothing out!

Aoutorouter is on 12 mil for the data lines and 25mil for the ground and 3V lines - that is about the best it can do. Anything more than 25mil for power and it fails. Adding a ground plane also fails with polygons that fall apart. So the whole decoupling star thing is going to be hard unless hand rout it all. Which is the difference between 1 minute and many days. My experience though with much more complex boards with many more chips is the decoupling and ground bounce seems ok, so long as decoupling randomly placed around the board so average trace length is low to a 0.1. I think the SD needs 0.1 and 470uf near it - have learned that the hard way. The sp3232 ends up with short traces, and it is really just the ram chip where the decoupling is not perfect. However, multiple boards on the cyclone II and IV seem ok with the less than perfect autorouter.

The attached files are .bmp so can zoom in better than jpg. Lots of updates on the schematic. The gerber is downloaded back from Seed and they always seem to make the fonts slightly larger so have tried to allow for that.

Have changed the title so leaving out my name and replacing it with www.retrobrewcomputers.org. This board truly is an international joint effort now Smile

I had a PM about the eagle source code - this is attached below as well. It will likely change, but at least here is a snapshot for anyone who wants to fork this. This project is open source.

Please let me know if I have left anything out.

[Updated on: Mon, 14 December 2015 06:05]

Report message to a moderator

Re: Multicomp PCBs [message #173 is a reply to message #167] Mon, 14 December 2015 15:37 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
Hi James,
nice job. Much Kudos to you for all the work and for sharing the results. I have just placed an order through the excitingly-named www.dirtypcbs.com -- Boards due in about 30 days. The Eagle .brd file uploaded OK and the rendered Gerber they generated looked OK on quick inspection.
I will report back on progress. I plan to take some photos during assembly for the Wiki, and I expect to have some spare boards available at about £2.00 each in due course.

Neal.
Re: Multicomp PCBs [message #176 is a reply to message #173] Mon, 14 December 2015 18:58 Go to previous messageGo to next message
mscane is currently offline  mscane
Messages: 111
Registered: October 2015
Senior Member
Hi James,

You guys are too quick for me...

I think there is an error in the TTL wiring of the serial ports.

The intention was to make them Auduino serial port compatible so you could plug in a USB adapter, Bluetooth adapter, USB serial cable etc.

I'm looking at the ones at Sparkfun and the pinouts are to as follows:

1. Ground
2. CTS (Output)
3. Power (5V or 3.3V)
4. TX (output)
5. RX (input)
6. RTS (input)

I think your schematic should have the following connections:

Serial A
--------

FPGA - DIR - SP2332 - TTL
103 (TX) -> 11 (T1-In) -> 5 (RXI)
101 (RX) <- 12 (R1 Out) <- 4 (TXO)
104 (RTS) -> 10 (T2 In) -> 2 (CTS)
45 (CTS) <- 9 (R2 Out) <- 6 (RTS)

TTL Ground - 1
TTL Power - 3

Serial B
--------

FPGA DIR TTL
100 (TX) -> 5 (RXI)
99 (RX) <- 4 (TXO)
96 (RTS) -> 2 (CTS)
47 (CTS) <- 6 (RTS)

TTL Ground - 1
TTL Power - 3

Also, since the USB adapters can supply 3.3 volts, it might be a good idea to put a jumper on the power pin (3) of the TTL headers so that you can isolate the power. I don't think the 5V->3.3V regulator on the FPGA board would be happy with an external 3.3 volt supply.

If the header is used to supply power (eg Bluetooth card etc) then you can put the jumper in to power the card.


Cheers!

Max
Re: Multicomp PCBs [message #177 is a reply to message #176] Mon, 14 December 2015 19:47 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Hi Max,

I thought about that, but figured that there are probably all sorts of adapters out there and no real standard for layout. eg I've got some of these http://www.ebay.com.au/itm/RS232-To-TTL-Converter-Module-Bui lt-in-MAX232CPE-Transfer-Chip-With-4PCS-Cables-/280839635021 ?hash=item416358c04d:m:mqCJoT5QIM9ODooNWAHK_0A but they are not even on a single row header.

Happy to change the order of the pins if needed though.
Re: Multicomp PCBs [message #178 is a reply to message #177] Mon, 14 December 2015 21:00 Go to previous messageGo to next message
mscane is currently offline  mscane
Messages: 111
Registered: October 2015
Senior Member
Yes I was thinking that Arduino is pretty popular so there should be plenty of devices compatible with its serial port.

How about these:

USB to TTL adapter
https://www.sparkfun.com/products/9873

Bluetooth Adapter
https://www.sparkfun.com/products/12580
This one works quite well. I have had it working on the Cyclone IV and switched console to it

USB to serial cable
https://www.sparkfun.com/products/9717
This one has 3.3 volt signals but 5 volt power which might be an issue (hence the jumper suggestion)

Cheers!

Max
Re: Multicomp PCBs [message #179 is a reply to message #178] Mon, 14 December 2015 21:09 Go to previous messageGo to next message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Should be ok to swap them around.
Re: Multicomp PCBs [message #180 is a reply to message #103] Mon, 14 December 2015 23:29 Go to previous messageGo to next message
Andrew B is currently offline  Andrew B
Messages: 467
Registered: October 2015
Location: Near Redmond, WA
Senior Member
Administrator
There is a page for this board at http://www.retrobrewcomputers.org/doku.php?id=boards:sbc:mul ticomp:cycloneii-c:start
Re: Multicomp PCBs [message #182 is a reply to message #180] Tue, 15 December 2015 00:02 Go to previous messageGo to next message
nealcrook is currently offline  nealcrook
Messages: 127
Registered: October 2015
Location: UK
Senior Member
James,
if you mod. the board now please will you add a "REV2" marking near the www.retrocomputers.org to distinguish them from the boards I have in the 'shop.
thanks,
Neal.
Re: Multicomp PCBs [message #186 is a reply to message #103] Wed, 16 December 2015 01:51 Go to previous messageGo to previous message
dr_acula is currently offline  dr_acula
Messages: 68
Registered: October 2015
Location: Adelaide
Member
Ok, I'm kind of stuck with that modification.

Sparkfun sell two products - this TTL cable https://www.sparkfun.com/products/9717 and they say "This cable has almost the same pinout and functionality as our FTDI Basic Breakout board" and link to this board https://www.sparkfun.com/products/retired/8772

But the operative word there is "almost" because one is bringing out the CTS/RTS pair and the other is bringing out CTS and DTR. Going back for years, I think picaxe and arduino and basic stamp have used DTR as their reset pin. Probably because it was never used for anything much on a RS232 link so the pin was kind of spare.

Go to ebay and search with FTDI board or cable or breakout and there are a whole range of modules that come up that are meant for arduino, and they are all using the DTR pin. A 'proper' cable would bring out eight pins but they all seem to bring out just six. Sort on price and the cheapest cable that brings out the RTS/CTS pair we want is this one http://www.ebay.com.au/itm/FTDI-FT232RL-USB-to-Adapter-Modul e-USB-TO-TTL-RS232-Arduino-6Pin-Cable-/191732706593?hash=ite m2ca428ed21:g:bM4AAOSwo0JWPH4b

But the order of the pins is
Red wire: 5V
Black wire: GND
White wire: RXD
Green wire: TXD
Yellow wire: RTS
Blue wire: CTS

Different to Max's suggestion, different to the board we made and different to sparkfun's.

Also, some boards are 5V and some are 3V so it is not going to be a 6 way header but more likely individual jumper leads with power not connected? In which case it doesn't matter what order the pins are, so long as they are clearly labeled.

Hmm, now I'm thoroughly confused.

[Updated on: Wed, 16 December 2015 02:06]

Report message to a moderator

Previous Topic: 6x0x-ATX-6U MMU questions...
Next Topic: Comparing a real Z80 (Z80-MBC) with an emulated one (STM32F103C8T6)


Current Time: Thu Dec 18 06:54:20 PST 2025

Total time taken to generate the page: 0.01431 seconds