Download presentation
Presentation is loading. Please wait.
Published byBuck O’Connor’ Modified over 9 years ago
1
Digitally Configurable Audio Routing Patchbay DCARP System Software Presentation Aaron Cramer Western Washington University 2009
2
General System Design MCU: Cypress PSoC CY8C21001 Bus Frequency: 24MHz Memory Requirements: ROM ~ 7.2 KB User Data Storage: save up to 50 routing configurations 64Bytes/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 blocks o SPI: 1 digital block
3
State Machine Design System State Machine : MAIN ROUTE SAVE RECALL
4
State Description Prompts user to Route, Save, or Recall Endless loop monitors keypad for function sensor press, ignores all other input Main State
5
Route State Prompts user for source and destination channels Validates Channels Calls function to update current configuration and program crosspoint State Description
6
Save State Prompts user for configuration number Validates configuration number Calls function to store current configuration data in flash State Description
7
Recall State Prompts user for configuration number Validates configuration number Calls function to retrieve data from flash and program crosspoint State Description
8
CPU Load CPU Load: 100% Sensor polling loops and blocking routines used CPU is always doing something
9
Module Description ModuleFunctionsData Main.cMain(), ErrHandler()INT8U CurrentConfigArray[][], INT8U SourceCh, INT8U DestCh, INT8U ConfigNum SnsKeypad.cDynamicSensorScan(), DynamicBaselineInit(), GetAudioCh(), GetSelectedFnc(), GetConfigNum(), GetValidSensor() Route.cProgramCrosspointArray(), RouteAudio(), ConfigData.cSaveConfig(), RecallConfig()INT8U NewConfig[][] Cypress ModulesAPIs CapSense CSDCSD_Start(), CSD_ScanSensor(), CSD_UpdateSensorBaseline(), CSD_bIsSensorActive(), CSD_SetRefValue(), SPI MasterSPIM_Start(), SPIM_SendTxData(), SPIM_bReadStatus() LCDLCD_Start(), LCD_PrString() E2PROME2PROM_Start(), E2PROM_bE2Read(), E2PROM_bE2Write()
10
Dataflow Diagrams Main.cSnsKeypad.c MAIN STATEGetSelectedFnc() INT8U function ROUTE STATE GetAudioCh() GetConfigNum() SAVE STATE RECALL STATE INT8U *ErrCode INT8U 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
11
Dataflow Diagrams Main.cRoute.c ROUTE STATE RouteAudio() INT8U *SourceCh INT8U *Destination ProgramCrosspointArray() RECALL STATE *CurrentConfigArray[][] SPI *CurrentConfigArray[][]
12
Dataflow Diagrams SAVE STATE INT8U *CurrentConfigArray[][] SaveConfig() Main.cConfigData.cFlash INT8U *confignum RECALL STATE INT8U newconfig[][] INT8U *confignum RecallConfig()
13
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.