Transcript Document
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 [email protected] TI Developer Conference 2002 Outline Real-Time DSP Course Description Real-Time Operating Systems (RTOS) and DSP/BIOS II Example Project Conclusion References TI Developer Conference 2002 2 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 3 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 4 Software Life Cycle - Waterfall Method Requirements Analysis Architectural Design Detailed Design Coding Unit Test Integration Test System Test TI Developer Conference 2002 5 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 6 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 7 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 8 Software Architecture Diagram Notation and DSP/BIOS II Examples Task HWI, SWI, TSK, PRD Loosely-coupled FIFO Message Queue MBX, PIP, QUE/SEM, SIO, SWI mailbox Tightly-coupled Message/Reply Queue MBX, PIP, QUE/SEM, SIO, SWI mailbox Tightly-coupled Without Reply Queue MBX, PIP, QUE/SEM, SIO, SWI mailbox, SEM Event SEM, SWI mailbox, HWI Loosely-coupled Prioritized MBX, PIP, QUE/SEM, SIO Message Queue TI Developer Conference 2002 9 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 10 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 11 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 12 Example Project: System Context Diagram Video Camera Video Input Video Output Video Display Monitor Video Transformation System Mouse Input Mouse User Display Output User Monitor Keyboard Input Keyboard TI Developer Conference 2002 13 Example Project: Integrated Task Structure, Target Video Board Video Capture Transform Streaming video Streaming trans. video Video Display Video Board Trans. data request Data capture request Control User commands Captured data Monitor User Interface User commands Transformed data TI Developer Conference 2002 14 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 15 Example Project: User Interface TI Developer Conference 2002 16 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 17 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/nsfc 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. 9952720 TI Developer Conference 2002 18 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. 294301. TI Developer Conference 2002 19