Ernest Snaith

VGA controller (MC9S12XEP100)

Discussion created by Ernest Snaith on Jan 26, 2009
Latest reply on Jan 27, 2009 by Steve Mcaslan
I am attempting to use the MC9S12XEP100 to control a VGA monitor as part of a university project. I need to shift out bytes of data (through a port in parallel) at a frequency of 3.15 MHz. I have set the bus frequency to 50 MHz giving me 16 cycles per byte.
 
In that 16 cycles I need to increment a couple of counter variables, perform a couple of logical tests and shift a byte of data out. In addition I would either have to use an interrupt or at least check for a timer flag.
 
My question is, does this sound at all possible using the main CPU. From reading the CPU RM i found that many simple assembly instructions require at least a couple of bus cycles. Therefore it doesnt sound likely to me.
 
An alternative would be to use the XGATE. Would this be benefitial? My guess is that many cycles would be required to deal with the interrupt epilogue/prologue and the gained cycles could be lost.
 
How do XGATE instruction compare in execution time to CPU ones with regards to the simple tasks above.
 
Many Thanks for any help

Outcomes