FPGA İLE UYGULAMA ÖRNEKLERİ

Benzer belgeler
FPGA İLE UYGULAMA ÖRNEKLERİ

FPGA ile 2x16 LCD Uygulaması

FPGA İLE UYGULAMA ÖRNEKLERİ

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Bölüm 13 FSK Modülatörleri.

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Genişleme Modülleri. Dijital Çıkış Genişleme Modülü. Kullanım Kılavuzu. 1 Genişleme Modülleri Dijital Çıkış Genişleme Modülü

CPU ONE PLC KULLANMA KLAVUZU

FPGA ile Gömülü Sistem Tasarımına Giriş

T.C. RC SERVO MOTOR KONTROLÜ

FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

Fatih Üniversitesi Elektrik ve Elektronik Mühendisliği Bölümü EEM 316 Haberleşme I LAB SINAVI DARBE GENLİK MODÜLASYONU (PWM)

DC motorların sürülmesi ve sürücü devreleri

Şekil 3-1 Ses ve PWM işaretleri arasındaki ilişki

PIC16F877 Mikrodenetleyicisi İle Uzay Vektör PWM İşaretlerinin Üretilmesi

Programlanabilir Devreler

Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK

ACD BİLGİ İŞLEM ACD KABLOSUZ VERİ TOPLAMA SİSTEMLERİ URT-V2 KABLOSUZ VERİ TOPLAMA TERMİNALİ DONANIM TEKNİK BELGESİ. URT-V2 Terminallerinin

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

DENEY NO : 4 DENEY ADI : Darbe Genişlik Demodülatörleri

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

RedoMayer Makina ve Otomasyon

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

MĐKROĐŞLEMCĐLĐ FONKSĐYON ÜRETECĐ

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN:

Bölüm 20 FBs-4A2D Analog Giriş/Çıkış Modülü

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ. Uzaktan Kumanda Edilen Lamba Dimmer inin Gerçekleştirilmesi

Deney 5: Shift Register(Kaydırmalı Kaydedici)

VERILOG. Modüller

DENEY 2- Sayıcılar. 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi.

Bölüm 16 CVSD Sistemi

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1. ARDUINO LCD ve Sensör Uygulamaları

I=[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1] % 4x4 lük birim matris

BLG 1306 Temel Bilgisayar Programlama

DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI

ELEKTRİK MOTOR SÜRÜCÜLERİ: PWM AC KIYICILAR

Mikroişlemciler. Microchip PIC

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

LOJİK DEVRELER-I IV. HAFTA DENEY FÖYÜ

LOJİK DEVRELER-I II. HAFTA DENEY FÖYÜ

Bölüm 14 FSK Demodülatörleri

C-Serisi PLC İleri Seviye Eğitim

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ANAHTARLI RELÜKTANS MOTORUN SAYISAL HIZ KONTROLÜ

Analog Sayısal Dönüşüm

MÜHENDİSLİK ve MİMARLIK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK DEVRELER LABORATUVARI DENEY FÖYÜ 4

DENEY 5: GENLİK KAYDIRMALI ANAHTARLAMA (ASK) TEMELLERİNİN İNCELENMESİ

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

DENEY 2- Sayıcılar ve Kaydırmalı Kaydediciler

LOJİK DEVRELER-I IV. HAFTA DENEY FÖYÜ

BÖLÜM 9 (COUNTERS) SAYICILAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır

DENEY-7. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

TEKNİK ÖZELLİKLER. Giriş Beslemesi. Giriş besleme voltajı. Motor Çıkışı. Motor gerilimi. Aşırı yük ve kısa devre korumalı.

Mühendislik Tasarım-3 ve Bitirme Çalışması Konuları

DOKUMANLAR

MikroiĢlemci ile Analog-Sayısal DönüĢtürücü (ADC)

P10 LED TABELA P10 PANEL P10 PANEL PROGRAMI KULLANIM KILAVUZU

Çizgi İzleyen Robot Yapımı

Altera ile proje hazırlama. Quarturs programı üzerinde Altera De0 kartı için proje hazırlama

Şekil 5-1 Frekans modülasyonunun gösterimi

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

Anahtarlama Modlu DA-AA Evirici

Birol Çapa Özen Özkaya Güz Dönemi Eğitimleri

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Deney 4: 555 Entegresi Uygulamaları

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

Sabit Gerilim Regülatörü Kullanarak Ayarlanabilir Güç Kaynağı

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

DENEY 6- Dijital/Analog Çevirici (DAC) Devreleri

