Advertisement

Quick Links

One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com
Using Hardware Controls with SigmaDSP GPIO Pins

INTRODUCTION

Several devices in the SigmaDSP® family include general-
purpose input/output (GPIO) pins. These pins can be
connected to external hardware elements, such as LEDs,
push-buttons, or rotary encoders.
Some of the GPIO pins can be multiplexed to an auxiliary ADC,
allowing direct connection of a potentiometer or an analog
control voltage to the IC. Each pin can operate in a variety of
modes, including open-collector output, inputs
with debounce, and outputs driven directly by the control port.
by Brett Gildersleeve
Within the SigmaStudio™ graphical programming software,
GPIO pins can be assigned to control or be controlled by
various parts of the audio signal processing program. The
functionality of the pins can be changed during run-time
operation of the device. Use of the GPIO pins for user interface
functionality can reduce or eliminate the need for a micro-
controller, which can greatly reduce the cost of a simple audio
system.
This application note begins by describing the hardware inter-
facing necessary to effectively use the GPIOs. In addition, this
application note discusses several cases that could greatly reduce
the complexity of a SigmaDSP audio system.
Rev. A | Page 1 of 20
AN-951
APPLICATION NOTE

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the AN-951 and is the answer not in the manual?

Questions and answers

Summary of Contents for Analog Devices AN-951

  • Page 1: Introduction

    AN-951 APPLICATION NOTE One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com Using Hardware Controls with SigmaDSP GPIO Pins by Brett Gildersleeve INTRODUCTION Within the SigmaStudio™ graphical programming software, GPIO pins can be assigned to control or be controlled by Several devices in the SigmaDSP®...
  • Page 2: Table Of Contents

    AN-951 Application Note TABLE OF CONTENTS     Introduction ..................1 Example Implementations of GPIO in Software ......8     Revision History ................2 Push-Button Volume Control—Up/Down/Mute .....8     Hardware Interfacing ............... 3 Rotary Encoder Volume Control ..........10  ...
  • Page 3: Hardware Interfacing

    Application Note AN-951 HARDWARE INTERFACING GPIO pins can be interfaced to several types of hardware SigmaStudio calculates the phase difference between pulses on controls. This section details several examples of these controls the two pins to recognize clockwise and counter-clockwise turns.
  • Page 4: Using Gpio In A Sigmastudio Project

    GPIO pins are labeled MP (for multipurpose), but they are used in the same way. Consult the relevant device and evaluation board data sheets, available from Analog Devices, Inc., for more details about GPIO register settings. Figure 9. GPIO Section of the ADAU170x Register Control Window...
  • Page 5 Application Note AN-951 Input GPIO Debounce Output GPIO When connecting a switch or push-button to a GPIO pin, a This setting allows the pin to be used as a digital output. common problem that arises is contact bounce (also called Typically, each pin can drive a maximum of a few milliamps.
  • Page 6: Changes To Figure 16 And Adc Section And Figure 18

    AN-951 Application Note Input Driven by Control Port In this mode, the GPIO pin is bypassed, and the core reads its When the pin is set in ADC mode, it is used as one of the multi- value from the associated register. This register’s value can be plexed inputs to the auxiliary ADC.
  • Page 7: Using The Evaluation Board With The Gpio Board

    Application Note AN-951 USING THE EVALUATION BOARD WITH THE GPIO BOARD Some SigmaDSP evaluation packages include a daughterboard • Six slide switches with reference GPIO interface circuits. It may be helpful to • One incremental rotary encoder evaluate GPIO applications or algorithms by using this board.
  • Page 8: Changes To Push-Button Volume Control-Up/Down Mute Section

    AN-951 Application Note EXAMPLE IMPLEMENTATIONS OF GPIO IN SOFTWARE This section provides examples of some commonly used values from the ADAU1701 to an external EEPROM on power- GPIO conditioning signal flows in the context of a SigmaStudio down. For more information, see the ADAU1701 data sheet.
  • Page 9 Application Note AN-951 Table 1 shows several 33-point index lists of ascending and The number of points in a volume curve is not fixed at 33. It descending values for linear and logarithmic volume controls. can be changed as required in a given application.
  • Page 10: Rotary Encoder Volume Control

    AN-951 Application Note ROTARY ENCODER VOLUME CONTROL volume control example described in the Push-Button Volume Control—Up/Down/Mute section. This example project uses the rotary encoder cell as a volume The cells used in this example are as follows: GPIO Input (2), control.
  • Page 11: Push-Button-Controlled Demultiplexer

    Application Note AN-951 PUSH-BUTTON-CONTROLLED DEMULTIPLEXER × This example uses a set of two push-buttons to control a The first eight indices, converted to 5.23 number format, are demultiplexer, which allows a 1 kHz sine wave to be output shown in Figure 24.
  • Page 12: Push-Button-Controlled Filter

    AN-951 Application Note PUSH-BUTTON-CONTROLLED FILTER The cell names as they appear in the software and the number of each used in this example are as follows: GPIO Input (2), This example uses the push-buttons as described in the Interface Read (1), Up/Down Control w/Lookup Table (1),...
  • Page 13: Auxiliary Adc Volume Control

    Application Note AN-951 AUXILIARY ADC VOLUME CONTROL AUXILIARY ADC VOLTAGE-CONTROLLED OSCILLATOR Sometimes it is desirable to have analog control of one or more parameters in a system. The most common case is an analog In this example, an analog input voltage is used to control the master volume control.
  • Page 14: Auxiliary Adc Slew Multiplexer

    AN-951 Application Note AUXILIARY ADC SLEW MULTIPLEXER Input Entry (1), Multiply (1), Tone (lookup/sine) (5), Index Selectable Slewing Mux (1), T Connection (1), and Output (2). An analog input voltage can also be used to select between BLINKING LED sources (see Figure 31). In this example, an input voltage is...
  • Page 15: Added Gpio Expansion Board Schematics Section

    Application Note AN-951 GPIO EXPANSION BOARD SCHEMATICS Figure 33. GPIO Extension Board, Connectors, and Power Rev. A | Page 15 of 20...
  • Page 16 AN-951 Application Note Figure 34. GPIO Extension Board, GPIO Circuitry Rev. A | Page 16 of 20...
  • Page 17 Application Note AN-951 Figure 35. GPIO Extension Board, LED Driver (Not Populated) Rev. A | Page 17 of 20...
  • Page 18 AN-951 Application Note NOTES Rev. A | Page 18 of 20...
  • Page 19 Application Note AN-951 NOTES Rev. A | Page 19 of 20...
  • Page 20 AN-951 Application Note NOTES ©2008-2010 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. AN07177-0-9/10(A) Rev. A | Page 20 of 20...

Table of Contents