Scheduling DSP/BIOS Threads
Scheduling DSP/BIOS Threads
TI DSP
Problem: Add a Function to your Code
Problem: Add a Function to your Code
Existing Function
New Function
Issues:
Do we have enough bandwidth (MIPS)?
Will one routine conflict with the other?
How is a compound system created?
What are some possible solutions?
Function 1
Function 2
Possible Solution Using while Loop
Possible Solution Using while Loop
Function 2
Function 1
Main()
{
while(1);
{
}
}
Potential Problems:
What if Algorithms run at different rates:
- motor current loop at 20 kHz
- respond to keypad input at 2 Hz
What if one algorithm consumes enough
MIPS to force the other algorithm to miss its
real-time deadlines / delays its response?
Call each function from an
endless loop
within main
How are these problems typically solved?
C28x - Using DSP/BIOS
9 - 5
Summary of Contents for C28 Series
Page 64: ...Summary 3 16 C28x Peripheral Registers Header Files ...
Page 78: ...Interrupt Sources 4 14 C28x Reset and Interrupts ...
Page 218: ...Lab 9 DSP BIOS 9 22 C28x Using DSP BIOS ...
Page 244: ...Lab 10 Programming the Flash 10 26 C28x System Design ...
Page 273: ...Appendix A eZdsp F2812 C28x Appendix A eZdsp F2812 A 1 ...
Page 276: ...Appendix P2 Expansion Interface A 4 C28x Appendix A eZdsp F2812 ...
Page 277: ...Appendix P4 P8 P7 I O Interface C28x Appendix A eZdsp F2812 A 5 ...
Page 278: ...Appendix A 6 C28x Appendix A eZdsp F2812 ...
Page 279: ...Appendix P5 P9 Analog Interface C28x Appendix A eZdsp F2812 A 7 ...
Page 282: ...Appendix A 10 C28x Appendix A eZdsp F2812 TP1 TP2 Test Points ...