GENEL KULLANIM İÇİN SABİT AKIM LED SÜRÜCÜLERİ. Uygulama Notları ACG-D350/500/700/1000 UYGULAMA NOTLARI. 1. LED adedi

STAFF-02 SMS KURULUM ve KULLANIM KİTAPÇIĞI Aralık 2016 Rev.2.0 FW2.02

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

1. DENEY-1: DİYOT UYGULAMALARI

EHM381 ANALOG HABERLEŞME DÖNEM PROJESİ

PWM Doğrultucular. AA/DA güç dönüşümü - mikroelektronik devrelerin güç kaynaklarında, - elektrikli ev aletlerinde,

ANALOG HABERLEŞME (GM)

Bölüm 9 A/D Çeviriciler

Şekil 1. Darbe örnekleri

Bu deneyde lab cihazlarının kullanımı için 4 uygulama yapılacaktır.

ARTOS7F1 ARIZA TESPİT CİHAZI VE PC OSİLOSKOP 7 FONKSİYON 1 CİHAZDA

6. DİJİTAL / ANALOG VE ANALOG /DİJİTAL ÇEVİRİCİLER 1

1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek.

SAYICILAR. Tetikleme işaretlerinin Sayma yönüne göre Sayma kodlanmasına göre uygulanışına göre. Şekil 52. Sayıcıların Sınıflandırılması

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

1. Direnç değeri okunurken mavi renginin sayısal değeri nedir? a) 4 b) 5 c) 1 d) 6 2. Direnç değeri okunurken altın renginin tolerans değeri kaçtır?

Transkript:

FPGA ile PWM Sinyal Ü retim Üygulaması FPGA İLE UYGULAMA ÖRNEKLERİ 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda deneme kartımız üzerinde bulunan 1 adet LED i kullanarak 3 adet PWM sinyali üretim örneği uygulaması yapacağız. Bu uygulamalar sırası ile; 1. Kart Üzerindeki Sürgülü Anahtarların(Switch) Kullanımı İle Darbe Genişlik Modülasyonu(PWM) Sinyali Üretilmesi Uygulaması 2. Sürgülü Anahtarların(Switch) Yerine Program Tarafından Darbe Genişlik Modülasyonu(PWM) Sinyal Değerlerinin Üretilmesi Uygulaması 3. Darbe Genişlik Modülasyonu(PWM) Sinyallerinin Kayan Nokta Şeklinde Üretilmesi Uygulaması FPGA lar PWM sinyallerini üretmek ve işlemek konusunda mikro denetleticilere göre oldukça avantajlılardır. Mikro denetleyicilerde PWM pinleri sabit olduğu halde FPGA nın tüm giriş çıkış(i/o) pinleri PWM sinyal çıkışı olarak kullanılabilir. Ayrıca mikro denetleyicilere göre daha fazla istenilen çözünürlük ve frekansta PWM sinyali elde etmek de mümkündür. PWM sinyali nedir? Darbe-Genişlik Modülasyonu diğer adı ile PWM, dijital araçlarla analog sonuçlar elde etmek için kullanılan bir tekniktir. Dijital olarak yapılan kontrol ile, açık-kapalı oranları ayarlanabilen kare dalga oluşturmak için kullanılır. Bu açık-kapalı oran ile açık gerilimler (~ 2,5 Volt) ve kapalı(0 Volt) arasındaki küsuratlı gerilimler oluşturulabilir. Kare dalganın açık olduğu orana darbe genişliği denir. LED örneğinde de olduğu gibi, bu açık-kapalı oranı hızla tekrarlandığında LED in paraklığı, 0-2,5V arasındaki gerilim ayarlanarak, kontrol edilebilmektedir. Darbe genişlik modülasyonu ile istenen gerilimler şu formül ile elde edilirler; Tüm örnek uygulamalarımızda, ürettiğimiz Darbe genişlik modülasyonu(pwm) sinyalinin gösterimi için, PİN_83 e bağlı olan D7 ile etiketlenmiş LED i kullanacağız. PWM sinyalinin, LED in yanık kalma ve süresini ise, kart üzerinde tümleşik olarak bulunan 50 MHz lik kristalin osilasyon frekansının bölünmesi ile elde edilen frekans ile buluyoruz. İlk örnekte sürgülü anahtarlardan; gelen 8 bitlik değer ile aşağıda gösterilen oranlarda PWM sinyalleri oluşmaktadır;

