Fpga Turbo Series Communication Protocols

Tags: FPGA

Implementing fully functional communication protocols on your FPGA development board

Last updated 2022-01-10 | 4.3

- Implement virtually any communication protocol on their FPGA development board.
- Improve their skill sets in FPGA development platforms
- specifically Vivado's Design Suite.
- Gain an understanding of various communication protocols.

What you'll learn

Implement virtually any communication protocol on their FPGA development board.
Improve their skill sets in FPGA development platforms
specifically Vivado's Design Suite.
Gain an understanding of various communication protocols.
Have their very own set of working VHDL design files.
Learn how to use the Xilinx development tool Vivado to implement
simulate
and program Xilinx FPGAs.

* Requirements

* Download and install Xilinx Vivado Design Suite. There are instructions on how to do so if you get stuck.
* Download and install TeraTerm or any other type of terminal emulator. There are instructions on how to install TeraTerm included in this course if you happen to get stuck.
* Basic understanding or exposure to VHDL.
* Basic understanding of digital circuits.
* Familiar with what a Field Programmable Gate Array (FPGA) is.

Description

This course explains how multiple communication protocols are used and how they can be implemented onto a FPGA. Each communication protocol is explained in great detail so that the student will be able to successfully implement the communication protocol on their FPGA development board. After each communication protocol has been introduced and explained the students will then be tasked with completing a project that pertains to that specific communication protocol. These various projects and topics include:

  • Generating PWM Signals
  • Controlling a Buzzer
  • Controlling a RC servo motor
  • PS/2 Computer Keyboard Communication
  • PS/2 Computer Mouse Communication
  • Receiving Infrared Communication Commands
  • Transmitting Infrared Communication Commands


Students will be provided with VHDL design files that can be used as starting points for the various design projects. Working with the provided design files and using the lectures as references the students will implement fully functional communication protocols on their development boards. The students will get to use Xilinx's development tools for the design and debugging of their various communication protocol implementations.

This course is geared towards students who have been exposed to VHDL, FPGA's, as well as a basic understanding of digital circuits. This is a great supplement to any engineering student who wants to improve upon their hardware design skills before entering the workforce. This course is also great for anyone who is currently employed in the field engineering. Also any electronic hobbyist would benefit greatly from this course!

Upon completing this course students will have all the skills and knowledge to implement virtually any communication protocol on a FPGA. Beings that the students will be designing and debugging their own code they will have very detailed knowledge of how each design works and will be able to expand upon each project if they so desire.

Who this course is for:

  • You should take this course if: You have completed my Learn VHDL and FPGA Development course.
  • You should take this course if: You have completed my FPGA Turbo Series - Implementing a UART course.
  • You should take this course if: You have prior experience working with VHDL and FPGA's.
  • You should not take this course if: You have no prior VHDL, FPGA, or digital circuit knowledge.

Course content

10 sections • 27 lectures

Communication Protocols Introduction Preview 03:07

This lecture introduces the course and gives a layout of the course content and the nature in which it will be taught. This lecture discusses the topics covered as well as the projects students will be completing.

Course Materials Preview 01:23

This lecture lists all of the different materials needed to complete all the projects in this course.

Introduction to Pulse Width Modulation (PWM) Preview 01:44

This lecture introduces the concept of pulse width modulation (PWM) and various applications in can be used in.

PWM Waveforms Preview 02:25

This lecture explains what a pulse width modulated (PWM) waveform looks like. This lecture also explains how a PWM waveform is classified.

PWM Buzzer Control Preview 04:29

This lecture describes how to use pulse width modulation to control the volume of a buzzer. This information will be used when you are working on the PWM terminal project when you will need to control the volume of a buzzer.

PWM Servo Control Preview 04:11

This lecture describes how to use pulse width modulation to control the position of a RC servo motor. This information will be used when you are working on the PWM terminal project when you will need to control the position of a RC servo motor.

PWM Design Assignment Preview 00:37

This lecture introduces the PWM assignment. Download the zip file to get started working on your PWM design.

Simulating your PWM Design in Vivado Preview 04:26

PWM Terminal Project Preview 03:35

PWM Terminal Demonstration Preview 06:03

Introduction to PS/2 Preview 03:49

This lecture introduces the PS/2 protocol and explains what a PS/2 port looks like as well which applications it is used in.

PS/2 Protocol Preview 02:33

This lecture describes the manner in which data is transmitted and received using PS/2 communication.

PS/2 Keyboard Interface Preview 05:11

This lecture describes in detail how a computer keyboard transmits data to the host (your FPGA board). This information will be used when you are working on the PS/2 Keyboard Interface project.

PS/2 Mouse Interface Preview 04:51

This lecture describes in detail how a computer mouse transmits data to the host (your FPGA board). This information will be used when you are working on the PS/2 Mouse Interface project.

PS/2 Mouse Receiver Project Preview 03:30

PS/2 Mouse Receiver Demonstration Preview 04:36

PS/2 Keyboard Receiver Project Preview 03:30

PS/2 Keyboard Receiver Demonstration Preview 04:37

Infrared Communication Introduction Preview 04:27

This lecture introduces infrared communication and gives some background information on the topic as well. In this lecture you will also learn several ways in which infrared communication is used in everyday consumer products.

Infrared Data Transmission Preview 07:47

This lecture discusses in detail how data is transmitted via infrared light using the NEC protocol. In this lecture diagrams and detailed explanations are used so that you will be able to fully understand how data is transmitted to your TV as well as how your TV receives infrared data from your remote. Information in this lecture will be used in the Infrared Receiver project as well as the Infrared Transmitter project.

Infrared Receiver Design Project Preview 04:39

This lecture describes the Infrared Receiver project and explains what needs to be done in order successfully complete this project.

Infrared Receiver Demonstration Preview 05:56

Loading Designs on the BASYS 3 Board Using the USB Port Preview 01:26

This lecture walks you through the steps required to be able to program your BASYS 3 development board using a standard USB flash drive. This is not required, however it makes using the infrared transmitter project much easier since you don't have to move your computer around if you want to use the development board as a TV remote.

TeraTerm Download and Installation Preview 00:44

This lecture explains and walks through the process of downloading and installing TeraTerm.

Vivado Download and Installation Preview 07:39

Creating a Project in Vivado Preview 11:30

Conclusion Preview 01:21

This lecture reflects on what students have accomplished, a well deserved congratulations is in order! Also students will be informed on what types of things they can do with their newly acquired skills.