University of Oulu

I2C-ohjatun LED PWM-ohjaimen toteuttaminen FPGA-piirillä

Saved in:
Author: Partanen, Anssi1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Electrical Engineering
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 1.2 MB)
Pages: 25
Persistent link: http://urn.fi/URN:NBN:fi:oulu-201702231189
Language: Finnish
Published: Oulu : A. Partanen, 2017
Publish Date: 2017-03-01
Thesis type: Bachelor's thesis
Description:
Tässä työssä toteutettiin I2C-väylällä ohjattu LED-ohjain. Lähtökohtana oli Digitaalitekniikka 2 kurssilla tehty harjoitustyö, joka sovitettiin FPGA-piirille. RTL-koodi vaati muutoksia vain siltä osin, että FPGA-alusta ja pohjana käytetty harjoitustyö käyttivät eri kellotaajuuksia. Jotta RTL-koodi saatiin toimimaan FGPA-alustalla, työssä perehdyttiin ensin FPGA-piirien konfiguroimiseen. Työn testaamista varten koottiin pienimuotoinen testausjärjestelmä, joka koostui FPGA- ja mikrokontrolleri-alustoista sekä logiikkatasonmuuntimesta. Mikrokontrollerille kirjoitettiin yksinkertainen arduino-koodi, jolla saatiin tehtyä testianimaatio LED-valojen testausta varten. Järjestelmän testaaminen aloitettiin visuaalisesti tarkastelemalla LED-valoja, jonka perusteella pystyttiin huomaamaan ilmeisimmät ongelmat. Lisäksi suoritettujen mittausten avulla pystyttiin rajaamaan ongelmien aiheuttajia ja varmentamaan väylän toiminta ja PWM-aaltomuodot. Korjaamalla virheet RTL-koodista ja lisäämällä logiikkatasonmuunnin, järjestelmä saatiin toimimaan ongelmitta.
see all

In this project, I2C bus controlled LED controller was implemented. The starting point was an assignment made on Digital Technology 2 course which was implemented on FPGA circuit for this project. The configuration of FPGA circuits was studied first in order to get RTL code to work on FPGA board. The RTL code was then modified and compiled for the FPGA. The small-scale test environment consisting of FPGA and MCU boards as well as logic level converter was made for testing the system. Simple Arduino code was written for MCU to get test animation for the LEDs. The testing of the system began by examining the LEDs visually. From this the most obvious problems were able to be noticed. In addition, causes of problems could be limited on the basis of made measurements. PWM-waveform and operation of the I2C bus were also verified by the measurements. The system was made to work without problems by correcting errors in RTL-code and adding logic level converter.
see all

Subjects:
Copyright information: © Anssi Partanen, 2017. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.