1. Anahtar açık konumda ise; 2^0/128 = 1/128 oranında bir PWM sinyali, LED EN SÖNÜK DURUMDA 2. Anahtar açık konumda ise; 2^1/128 = 1/64 oranında bir PWM sinyali, 3. Anahtar açık konumda ise; 2^2/128 = 1/32 oranında bir PWM sinyali, 4. Anahtar açık konumda ise; 2^3/128 = 1/16 oranında bir PWM sinyali, 5. Anahtar açık konumda ise; 2^4/128 = 1/8 oranında bir PWM sinyali, 6. Anahtar açık konumda ise; 2^5/128 = 1/4 oranında bir PWM sinyali, 7. Anahtar açık konumda ise; 2^6/128 = 1/2 oranında bir PWM sinyali, 8. Anahtar açık konumda ise; 2^7/128 = 1/1 oranında bir PWM sinyali, LED EN PARLAK DURUMDA 2 Sigma-Delta modülasyonunun(sdm), klasik Darbe Genişlik modülasyonundan farklı(pwm) elde edilmek istenen gerilim değeri için anahtarlama frekansınındı değişebilmesi, kayabilmesidir. İlk 2 örneğimizde Sigma Delta modülasyonunu ile oluşturulan PWM sinyalleri gösterilecektir. -Sigma Delta modülasyonu ile PWM sinyallerinin oluşturulması İkinci örnekte ise LED animasyon makalesinde de bahsedilen, durum(case) ifadesinden gelen değerler bir desen halinde zaman aralıkları ile bir döngü haline getirilerek anahtar girişi yerine program koduna yaptırılmıştır. Üçüncü örneğimizde ise Verilog operatörlerinden; Koşullu operatörü kullanılarak PWM sinyali elde edilecektir. Koşullu operatörün kullanımı şu şekildedir; A? B : C işleminin sonucu, eğer A işleneni B ye eşit ise 1 olarak değerlirilir, aksi takdirde, sonuç C dir. x değerlirildiğinde, koşullu operatör bit düzeyinde çıktı üretir; Sonuçta her 1 olan bit B ve C nin her ikisinde de 1 olan bittir, bitler 0 ise sonuç, 0 ve aksi taktirde sonuç x olur. Uygulamalar ile diğer açıklamalar program kodlarının arasındaki yorum satırlarında yapılmıştır. Örnek uygulamalarımızda; FPGA çipi olarak ALTERA Firmasının Cyclone IV ailesinden EP4CE6E22C8 model bir FPGA ve geliştirme kartına tümleşik olan LED leri kulandık. Bu FPGA çipinin gelişmiş özellikleri için modelin datasheet i(bilgisayfası) incelenmelidir. Ama kabaca olarak kullandığımız FPGA çipi; 6272 Lojik Elementli, 270Kbit Gömülü Hafızası, 91 adet I/O (Giriş/Çıkış) Pini bulunan, 144 ayaklı bir çiptir.altera firmasının üretmiş olduğu FPGA ları programlayabilmek için, Quartus Derleyicisini kullanıyoruz. Quartus Derleyicisinin kurumsal internet sitesinden indirdiğimiz Demo versiyonu ile bu örnek uygulamayı gerçekleştirdik. FPGA ları programlayabilmek için yaygın olarak kullanılan iki dil; VDHL ve Verilog içerisinden, C söz dizimine daha yakın geldiği için Verilog ile programlamayı tercih ettik.

FPGA ve LED ler ve Su rgu lu Anahtarların(SWITCH) arasındaki Pin Bag lantıları : 3 LED Kontrol ve Animasyon Pin Tanımlama & Bag lantıları Çıkış Pinleri LED_D7 PIN_83 1,2,3. Uygulama Giriş Pinleri saatdarbesi PIN_23 1,2,3. Uygulama f_degergir_1 PIN_58 1. Uygulama f_degergir_2 PIN_59 1. Uygulama f_degergir_3 PIN_60 1. Uygulama f_degergir_4 PIN_64 1. Uygulama f_degergir_5 PIN_65 1. Uygulama f_degergir_6 PIN_66 1. Uygulama f_degergir_7 PIN_67 1. Uygulama f_degergir_8 PIN_68 1. Uygulama

