130 likes | 249 Views
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
E N D
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 • 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: • CSD: 3 digital blocks, 3 analog blocks • SPI: 1 digital block
State Machine Design • System State Machine: • MAIN • ROUTE • SAVE • RECALL
State Description • Prompts user to Route, Save, or Recall • Endless loop monitors keypad for function sensor press, ignores all other input Main State
State Description Route State • Prompts user for source and destination channels • Validates Channels • Calls function to update current configuration and program crosspoint
State Description Save State • Prompts user for configuration number • Validates configuration number • Calls function to store current configuration data in flash
State Description Recall State • Prompts user for configuration number • Validates configuration number • Calls function to retrieve data from flash and program crosspoint
CPU Load • CPU Load: 100% • Sensor polling loops and blocking routines used • CPU is always doing something
Dataflow Diagrams Main.c SnsKeypad.c Capacitive Sensor Keypad MAIN STATE GetSelectedFnc() Sensor 0 INT8U function Sensor 1 Sensor 2 Sensor 3 Sensor 4 ROUTE STATE GetAudioCh() INT8U *ErrCode Sensor 5 Sensor 6 INT8U channel Sensor 7 Sensor 8 SAVE STATE Sensor 9 Sensor 10 Sensor 11 GetConfigNum() INT8U *ErrCode Sensor 12 INT8U config RECALL STATE
Dataflow Diagrams SPI Main.c Route.c INT8U *SourceCh RouteAudio() ROUTE STATE INT8U *Destination *CurrentConfigArray[][] ProgramCrosspointArray() RECALL STATE *CurrentConfigArray[][]
Dataflow Diagrams Main.c ConfigData.c Flash SAVE STATE SaveConfig() INT8U *confignum INT8U *CurrentConfigArray[][] RECALL STATE INT8U *confignum RecallConfig() INT8U newconfig[][]