Euler Yöntemi İle Gerçek Zamanlı Sayısal İntegrasyon İşleminin

advertisement
6th International Advanced Technologies Symposium (IATS’11), 16-18 May 2011, Elazığ, Turkey
Euler Yöntemi İle Gerçek Zamanlı Sayısal
İntegrasyon İşleminin FPGA Ortamında
Gerçekleştirilmesi
İ. Soya, T. Tuncer, Y. Tatar
Firat Üniversitesi Elazığ/Türkiye
iremsoya@gmail.com, ttuncer@firat.edu.tr, ytatar@firat.edu.tr
Implementation of Real Time Digital Integration
Process with Euler Method on FPGA
Environment
Abstract—In this paper realization of a real-time digital
integration process on FPGA (Field Programmable Gate
Array) platform is explained. To achieve this goal an application
is developed on the floating point number space in FPGA using
Euler integration method also known as the first order
integration method. In this application, the integral value of the
signal created in the FPGA is calculated and it was observed on
the oscilloscope as a continuous time signal.
Keywords—Euler İntegrasyon, FPGA, Floatig Point.
I. GİRİŞ
Ü
RÜN
geliştirme
sürecinde
karmaşık
sistemlerin
davranışını belirlemek için simülasyon çalışmaları önemli
kolaylıklar sağlar. Sistem simülasyonları için sık kullanılan
yazılım araçlarına örnek olarak MATLAB/SIMULINK,
OrCAD, SABER sistem tabanlı veya devre tabanlı yazılımlar
gösterilebilir[1]. Tüm bu simülasyonlar gerçek olmayan
zamanlarda
çalışmaktadır.
Bu
programlar
sistem
performansının çeşitli yönlerini incelemek için yararlı
olmasına rağmen, gerçek zamanda sistemin davranışını
anlamak için yeterli değildir.
Sürekli zamanlı sistemler diferansiyel denklemler ile
modellenir. Diferansiyel denklemlerin çözümü için gerekli
olan integral alma işlemi ise oldukça zaman harcayıcı bir
işlemdir. Diferansiyel denklemleri, gerçek zamanlı olarak
çözebilen analog hesaplayıcılarda operasyonal yükselticiler
(OPAMP) kullanılır. OPAMP’lar integral alıcı, toplayıcı ve
çarpıcı devreler olarak düzenlenip diferansiyel denklem
çözümleri elde edilebilir. Analog hesaplayıcılarda her bir
katsayı değişikliğinde yeni bir eleman değişikliği yapılması
zorunludur.
Diferansiyel denklemlerin gerçek zamanlı olarak, sayısal
ortamda çözümlenmesi için günümüzde FPGA’lı platformların
kullanılması yaygınlaşmıştır. FPGA’lar, mimarilerinin tekrar
programlamaya uygunluğu, tasarımının kolay ve hızlı, işlem
hızının gerçek zamanlı çalışmaya uygun olması gibi
avantajlara sahip olması nedeniyle günümüzde büyük çaplı
projelerin geliştirilmesinde kullanılmaktadır. FPGA’lar,
genellikle sayısal sistemler ve işaretler ile çalıştığı halde, ADC
ve DAC devrelerinin kullanımıyla dış dünyadaki sürekli
zamanlı işaretlerle de gerçek zamanda etkileşebilmektedirler.
FPGA’ların içerisinde uygun donanımsal devrelerin
yaratılması için donanım tanımlama dilleri kullanılır.
Bu bildiride; gerçek zamanlı bir sayısal integrasyon
işleminin FPGA platformunda gerçekleştirilme süreci
açıklanmıştır. Bunun için birinci mertebeden integrasyon
yöntemi olarak da bilinen Euler integrasyon yöntemi
kullanılarak FPGA üzerinde floating point sayı düzleminde bir
uygulama geliştirilmiştir. Uygulamada; FPGA içerisinde
gerçek zamanda oluşturulan bir kare dalga işaretinin euler
yöntemine göre integral değeri hesaplanmış ve bir DAC
aracılığı ile sürekli zamanlı işarete çevrilmiştir.
Bildirinin bundan sonraki bölümlerinde sayısal integrasyon
yöntemleri, gerçek zamanlı uygulama ortamı, kullanılan
programlama dili, sayısal integrasyonun FPGA ortamında
gerçekleştirilmesi ve gerçek zamanda elde edilen sonuçlar ve
yorumlar açıklanmıştır.
II. SAYISAL İNTEGRASYON YÖNTEMLERİ
Sayısal olarak integral alma işlemi, analitik olarak bir
integralin alınmasının çok zor veya olanaksız olduğu
durumlarda veya bir işlevin değerlerinin sadece belirli
noktalarda bilinmesi durumlarında önem kazanır. Ayrıca
integrasyon işlemlerini içeren veya gerektiren problemlerin
bilgisayarla çözümünde kullanılan algoritmaların da doğal
olarak sayısal yöntemleri kullanması şarttır. Gerçekte analitik
integral, sayısal integrale göre çözülebilme kolaylığı ve
sonucunun kesinliği ile üstünlük gösterir[1]. Elektronik
devrelerdeki anahtarlama elemanlarının akım veya gerilim
değerlerinin hesabında tek ve çok katlı integrasyondan
yararlanılır[3]. Bu bölümde bu gibi amaçlar için
kullanılabilecek tek katlı belirli integrallerin sayısal çözüm
yöntemleri açıklanmıştır.
202
İ. Soya T. Tuncer, Y. Tatar
Genel olarak bir f(x) işlevinin a ≤ x ≤ b aralığındaki belirli
integrali (1)’deki gibi gösterilir.
b
I
 f ( x)dx
