Real-Time DSP System Design Course and DSP/BIOS II
David J. Waldo
Associate Professor
Oklahoma Christian University
2501 E. Memorial Rd.
Oklahoma City, OK 73013
TI Developer Conference 2002
TI Developer Conference 2002 2
Outline
Real-Time DSP Course Description Real-Time Operating Systems (RTOS) and DSP/BIOS
II Example Project Conclusion References
TI Developer Conference 2002 3
DSP Courses at Oklahoma Christian
DSP I - DSP Fundamentals– Implementation of discrete-time systems– Finite word length effects– FIR/IIR digital filter design– Power spectrum estimation– Optimal filtering
DSP II - Real-Time DSP System Design DSP III - Adaptive Filtering
– Stochastic processes– Eigenanalysis– Linear prediction– LMS, RLS– Introduction to neural networks
TI Developer Conference 2002 4
DSP II (Real-Time System Development) Course Content
Software Design Methods– Waterfall software life cycle– COMET– CODARTS– UML
RTOS Features Development of a DSP System
TI Developer Conference 2002 5
Software Life Cycle - Waterfall Method
Architectural Design
Detailed Design
Coding
Unit Test
Integration Test
System Test
Requirements Analysis
TI Developer Conference 2002 6
Architecture Design with CODARTS
Environmental and Behavioral Models Distributed Subsystems Concurrent Tasks Information Hiding Modules Integrate Tasks and Information Hiding Modules Specify Component Interfaces Software Development
TI Developer Conference 2002 7
Real-Time Operating System Features
Data Sharing– Queues– Memory– Semaphores– Mailboxes
Multitasking– Interrupt Subroutines– Tasks– Scheduling
Instrumentation– Timing
RTOS Issues– Deadlock, Priority Inversion
TI Developer Conference 2002 8
DSP/BIOS II Modules and Features
Data Sharing– MBX, QUE, PIP, SIO, SEM, MEM
Multitasking– HWI, SWI, TSK, PRD
Instrumentation– CLK, STS, LOG, CPU Load Graph, Execution Graph, RTDX
TI Developer Conference 2002 9
Software Architecture Diagram Notation and DSP/BIOS II Examples
Loosely-coupled FIFO Message Queue
Tightly-coupled Message/Reply Queue
Tightly-coupled Without Reply Queue
Event
Loosely-coupled Prioritized Message Queue
Task HWI, SWI, TSK, PRD
MBX, PIP, QUE/SEM, SIO, SWI mailbox
SEM, SWI mailbox, HWI
MBX, PIP, QUE/SEM, SIO, SWI mailbox
MBX, PIP, QUE/SEM, SIO, SWI mailbox, SEM
MBX, PIP, QUE/SEM, SIO
TI Developer Conference 2002 10
Design Project
Students work on a project throughout the course For the project students will:
– Choose a real-time DSP project, either self generated or ideas from the professor
– Follow the software life cycle– Write reports documenting progress at each stage– Produce a working real-time DSP based device
TI Developer Conference 2002 11
Example Project: Overview
Simple project for first semester with small class Develop a Visual Basic application to control the
Imaging Development Kit (IDK) Image processing includes the following functions:
– Sobel– Threshold– Correlation– Dilate– Erode– Median– Noise
TI Developer Conference 2002 12
Example Project: Requirements Analysis and Specifications
Identified requirements for user interface and processing to be performed (simplified)
– Select different processing for data displayed on the monitor
– Display raw data sample on the computer– Display transformed data sample on the computer
TI Developer Conference 2002 13
Example Project: System Context Diagram
VideoTransformation
System
Mouse Keyboard
User MonitorVideo DisplayMonitor
Video Camera
Video Input
Video Output
Mouse InputKeyboard Input
User DisplayOutput
TI Developer Conference 2002 14
Example Project: Integrated Task Structure, Target
VideoCapture
VideoDisplay
Transform
ControlMonitor
UserInterface
Streamingvideo
Streamingtrans. video
Data capturerequest
Trans. datarequest
Transformed data
Captureddata User commands
Usercommands
VideoBoard
VideoBoard
TI Developer Conference 2002 15
Example Project: Integrated Task Structure, Host
Event driven program (mouse clicks, menu selections, etc.)
Design different from task structure Written in Visual Basic Requirements
– Send user commands to target– Receive data from target as requested– Display data from target
Were not able to display on host because of slow transfer rate over parallel port
TI Developer Conference 2002 16
Example Project: User Interface
TI Developer Conference 2002 17
Real-Time DSP Course Needs
Hardware– DSK, EVM, Other
Software– CCS, Visual Basic (or Visual C++, Other OLE)
Course material– Design Process– RTOS Basics - Material and Labs
TI Developer Conference 2002 18
Conclusion
Use DSP/BIOS II in your next application Develop your own course in real-time system
development or add it to an existing course Visit website and download DSP/BIOS II and RTDX
laboratory assignments now– http://www.oc.edu/faculty/david.waldo/projects/nsfccli/
nsfccli.html– Use them to learn about DSP/BIOS II or use them in your
class– This material is based upon work supported by the National
Science Foundation under Grant No. 9952720
TI Developer Conference 2002 19
References
Gomaa, Hassan, Software Design Methods for Concurrent and Real-Time Systems, Addison Wesley, 1993.
Gomaa, Hassan, Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison Wesley Professional, 2000.
Kornecki, A., Zalewski, J., Eyassu, D., "Learning Real-Time Programming Concepts through VxWorks Lab Experiments ", Proceedings of 13th SEE&T Conference, Austin, TX, March 2000, pp. 294-301.