13
Digitally Configurable Audio Routing Patchbay DCARP System Software Presentation Aaron Cramer Western Washington University 2009

Digitally Configurable Audio Routing Patchbay

  • Upload
    jerome

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

Digitally Configurable Audio Routing Patchbay. DCARP System Software Presentation Aaron Cramer Western Washington University 2009. General System Design. MCU: Cypress PSoC CY8C21001 Bus Frequency: 24MHz Memory Requirements: ROM ~ 7.2 KB - PowerPoint PPT Presentation

Citation preview

Page 1: Digitally Configurable Audio Routing Patchbay

Digitally Configurable Audio Routing Patchbay

DCARP System Software PresentationAaron Cramer

Western Washington University2009

Page 2: Digitally Configurable Audio Routing Patchbay

General System Design

MCU: Cypress PSoC CY8C21001Bus Frequency: 24MHzMemory Requirements:

ROM ~ 7.2 KB User Data Storage: save up to 50 routing

configurations64Bytes/Configurations * 50 Configurations = 3.2 KB

Program Storage: ~ 4.0 KB RAM ~ 450 Bytes

Copy 64Byte blocks from Flash Miscellaneous variables, user module data, etc.

PSoC Resources Used:o CSD: 3 digital blocks, 3 analog blockso SPI: 1 digital block

Page 3: Digitally Configurable Audio Routing Patchbay

State Machine Design

System State Machine: MAIN ROUTE SAVE RECALL

Page 4: Digitally Configurable Audio Routing Patchbay

State Description

Prompts user to Route, Save, or Recall

Endless loop monitors keypad for function sensor press, ignores all other input

Main State

Page 5: Digitally Configurable Audio Routing Patchbay

Route StatePrompts user for source and

destination channelsValidates ChannelsCalls function to update

current configuration and program crosspoint

State Description

Page 6: Digitally Configurable Audio Routing Patchbay

Save StatePrompts user for

configuration numberValidates configuration

numberCalls function to store

current configuration data in flash

State Description

Page 7: Digitally Configurable Audio Routing Patchbay

Recall StatePrompts user for

configuration numberValidates configuration

numberCalls function to retrieve

data from flash and program crosspoint

State Description

Page 8: Digitally Configurable Audio Routing Patchbay

CPU Load

CPU Load: 100% Sensor polling loops and blocking routines used CPU is always doing something

Page 9: Digitally Configurable Audio Routing Patchbay

Module Description

Module Functions DataMain.c Main(), ErrHandler() INT8U CurrentConfigArray[][],

INT8U SourceCh, INT8U DestCh, INT8U ConfigNum

SnsKeypad.c DynamicSensorScan(), DynamicBaselineInit(), GetAudioCh(), GetSelectedFnc(), GetConfigNum(), GetValidSensor()

Route.c ProgramCrosspointArray(), RouteAudio(),

ConfigData.c SaveConfig(), RecallConfig() INT8U NewConfig[][]

Cypress Modules

APIs

CapSense CSD CSD_Start(), CSD_ScanSensor(), CSD_UpdateSensorBaseline(), CSD_bIsSensorActive(), CSD_SetRefValue(),

SPI Master SPIM_Start(), SPIM_SendTxData(), SPIM_bReadStatus()

LCD LCD_Start(), LCD_PrString()

E2PROM E2PROM_Start(), E2PROM_bE2Read(), E2PROM_bE2Write()

Page 10: Digitally Configurable Audio Routing Patchbay

Dataflow Diagrams

Main.c SnsKeypad.c

MAIN STATE

GetSelectedFnc()

INT8U function

ROUTE STATE

GetAudioCh()

GetConfigNum()

SAVE STATE

RECALL STATE

INT8U *ErrCodeINT8U channel

INT8U *ErrCode

INT8U config

Capacitive Sensor Keypad

Sensor 0

Sensor 1

Sensor 2

Sensor 3

Sensor 4

Sensor 5

Sensor 6

Sensor 7

Sensor 8

Sensor 9

Sensor 10

Sensor 11

Sensor 12

Page 11: Digitally Configurable Audio Routing Patchbay

Dataflow Diagrams

Main.c Route.c

ROUTE STATE

RouteAudio()

INT8U *SourceCh

INT8U *Destination

ProgramCrosspointArray()

RECALL STATE

*CurrentConfigArray[][]

SPI

*CurrentConfigArray[][]

Page 12: Digitally Configurable Audio Routing Patchbay

Dataflow Diagrams

SAVE STATE INT8U

*CurrentConfigArray[][]

SaveConfig()

Main.c ConfigData.c

Flash

INT8U *confignum

RECALL STATE INT8U newconfig[][]

INT8U *confignum

RecallConfig()

Page 13: Digitally Configurable Audio Routing Patchbay

Questions?