(1)
a
Bu integrasyon işlemi ile Şekil 1’de gösterildiği gibi
geometrik olarak, integrali hesaplanan f(x) eğrisinin altında
kalan a ≤ x ≤ b aralığındaki taralı alan hesaplanmış olur[2].
Şekil 3: Bir nokta yaklaşımı
b
I

n
f ( x)dx 
j 1
a
Şekil 1: İntegral hesabı
Şekil 1’deki taralı alanın, dolayısıyla integralin sayısal
olarak hesaplanması için genellikle a ≤ x ≤ b aralığı, Şekil
2’deki gibi, x uzunluğunda n adet örneğe bölünür. Bu işlem
(2)’deki gibi verilir.
x 
ba
n

n
x j  f ( x j ) 
 f (x )
j
(3)
j 1
Genellikle örneklemeler eşit x aralıklarında olur. Bu
durumda integral (4) ile hesaplanır. (5)’e göre n örnekleme
sayısı olup, x  (b  a) n ’dir.
b
I

n
f ( x)dx  x 
 f (x )
(4)
j
j 1
a
B. Yamuk ( Trapez - İki Nokta Yaklaşımı) Yöntemi
Bu yöntemde birbiri ardından gelen her iki nokta bir doğru
ile birleştirilerek Şekil 4’te verilen yamuk şekilli örneklemeler
elde edilir. Böylece integral, alanlarının toplamına eşit olur[2].
(2)
Şekil 2: İntegral hesabında örnekleme
Sayısal olarak integral hesabı yapılırken, her x için f(x)
işaretinin sınırladığı alan hesaplanıp, bir önceki örneklemede
elde edilen alan ile toplanıp integrasyon gerçekleştirilir.
Aslında çarpma ve toplama işlemlerinden oluşan sayısal
integrasyon işleminde önemli olan, n. örnek için f(x)’in
sınırladığı alanın doğru bir şekilde hesap edilmesidir. Bunun
için değişik teknikler geliştirilmiş olup bunlardan bir nokta, iki
nokta, üç nokta ve dört nokta yaklaşımları yaygın olarak
kullanılır[1,2,3]. Gerçek zamanlı sayısal integral alma
işleminde en önemli olgu zamandır. Alan hesaplamasının
mümkün olduğu kadar kısa sürede yapılması istenir.
Dolayısıyla gerçek zamanlı integrasyon işlemlerinde genellikle
bir veya iki noktalı yaklaşımlar kullanılır. Çünkü bu
yaklaşımlarda daha az sayıda matematiksel işlem söz
konusudur.
A. Euler Yöntemi (Bir Nokta Yaklaşımı)
Bir nokta yaklaşımında, Şekil 3’ten görüleceği gibi f(x)
fonksiyonu,
a değerinden başlanarak
x aralıklarla
örneklenir. Bu örnek değerler kullanılarak enleri x, boyları
f(a+ n.x) olan dikdörtgenler elde edilir. Her bir dikdörtgenin
alanı hesap edilip, alanlar toplanarak integralin değeri elde
edilmiş olur.
Şekil 4: İki nokta yaklaşımı
Yamuğun alanı, paralel kenarlarının uzunluklarının
toplamının bu iki kenar arasındaki uzaklığın yarısı ile
çarpımına eşittir. (5)’te oluşan bir yamuğun alanının hesabı,
(6)’da ise f(x) işlevinin yamuk yöntemine göre a ≤ x ≤ b
aralığındaki sayısal integrasyonunun hesabı verilmektedir[2].
xj
 f ( x)dx 
