Upload
reuben
View
41
Download
3
Tags:
Embed Size (px)
DESCRIPTION
EE 445S Real-Time Digital Signal Processing Lab Fall 2013. Lab #1 Introduction to Hardware & Software Tools of TMS320C6748 DSK. Outline. Introduction C6748 DSK Board C6748 DSP C6700 Instruction Set Architecture DSP/BIOS Code Composer Studio winDSK LabVIEW MATLAB/MathScript. 2. - PowerPoint PPT Presentation
Citation preview
EE 445S Real-Time Digital Signal Processing Lab
Fall 2013
Lab #1Introduction to Hardware & Software
Tools of TMS320C6748 DSK
2
Outline IntroductionC6748 DSK BoardC6748 DSPC6700 Instruction Set ArchitectureDSP/BIOSCode Composer StudiowinDSKLabVIEWMATLAB/MathScript
3
Introduction
Goal is to implement communication system components by writing C and/or assembly language programs for the TI TMS320C6748 fixed/floating-point DSP.
C6748 DSP resides on the OMAP-L138EVM board which connects to the PC by USB.
4
Fixed vs. Floating Point DSP’s Fixed Point DSP’s (Modems, Controllers, Phones…)Cheaper and consume less powerNeed special care when programming to avoid
overflowsMore dominant in the marketTMS320C1x, ’C2x, ’C20x, ’C24x (16 bit, for
control) ’C5x, ’C54x, ’C55x (16 bit, wireless phones and
modems) ’C62x, ’C64x (16 bit, DSL, imaging, video)
Floating Point DSP’s (DSL, Video, Imaging…)Easier to program,Complex architecture (more computationally
demanding)More expensive. ’C3x, ’C4x, ’C67x (32-bit, DSL, imaging, video)
5
Advantages of DSP’s vs. Analog Circuit
Can implement complex linear and non-linear algorithms,
Application can be modified simply by changing code,
Highly reliable,Manufacturing is fairly easy.
6
OMAP-L138 Functional Block Diagram
Functional Units
7
.M Multiplication Unit:16-bit × 16-bit, 32-bit × 32-bit, 64-bit × 64-bit
.L Logic Unit:Arithmetic, comparisons and logic operations.
.S Shifter Unit:Bit manipulation (set, get, shift, rotate).
.D Data Unit:Load/Store to/from memory (exclusively)Performs addition and pointer arithmetic.
8
DSP Features
375/456-MHz Fixed/Floating-Point – Load-Store Architecture with VLIW architecture.
10/100 Mb/s Ethernet MAC (EMAC) USB2.0 OTG, USB1.1 OHCI interface Two inter-integrated circuit (I2C) bus interfaces One multichannel audio serial port (McASP) Two multichannel buffered serial ports (McBSP)
with FIFO buffers Two SPI interfaces with multiple chip selects. Four 64-bit general-purpose timers.
DSP Features (Contd.)
Configurable 16-bit host port interface (HPI). 9 banks of 16 pins of general-purpose
input/output (GPIO) with programmable interrupt/event generation modes.
Three UART interfaces Asynchronous and SDRAM external memory
interface (EMIFA) for slower memories or peripherals.
A higher speed DDR2/Mobile DDR controller. A Video Port Interface (VPIF)
9
TMS320C6748 Megamodule Block Diagram
10
DSP Features (Contd.) C674x Two Level Cache Memory Architecture– 32K-Byte L1P Program RAM/Cache– 32K-Byte L1D Data RAM/Cache– 256K-Byte L2 Unified Mapped RAM/Cache– Flexible RAM/Cache Partition (L1 and L2) Enhanced Direct-Memory-Access Controller 3
(EDMA3)– 2 Channel Controllers– 3 Transfer Controllers– 64 Independent DMA Channels– 16 Quick DMA Channels– Programmable Transfer Burst Size
11
C6748 Floating-Point VLIW DSP Core Load-Store Architecture With Non-Aligned
VLIW DSP Support Supports TI’s Basic Secure Boot – 64
General-Purpose Registers (32 Bit) Six ALU (32-/40-Bit) Functional Units
• Supports 32-Bit Integer, SP (IEEE Single Precision/32-Bit) and DP (IEEE Double Precision/64-Bit) Floating Point• Supports up to Four SP Additions Per clock, Four DP Additions Every 2 clocks.
12
C6748 Floating-Point VLIW DSP Core (Contd.)
Two Multiply Functional Units Mixed-Precision IEEE Floating Point Multiply
Supported up to:– 2 SP x SP → SP Per Clock– 2 SP x SP → DP Every Two Clocks– 2 SP x DP → DP Every Three Clocks– 2 DP x DP → DP Every Four Clocks Fixed Point Multiply Supports Two 32 x 32-Bit
Multiplies, Four 16 x 16-Bit Multiplies, or Eight 8 x 8-Bit Multiplies per Clock Cycle, and Complex Multiples
13
DSP/BIOSA real-time operating system specific
to the Texas Instruments DSPs. DSP/BIOS provides a wide range of
system services to an embedded application: Preemptive multitasking Memory management Real-time analysis.
14
DSP/BIOS featuresThe scheduler
Its associated thread classes provide a mechanism for arranging and controlling the software’s execution.
Memory managercontrol the operation of the memory/ cache
architecture and control allocation of memory resources.
15
Periodically interrupt the
currently executing thread
Periodically interrupt the
currently executing thread
Determine what the highest priority thread is that is
ready to execute
Determine what the highest priority thread is that is
ready to execute
Start that thread running
Start that thread running
Hardware timers
Hardware timers
DSP/BIOS features (Contd.)
Instrumentationprovides deterministic, minimally-invasive
analysis, profiling, and statistical functions.
Communications resourcesqueues, pipes, streams and a device driver
mechanism.
Support librariesprovide standardization of access and
hardware abstraction across multiple DSPs.
16
DSP/BIOS Thread Types
Priorit
y
HWIHardware Interrupts
Implements ‘urgent’ part of real-time event Hardware interrupt triggers ISRs to run Priorities set by hardware
SWISoftware Interrupts
Performs HWI ‘follow-up’ activity ‘posted’ by software PRDs (periodic functions) are prioritized as SWIs 14 priority levels
TSKTasks
Runs programs concurrently under separate contexts Usually enabled to run by posting a ‘semaphore’
(a task signaling mechanism) 15 priority levels
IDLBackground
Multiple IDL functions Runs as an infinite loop (like traditional while loop) Single priority level
18
Code Composer Studio
CCS is TI’s proprietary IDE that provides a transition between a high-level DSP program and an on-board machine language program. It is used to: Generate programs for the C6748 DSP using
C language,Load them into the DSK,Run them,Monitor program execution.
19
winDSKA windows-based DSP demonstration
programNo need of other software.Direct communication with DSP board
through serial portDemonstration of all the projects are
available.
20
LabVIEW
Laboratory Virtual Instrumentation Engineering Workbench.
It is a powerful IDE for data acquisition, instrumentation, analysis, signal processing, control…
LabVIEW programs called Virtual Instruments (VI’s).
Each VI has 2 components:Front Panel: user interface of the VI, has
all controls and indicators for I/O.Block Diagram: code is added using
graphical representations of functions to control front panel objects.
21
LabVIEW
Front Panel
Block Diagram
Online LabView Interactive Tutorial can be found at:
http://www.ni.com/gettingstarted/labviewbasics/
22
MATLAB
MATrix LABoratory. It is a numerical computing environment
and programming language. Allows easy matrix manipulation, plotting
of functions and data, implementation of algorithms, creation of GUI’s…
Includes many specialized toolboxes that extend the regular MATLAB environment (communications, Control, Signal Processing…).
23
MATLABCommand Window
Current Directory
Workspace
Command History
24
MATLAB
MATLAB Help is very practical and user-friendly.
Can access the MATLAB Help by pressing F1, or going to “Help → MATLAB Help”.
Also, in the Command Window, can typehelp <function_name> to show the help
document of a given function.lookfor <keyword> to searche all help
documents for a given keyword. MATLAB Tutorial can be found at
http://www.mathworks.com/academia/student_center/tutorials/
25
MathScript
Software from LabVIEW. Same syntax as MATLAB but does not support
all functions available in MATLAB. Appendix D in course reader http://zone.ni.com/devzone/cda/tut/p/id/3502
26
…The End!
See You Next Week!