UHS methodology

From: David Wood (jbevren_at_starbase.globalpc.net)
Date: 2002-10-16 10:09:36

This is an offshoot of the 'mounting bga package' thread.  I started a new
thread because this is related to the layer 3 and 4 interfaces for UHS in
general.

UHS will probably be using the ARM AT91 series microcontroller in the other
thread (http://uhs.c64.org/chip.jpg to read the chip code). 

Here are its facilities:
33mhz AT91 core; Arm 32bit RISC instruction set as well as Arm THUMB instructions.
2MByte flash rom; the IC comes with a flash uploader pre-programmed ;)
8kbyte static ram;  I'll probably expand this, not sure yet.
32 I/O pins; Used for the scsi bus, as well as some misc indicators/controls
16bit data bus; the internal bus is 32bit, the external bus is 16bit.
24bit address bus; Mmm.. 32M ram space.
2 USARTS; One will be for debugging, the other is as-yet unassigned.

How I'll be using the IC follows :)
The IC has a 16megx16bit address space.  The c-64 has a 64kx8bit address
space.  I'll "glue" the c64's memory space directly to the ARM's bus so that
an arbitrary load or store will DMA data to/from the c64.  The concept
behind this is fairly simple, and easy to optimise.  The first access will
require a 3 microsecond delay (3 clock ticks counted of the system clock),
and will be throttled by the "glue" so that the accesses don't run by too
quickly. The "glue" will also be responsible for 8/16bit bus glueing, as
well as 3v/5v conversion (3v PLD with 5v tolerant inputs).  This is
necessary for the EBI data bus (page 9).

The scsi will be byte-banged through the IO ports, a-la CMD HD controller. 
This is because I've exchanged the "smart" single-chip scsi interface with
this device.  Again, voltage conversion is needed, but a set of simple line
drivers will do, and are needed anyway.  The I/O pins are 5v tolerant, so no
incoming conversion is needed.

A debug monitor will be avaliable on the first serial port, so that one can
hook a terminal emulator (or a real one if you're l33t) up to it for
debugging things that can't be debugged from within the c64.

I'll leave it at that so that others can ask questions aobut the project. 
The use of the cpu in this fasion has a few implications, but has a LOT more
advantages than disadvantages.  For example, with small ram expansion on the
card, it can become a 'freezer from hell' ;)

-David/jbev


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail 2.1.4.