1.Uygulama: Kart Üzerindeki Sürgülü Anahtarların(Switch) Kullanımı İle Darbe Genişlik Modülasyonu(PWM) Sinyali Üretilmesi Uygulaması Verilog Program Kodu 4 / @dosya PWM Sinyal Üretim Uygulaması @yazar Erkan ÇİL @sürüm V0.0.1 @tarih 18-Ağustos-2016 @özet Cyclone IV EP4CE6 FPGA LED Animasyon Uygulaması Bu örnek uygulamada, Cyclone IV EP4CE6 FPGA kartını ile PWM Sinyalleri üretilecek, bu sinyaller ile LED'in parlaklığı kontrol edilecektir. Bu program özgür yazılımdır: Özgür Yazılım Vakfı tarafından yayımlanan GNU Genel Kamu Lisansı nın sürüm 3 ya da (isteğinize bağlı olarak) daha sonraki sürümlerinin hükümleri altında yeniden dağıtabilir ve/veya değiştirebilirsiniz. / module LED_PWMV02(saatDarbesi, f_degergir, PWM_Cikis); // LED PWM versyon0.2 MODÜLÜ TANIMI input [enbuyukbit-1:0] f_degergir; //sürgülü anahtar(switch) girişleri output reg PWM_Cikis = 1; //PWM LED çıkış olarak tanımlanmıştır parameter enbuyukbit = 8; //giriş değişkeni ve sayac içerisindeki en büyük bit sayısı reg [enbuyukbit-1:0] sayac = 0; //reg tipindeki sayac değişkenin oluşturulması // Bu sayaç yükselen kenar tetiklemeli olduğundan, always@ (posedge saatdarbesi )begin if ( sayac < f_degergir ) // anahtardan girilen değer sayac değişkeninden büyükse PWM_Cikis <= 1; // PWM çıkışa 1 değerini ata else // değilse PWM_Cikis <= 0; // PWM çıkışa 0 değerini ata sayac <= sayac+1; // sayac değerini 1 arttır module // LED PWM versyon0.2 MODÜLÜ SONU //Sigma Delta PWM MODÜLÜ TANIMI module SigmaDeltaPWM(saatDarbesi, f_degergir, PWM_Cikis); input [enbuyukbit-1:0] f_degergir; //darbe genişliğini ayarlayan anahtar giriş değeri output reg PWM_Cikis = 1; //PWM sinyal çıkışı parameter enbuyukbit = 8; //anahtar girişi içerisindeki en büyük bit sayısı reg [enbuyukbit:0] Sigma = 0; //reg tipindeki sigma değişkenin oluşturulması

always @(posedge saatdarbesi) begin //8 bitlik bloklanmayan PWM değeri ataması Sigma = Sigma + f_degergir; //PWM değerinin elde edilmesi; PWM_Cikis = Sigma[enBuyukBit];//sigma değişkenin en büyük değerinin çıkışa atanması Sigma[enBuyukBit] = 0; //Delta: eğer 256 değerine eşit ya da büyük ise değeri azalt module // Sigma Delta PWM MODÜLÜ SONU 5 Uygulamanın Go rseli :

2.Uygulama: Sürgülü Anahtarların(Switch) Yerine Program Tarafından Darbe Genişlik Modülasyonu(PWM) Sinyal Değerlerinin Üretilmesi Uygulaması Verilog Program Kodu 6 / @dosya PWM Sinyal Üretim Uygulaması @yazar Erkan ÇİL @sürüm V0.0.2 @tarih 18-Ağustos-2016 @özet Cyclone IV EP4CE6 FPGA LED Animasyon Uygulaması Bu örnek uygulamada, Cyclone IV EP4CE6 FPGA kartını ile PWM Sinyalleri üretilecek, bu sinyaller ile LED'in parlaklığı kontrol edilecektir. Bu program özgür yazılımdır: Özgür Yazılım Vakfı tarafından yayımlanan GNU Genel Kamu Lisansı nın sürüm 3 ya da (isteğinize bağlı olarak) daha sonraki sürümlerinin hükümleri altında yeniden dağıtabilir ve/veya değiştirebilirsiniz. / module LED_PWMV02(saatDarbesi, PWM_Cikis); // LED PWM versyon0.2 MODÜLÜ TANIMI output reg PWM_Cikis = 1; //PWM LED çıkış olarak tanımlanmıştır parameter enbuyukbit = 8; //giriş değişkeni ve sayac içerisindeki en büyük bit sayısı reg [enbuyukbit-1:0] sayac = 0; //reg tipindeki sayac değişkenin oluşturulması reg [enbuyukbit-1:0] f_degergir; // kontrol değişkeninin üretilmesi reg [25:0] sayac2; //sayac2 register(kayıtcısının oluşturulması) // Bu sayaç yükselen kenar tetiklemeli olduğundan, always @ ( posedge saatdarbesi ) begin sayac2<=sayac2+1; //f_degergir değerinin zamanla aşağıdaki desen ile döndürülmesi always@ (posedge saatdarbesi) begin case ( sayac2[25:22] ) 0 : f_degergir <= 8'b11111111; 1 : f_degergir <= 8'b11111110; 2 : f_degergir <= 8'b11111100; 3 : f_degergir <= 8'b11111000; 4 : f_degergir <= 8'b11110000; 5 : f_degergir <= 8'b11100000; 6 : f_degergir <= 8'b11000000; 7 : f_degergir <= 8'b10000000; 8 : f_degergir <= 8'b00000000; 9 : f_degergir <= 8'b10000000; 10: f_degergir <= 8'b11000000; 11: f_degergir <= 8'b11100000; 12: f_degergir <= 8'b11110000; 13: f_degergir <= 8'b11111000; 14: f_degergir <= 8'b11111100; 15: f_degergir <= 8'b11111110; case

