Software apps and online services
• FPGA board: It works with basically any device available on the market; Design scalability provides the ability to fit it into even the smallest ones.
• Raspberry Pi: Paired with a touch display; Or any system of screens and input devices.
This project is a try to develop a CPU that would be specialized for PLC application from the very beginning. Apart from creating a CPU, we wanted to demonstrate its operation in an industry-approvable fashion. That forced us to develop a system containing not only the CPU but also the Human-Machine Interface and the connection between them. Our choice of automation object to demonstrate our design on has been an elevator as it is a very common object and provides enough room for us to work with.Features-in-Brief
- Performing digital control of automation systems: Full set of IEC 61131-3 boolean operations, including counter and timer function blocks.
- Configurability: On the software level – fully programmable; On the hardware level – scalable, FPGA-based design that can be reconfigured to include only the peripherals that are needed by the application.
- High speed of operation: Design tailored for its application; Hardware-accelerated operations that are most common and crucial from the PLC’s point of view.
The design can be divided into two parts: CPU-like FPGA-based PLC that can be user-programmed and the Raspberry Pi application responsible for providing a very simple human interface for CPU programming and visualization of the controlled process. Both boards, FPGA and Raspberry Pi, are interconnected via SPI interface. The same connection is used for both, programming and data exchange between the PLC and the HMI.
The languages used in the project are Verilog HDL for the CPU part and Java for the Raspberry Pi part. It is worth noting that an assembly language only applicable to the designed CPU has been developed and utilized in the project.
The design is highly scalable and modifiable thanks to its modularity. Any peripheral device capable of communicating through the AMBA 3 APB interface could be connected and communicated with, providing the extension of design capabilities needed for the specific applications. That also means that any peripheral that would be not used could be as easily removed from the design, leaving the hardware space for crucial parts.
Przemysław Mazur, Marcin Beberok & Robert Nawrath