Académique Documents
Professionnel Documents
Culture Documents
TITLE SPECIFICATION
PC Operation Program MDA-DSP Integration Development Environment Program.
DSP TMS320C50
Main RAM 64KB(62256 x 2)
Monitor ROM 128KB(27512 x 2)
Display Unit LCD(16 x 4Line)
Serial Port 1 RS-232C(8251A x 1)
System Clock 40 ㎒
Memory and I/O PAL 16L8 or GAL16V8 x 2
Decoder
MDA-DSP Integration Display the TMS320C50 internal architecture
Development Edit, Assemble, Compile, Download and program running of
Environment source file
Program. Program the trace, Break function
Code memory disassemble function
TMS320C50 Register Blank & External memory Dump and
editing function
Program scroll display function
Pop-up menu display
Program stop function by "ESC" key.
Use to keyboard and mouse
Keyboard 16Keyof data, 8Key of function
2
and pre-load capabilities with a userdefinable clock frequency ranging
from a maximum of 16 MHz down to 31.25 kHz. Each timer has a
dedicated external I/O port for R/W operations. Both share a single write
only external register for clock frequency selection. A disable bit for each
respective timer is also included.
• Discrete position change
The phase-advance algorithm requires that the DSP be interrupted
at every transition point of the commutation logic. This is achieved using a
summer with carry and a settable flipflop, in which the flip-flop is set by the
lACK signal once the interrupt routine is started.
• Internal programmable timer (using TINT)
This timer is used for the PWM inverter control within the current
control loop and allows duty cycle control from zero to a full PWM period.
An external flag register allows the DSP to recognize and service all of the
system interrupts. A dedicated external 16 bit register stores all the interrupt flags from
the respective detection circuits and activates a DSP interrupt upon receipt.
The DSP subsequently services the routine and reads the external register to
identity which action to take. It then clears the respective flag by writing back a masked
copy to the external flag register. If more than one service is required, the register
contents are preserved for the next interrupt service call. Consequently, if the register is
sequentially bit tested, it allows the service calls to be prioritized with only a small
processing overhead.
This technique allows a maximum of thirty-two user interrupts to be connected to
the two available DSP interrupt lines and requires only two external I/O ports for the
register addresses. However, it could easily be extended to allow 256 user interrupts
per DSP interrupt line, although this number of interrupts may be beyond the
serviceable capability of the DSP and would require four I/O external address ports.
3
FIGURE 1
MDA-DSP(TMS320C50) Board
FEATURES
1. MDA-DSP Integration Development Environment Program.
• Display the TMS320C50 internal architecture.
• Edit, Assemble, Compile, Download and program run of source file.
• Program Trace, Break functions.
• Code memory disassemble function.
• TMS320C50 registers Block & external memory Dump and Editing functions.
• Program Scroll display function.
• Pop-up menu display.
• Program Stop to "ESC" key.
• Use to keyboard and mouse.
2. Direct input to machine language.
3. LCD display function use to keyboard.
4. LED display of current system bus status.
5. Various command function.
6. I/O Port and interrupt experiment.
7. I/O Port experiment use to C-Language.
8. In-Output function use to audio or analog signal.
9. Analog signal input function use to 16bit A/D converter.
10. Analog signal output function use it 16bit D/A converter.
11. Extension memory and I/O port interface connector for use.
12. + 5V, +12V, -12V S.M.P.S(FREE VOLTAGE) Power
6
13. Wood case
DSP Processors
The Texas TMS320C50 is the C25 brought up to date (Figure 1): the multiply/add
can now achieve single cycle execution if it is done in a hardware repeat loop. It also
uses shadow registers as a fast way to preserve registers when context switching. It
has automatic saturation or rounding (but it needs it, since the accumulator has no
guard bits to prevent overflow), and it has parallel bit manipulation which is useful in
control applications.
FIGURE 2
7
scaling shifter and additional shifters at the outputs of both the accumulator and
multiplier. The multiplier has an input register, TREG0, and an output register, PREG.
The multiplier has direct input connections to both the program and data access to only
the data bus, not the program bus. Results are always sent to either the data bus or the
accumulator registers. In some cases, the result must first be stored back in data
memory before it can be used as an input for another calculation. Operations such as
adding two data values from memory or multiply/ accumulating with a data value can
require multiple cycles.
FIGURE 3
Harvard architecture
Separate data memory/bus and program memory/bus
8
Three reads and one or two writes per instruction cycle
Deterministic interrupt service routine latency
Multiply-accumulate in single instruction cycle
Special addressing modes supported in hardware
Modulo addressing for circular buffers (e.g. FIR filters)
Bit-reversed addressing (e.g. fast Fourier transforms)
Instructions to keep the pipeline (3-4 stages) full
Zero-overhead looping (one pipeline flush to set up)
Delayed branches
Modulo addressing
implementing circular buffers and delay lines
Data-shifting
9
C ost/U n it
A rch itectu
10
Market share: 95% fixed-point, 5% floating-point
Each processor family has dozens of members with different on-chip
configurations
Size and map of data and program memory
A/D, input/output buffers, interfaces, timers, and D/A
Drawbacks to conventional DSP processors
No byte addressing (needed for image and video)
Limited on-chip memory
Limited addressable memory on fixed-point DSPs, except Motorola 56300
(16 Mw data; 64 Mw program)
Non-standard C extensions to support fixed-point data
Data Path
• Specialized hardware performs all key arithmetic operations in 1 cycle.
• Hardware support for managing numeric fidelity:
• Shifters
• Guard bits
• Saturation
DSP Processor General-Purpose Processor
• Multiplies often take >1 cycle.
• Shifts often take >1 cycle.
• Other operations (e.g., saturation, rounding) typically take multiple cycles.
Instruction Set
• Specialized, complex instructions.
• Multiple operations per instruction.
mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 mov *r0,x0
11
• General-purpose instructions.
• Typically only one operation per instruction.
mov *r1,y0
mpy x0,y0,a
add a,b
mov y0,*r2
inc r0
inc r1
Memory Architecture
• Harvard architecture
• 2-4 memory accesses/cycle
• No caches—on-chip SRAM
DSP Processor General-Purpose Processor
• Von Neumann architecture.
• Typically 1 access/ cycle.
• May use caches.
Addressing
• Dedicated address generation units
• Specialized addressing modes; e.g.:
• Autoincrement
• Modulo (circular)
• Bit-reversed (for FFT)
• Good immediate data support
DSP Processor General-Purpose Processor
• Often, no separate address generation unit
• General-purpose addressing modes
12
Execution Control
DSP Applications
13
• Navigation equipment • Modems (POTS, ISDN, cable,...)
• Audio production • Noise cancellation
• Videoconferencing • Medical ultrasound
• Pagers • Patient monitoring
• Music synthesis, effects • Radar
FIGURE 4
14
• Use the key to move the cursor the display will scroll when you reach the edges
of the window. Press the Page-Up, Page-Down key to page through the program
memory.
Memory Mapped Register Window:
• This display the memory mapped registers. Any value within the window can be
altered by positioning the cursor and typing in a new value.
Block B2 Window:
• Any value within the window can be altered by positioning the cursor and typing
in a new value
• The values displayed here are updated after a breakpoint is encountered when
executing normally, after every instruction while single-stepping.
Block B0-B1 Window:
• Any value within the window can be altered by positioning the cursor and typing
in a new value.
• The values displayed here are updated after a breakpoint is encountered when
executing normally, after every instruction while single-stepping.
Stack Window:
• This displays the contents of stack. This window can net be written data.
File name Window:
• The current work file is display. if you change the work file, use the Work(W)-File
Open(O).
15
Developing Secure Communication Systems Using the
TMS320C50 DSP
Introduction
The growth of the communications market and the associated need for
information integrity and secrecy encourages the development of secure
communications systems. This work describes and characterizes the attributes of
secure communication systems over the Public Switched Telephone Network (PSTN).
This system supports speech, data (asynchronous serial format) and facsimile
transmissions. The design criteria for these systems are:
• Communication privacy
• High quality synthetic voice
• Speaker identification
• Low coding/decoding delay
• Standard group 3 fax support
• Complexity constrained to an acceptable price
16
FIGURE 5 SECURE COMMUNICATION OVER PSTN
17
FIGURE 6 SECURE COMMUNICATIONS MODEL
Source Coding
Source coding removes redundant information. Different schemes were used
depending on the type of source, i.e., data, Group-3 fax signals, and speech.
Data compression is performed by a universal source coder (based on Lempel-
Zev algorithm – LZ77).
Two model based speech-compression algorithms have been developed. The
Linear Predictive Coding (LPC) is used for transmission at 2.4 Kb/s were the Residual
Excited Linear Predictive Coding (RELP) is used to transmit at 9.6 Kb/s. The RELP
coder (RELP10) works if the link is established at the 9.6 Kb/s rate.
If the channel does not support 9.6Kb/s, the system commutes to the LPC coder
(LPC10) thus preserving the communication integrity. The system performs echo
cancellation since the speech interface is a standard 2-wire telephone.
Informal subjective listening tests were used during development to improve the
synthetic speech quality. A subjectively selected good version was used to compare
with some well-known systems, namely SPENDEX and STUIL. The final version was
selected based on Mean Opinion Scores (MOS) and paired comparisons tests
19
(Portuguese words and sentences are used). These tests have been carried out with
non-specialized listeners. Both speech-compression algorithms are discussed in the
following paragraphs.
LPC10 Coder
Table 1 summarizes the main characteristics of the LPC10 coder. Linear
Predictive Coding is used to transmit at 2.4 Kb/s. 5 6 7 To improve quality, refinements
have been introduced concerning quantization and interpolation of parameters, pitch
estimation, and the synthesis of the excitation function.
RELP10 CODER
The Residual Excited Linear Predictive Coding algorithm is used to transmit at
9.6 Kb/s. This transmission rate is a result of a commitment between the source coder-
decoder complexity, the channel coder/decoder complexity, and the transmission error
effects on the synthetic speech quality. In fact, the speech coder actually works at 8
Kb/s. The other bits in the frame are used for synchronization.
The RELP coder is a hybrid, communication-quality speech coder that combines
LPC spectral modeling with transmission of some aspects of the residual error signal.
This approach provides a major contribution to the naturalness of the synthetic speech,
since the residual signal carries the highest perceptual content. The absence of voicing
and pitch estimators significantly simplifies the analyzer and avoids the serious
consequences of pitch and voicing errors in LPC synthesis.
The RELP10 coder provides good signal quality with a moderate rate of
transmission (9.6 Kb/s). Table 2 summarizes the characteristics of the RELP10.
21
TABLE 2 RELP10 CODER CHARACTERISTICS
Table 3 lists the processor utilization and the memory requirements for the
RELP10 coder software running on a TMS320C50 at 40 MHz. The processor
requirement value reflects execution from zero-wait-state external SRAM (Program
segment) and use of processor internal RAM (Data segment). Both memory segments
can be mapped on the internal RAM.
Security
The cipher and decipher modules of the communication systemdisplayed in
Figure 7 are based on a cryptographic software library. The use of software, when
compared with the use of specialized hardware, makes the system more versatile and
easier to adaptate to different end users. The design goals of the cryptographic library
are:
• Characterization and implementation of the basic elements of cryptographic
algorithms: pseudo-random generators, oneway functions, permutation functions,
extended-precision modular arithmetic, etc.
• Implementation of standard and proprietary cryptographic algorithms and
protocols.
23
TABLE 4 NUMBER OF CYCLES AND EXECUTION TIMES OF EACH ALGORITHM
FOR DIFFERENT MODULUS LENGTHS
Hardware Architecture
Two hardware architectures were developed to sustain the proposed systems:
• Cryptographic card, capable of performing fast cryptographic and signal
processing operations, for use in a PC open system.
• Embedded systems for secure digital speech and data communications.
The kernel of the prototype versions is based on the TMS320C50 DSP Starter’s Kit
(DSK5), which includes the DSP and a COMBO (A/D and D/A converters and filters),
and offers the following advantages:
• Reduction in board complexity, decreasing the probability of logical errors and
inadequate physical layout, which results in a shorter design time.
• In-circuit debugging capabilities using the DSK5D debugger.
24
The presence of the data, address and control buses on the expansion connectors
of the DSK5 makes it possible to design a prototype board satisfying the system
memory and I/O requirements. The DSP and the COMBO remain on the kit. The design
of the final version (industrial version), without the DSK5, remains a trivial task if the
prototype is properly tuned.
The cryptographic card was designed to enable the use of the time-consuming
algorithms, such as the RSA, on applications with real-time requirements, running on a
PC platform. The first version of the Secure Facsimile Communication System (SFCS)
was implemented over a PC platform and this card is used to perform RSA cipher and
decipher operations as well as line tone-signaling detection. The channel encoding and
decoding task are accomplished using two commercial ISA bus Modem-Faxcards.
The card’s design criteria were:
• Low complexity
• Fast processing capabilities
• Fast communication interface with the host
25
The SARAM is mapped on both the data and the program space of the DSP as well
as in the memory space of the PC. The mutual exclusion in the access to the SARAM is
controlled by the arbitration logic, using the HOLD/ and HOLDA/ signals of the DSP.
This feature enables shared memory communication between host and DSP as well as
dynamic program loading. This allows the transmission of data between host and the
card to use all the ISA bandwidth, minimizing the communication overhead. This makes
the distribution of the processing viable. The low cost and specially fitted architecture of
the DSP makes it the best choice for the card kernel.
The prototype board with the DSK5 allows simultaneous debugging of the PC and
DSP programs, reducing the development phase for the interface software.
The embedded system was designed to provide the hardware base of the Secure
Personal Communication System (SPCS) supporting the implementation of the LPC10
and RELP10 vocoders.
This architecture was designed to be:
• Simple to minimize cost
• Easy to update as a result of the vocoder’s refinement and/or integration of other
vocoders in response to speech coding evolution
• Provide secure data communication
• Provide a friendly human interface
The system is constituted by a main kernel (highlighted area in Figure 9) consisting of:
• TMS320C50
• RAM
• ROM
The system also includes these peripherals:
• COMBO chip
• I/O ports (4x4 keyboard, LCD, Smart-card, etc.)
• Serial Communication Controller (SCC)
• Socket-Modem and Data Access Arrangement (DAA)
• Subscriber Line Interface Circuit (SLIC)
26
Figure 9 SPCS Hardware Architecture
27
FIGURE 10 COMPUTATIONAL MODEL: SYNCHRONIZATION AND
COMMUNICATION
This computational model has two main background processes (Coder and
Decoder) and several foreground tasks associated with hardware interrupts.
Foreground tasks virtualize an input/output block system. The transmitter works this
way: in the codification process one block of speech samples (Audio buffer) is
transformed into one encrypted data frame while the emission sends another data
frame (Data buffer). The data frame includes synchronization and error control
information.
28
The receiver (reception and the de-codification) works inversely. Communication
between tasks uses common memory with simple synchronization mechanisms. The
foreground tasks are associated with A/D and D/A hardware interrupts and to modem
interrupts (HENT). The processor is shared via external interrupt processing. Coder and
Decoder processes run asynchronously in background.
In data communication mode, the speech coder task is replaced by the universal
source coder. The interrupts from the A/D and D/A are replaced by the SCC interrupt.
29
BIBLIOGRAPHY
http://www.ece.utexas.edu/~bevans/papers/1998/beamforming
http://www.ece.utexas.edu/~ravib/mmxdsp/
http://www.ece.utexas.edu/~bevans/talks/benchmarking97/sld001.htm
http://www.eg3.com/dsp
http://www.bdti.com
http://www.datasheetarchive.com/datasheet-pdf/010/DSA00165104.html
http://dsp-book.narod.ru/spra318.pdf
http://www.testequipmentdepot.com/unisource/pdf/mdadsp_ds.pdf
30