[Coco] Another speed question
Kevin Diggs
kevdig at hypersurf.com
Thu Sep 6 13:51:38 EDT 2007
Hi,
It has been a while since I made a stupid comment on this list ... so I
guess it is about time?
I assume this is for the FPGA thing. Is the 6850 compatible UART an
actual chip or is it code in the FPGA? (Since you mention "my
implementation" I am guessing it is in the FPGA? ...) If it is just code
in the FPGA, how hard would it be to add a FIFO (asks the idiot who has
never tried to play with FPGAs)?
kevin
Becker, Gary wrote:
> I am using a UART compatible with the 6850, not the bit bang port. The
> 6850 has interrupt generation capabilities, but I have never tested my
> implementation. My driver does not enable the interrupt capability and I
> intentionally disable CPU interrupts.
>
> -----Original Message-----
> From: coco-bounces at maltedmedia.com [mailto:coco-bounces at maltedmedia.com]
> On Behalf Of Gene Heskett
> Sent: Thursday, September 06, 2007 9:45 AM
> To: CoCoList for Color Computer Enthusiasts
> Subject: Re: [Coco] Another speed question
>
> On Thursday 06 September 2007, Becker, Gary wrote:
>
>>In a different thread, it was mentioned that the bit bang serial port
>>and the hires mouse adapter takes too much CPU time. I understand why.
>>Both devices use CPU timing loops and the interrupts have to be turned
>>off. This discussion caused me to think about the way that I am doing
>>the Serial Virtual Drive for the CoCo3FPGA under NitrOS-9. At the
>>present time, I turn off interrupts and poll the serial port until I
>
> get
>
>>the 256 byte sector. This takes approximately 25 mS. Since task
>>switching happens every 16+ mS, I am guaranteed to miss at lease one
>>interrupt. After the sector is received, I re-enable the interrupts. I
>>do this because I am afraid that I cannot service interrupts from the
>>serial port fast enough to keep up at 115200 bps. But I have never
>>tried.
>>
>>It would take a major rewrite of the driver to make it interrupt
>
> driven.
>
>>Is it worth the effort? Would it be better to lower the serial port /
>>drive speed to keep interrupts enabled?
>>
>
> I don't believe this is possible due to where would one get the IRQ
> question?
> If edge triggered, how many bit spaces have elapsed since the last one?
>
> One possibility that may or may not have been explored is that there may
> be a
> timer function in the gime, which could be programmed to fire an IRQ
> everytime a bit time has elapsed, minus of course the exec time of the
> service routine itself. Or on a repeat basis but how would one go about
>
> achieving the initial bit synch unless the start bit coming in was a
> separate
> IRQ service routine to set that up, and then disable it till the stop
> bit
> comes in.
>
> I haven't looked at that recently, so I have NDI if its granularity
> could be
> bent into a std rs232 timing stream.
>
>
>>Gary
>>
More information about the Coco
mailing list