190 likes | 416 Views
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 david.waldo@oc.edu. TI Developer Conference 2002. Outline. Real-Time DSP Course Description
E N D
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 david.waldo@oc.edu TI Developer Conference 2002
Outline • Real-Time DSP Course Description • Real-Time Operating Systems (RTOS) and DSP/BIOS II • Example Project • Conclusion • References
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
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
Software Life Cycle - Waterfall Method Requirements Analysis Architectural Design Detailed Design Coding Unit Test Integration Test System Test
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
Real-Time Operating System Features • Data Sharing • Queues • Memory • Semaphores • Mailboxes • Multitasking • Interrupt Subroutines • Tasks • Scheduling • Instrumentation • Timing • RTOS Issues • Deadlock, Priority Inversion
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
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 SEM, SWI mailbox, HWI Event Loosely-coupled Prioritized Message Queue MBX, PIP, QUE/SEM, SIO
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
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
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
Example Project: System Context Diagram Video Camera Video Input Video Transformation System User Display Output Video Output Video Display Monitor User Monitor Mouse Input Keyboard Input Mouse Keyboard
Example Project: Integrated Task Structure, Target Video Board Video Capture Transform Video Display Streaming video Video Board Streaming trans. video Trans. data request Data capture request Control Monitor User Interface User commands Captured data Transformed data User commands
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
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
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
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.