Q68 compatible peripherals on other QL systems

Nagging hardware related question? Post here!
User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Q68 compatible peripherals on other QL systems

Post by Peter »

Hi,

the question has come up, whether other QL hardware developments could benefit from implementing things similar to the Q68, especially ethernet. Now would be a good time to discuss this, because I'll soon review and edit the address assignments on the Q68 extension bus. This is the last chance to pick Q68 address ranges which are also suitable for other QL hardware projects.

Basically the Q68 extension bus is a simple 8 bit data bus, 9 address lines, and the usual control lines. Currently the only device on this bus is the CP2200 ethernet controller, which has it's own chip select line. The Q68 extension bus is also available on a space saving through-hole-type connector footprint with 2mm grid. That one has a separate chip select line.

The CP2200 is 5V tolerant and suitable to interface the original QL bus. Ideally, driver software could be identical between the Q68 and an other QL system using this chip.
Same goes for further peripherals that might later be made for the Q68 (no idea whether that will happen, but at least this simple little bus makes it quite easy.)

What needs to be decided, is the base address and the spacing in which the external 8 bit bus appears to the CPU. At the moment, I consider to implement a 4-Byte aligned spacing, because that would allow 32 Bit CPUs to easily access devices without dynamic bus sizing. Not important for a 68020, but for 68040 and 68060. Any feedback on this?

I'd also like feedback on wether there is interest to re-use the physical Q68 extension bus for other projects (more data and address lines could be added on a larger connector, still leaving the option to make smaller extensions totally compatible to the Q68). Now is time where I can still implement small changes for compatibility with other projects.

All the best
Peter


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 compatible peripherals on other QL systems

Post by Peter »

Pin assignment of the Q68 extension bus:
Q68ExtensionBus.jpg
Planned start address is $1D000 for the CP2000 ethernet controller chip select, and $1D800 for the external chip select.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 compatible peripherals on other QL systems

Post by Peter »

Answers on some additional question that came up:

Q: What is the maximum supply current available on the Q68 extension bus?
A: Continuosly max. 200 mA, short peaks max. 400 mA

Q: Does the Q68 board provide mounting holes for extension cards?
A: No. But the connectors give firm hold, so small cards won't move, unless there is external mechanical force.
If external mechanical force is expected, a card should be fixed at the case, e.g. by using connectors with bolts.

Q: Will the Q68 come with extension bus connector soldered?
A: At the moment, it seems more likely the extension bus gets used only by tinkerers. So it would come unsoldered.

Q: Can an extension card additionally get 5V supply voltage?
A: Not from the extension bus connector, but there is a 3 pin connection for internal 5V, external 5V and GND nearby.


User avatar
Dave
SandySuperQDave
Posts: 2765
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: Q68 compatible peripherals on other QL systems

Post by Dave »

I wish this forum had a like button!

I'm guessing I'm the person who triggered this thread.

After some soul searching and careful consideration, I decided to stop working on the wiznet chip and instead to use the CP2200 that Peter is using. IF the last remaining hardware hobbyists can't use a single device, we have virtually no prospects of that device ever being supported with drivers, or by SMSQ/E. I decided using a supported device was far more important than using a cool one.

Peter has an evolved and mature design in his Q68, which looks close to release. My hobby work on an updated Super Gold Card style device is in the early stages and likely to take at least six months. For this reason, I decided the CP2200 was the way to go. I reached out to him privately and told him this and he very kindly and graciously offered up complete schematics, his addressing scheme and everything else needed to maximise compatibility.

The windfall of this is there will possibly be a QL ethernet card released sooner rather than later. The second decoded slot will likely contain an FTDi FT313H or Vinculum II USB host controller. The FT313H has just a single USB port but can be directly interfaced - the Vinculum II would for simplicity likely be connected via a single UART channel but would provide two USB hosts, SPI master and 2x SPI slave, plus a number of GPIO pins. The USB element of this would also be produced for the Q68 expansion system.


User avatar
Dave
SandySuperQDave
Posts: 2765
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: Q68 compatible peripherals on other QL systems

Post by Dave »

Peter, could you please supply the dimensions and relative positions of the three 5V/GND pins to the 24 pin header?

As the connector is not fitted, this leaves options open for accessories. Expansion boards could be mezzanined above or below. Cards mezzanined below could be the same 100x80mm size. It might even be possible to support multiple cards, stacked below, similar to a Raspberry Pi or Arduino.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 compatible peripherals on other QL systems

Post by Peter »

Q68-ExtBus-5V.jpg
Extension bus header (24 Pins) in green, Pin 1 at x=20.0 y=33.5 [mm]
5V Power header (3 Pins) in blue, Pin 1 at x=9.5 y=16.7 [mm]
Total board size x=100.0 mm y=80.0 mm

If 5V is required, it would probably better be connected by a cable, since it is on a standard 2.54 mm jumper header, i.e. higher than the 2mm spaced extension bus header.

The 5V Power header is primarily there so an optional power switch can be added between 5V input from external supply (Pin 2) and internal 5V (Pin 3). Pin 1 is GND.

Here is how the shape of a small extension card with connector at the front panel could look:
Q68ExtensionCardExample.jpg


User avatar
Dave
SandySuperQDave
Posts: 2765
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: Q68 compatible peripherals on other QL systems

Post by Dave »

Thank you Peter.

What will be the ROM address for the ethernet? I know a driver doesn't exist yet, but I'd like to include an EPROM slot on-board so if/when one is developed it can be supplied on ROM, instead of run from RAM. I'd like to work out the chip select logic for the ROM slot. Address decoders, gotta love 'em!

I know I am supposed to know this by heart, but I don't. I've tinkered a lot inside the QL, but not much on the expansion bus and nothing that would need a driver before! I have little idea how multiple cards are addressed, kept separate, and don't conflict with each other. That's an article you or Nasta may contribute publicly in the coming months, when more free time is available.


User avatar
Dave
SandySuperQDave
Posts: 2765
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: Q68 compatible peripherals on other QL systems

Post by Dave »

A0:8 are brought through to the expansion connector. That is 512 bytes address range. $1D000 - $1D800 and $1D800 - $1DFFF are 2048 bytes each.

Is /CS asserted for $1D800 - $1DA00 or $1D800 - $1DFFF with four aliases?

Just noticed this while exploring the address decoder logic.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 compatible peripherals on other QL systems

Post by Peter »

Dave wrote:What will be the ROM address for the ethernet?
No ROM for the driver, network software would be loaded from file.
Please note that the Q68 will come without any promise for network software support. Ethernet is just tested hardware-wise.
The rest is hobby.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 compatible peripherals on other QL systems

Post by Peter »

Dave wrote:A0:8 are brought through to the expansion connector. That is 512 bytes address range. $1D000 - $1D800 and $1D800 - $1DFFF are 2048 bytes each.
That is to allow enough range for 4 Byte alignment (in that case, the external A0:8 would be A2:10 on CPU side). I was requesting comment on the alignment issue, it is not yet decided. Also the base addresses can still be changed.
Dave wrote:Is /CS asserted for $1D800 - $1DA00 or $1D800 - $1DFFF with four aliases?
It would be asserted for the full range of $1D800 - $1DFFF.


Post Reply