RFID Access Control System Lucius Knight. General System Design Microcontroller PSoC CY8C29466 ...

Preview:

DESCRIPTION

Kernel Selection  Time Slice Cyclic Scheduler  10ms Period START Initialize Timer Event Key Scan User Interface RFID Update Time Output Data Update Display No Yes

Citation preview

RFID Access Control System

Lucius Knight

General System Design Microcontroller

PSoC CY8C29466 24MHz Bus Frequency

Memory Available 32kB FLASH 2kB RAM

Memory Requirements System Software ~ 5kB FLASH Activity Log ~ 25kB FLASH System Data ~ 250B RAM

Kernel Selection Time Slice Cyclic Scheduler 10ms Period

START

Initialize

Timer Event

Key Scan

User Interface

RFID

Update Time

Output Data

Update Display

No

Yes

Initialization System Initialization

LCD RFID Keypad

Period Only run one time

Execution Time ~ 100 ms

Time Slice Sleep timer used for periodic interrupt Period

10 ms

Keypad Task Scans for key presses Period

10 ms (Periodic) Execution Time

~ 5 us (max)

User Interface Task Determines menu state based on user input Period

100 ms (Periodic) Execution Time

~ 1 ms (max)

RFID Task ID validation Controls

H-bridge/lock LED Buzzer

Period 100 ms (Periodic)

Execution Time ~ 1 ms (max)

Update Time Task Calculates current date and time Period

1 s (Periodic) Execution Time

~ 1.5 us (max)

Output Data Task Sends activity log to PC serial port Period

10 ms (Sporadic) Execution Time

~ 2 ms (max after decomposition)

Update Display Task Displays current information to LCD Period

100 ms (Periodic) Execution Time

~ 2.5 ms (max)

System CPU Load L(max) =

5µs/10ms + 1ms/100ms + 1ms/100ms +1.5µs/1s + 2ms/10ms + 2.5ms/100ms

L(max) = 24.6% L(avg) = 4.6%

Module ListModule: Task: Public Functions:

SeniorProject.c Initialize

Key.c(Cypress API)

Key Scan KeyType GetKey(void);

UserInterface.c User Interface UIStateType GetState(void);

RFID.c RFID

Time.c Update Time TimeStruct GetTime(void);void SetTime(TimeStruct NewTime);

UART.c(Cypress API)

Output Data

LCD.c(Cypress API)

Update Display

Update Display Task Communications

Key Scan

Update Time

User Interface

Update Display

Key

Time Structure

State

LCD

SeniorProject.c LCD Module LCD I/O

Update Time Task Communication

User Interface

Update Display

Time Structure

UserInterface.c Time Module

User Interface Task Communication

Key Scan User InterfaceKey

Key.c User Interface Module

Keypad

Keypad I/O

Output Data Task Communication

User Interface

Output DataState

UserInterface.c Output Data Module

DB9

Serial I/O

Recommended