The goal of the project, which is described in this thesis, was to create an expansion board for the development board MiniZed. The expansion board provides the user with additional ways to interact with the program that is being run on the MiniZed. MiniZed is primarily intended as an educational tool, which introduces the user to programmable logic and its interface with other devices. Without additional peripherals or programs, MiniZed does not have a wide range of options for receiving input or outputting information. The expansion board adds buttons and switches for user input and light emitting diodes and a speaker for output. The expansion board is also equipped with a widely known connector for an external screen and enables the user to connect the board to most of today’s computer monitors. The board also features a commonly used audio connector so the user can connect earphones to the device and not disturb the surroundings with sounds played from the device.
The thesis begins with the description of the MiniZed system. It quickly covers the board’s functions and the current and voltage limits of its components and connectors, which need to be taken into account when designing peripherals to avoid damaging it. The next chapter describes the process of planning and creation of the printed circuit board, which forms the expansion board. It includes the functions of the expansion board and the reasons for their selection, descriptions of each sub circuit, the reasoning behind the choices of electrical components, the process of creation of the board in the Altium designer program and the final assembly and electrical testing of the product. Afterwards, the thesis describes the VHDL code for the programmable logic of the MiniZed system. The programmable logic ensures that the expansion board and all of its components receive the proper signals for uninterrupted operation. The VHDL code is composed of several interconnected blocks, the inner working of each one is described. This chapter also covers the I2C and VGA standards, their implementation in code and how the expansion board submits relies on them. The next chapter covers the creation of code in the C language, which runs on the microprocessor of the MiniZed board. The program serves as a showcase of the capabilities of the expansion board and provides the user with insight into the functions that it offers. A detailed description of the program is provided, how it is used and which capabilities are presented in each subprogram. The last chapter describes some functions of the expansion board, which were planned, but left unimplemented for various reasons and provides suggestions how some of them could be implemented at a later time.
The thesis also includes an addendum, which thoroughly describes how to acquire the code, load it onto the board and use it. It also includes tips, how and where the user can modify the code to alter the behavior of certain functions of the board.
The final version of the expansion board coupled with the MiniZed is a cost effective tool for learning to write code for programmable logic for novice and intermediate users. Beause the expansion board is coupled with VHDL and C code it allows the user to build on the existing code and get feedback on their work faster.
|