[Coco] Another speed question
darccml at hotmail.com
Thu Sep 6 12:39:26 EDT 2007
>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
> >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?
Can the UART be configured to trigger an FIRQ to the 6809 core whenever a
byte is ready? If so, I would think that you could eliminate any need for
polling. The FIRQ has higher priority than IRQ, so the FIRQ service routine
for retrieving the byte would be able to interrupt any IRQ service routine
that may be executing.
Share your special parenting moments!
More information about the Coco