FPGA Turbo Series - Communication Protocols
4.4 (50 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
383 students enrolled
Wishlisted Wishlist

Please confirm that you want to add FPGA Turbo Series - Communication Protocols to your Wishlist.

Add to Wishlist

FPGA Turbo Series - Communication Protocols

Implementing fully functional communication protocols on your FPGA development board
4.4 (50 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
383 students enrolled
Created by Jordan Christman
Last updated 11/2016
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 1.5 hours on-demand video
  • 8 Articles
  • 6 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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.
View Curriculum
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 is the target audience?
  • 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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
27 Lectures
01:50:09
+
Introduction
2 Lectures 04:34

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.

Preview 03:07

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

Course Materials
01:27
+
Pulse Width Modulation (PWM)
4 Lectures 12:49

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

Introduction to Pulse Width Modulation (PWM)
01:44

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

PWM Waveforms
02:25

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 Buzzer Control
04:29

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 Servo Control
04:11
+
Pulse Width Modulation Project
4 Lectures 15:04

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

PWM Design Assignment
00:38

Simulating your PWM Design in Vivado
04:26

PWM Terminal Project
03:57

PWM Terminal Demonstration
06:03
+
PS/2 Communication Protocol
4 Lectures 16:24

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

Introduction to PS/2
03:49

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

PS/2 Protocol
02:33

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 Keyboard Interface
05:11

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 Interface
04:51
+
PS/2 Interface Design Projects
4 Lectures 16:33
PS/2 Mouse Receiver Project
03:40

PS/2 Mouse Receiver Demonstration
04:36

PS/2 Keyboard Receiver Project
03:39

PS/2 Keyboard Receiver Demonstration
04:37
+
Infrared Communication Protocol
2 Lectures 12:14

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 Communication Introduction
04:27

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 Data Transmission
07:47
+
Infrared Receiver Design Project
2 Lectures 10:51

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

Infrared Receiver Design Project
04:55

Infrared Receiver Demonstration
05:56
+
Infrared Transmitter Design Project
1 Lecture 01:36

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.

Loading Designs on the BASYS 3 Board Using the USB Port
01:36
+
References
3 Lectures 19:58

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

TeraTerm Download and Installation
00:49


Creating a Project in Vivado
11:30
+
Conclusion
1 Lecture 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.

Conclusion
01:21
About the Instructor
Jordan Christman
4.7 Average rating
845 Reviews
4,247 Students
8 Courses
Your FPGA Guy

Jordan Christman graduated from the University of Dayton with his Bachelor's degree in Electronic and Computer Engineering Technology. He also graduated from UD with his Master's degree in Electrical Engineering. Jordan currently has a patent pending for an electronic monitoring device. He has strong knowledge in FPGA (Field Programmable Gate Array) development, Digital Electronics, Circuit Board design, and VHDL design and modeling of hardware systems. Jordan's focus of study in school was embedded systems which involves circuit design, firmware development, implementation of computer hardware, and the interfacing of computer operating systems. Jordan's hobbies include mobile application development, layout and assembly of PCB's (Printed Circuit Boards), computer application programming, and anything related to electrical engineering.