[Coco] 65k colours serial VGA module
John Kent
jekent at optusnet.com.au
Mon May 21 22:48:03 EDT 2012
On 22/05/2012 10:17 AM, Mark McDougall wrote:
> On 22/05/2012 1:05 AM, John Kent wrote:
>
>> If you can double the pixel clock and line rate you may be able to
>> drive a
>> VGA display with the CoCo output. i.e. the FPGA graphics controller
>> would
>> double as a scan rate converter.
>
> In Altera PLLs you can specify the phase offsets so I'm sure this
> would be doable.
>
> Regards,
>
Hi Mark,
Yes, I know T. Franklin and a number of others are using the DE1 board.
What I was thinking was that based on discussions on this list, I
thought a lot of members had bus expansion boxes on their CoCos that
allowed them to plug in expansion cartridges, and I assume PCBs also. I
thought that if they were using that scheme, then there was probably a
prototyping card that people could put their own logic on.
The DE1 board is fine but it costs about US$240 whereas the XuLA board
is only about US$80 or so, so it's 1/3 the cost. It doesn't do nearly as
much as the DE1 board, but it's much cheaper. It would be possible to
add an interface board for the DE1 board to the expansion box. You'd
need 5V to 3.3V level translation to interface to the FPGA board. You'd
also want a 40 pin IDC connector mounted on the CoCo expansion board
that was pin compatible with DE1 board so you could use a standard IDE
hard disk cable to connect the two.
The PLL (Phase Locked Loop) block in the Altera is similar in many ways
to the DCM (Digital Clock Manager) in the Xilinx FPGAs. There was a
concern expressed some time back that some people didn't want to be
getting into their CoCos and soldering wires onto the 14MHz (?) crystal
oscillator inside the CoCo used to generate the pixel clock. I'm
assuming the Coco divides down the pixel clock to generate the CPU clock
so that the two operate synchronously so they can multiplex the memory
bus. I'd have to check the circuit again to see what is done.
I'm assuming the CPU E clock of 791KHz or what ever it is, is available
on the expansion port. If you wanted say a 28MHz pixel clock to generate
VGA timing, then you'd need to divide the FPGA clock by 32 or more, to
lock the divided signal to the CPU clock. Since the PLLs and DCMs are
self contained in the FPGA, they will need to have that division ration
available in their design. They do have clock doubling functions, in the
Xilinx DCMs at any rate and probably in the Altera PLLs as well so it's
easy to multiply up the pixel clock, but if you have to lock it onto the
CPU clock then that's probably a bit trickier. I thought the Xilinx DCMs
also had multiply and divide ratios, but whether that extends to ratios
as big as 32 I'm not sure. Also a large divide (multiplier) ratio may
also introduce noise and jitter into the pixel clock. There is no loop
filter in the FPGAs to filter the noise out.
The alternative would be to build an external PLL circuit to generate a
clock for the FPGA. There might be PLL chips out there designed to do
that but It makes the design more complicated.
That was my thinking anyway.
John.
--
http://www.johnkent.com.au
http://members.optusnet.com.au/jekent
More information about the Coco
mailing list