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 TI Developer Conference 2002
TI Developer Conference Outline Real-Time DSP Course Description Real-Time Operating Systems (RTOS) and DSP/BIOS II Example Project Conclusion References
TI Developer Conference 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 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 Software Life Cycle - Waterfall Method Architectural Design Detailed Design Coding Unit Test Integration Test System Test Requirements Analysis
TI Developer Conference 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 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 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 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 TaskHWI, 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 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 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 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 Example Project: System Context Diagram Video Transformation System MouseKeyboard User MonitorVideo Display Monitor Video Camera Video Input Video Output Mouse Input Keyboard Input User Display Output
TI Developer Conference Example Project: Integrated Task Structure, Target Video Capture Video Display Transform Control Monitor User Interface Streaming video Streaming trans. video Data capture request Trans. data request Transformed data Captured data User commands User commands Video Board Video Board
TI Developer Conference 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 Example Project: User Interface
TI Developer Conference 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 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 – cli.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
TI Developer Conference References Gomaa, Hassan, Software Design Methods for Concurrent and Real-Time Systems, Addison Wesley, Gomaa, Hassan, Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison Wesley Professional, 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