x j 1
x
( f j 1  f j )
2
b
I

a
f ( x)dx 
(5)
x
[ f (a)  f (b)  2
2
n 1
 f (a  jx)]
(6)
j 1
Euler yönteminde, bir alanın bulunması için sadece 1
çarpma ve 1 toplama işlemi yapılacağından, gerçek zamanlı
işlemler için daha uygundur. Fakat integrasyon sonucundaki
hata miktarı fazla olabilir. Yamuk yönteminde ise elde edilen
sonuç daha doğru olmasına rağmen, işlem sayısı daha fazladır.
Her iki yöntemde de örnekleme sayısının fazlalığı sonucun
doğruluğunu etkileyen en önemli faktördür.
Eğer örneklemeler farklı x uzunluklarda ise integralin
hesabı (3) ile yapılır.
203
Euler Yöntemi İle Gerçek Zamanlı Sayısal İntegrasyon İşleminin FPGA…
III. FPGA PLATFORMU VE VHDL DİLİ
Yapılan bu çalışmada FPGA geliştirme platformu
kullanılmasının
sebebi,
yapılan sayısal
integrasyon
programının gerçek zamanlı olarak çalışmasının istenmesidir.
Gerçekleştirilen
integrasyon
işleminin
sonuçlarını
gözlemleyebilmek amacı ile bir DAC kartı kullanılmış ve bu
sayede elde edilen analog çıkışlar osiloskopta izlenmiştir.
FPGA ile DAC entegresi FPGA geliştirme kartı üzerindeki
HSMC konnektör aracılığı ile olmakta ve FPGA kartının
programlanması ise bilgisayar aracılığı ile yapılmaktadır.
Bilgisayar ortamından FPGA geliştirme kartının kontrol
edilebilmesi için Quartus II geliştirme ortamı kullanılmıştır.
Bilgisayar, FPGA geliştirme kartı ve DAC entegresi
kullanılarak oluşturulmuş olan sistemin blok diyagramı Şekil
5’te verilmektedir.
ALTERA Cyclone III Development Board
Bilgisayar
(USB arayüzü)
DAC Entegresi
Şekil 5: Gerçekleştirilen sistemin blok diyagramı
FPGA ile bilgisayar arasındaki iletişim bir RS232 sürücü
devresi ve USB arabirim kartı ile sağlanmaktadır.
Herhangi bir işlevsel modül kendi eşdeğer devre modeli ile
FPGA üzerinde gerçekleştirilebilir. Bu eşdeğer model ardışık
mantık elemanları ve kombinasyonel mantık elemanlarının
kombinasyonudur ve kendinden beklenen işlemi gerçek
zamanda başarabilir. Gerçekleştirilen modülün cevap hızı,
mantıksal elemanların yayılma gecikme toplamının göz önüne
alınmasıyla hesaplanmalıdır[4].
--Kütüphane Tanımlamaları
library ieee ;
use ieee.std_logic_unsigned.all;
--Paket Tanımlamaları
use ieee_proposed.fixed_pkg.all;
--Değişken Tanımlamaları
entity islem is
--tanımlamalar
end islem;
--Program Mimarisi
architecture eulerintegrasyon of islem is
Component sayma is
Port(… );
end component;
begin
--tasarlanan sistemin mimarisi
end eulerintegrasyon;
Yapılan bu çalışmada VHDL donanım tanımlama dili
kullanılmıştır. VHDL dili kullanılarak oluşturulan bir
programın temel yapısı Şekil 6’da verilmektedir.
Quartus II geliştirme ortamında herhangi bir donanım
oluşturabilmek için Verilog veya VHDL ((VHSIC) Very High
Speed Integrated Circuits- Hardware Description Language)
donanım tanımlama dillerinden birinin kullanılması
gerekmektedir.
VHDL donanım tanımlama dilinde gerçekleştirilen bir
sistem Şekil 6’dan da görüldüğü gibi kütüphane tanımlaması,
başlık (entity) kısmı ve mimari (architecture) kısmı olmak
üzere 3 bölümden oluşmaktadır. Programın geliştirilme
aşamasında ilk olarak kullanılacak olan kütüphanelerin
tanımlamaları yapılır. Kullanılacak olan kütüphaneler
programda yer alan değişken tipleri, kullanılan fonksiyon ve
işlemlere göre değişmektedir. Kütüphane tanımlamalarının
ardından paket tanımlamaları yapılır. Paket tanımlamasının
kullanılma nedeni, program içerisinde ayrı bir VHDL
programını
kullanacak
fonksiyonların
bulunmasıdır.
Kütüphane ve paket tanımlamaları tanımlandıktan sonra başlık
kısmı tanımlanır. Bu kısımda program içerisinde kullanılacak
olan giriş-çıkış değişkenleri, bu değişkenlerin tipleri ve
boyutları belirlenir. Başlık kısmı gerçekleştirildikten sonra
mimari bölümüne geçilir. Mimari kısmı kendi içerisinde iki
bölümden oluşmaktadır. İlk bölümü tanımlama ikinci kısmı ise
gerçekleştirme kısmı olarak adlandırılabilir. Tanımlama
kısmında yalnızca gerçeklenen mimari içerisinde geçerli olan
yerel değişkenlerin ve komponentlerin tanımlamaları yapılır.
Komponentler; daha önce yazılmış ve geçerli VHDL kodu ile
aynı dizinde bulunan VHDL kodlarının ve Quartus II
ortamında yer alan işlem bloklarının bu kod içerisinde
çağrılabilmesi için yapılan tanımlamalardır. Mimari kısmının
ikinci bölümünde ise sistemin davranışı tanımlanır. Eğer
sistem ardışıl bir yapıda ise bu kısımda process blokları
oluşturulur.
IV. GERÇEK ZAMAN İNTEGRASYON UYGULAMASI
Sayısal integrasyonlarda yüksek mertebeli teknikler her
zaman en çok tercih edilen yöntemlerdir[2]. Ancak çözüm
tekniği seçilirken programlama maliyetleri ve problemin
doğruluk gereksinimleri gibi faktörler göz önünde
bulundurulmalıdır. Gerçekleştirilen bu çalışmada 48kHz’lik
frekansa sahip bir kare dalga sinyalinin euler yöntemine göre
gerçek zamanlı integrasyon işlemi yapılmıştır. İntegrasyon
işleminde, giriş işareti olarak RAM hafızaya önceden
kaydedilmiş kare dalga işaretinin sayısal değerleri
kullanılmıştır. Gerçek zamanlı integrasyon işlemi kayan nokta
sayı aritmetiğinde yapılmıştır.Gerçekleştirilen sistemde
kullanılan euler yöntemine göre integral alma işlemi (7)’de
verilmektedir.
yi (n)  yi (n  1)  ei (n  1).t
(7)
Şekil 6: VDHL temel tapısı
Burada, n. örnekleme sürecindeki toplam integral değeri
204
İ. Soya T. Tuncer, Y. Tatar
yi(n), n. örnekteki giriş değeri büyüklüğü ei, örnekleme
periyodu ise t’ ile gösterilmiştir. (7)’deki denklemin FPGA
ortamında çözümü için kullanılan blok şema Şekil 7’de
gösterilmektedir.
en-1
toplamn
Çarpıcı
kaydırmalı olarak çıkışa verilmiştir. Giriş işaretine faz
kaydırması uygulanmasının sebebi; DAC kartına uygulanacak
olan clock sinyali ile sistemi çalıştıran clock sinyalinin
yükselen kenarlarının aynı olmaması dolayısı ile eş zamanlı
olarak çalışmasını sağlamaktır. Pll bloğunun çıkışlarındaki
clock işaretleri Şekil 10’da verilmektedir.
Toplayıcı
c0
toplamn-1
D Flipflop
c1
Şekil 7: Euler yöntemi’nin uygulama blok şeması
Şekil 7’de verilen blok şemasındaki işlemler için akış
şeması Şekil 8’de görülmektedir. Şekil 8’de verilen akış
şemasına göre; RAM’de kayıtlı kayan noktalı sayı sistemindeki
veriler sırası ile okunarak okunan değerler Euler yöntemine
göre örnekleme zamanı ile çarpılmış ardından bir önceki
toplam değeri ile toplanmıştır. Son olarak elde edilen sayısal
veriler DAC kartının girişine gönderilmiştir. Şekil 8’deki akış
şemasını gerçekleştiren donanımsal yapının, Quartus
ortamındaki görünümü Şekil 9’da verilmiştir.
Başla
B. Hazırla Bloğu
Hazırla bloğu FPGA kartının başlangıç koşullarını
sağlayabilmesi için oluşturulmuştur. Bu blok sistemin 50Mzlik
clock işaretini giriş olarak alırken, 3 clock boyunca çıkışa bir
işaret vermez. 3. Clock’tan sonra start biti sürekli lojik 1
seviyesinde tutularak, clock çıkışına da giriş işaretini
vermektedir. Dolayısıyla bu blokta sistemin çalışmaya
başlaması belirlenmektedir.
C. FSM Bloğu
FSM (Finite State Machine – Sonlu Durum Makinesi) bloğu 3
girişli ve 8 çıkışlı bir bloktur. Bu blokta programda
gerçekleştirilen işlemlerin çalışma sıralarını belirlemek için 9
durumlu bir sonlu durum makinesi oluşturulmuştur. Bu blokta
start biti lojik 1 olduğu anda her clock işaretinin yükselen
kenarını sayarak hangi işlemin aktif olması gerektiği
belirlenmektedir. Bu blok içerisinde tanımlanan 8 işlemin çal
lışma süreleri tablo 1’de verilmektedir. İşlemlerin kendileri ise
gerçekleştirildikleri blok içerisinde tanımlanacaktır.
adres = 0
toplam = 0
HAYIR
adres < 32
Şekil 10: Pll bloğunun çıkışları
EVET
Tablo 1: Sonlu durum makinesindeki durumların çalışma süreleri
Durum
İşlem adı
Çalışma
no
süresi(clock)
1
Sayma
1
2
Okuma
1
3
Çarpma
5
4
Toplama
7
5
DFF_32
1
6
Dönüşüm
6
7
DFF_14
1
8
DAC
1
veri = RAM’den veriyi
oku
y = veri .
t
toplamn = toplamn-1+ y
adres = adres +1
DAC girişi = toplamn+1
Şekil 8: Gerçekleştirilen sistemin akış şeması
Şekil 9’daki gibi gerçekleştirilen sistem 4 ana bloktan
oluşmaktadır. Bu bloklar sırası ile pll bloğu, hazirla bloğu,
FSM bloğu ve işlem bloğudur. Sistemdeki hazırla, FSM ve
işlem blokları VHDL dili kullanılarak geliştirilmiştir.
A. Pll Bloğu
Geliştirilen programda kullanılan Altera Pll bloğu tek girişli
ve 2 çıkışlı olarak tanımlanmıştır[5]. Pll bloğunun girişine 50
MHz’lik bir clock işareti uygulanmış ve giriş işareti faz
Tablo 1’de verilen işlem süreleri, program içerisinde
oluşabilecek clock gecikmelerinden etkilenmemek amacı ile
1’er clock fazla sürecek şekilde alınmıştır. Dolayısı ile
programın çalışması esnasında RAM’da bulunan 1 verinin tüm
işlemlerden geçtikten sonra analog veriye çevrilmesine kadar
geçen süre 32 clock olup, 32 clock x 20.83 ns = 665.6 ns’de
tamamlanmaktadır. Bir periyotluk kare dalganın integralinin
alınması için geçen süre ise 1024 clock x 20.83ns = 21.33µs
olmaktadır.
205
Euler Yöntemi İle Gerçek Zamanlı Sayısal İntegrasyon İşleminin FPGA…
Şekil 9: Quartus II ortamında gerçekleştirilen programın blok diyagramı
D. İşlem Bloğu
İntegral alma işleminin gerçekleştirildiği işlem bloğu 8 ayrı
komponent içermektedir. Her bir komponent VHDL dilinde
yazılarak gerçekleştirilmiştir. Bu komponentler, Şekil 6’daki
gibi VHDL dilinde yazılan işlem bloğu içerisinde
kullanılmıştır.
İşlem
bloğu
içerisinde
kullanılan
komponentlerin çalışma sıraları sonlu durum makinesi olarak
gerçekleştirilen FSM bloğu ile belirlenmektedir. Bu blokta
bulunan komponentler sırası ile bu bölümde verilmektedir:
Sayma: Hafıza biriminin hangi adresindeki verinin
okunacağını belirleyen 5 bitlik bir sayıcıdır. Bu komponentin
clock, enable ve reset olmak üzere 3 girişi ve bir de çıkışı
bulunmaktadır. Enable biti lojik 1 olduğu zaman clock
işaretinin yükselen kenarında içeriği bir artarak çıkışa aktarır.
Okuma: Hafıza elemanından Sayma komponenti ile
gösterilen adresteki verinin okunmasını sağlayan blok olup,
enable pini lojik 1 olduğu zaman belirtilen adresteki 32 bit
uzunluğundaki floating point sayıyı çıkışına aktarır.
Çarpma: Bu komponent 2 adet 32 bitlik floating point
sayıyı çarpan blok olup, çarpılan değer hafıza bloğundan
okunan değer iken çarpan hafıza bloğuna kaydedilmiş verilerin
örnekleme zamanı (t) olan 400 ns’dir.
Toplama: Bu komponent 2 adet 32 bitlik floating point
sayıyı toplayan blok olup topladığı değerler; çarpma bloğunun
sonucu ile bir önceki toplamanın sonucudur.
DFF_32: Bu komponent D tipi flip flop’lardan oluşup
toplama komponentinin sonucunu saklamak için kullanılmıştır.
Bu komponentin kullanılmasının sebebi döngünün bir sonraki
değerinde toplama komponentinin bir önceki değerini
almasıdır. Flip flop kullanılmazsa bu değer kaybedilebilir.
Ancak flip flop kullanıldığı için komponentin enable pini lojik
1 olana kadar içerisindeki değer sabit kalmaktadır.
Dönüşüm: Bu komponent 32 bitlik floating point sayının 14
bitlik fixed point sayıya dönüştürmek için kullanılmıştır. Bu
komponentin kullanılmasındaki amaç elde edilen sayısal
verileri analog veriye dönüştürebilmek için kullanılan DAC
kartının 14 bitlik çözünürlüğe sahip olmasıdır. Bu nedenle
floating point formatındaki veriler 14 bit uzunluğundaki
işaretli fixed point verilere çevrilmektedir.
DFF_14: Bu komponent DAC kartının girişine
gönderilecek 14 bitlik fixed point sayı formatındaki sayısal
verilerin saklandığı D tipi bir flip floplardır.
DAC: Son komponent ise enable biti lojik 1 olduğu zaman
parallel iletişim yapan DAC kartının girişlerinin aktif edilerek
sayısal verinin gönderildiği kısımdır.
V. SİMÜLASYON SONUÇLARI
Yapılan bu çalışmada Euler yöntemi kullanılarak gerçek
zamanlı bir sayısal integrasyon işlemi gerçekleştirilmiştir.
Bunun için VHDL dili ile FPGA ortamında ilgili donanımsal
devreler oluşturulmuştur. Sistemin gerçekleştirildiği ortamın
resmi Şekil 11’de verilmiştir. Sistem Quartus II geliştirme
ortamında derlendiğinde; FPGA kartının bu programı
çalıştırırken kullanacağı değişik donanımsal birimler ve
harcanan donanımlar Şekil 12’de verilmektedir.
Sisteme giriş olarak gelen 48 kHz’lik kare dalga
sinyalinden elde edilen sayısal integrasyon sonuçları Signal
Tab II Logic Analyzer ve osiloskop aracılığı ile gözlenmiştir.
Şekil 13’te sistemin Signal Tab II Logic Analyzer ile
gözlemlenen gerçek zamanlı sonuçları görülmektedir.
206
İ. Soya T. Tuncer, Y. Tatar
Şekil 11: Sistemin geliştirildiği ortam
Şekil 12: FPGA kartında kullanılan donanım birimleri
Şekil 13: Signal Tab II Logic Analyzer ile gözlenen sonuçlar
VI. SONUÇLAR
Bu çalışmada, Euler integrasyon yöntemine göre gerçek
zamanlı
integrasyon
işleminin
FPGA
ortamında
gerçekleştirilmesi açıklanmıştır. Tasarım sürecinde VHDL
donanım tanımlama dili kullanılmıştır. İntegrasyon floating
point sayı sistemiyle gerçekleştirilmiştir. Sistemin 1 periyotluk
integrasyon süresi 21.33µs olarak hesaplanmıştır. Bu süre
uzundur. Ancak integrasyon işleminde floating point yerine
fixed point sayı sistemi kullanıldığında bu süre oldukça
kısalabilir. Fixed point sayı sisteminde çalışıldığı zaman
doğruluk oranı nispeten azalacaktır. Fakat gerçek zamanlı
çalışmalarda, aritmetik işlem sürelerini kısalttığı için fixed
point sayı sistemi daha avantajlı olacaktır.
KAYNAKLAR
[1]
[2]
[3]
[4]
[5]
L. T.Pıllace, R.A.Rohrer, C.,Visweswariah, “Electronic Circuit and
System Simulation Medthods”, McGrawhill,pp 75-84,1994.
Ö. Kalenderli, “Sayısal Yöntemler,” http://triton.elk.itu.edu.tr/
~ozcan/DifDenkSayisalCozumu.pdf .
S. C. Chapra, R. P. Canale, “Numerical Methods for Engineers,” 2nd
edition, MC Graw-Hill International Editions, 1990.
K. Jayalakshmi, V. Ramanarayanan,”Real Time Simulation of Electrical
Machines on FPGA Platform,”Proceedings of india international
conference on power electronics,2006.
Altera Corparation, “AN507: Implementing PLL Reconfiguration in
Cyclone III Devices”www.altera.com/literature/an/AN507.pdf.
207
Download