always@ (posedge saatdarbesi )begin if ( sayac < f_degergir ) // anahtardan girilen değer sayac değişkeninden büyükse PWM_Cikis <= 1; // PWM çıkışa 1 değerini ata else // değilse PWM_Cikis <= 0; // PWM çıkışa 0 değerini ata sayac <= sayac+1; // sayac değerini 1 arttır module // LED PWM versyon0.2 MODÜLÜ SONU //Sigma Delta PWM MODÜLÜ TANIMI module SigmaDeltaPWM(saatDarbesi, PWM_Cikis); output reg PWM_Cikis = 1; //PWM sinyal çıkışı parameter enbuyukbit = 8; //anahtar girişi içerisindeki en büyük bit sayısı reg [enbuyukbit:0] Sigma = 0; //reg tipindeki sigma değişkenin oluşturulması reg [enbuyukbit-1:0] f_degergir; // kontrol değişkeninin üretilmesi always @(posedge saatdarbesi) begin //8 bitlik bloklanmayan PWM değeri ataması Sigma = Sigma + f_degergir; //PWM değerinin elde edilmesi; PWM_Cikis = Sigma[enBuyukBit]; //sigma değişkenin en büyük değerinin çıkışa atanması Sigma[enBuyukBit] = 0; //Delta: eğer 256 değerine eşit ya da büyük ise değeri azalt module // Sigma Delta PWM MODÜLÜ SONU 7

3.Uygulama: Darbe Genişlik Modülasyonu(PWM) Sinyallerinin Kayan Nokta Şeklinde Üretilmesi Uygulaması Verilog Program Kodu 8 / @dosya PWM Sinyal Üretim Uygulaması @yazar Erkan ÇİL @sürüm V0.0.1 @tarih 18-Ağustos-2016 @özet Cyclone IV EP4CE6 FPGA LED Animasyon Uygulaması Bu örnek uygulamada, Cyclone IV EP4CE6 FPGA kartını ile PWM Sinyalleri üretilecek, bu sinyaller ile LED'in parlaklığı kontrol edilecektir. fpga4fun sitesindeki örneklerden yararlanılmıştır. Bu program özgür yazılımdır: Özgür Yazılım Vakfı tarafından yayımlanan GNU Genel Kamu Lisansı nın sürüm 3 ya da (isteğinize bağlı olarak) daha sonraki sürümlerinin hükümleri altında yeniden dağıtabilir ve/veya değiştirebilirsiniz. / module ledpwm(saatdarbesi, LED); // LED PWM MODÜLÜ TANIMI output LED; //LED çıkış olarak tanımlanmıştır parameter N=28; reg [N-1:0] sayac; // Bu sayaç yükselen kenar tetiklemeli olduğundan, always @(posedge saatdarbesi) begin sayac<=sayac+1; // PWM sinyalinin aşağı ve yukarı eğiminin koşullu operatörün kullanılması ile üretilmesi wire [6:0] PWM_Giris = sayac[n-1]? sayac[n-1:n-7] : ~sayac[n-1:n-7]; reg [6:0] PWM; //reg tipinde PWM 7 bitlik değişken vektörünün tanımlanması always @(posedge saatdarbesi) PWM <= PWM[5:0]+PWM_Giris; assign LED = PWM[6]; //PWM sinyalinin en değerli bitinin LED çıkışına tanımlanması module // LED PWM MODÜLÜ SONU

Uygulamanın Go rseli : 9