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