Digitally Configurable Audio Routing Patchbay

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

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

Transcript of Digitally Configurable Audio Routing Patchbay

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?