TigerSHARCprocessor and evaluation board
Different capabilitiesDifferent functionality
2 / 26
Concepts tackled
Differences between “processor” and “evaluation board” Functionality present on TigerSHARC evaluation board TigerSHARC is NOT a microcontroller.
A/D and D/A added simply to give evaluation board “something to process” ENEL619.04 (Topic 23) “project”
Learn about TigerSHARC processor architecture Learn basics of how assembly code and architecture interact Set up a project (mainly in) in “C++” to capture a signal Do some signal processing in “C++” Work through optimizing “one” subroutine into assembly code using more and more
parallel processor features Use the same (or equivalent) code to look at optimization issues on other processor
Blackfin, TI C64XX+ and C64XX, and Beagle (2 core with ARM and TI C64XX
3 / 26
TS201S Evaluation board contains 2 processors P0 (DSPA) and P1 (DSPB)
TWO TS201S processors
Error messageswhen linking about P0 and P1 mean problems withcode on specificProcessor 0 (P0)Or processor (P1)
4 / 26
Evaluation board – Link Ports
Designed for “star”Configuration –Up to 8 processorsworking together
P0 to P7 (selectableby switches on backof evaluation board(Never tried – Don’tdestroy link ports)
5 / 26
JTAG debug ONLY AVALIABLE IN 3rd floor labs•ICT318 TigerSHARC (some stations).• ICT320 Blackfin (some stations).
Some boards available for home use of USB connector. Lower speed communication rates than JTAG (factor of 20 - 100).
Discuss deposit issues for home loan.
Audio connectors.Max input voltage around 1 V p-pwith no DC.
Too great a voltage destroys the boardUse MPEG or other players
Keep Volume downDamage and distortion issues
6 / 26
Buttons and LEDs splitbetween processors
Much “stuff” on the boardshared between processors(but NOT all)
Will be using IRQ lines
IRQ0 – button switch on panel
IRQ1 – digital signal from light sensor
Demonstrate “SIMPLE” dual processing
7 / 26
Evaluation BoardArchitecture
P0
P1
8 / 26
Processorscan shareEXTERNALmemory
Memoryallocationdepends on ID #
Processorscan access each other’sINTERNALmemory and registers
MEMORY MAP USED IN 8 TigerSHARC PROCESSOR CLUSTER
9 / 26
Note – labeled processor A and Brather than processor 0 and 1
10 / 26
Note – labeled processor A and Brather than processor 0 and 1
Will be using IRQ lines
IRQ0 –button switch on panel
IRQ1 – digital signal from light sensor
Demonstrate “SIMPLE” dual processing
11 / 26
How to use the evaluation board capability Read a lot in the hardware manual
Modify some of the example programs provided in
C:\Program Files\Analog Devices\VisualDSP 5.0\TS\Examples\ADSP-TS201 EZ-Kit Lite
and then read a lot in the hardware manual
CONCEPT OF LABS Signal processing demonstrated through the
development of algorithms for an improved doctors “stethoscope” and associated equipment.
Demonstration rather than commercial exploitation of TigerSHARC’s highly parallel processing capability. Basically looking for something reasonably easy, but non-
trivial, to hang the lectures and laboratories on.
12 / 26
Example of a suitable projectTSL230R-Based Pulse OximeterA small section of plastic electrical conduit houses
both the TSL230R sensor and the red and IR LEDs. The TSL230R registers the amount of light passing through the inside diameter of the conduit, which, in this case, is through a patient’s finger.
Adapted from
www.circuitcellar.com/library/print/1204/Bachiochi173/4.htm
13 / 26
What to we expect to see?As blood flows through the circulatory system, it changes density
because of the heart’s pumping pressure. This change also changes the absorption rate of light, effectively modulating the light absorption. The total light absorption is a combination of modulated and constant absorption, which is similar to a small AC noise riding atop a DC voltage.
Adapted from www.circuitcellar.com/library/ print/1204/Bachiochi173/4.htm
14 / 26
How we far will go in the laboratory is your choiceStudy the absorption relationship of oxygen levels in
the blood for the red and IR wavelengths. Notice how the oxygen level affects the absorption rate at the red wavelength while it remains almost constant at IR wavelengths.
Adapted from
www.circuitcellar.com/library/print/1204/Bachiochi173/4.htm
15 / 26
Details from Circuit Cellar ArticleThe TSL230R’s frequency output displayed on my
oscilloscope shows a slow frequency jitter marked by the vertical cursors. The output frequency shifts with the varying amount of light absorption because of the blood pulsing within the light’s path.
Adapted from
www.circuitcellar.com/library/print/1204/Bachiochi173/5.htm
16 / 26
Period of light sensor from article – can we do better?This Excel chart displays imported sample values over
time. Samples of the output frequency (30 samples per second formatted in microseconds) were sent out the serial port and captured to a file by HyperTerminal.
Adapted from
www.circuitcellar.com/library/print/1204/Bachiochi173/7.htm
17 / 26
Labs. Check article for how “determine heart rate” was
handled in original article. Can we pick out a more accurate heart beat /
signal using a DSP convolution / correlation approach? These are numerical methods involving much memory use,
adds and multiplications. Typical DSP stuff. Straight forward optimization show TigerSHARC capability If did on Beagle, Blackfin – what differences in development and
performance
18 / 26
19 / 26
ECE-ADI-Project Was asked to develop (as part of Analog Devices University
Ambassadorship) to develop demonstration programs and place on the web Have now developed
SHARC – ADSP-21061 (Previous 515) Audio project utilities
Blackfin – ADSP-BF533 (ENCM511 in 2008) Audio project utilities, Video Project utilities
Blackfin – ADSP-BF533 (Current ENCM491 – Nygren) Real time operating systems
TigerSHARC – ADSP-TS201 (Current ENCM515, ENCM619.04 (Topic23) Embedded Test Driven Development Environment (E-TDD)
Blackfin, TigerSHARC, SHARC, Microsoft studio Find at http://www.enel.ucalgary.ca/People/Smith/
ECE-ADI-Project/Index/index.htm
The code is not well written unless it is testable Write C code with tests to show concepts
works Optimize the code in one way, use same test
to show still works but faster Optimize the code in another way, use same
test to show still works but faster still Move code over to another processor, use
same tests etc
20 / 26
21 / 31
Standard development methodWaterfall method Heavy on documentation, light on testing
DescribeRequirements
Design Solution
Build Solution
Test Solution
WriteAnalysis Document
WriteDesign Document
WriteTest Plan Document
TLD -- IDAA
TestLastDevelopment
(if done at all)
22 / 26
TESTS EXPRESS DESIGN INTENTTDD approach to develop C++ code
DescribeRequirements
Design Solution
Build Solution Test Solution
WriteAcceptance Tests
WriteUnit Tests
CUSTOMER
DEVELOPER
Work with customer to check that the TESTS PROPERLY EXPRESS WHAT CUSTOME WANTS DONE Iterative process with customer “heavily involved” – “Agile” methodology.
Some embedded stuff on test driven development in the literature Examine in more detail as part of
“individual” presentation?
23 / 26
24 / 26
Rule #1 of assembly code programming
Don’t use assembly code programming
What speed improvements occur when you turn on the “C++ optimizer” – use Embedded Unit “Timing features”?
Wewill look at the code in detail to understand how the compiler is taking advantage of TigerSHARC processor to get code optimization. Initially we will “look” at that code and say “oh my!” Later we can think about comparing the performance of the compilers
on different processors. Position paper or project
Speed improvements when we use the “C++” optimizer
25 / 26
Concepts tackled
Differences between “processor” and “evaluation board” Functionality present on TigerSHARC evaluation board TigerSHARC is NOT a microcontroller.
A/D and D/A added simply to give evaluation board “something to process” ENEL619.04 (Topic 23) “project”
Learn about TigerSHARC processor architecture Learn basics of how assembly code and architecture interact Set up a project (mainly in) in “C++” to capture a signal Do some signal processing in “C++” Work through optimizing “one” subroutine into assembly code using more and more
parallel processor features Use the same (or equivalent) code to look at optimization issues on other processor
Blackfin, TI C64XX+ and C64XX, and Beagle (2 core with ARM and TI C64XX
Top Related