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 List Module:Task:Public Functions: SeniorProject.cInitialize Key.c (Cypress API) Key ScanKeyType GetKey(void); UserInterface.cUser InterfaceUIStateType GetState(void); RFID.cRFID Time.cUpdate TimeTimeStruct 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.cLCD ModuleLCD I/O
Update Time Task Communication User Interface Update Display Time Structure UserInterface.cTime Module
User Interface Task Communication Key Scan User Interface Key Key.cUser Interface Module Keypad Keypad I/O
Output Data Task Communication User Interface Output Data State UserInterface.cOutput Data Module DB9 Serial I/O