I need to be able to service an interrupt every 8 microseconds to update 4 values in an external DAC. The write operation to the DAC takes about 50ns, so that only requires a little over 200ns to complete. I am having a problem servicing the interrupt at the 8us rate. It appears to "overload" the BIOS/OS. I suspect I may have configuration/setup issue.
- Once the 8usec T1 timer tick is enabled, the system seems to be overloaded such that BIOS/OS does not run any other task on the system.
- Although, T1 tick time is set at 8uS, the minimum response is at 12 usecs.
- It seems that T0 (1mS tick) interruption is not executed (preemptive by T1 interruption)
- CECTLx (CS3) register was set to minimized writing cycle (~50nsec)
- Worse case scenario: wave form at 10Khz is generated with 12 DAC values/samples, where the DAC steps are very noticeable.
General Board info:
- board, based on TMS320C6713 DSP @ 150Mhz (CLKIN).
- DAC response time is 8e-6 sec (8uS), 12 bit, 4 channels.
- T1 timer use as the "DAC sample tick"
- T0 used as the BIOS/DSP clock manager
- CodeComposer 4.1.1 (Windows XP SP3)
Questions:
- How the interruption priorities are assigned?
- Can T1 be used at a higher speed tick than T0 when T0 is used as the main clock for BIOS/DSP?
- Can the interruption latencies of the BIOS/DSP be minimized or quantified?
Alan