rfid access control system lucius knight. general system design microcontroller psoc cy8c29466 ...
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 YesTRANSCRIPT
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