Presentation is loading. Please wait.

Presentation is loading. Please wait.

Michael Nist. System Software Design  MCU (2): CY8CPLC20 8-bit  32 KB Flash, 2 KB SRAM  Bus Frequency: 24 MHz  Memory requirements:  Main Controller:

Similar presentations


Presentation on theme: "Michael Nist. System Software Design  MCU (2): CY8CPLC20 8-bit  32 KB Flash, 2 KB SRAM  Bus Frequency: 24 MHz  Memory requirements:  Main Controller:"— Presentation transcript:

1 Michael Nist

2 System Software Design  MCU (2): CY8CPLC20 8-bit  32 KB Flash, 2 KB SRAM  Bus Frequency: 24 MHz  Memory requirements:  Main Controller: 24 KB Flash, 2 KB SRAM  Outlet Controller: 24 KB Flash, 2 KB SRAM  Resources Used:  Main Controller: 13 GPIO, PLC  Outlet Controller: 5 GPIO, PLC

3

4 Timeslice Kernel - Tasks  Start Task  Key Task  User Interface Task  Transmit/Receive Task  WaitForSlice

5 Start Task  Initializes the system on startup and sets initial registers.  Execution Time:  100 mS  Period:  Runs only on startup

6 Key Task  Recognizes key presses on the push buttons and changes to the state of the user switches  Performs switch de-bouncing  Execution Time:  <5 uS  Period  20 mS (Sporadic)

7 UI Task  Handles the user inputs  Maintains the current state of the system  Writes to the LCD  Execution Time:  5 mS  Period  100 mS

8 Transmit/Receive Task  Handles the communication between controllers  Receives power measurement calculations  Transmits instructions to turn the appliance on/off  Execution Time:  10 mS  Period  1 Sec

9 WaitForSlice Task  Fills time between slice periods

10 CPU Load  L = 5uS/20mS + 5mS/100mS + 10mS/1S = 6.03%

11 Modules ModuleTaskPublic Functions and Data Main.cStart Task WaitForSlice UI Task CurrentPower PLC.cTX/RX TaskTogglePower() Button.cKey TaskButtonUp ButtonDown ButtonLeft ButtonRight ButtonOK SwitchEn

12 Data Flow Buttons LCD TX/RX Task Key Task UI Task ButtonUp ButtonDown ButtonLeft ButtonRight ButtonOK SwitchEn TogglePower() CurrentPower Hardware Powerline PLC.c Main.c Button.c

13

14 Kernel – Outlet Control Unit  Start Task  Key Task  WaitForSlice  Transmit/Receive Task  Power Measurement Task  Switch Task

15 Transmit/Receive Task  Handles the communication between controllers  Transmits power measurement calculations  Receives instructions to turn the appliance on/off  Execution Time:  10 mS  Period  1 Sec

16 Power Measurement Task  Acquires data from ADC sensing current  Acquires data from ADC sensing voltage  Performs calculations to determine power usage then stores the value  Execution Time:  150 mS  Period:  1 sec

17 Switch Task  Activates or deactivates the relay to switch the outlet on/off if register set  Execution Time:  10 uS  Period  1 sec

18 CPU Load  L = 5uS/20mS + 10mS/1S + 150mS/1S + 10mS/1S = 17.03%

19 Modules ModuleTaskPublic Functions and Data Main.cStart Task WaitForSlice PLC.cTX/RX TaskSendPower() Button.cKey TaskSwitchEn SwitchOverride Power.cPower Measurement TaskVrms Irms Power GetPower() Switch.cSwitch TaskTogglePower() GetState() PowerState

20 Data Flow Current ADC Voltage ADC Hardware Powerline Power Task Switch Task TX/RX Task Relay Key TaskSwitches SendPower() Vrms Irms Power SwitchOn SwitchOverride PowerState GetPower() TogglePower()GetState() PLC.c Power.c Button.c Switch.c

21


Download ppt "Michael Nist. System Software Design  MCU (2): CY8CPLC20 8-bit  32 KB Flash, 2 KB SRAM  Bus Frequency: 24 MHz  Memory requirements:  Main Controller:"

Similar presentations


Ads by Google