Background Telemetry Channel (BTC) on the BlackFin - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Background Telemetry Channel (BTC) on the BlackFin

Description:

BTC uses shared registers that both the host and target application have read ... BTC is designed for use over a JTAG connection through an emulator ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 18
Provided by: marti136
Category:

less

Transcript and Presenter's Notes

Title: Background Telemetry Channel (BTC) on the BlackFin


1
Background Telemetry Channel (BTC) on the BlackFin
  • Presented by Alan Martin
  • Winter 2004 - ENCM 515

2
What is it?
  • BTC is a method of communication between an
    embedded processor (the Blackfin in this case)
    and the host (your computer).
  • This communication occurs in the background, not
    interfering with other tasks that the processor
    may be performing at the time

3
How does it work?
  • BTC uses shared registers that both the host and
    target application have read/write access to
    during program run-time
  • BTC is designed for use over a JTAG connection
    through an emulator
  • USB works, but to a limited extent

4
Why do I care?
  • You can view data without having to stop the
    processor first.
  • You can view data that is constantly changing,
    and watch it change
  • You can change data values while the program is
    running, and the program will immediately use
    these new values without having to recompile

5
WOW! How do I use it?
  • You need to include a library file with your
    project libbtc532.dlb on the Blackfin 533
  • You should also include btc.h with your project,
    unless you know all the macros youll need and
    define them yourself (this is a waste of time in
    my opinion, since the header file is easy to use)

6
Is that it?
  • Not entirely.
  • You still need to define some BTC channels in
    your program
  • You also need to initialize BTC
  • Finally, you need to set the priority of BTC

7
Channels? Like CNN?
  • You need to define a name for each channel
    (basically a label for some data you will read)
  • You also need to define the starting address and
    the length of the channel, much like a circular
    buffer

8
Initialize? Priority? What?
  • BTC priority is determined by where you put the
    btc_poll function call. For example
  • Placing it in a high-priority interrupt
    effectively makes it high priority
  • Placing it in a low-priority interrupt gives it
    low priority
  • Placing it in a loop in the main body of the
    function can have different effects depending on
    how interrupts on your system work

9
Are you quite finished?
  • Well no.
  • BTC is now setup and ready for use, but you have
    to setup the BTC window in VisualDSP to
    read/write the values.
  • You also need to do a couple things in order to
    view a plot being updated by BTC as you go.

10
BTC memory?
  • The BTC memory window is a debug window, much
    like Plot. It can be accessed through the same
    menu
  • Double-click on a number to edit it (if
    possible).

11
Plot windows with BTC? How?
  • Open a plot window as normal
  • Right click on the window and select Auto Refresh
    Settings and then select the settings you need
  • Dont forget to set the refresh rate and activate
    the Auto Refresh

12
Now are you finished?
  • Yes. BTC is now ready to use! Build the
    program, run it, and youll see BTC in action!

13
You lied! This doesnt work!
  • The simulator does not currently support BTC
  • Using the USB connection will give you a much
    more limited amount of BTC. You can still view
    arrays, but only one plot at a time can be
    updated.(There may be other limits as well, but
    those are what I have found)

14
Are there any examples?
  • There are a few sample programs available that
    use BTC.
  • Timer run using C code
  • Timer run using Assembly code
  • FFT code, which updates a plot
  • Audio example, where you can modify a value using
    BTC for volume control

15
Did you say Assembly code?
  • Yes, I did. BTC can be run in Assembly code as
    well as C/C. The code is only slightly more
    complicated.

16
Now I can use BTC?
  • Now you can use BTC.
  • For best learning, download one of the examples
    and run it. The examples come with a readme.txt
    file that explains how to operate BTC in
    VisualDSP.
  • Theres no better way to learn than by doing

17
Who told you what to say?(aka References)
  • VisualDSP Development Environment for Analog
    Devices Embedded Processors for Digital Signal
    Processing, Analog Devices, 2003
  • VisualDSP Getting Started Guide for 16-bit
    Processors, Analog Devices, n.d.
  • Examples programs of BTC operation from sample
    programs installed with VDSP 3.5
Write a Comment
User Comments (0)
About PowerShow.com