Select Page

ABSTRACT

The project presents the design and implementation of a reconfigurable FPGA Image Processing Accelerator with a VGA interface to visualize the results in real-time (near real time). The system is proposed to be implemented in Digilent Basys-3 development platform. The system enables hardware accelerated processing of images, along with multi-mode support which can be switched during the run time.
Input image is stored in BRAM and based on a selected mode, the image is passed to the selected processing engine. The processed images will be displayed in Monitor through VGA interface. The different processing pipelines planned are thresholding, image inversion, edge detection (Sobel) and spatial filtering using a modular and pipelined architecture.
The proposed design highlights the key digital concepts, including memory interfacing, FSM design, reconfigurable hard ware and data-VGA pipelining. The project demonstrates the advantage of FPGA-based acceleration and provides a solid foundation for more advanced real-time vision systems.

I.INTRODUCTION

With the rapid increase in urban vehicles, efficient parking management has become a critical challenge. Traditional parking systems rely on manual monitoring or sensor-based approaches, which may be costly and less scalable.
This project presents a CAN-based Smart Parking System using Image Processing, where parking slot occupancy is detected using a camera-based system and communicated efficiently using a Controller Area Network (CAN). The system integrates embedded image processing, real-time communication, and user interface display.
The proposed system uses an OpenMV/Nicla Vision module to perform image processing for detecting parked vehicles. The processed data is encoded into a compact binary format and transmitted via UART to a Tiva microcontroller, which then sends the data over a CAN bus. The receiving node decodes this data and displays the parking status through UART and a web interface.
This approach ensures:
• Low-cost implementation using a single camera
• Scalable communication using CAN protocol
• Real-time monitoring of parking slots

II.OBJECTIVES

The primary objectives of this project are:

• To design an image processing system for detecting parking slot occupancy.
• To implement a reliable communication system using CAN protocol.
• To encode multiple parking slot states into a compact data format.
• To display real-time parking information using LED indicators and a web interface.
• To integrate embedded systems, communication protocols, and computer vision into a unified system.

III.DESIGN AND METHODOLOGY

A. System Architecture
The system consists of four major modules:
• Image Processing Unit (OpenMV/Nicla Vision)
• UART Communication Interface
• CAN Communication Network (Tiva Microcontrollers)
• Display System (LED + Web Interface)
B. Image Processing Method
The parking detection is based on background subtraction.
• A reference image of empty parking slots is captured.
• Each frame is compared with the background using pixel wise difference.
• Statistical features such as mean difference are computed.
As implemented in the code :content Reference[oaicite:0]index=0:
• Each parking slot is defined using ROI (Region of Interest).
• Difference image is computed:
diff = cur.difference(ref)
stats = diff.get_statistics()
• If mean difference exceeds threshold, slot is marked occupied.
Each slot is encoded as:
• ‘1‘ → Car present
• ‘0‘ → No car
All 8 slots are combined into a single 8-bit value:
slot_data = int(slot_bits, 2)
uart.writechar(slot_data)

Fig. 1: Your caption here

C. CAN Communication Implementation
The CAN protocol is used for robust and real-time communication between nodes.
As implemented in the receiver code :content Reference[oaicite:1]index=1:
• CAN is configured at 500 kbps:
CAN_BIT_R = 0x00004941
• Message object is configured for reception:– Standard ID used– Data Length Code (DLC) = 1 byte
• Mask filtering ensures only relevant messages are received.
The system uses:
• PF0 → CAN RX
• PF3 → CAN TX

Fig. 2: CAN data transmission in console using uart interface

The received byte represents the entire parking state.

D. UART and Web Interface
UART is used for debugging and interfacing with a PC/web application.
• Received CAN data is printed via UART:
UART_Print(“Received byte = “);
UART_PrintHex8(receivedByte);
• The PC parses UART data and updates a web page.
This enables:
• Real-time visualization
• Remote monitoring

E.LED Display Implementation

The received 8-bit data can be directly mapped to LEDs:
• Each bit corresponds to one parking slot
• Logic HIGH → LED ON (Occupied)
• Logic LOW → LED OFF (Empty)
This provides a quick physical visualization of parking availability.

Fig. 3: The setup used to simulate the system

IV. WORKING PROCEDURE
The system operates as follows:
1) The camera captures an initial background image of empty slots.
2) Continuous frames are captured and compared with the background.
3) Each ROI is analyzed to determine occupancy.
4) Slot status is encoded into an 8-bit binary value.
5) The encoded byte is transmitted via UART.
6) The transmitter node sends this data over CAN bus.
7) The receiver node reads the CAN message:
if(CAN_NWDA1_R & 0x01)8)

The received byte is decoded and displayed:
• UART output
• LED indicators
• Web interface

V. RESULTS AND CONCLUSION
A. Results
The system successfully demonstrated:
• Accurate detection of parking occupancy using image processing
• Efficient encoding of 8 parking slots into a single byte
• Reliable communication over CAN bus at 500 kbps
• Real-time visualization via UART and web interface
The system showed good performance under controlled lighting conditions. Minor variations in lighting affected detection accuracy, which can be improved using adaptive thresholding.
B. Conclusion
This project demonstrates an effective integration of image processing and embedded communication systems for smart parking applications.
Key achievements include:
• Low-cost vision-based parking detection
• Robust CAN-based communication
• Scalable and modular system design
Future improvements can include:
• Machine learning-based detection for higher accuracy
• Multi-camera integration for larger parking areas
• IoT/cloud integration for remote access