Please download to get full document.

View again

of 13
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.

Sayısal İşaret İşleyiciler ve Bir Hız Denetim Sistemi İçin Programlama İlkeleri: Model TMS320F2812 DSP

Category:

Software

Publish on:

Views: 43 | Pages: 13

Extension: PDF | Download: 0

Share
Related documents
Description
Fırat Üniv. Mühendislik Bilimleri Dergisi Fırat Univ. Journal of Enginering 21 (1), 71-83, (1), 71-83, 2009 Sayısal İşaret İşleyiciler ve Bir Hız Denetim Sistemi İçin Programlama İlkeleri: Model
Transcript
Fırat Üniv. Mühendislik Bilimleri Dergisi Fırat Univ. Journal of Enginering 21 (1), 71-83, (1), 71-83, 2009 Sayısal İşaret İşleyiciler ve Bir Hız Denetim Sistemi İçin Programlama İlkeleri: Model TMS320F2812 DSP Özet Selami KESLER*, A.Sefa AKPINAR** *Pamukkale Üniversitesi, Teknik Eğitim Fakültesi, Elektrik Eğitimi Bölümü, DENİZLİ **Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi, Elektrik Mühendisliği Bölümü,TABZON (Geliş/Received: ; Kabul/Accepted: ) Bu çalışmada elektrik makinelerinin denetimi için son yıllarda tercih edilen Sayısal İşaret İşlemci tabanlı bir geliştirme platformu (ezdsp TMS320F2812 DSK) için programlama ilkeleri ve açık kaynak kodları verilmiştir. Temel olarak; Sayısal İşaret İşlemci Platformu kurulumu, sistem başlangıç ayarları, portların yönlendirilmesi, kayıtçıların kullanılması, hız, akım vb. analog işaretlerin okunması, zaman kesmelerinin ayarlanması, sayısal hız kodlayıcı bilgilerin okunması ve normalizasyonu, bağımsız PWM kanallarının etkinleştirilmesi ve bağımsız PWM çiftlerinin üretilmesinde ölü zamanların ayarlanması gibi belli başlı işlemlerin nasıl gerçekleştirileceği açık kaynak kodları ile incelenmiştir. Örnek bir model için sonuçlar verilmiştir. Anahtar Kelimeler: Sayısal İşaret İşleyici, TMS320F2812 DSP, Denetim Sistemleri, Elektrik Makineleri Abstract Digital Signal Processors and Programming Principals for a Speed Control System: Model TMS320F2812 DSP In this paper, the open source codes and programming principal for developing board (ezdsp TMS320F2812 DSK), which has held in high regard recently for controlling electrical machines, are given in order. Mainly, how to be realized some fundamentals such as installing Digital Signal Processor Platform, settings of system initialization, directing of ports, using of registers, converting of analog signals to digital, settings of time interrupts, reading digital information from shaft encoder and its normalization, enabling of independent PWM channels and setting of dead band are described by open source codes. The results for exemplary model are included. Keywords: Digital Signal Processor, TMS320F2812 DSP, Control Systems, Electrical Machines 1. Giriş Günümüzde sayısal işaret işleyiciler video, müzik, haberleşme ve ölçme tekniğinde yaygın olarak kullanılmaktadır. Elektrik makinelerinin hız, moment ya da konum denetiminde yüksek hızlı ve doğruluklu işlem başarımının elde edilmesinde ve daha karmaşık denetim yöntemlerinin uygulanmasında sayısal işaret işleyiciler önemli yer tutmaktadır. Güç elektroniği sürücü düzeneklerinde kullanılan yarı iletken anahtarların daha hızlı ve daha karmaşık denetimleri, sürekli gelişen mikroişlemci teknolojisiyle daha kolay yapılabilmektedir. Sayısal işaret işleyiciler DSP olarak bilinmektedirler. Her türlü konvertör ve motor denetimi için üretilmiş hızlı ve yetenekli DSP lerden birisi de TMS320F2812 dir. Spectrum Digital tarafından deneysel kullanımlar için geliştirilmiş olan ezdsp TMS320F2812 DSK, bilgisayarların paralel portu üzerinden Code Composer Studio (CCS) arayüzü ile programlanabilmektedir[1-3]. CCS arayüzü tamamen C/C++ desteklidir. Her türlü matematik işlevler, C/C++ programlama dilinin kolaylığı ile yapılabilmektedir. Ancak, bir kontrol sisteminin DSP ille gerçekleştirilmesinde, DSP nin kullanımı ve programlama ilkelerinin öğrenilmesi oldukça uzun zaman alabilmektedir. Bu amaçla, bu çalışma bir rehber niteliğinde olup, gerçek bir uygulama devresi üzerinde elde edilen sonuçlar ile birlikte sunulmuştur. Bu S.Kesler, A. S. Akpınar çalışmada, kontrol sistemlerinde DSP nin kullanımı ve programlama ilkeleri amaçlanmıştır. 2. Örnek Model ve Uygulama Devresi Motor denetim sistemlerinde; akım ve gerilimlerin örneklenmesi, sayısal ya da analog referans/gerçek hız bilgisi okunması, sistem denetim yöntemine uygun sürücü işaretlerin üretilmesi, bu işaretler arasında ölü zamanların ayarı, geri besleme işaretlerine göre sürücü işaretlerin güncellenmesi, denetim değişkenlerinin gerçek zamanlı gözlenmesi ve gerekli çıktıların alınması en temel işlemlerdir. Kullanılan denetim yönteminde karmaşık matematik işlemlerin hızlıca yapılıp, geri besleme işaretine göre yeni sürücü işaretin üretilmesi ise önceliklidir. olarak takip edilmelidir[4-7]. Bu modelde rotor ve stator akımları, bir analog işaret bindirme devresi yardımıyla ADC den okunmuştur. Rotor hız/konum bilgisi için ENB1024 sayısal hız kodlayıcı kullanılmıştır. Hız/konum kodlayıcı QEP1 QEP2 den okunmuş ve normalize edilmiştir. IGBT evirici DSP de üretilen SVPWM işaretleriyle sürülmüştür. Bunun için istenen hız denetimine uygun anahtarlama süreleri DSP de hesaplanmıştır. Program C/C++ destekli yazılmıştır. PWM anahtarlama frekansı 2.5 khz olarak ayarlanmış ve ana program 400 µs de sonlanacak şekilde zaman kesmeleri ayarlanmıştır. Hız denetiminde bulanık mantık denetleyici ilkeleri kullanılmıştır. Bulanık mantık denetleyiciler, özellikle doğrusal olmayan sistemlerin karmaşık model denklemlerinden bağımsız bir denetim sistemi geliştirilmesinde, uzman tasarımcının deneyimlerine dayalı gerçekleştirilen sistemlerdir. Bulanık mantık kural tablosunun büyüklüğüne ve seçilen üyelik küme fonksiyonlarına göre, kontrol sırasında gerçek zamanlı olarak gerçekleştirilecek işlem sayısı oldukça fazla olabilmektedir. Bu nedenle diğer yapay zekâ tabanlı kontrol sistemlerinde olduğu gibi bulanık mantık tabanlı kontrol sistemlerinde yüksek hızlı ve yetenekli sayısal işaret işleyiciler oldukça önem kazanmaktadır [8 10]. 3. TMS320F2812 DSP Yapısı Şekil 1. Bilezikli asenkron motorun rotor sargıları üzerinden hız denetimi Denetim sistemleri için TMS320F2812 DSP programlama ilkeleri amaçlanarak Şekil 1 de gösterilen modelde, bilezikli bir asenkron motorun rotor sargıları üzerinden bir IGBT evirici yardımıyla rotor sargılarına gerilim uygulayarak hız denetimi TMS320F2812 DSP ile gerçekleştirilmiştir. Rotor sargılarına anlık rotor gerilimi ve frekansını takip eden gerilim uygulanırsa bu gerilimin etkin değeri ve faz açısına bağlı olarak sırasıyla motorun hızı ve güç katsayısı değiştirilebilmektedir. Uygulanan gerilimle birlikte hız değişeceği için uygulanması gereken frekans da değişmektedir. Bu nedenle rotorda indüklenen gerilimin frekansı sürekli Şekil 2. TMS320F2812 DSP blok çizgesi TMS320F2812 DSP, sabit noktalı işlem yapan 32-bit 150Mhz bir işlemci olup, 16-kanal 6.67ns çözünürlüklü ölü zaman ayarlı 72 Sayısal İşaret İşleyiciler ve Bir Hız Denetim Sistemi için Programlama İlkeleri: Model TMS320F2812 DSP programlanabilir PWM çıkışı, 16 kanal 12-bit 80 ns dönüşüm zamanlı A/D çevirici, 4 adet sayısal yakalama girişi ve 4 adet kare dalga kodlayıcı girişi, 16-bit 7-port programlanabilir sayısal giriş-çıkış, 18K word RAM ve 128K word Flash EEROM ve C/C++ programlama desteğine sahiptir. İşlemci sabit noktalı aritmetik işlem yapmasına rağmen IQmath kütüphane desteği ile kayan noktalı aritmetik işlem kolaylığında ve ona yakın doğrulukta işlem yapabilmektedir. İşlemciye ilişkin ilkesel bir model Şekil 2 de verilmiştir. 4. CCS Programlama Arayüzü Texas Instruments firmasının ürettiği bu sayısal işaret işlemcisi, Code Composer Studio (CCS) ile birlikte gelmektedir. İşlemcinin programlanması C++ ve ASM ile yapılabildiği gibi MATLAB Simulink, VISSIM gibi özel paket programlar da kullanılabilmektedir. Ancak oluşturulan program kodları yine CCS aracılığıyla işlemciye yüklenmektedir. Bu işlem için CCS kullanılan program tarafından çağrılmaktadır. Paket içeriği olarak gelen CD ile sistem kurulumu standart PC donanım kurulumu gibidir. CCS in yeni sürümlerinde kart bağlantısı çalışma anında kesilebilmekte ve tekrar bağlanabilmektedir. Ancak önceki sürümlerinde DSP program yüklemesi ve koşturulması bitene kadar kart ile bağlantının kesilmesine izin vermemektedir. CCS arayüzünde standart C/C++ proje oluşturma işlemleriyle, CCS örnek dosyalarından her hangi birinde ana program çatısı oluşturulabilir. CCS de açılan her yeni proje için kullanılan işlemciye ilişkin f2812.gel dosya eklenmelidir. F2812 işlemcisinin bütün birimlerinin adresleri ve adları C++ desteği ile nesne yönelimli olarak tanımlanmıştır. Bu nedenle standart olarak işlemci birimlerine ilişkin başlık dosyaları, kütüphane dosyaları ve kullanıcı tarafından değiştirilebilen kaynak dosyaları açılan projeye eklenmelidir. Bu dosyalar, kullanıcı tarafından oluşturulacak yeni denetim yazılımları gibi kaynak dosyaları ile bağlanarak çıkış dosyası üretilir ve işlemciye yüklenir. İşlemcinin kullanılan birimlerine göre giriş/çıkış kapıları, ADC girişleri, PWM çıkışları, sayısal veri çıkışları, işlemci ve kullanılan birimlerin uygun çalışma hızları mevcut kaynak dosyalarında değiştirilir. Özellikle kesme (interrupt) vektörleri program zamanlaması açısından doğru ayarlanmalıdır. Örneğin 2.5 khz lik bir PWM işareti üretimi için 400 µs lik bir zaman kesme vektör yazılımı yapılmalıdır. Denetimi yürütecek program ya da program grubu bu süre içinde bir çevrimini tamamlamalıdır. Her giriş/çıkış kapısı; giriş, çıkış, işaret yakalama ya da PWM için bağımsız olarak ayarlanabilir. Ancak işlemci bilgi sayfalarında verilen bacak bağlantı yapılarına dikkat edilmelidir. İşlemcinin temel birim kayıtçıları tam korumalı olduğundan gerekli ayarlar yapılırken koruma kaldırılır ve ayarlama sonunda koruma kodları yeniden etkin yapılır. Bundan sonraki bölümlerde DSP nin programlanmasında takip edilecek işlem sırası aynı kod sırasıyla verilmiştir. Kodlar verildiği sırada yazılmalıdır. Verilen kodların çalışan örnek bir program içinde kullanılmasında, kodların derlenmesi ve hataların daha kolay giderilebilmesi açısından, yarar vardır. Çok basit bir LED yakıp-söndürme programından yola çıkılabilir DSP Sistem başlangıç ayarları Bu çalışmada işlemcinin bütün başlık dosyalarının bulunduğu ana başlık dosyası olarak aşağıdaki dosyalar programa eklenir. DSP281x_Device.h DSP281x_Examples.h DSP yongasında bulunan kendi çevresel birimlerinin (PLL, WatchDog Timer vb.) çalışma hızları ve etkin edilip edilmeme durumları DSP281x_SysCtrl.c kaynak dosyasında ayarlanmıştır. Bu kaynak dosya, programa InıtSysCtrl( ); koduyla dahil edilir. Kaynak kod dosyalarının bulunduğu (source files) bölüme de DSP281x_SysCtrl.c dosyası eklenmiştir. Bu dosya da sistem saat hızı ayarı en yüksek HSPCLK hızına oranla PLL çıkışı olarak 150MHz çalışma durumu elde etmek için, SysCtrlRegs in koruması kaldırılarak, aşağıdaki kod eklenir. Bir sonraki satırda kayıtçılar tekrar korumaya alınır. Setlenen kayıtçı birimi koruma kodlarıyla birlikte: EALLOW; SysCtrlRegs.HISPCP.all = 0x0000; EDIS; 73 S.Kesler, A. S. Akpınar biçimindedir. Genel amaçlı giriş/çıkış kayıtçılarının ayarları kaynak dosyasında olduğundan, sayısal giriş ve çıkış olarak kullanılacak kapıların kayıtçıları yine korumalı olarak bu dosyada ayarlanır. Dosya ana program içine InıtGpio( ); koduyla dahil edilir. DSP281x_Gpio.c kaynak dosyası da projeye eklenir. GPIO_PortB nin ilk sekiz bitinin çıkış, son sekiz bitinin giriş olarak ayarlandığı kaynak kodları aşağıdaki gibidir. Genel tanımlama kapı(port) yönlendirme kayıtçısında (GPBDIR) yapılmaktadır. EALLOW; GpioMuxRegs.GPBMUX.all = 0x0; GpioMuxRegs.GPBDIR.all = 0x00FF; GpioMuxRegs.GPBQUAL.all = 0x0; EDIS; Çevresel birimlerin kesme vektör tablosu işlenirken işlemci temel kesmelerinin yetkisiz kılınması gerekir. Bunun için CPU kesmeleri yetkisiz kılınır ve kesme bayrakları (interrupt flag) temizlenir. Gerekli kod sırası aşağıdaki gibidir. DINT; InıtPieCtrl( ); IER=0x0000; IFR=0x0000; InitPieVectTable(); Çevresel birimlerin kesme vektörleri DSP281x_PieCtrl.c kaynak dosyasında ayarlanır. Bu dosya kaynak dosyalar bölümüne dahil edilir. Bu dosyada eğer ADC örnekleme zamanına göre bir kesme vektörü kullanılacaksa; InitAdc(); EALLOW; PieVectTable.ADCINT = &adc_isr; EDIS; PieCtrlRegs.PIEIER1.bit.INTx6 = 1; IER = M_INT1; EINT; ERTM; kaynak kodları girilmelidir. Ancak ADC nin kesme vektörleri CPU zamanlayıcılarından bağımsız değildir. Bu yüzden CPU nun gerçek zamanlı kesmeleri de yetkilendirilmiştir. Eğer bir bağımsız zaman kesmesi kullanılır ve ADC nin buna uyması istenirse, zamanlayıcılardan birisine ilişkin kesme vektörü ayarlanmalıdır. Ayrıca zamanlayıcının sayaç durumuna göre kesmenin zamanı da belirlenebilmektedir. Program döngüsü sonunda da kullanılan kesme vektörüne uygun bayraklar ayarlanır. TIMER1 in setlenen sayıcı değerine göre, sayıcı sıfırlama durumuna göre, sayıcı sonlanma durumuna göre ya da sayıcı karşılaştırma değerine (CMPR VALUE) göre kesme üretebilen bir kesme vektörüne sahiptir. TIMER1 periyot değerine göre kesme üreten TIMER1 zamanlayıcısı kesme vektörü kaynak kodları aşağıdaki gibi oluşturulmuştur. EALLOW; PieVectTable.T1PINT = &t1pint_isr; EDIS; PieCtrlRegs.PIEIER2.bit.INTx4 = 1; IER =0x0002; EINT; ERTM; Genel kesme hizmet yordamları (Interrupt Service Routine) DSP281x_DefaultIsr.c kaynak dosyasında olup, bu dosya kaynak dosyaları bölümüne dahil edilmelidir. Kaynak kodlarını yazdığımız kesme vektörleri ayarlanmadan önce; InıtPieVectTable(); kaynak kodu ana programa dahil edilmelidir. Ayrıca çevresel birimler başlangıç değerlerine ayarlanması için, DSP281x_InitPeripherals.c dosyası kaynak dosyaları bölümüne dahil edilip ana programa InıtPeripherals(); kaynak kodu eklenmelidir. Denetim sistemleri uygulamasında en çok kullanılan birimlerden birisi de ADC dir. Bu yüzden gerekli ayarlamalar sonra yapılmak üzere başlangıç ayar kodları bölümünde; InıtAdc(); kodu yazılarak, kaynak dosyaları bölümüne DSP281x_Adc.c dosyası da eklenir. F2812 işlemcisine ilişkin genel değişken ve nesne tanımlarının yapıldığı; DSP281x_GlobalVariableDefs.c DSP281x_CodeStartBranch.asm dosyaları yine kaynak dosyaları bölümüne eklenmelidir. Denetim amaçlı oluşturacağımız ana programa başlamadan önce kütüphane ve başlık dosyalarının kaynak dosyaların derlenmesinden sonra çıkış dosyasının işlemci belleğinde yerleşeceği haritalama kodları, bağlayıcı ve yükleyici dosya kodları eklenmelidir. Bunlar; DSP281x_Header_nonBIOS.cmd F2812_EzDSP_RAM_lnk.cmd dosyalarıdır. Bütün bu sözü edilen dosyalar CCS kurulumunda mevcuttur. Sadece açılan projeye 74 Sayısal İşaret İşleyiciler ve Bir Hız Denetim Sistemi için Programlama İlkeleri: Model TMS320F2812 DSP eklenmesi ve ayarlanması gerekir. Örnek projelerden yola çıkarak, gerekli ekleme ve düzenleme işlemi daha kolaydır. Ancak F2812 işlemcisine ilişkin çevresel birimlerin başlık dosyalarının üretici firma web destek sitesinden indirilip kurulması gerekmektedir DSP kayıtçılarının kullanımı F2812 işlemcisinin bütün çevresel birimleri C++ desteğinde nesne olarak bit düzeyine kadar tanımlıdır. Programlamaya başlamadan önce başlık dosyaları tek tek incelenip kayıtçı nesne adları öğrenilmelidir. Program yazımı sırasında CCS de yardımcı olmaktadır. Açılan TAB menülerden kayıtçının ilgili bitleri ya da tamamı seçilebilir. Yapılacak işleme göre işlemci bilgi sayfalarından uygun kayıtçılar belirlenip sırasıyla setlenmelidir. Aşağıda genel amaçlı giriş/çıkış seçici kayıtçılarından GPIO_ PORT_A nın bit düzeyinde PWM çıkışı yetkilendirmesi için bir örnek verilmiştir. Okunacak analog kanal sayısı (ADCMAXCONV), dönüşüm yapılınca hangi kanalın hangi sonuç kayıtçısında tutulacağı (ADCSELSEQx ve ADCRESULTx), hangi olay yöneticisinin dönüşümü yeniden başlatacağı (EVA_SOC_SEQx) ve kesme vektörünün yeniden yetkilendirilmesi (INT_ENA_SEQx) her TIMER1 periyoduna bağlı gerçekleşen kesmeler için ayarlanır. İlgili kayıtçılar (ACTRLx, ADCMAXCONVxx, ADCCHSELSEQx) AdcRegs içinde bulunur. GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1; Burada; GpioMuxRegs: Genel Amaçlı Giriş/Çıkış Seçici Kayıtçısı, GPAMUX: GpioMuxRegs kayıtçısı altında bulunan A Kapısı Seçicisi, bit: A Kapısı Seçme Kayıtçısında bit düzeyinde işlem yapılacağı, PWM1_GPIOA0=1: A Kapısının A0 biti seçileceği ve PWM çıkışı olduğu yazılan kodla belirtilmiştir Analog- Sayısal Dönüştürücü ayarları F2812 işlemcisi 12-bit çözünürlüklü 16 adet (2x8) 0-3 V DC analog girişli bir ADC ye sahiptir. Programın işlemcide koşturulması sırasında okunacak analog girişlerin sayısı ve analog işaretin hangi bacağa bağlandığı, dönüştürme sırası ve biçimi ayarlanmalıdır. Örnekleme zamanı ve dönüştürülen işaretin sayısal değerinin ana program tarafından hangi sıklıkla alınacağı kesme vektörleriyle belirlenir. ADC nin örnekleme hızı ise sistem saat hızına göre bağımsız olarak ayarlanabilmektedir (Şekil 3 ve Şekil 4). Bu çalışmada ADC 25 MHz hızında ve dönüştürme biçimi sıralı kip olarak seçildi. Böylece okunacak akım ya da diğer analog girdiler öncelik sırasına göre dönüştürülmüştür. 75 Şekil 3. ADC birimimin sıralı dönüşüm kipi Üç analog giriş için kullanılan ayarlar örnek olarak aşağıda verilmiştir. AdcRegs.ADCMAXCONV.all = 0x0002; // üç adet kanal dönüştürülecek AdcRegs.ADCCHSELSEQ1.bit.CONV00= 0x7; // ADCINA7 bilgisi ADCRESULT0'a AdcRegs.ADCCHSELSEQ1.bit.CONV01= 0x6; // ADCINA6 bilgisi ADCRESULT1'e AdcRegs.ADCCHSELSEQ1.bit.CONV02= 0x0; // ADCINA0 bilgisi ADCRESULT2'e AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1; // Sıralı mod EVA olay yöneticisi yetkili AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Kesmeler dönüşüm sonunda yetkili AdcRegs.ADCTRL3.bit.ADCCLKPS=3; // ADC örnekleme hızı 150/6=25Mhz AdcRegs.ADCTRL1.bit.CPS=0; // Ardışıl dönüşüm hızı (pipeline) AdcRegs.ADCTRL1.bit.ACQ_PS=7; // ADC örnekleme penceresi Sayısal değere dönüştürülen analog işaretler ADCRESULTx kayıtçılarında tutulur. Eğer S.Kesler, A. S. Akpınar dörtten fazla kanal dönüşümü yapılacaksa, SEQ1 ve SEQ2 kipleri ADCTRL1 ve ADCTRL2 kayıtçılarında setlenir. Bunun için Tablo 1 den faydalanılabilir. Tablo 1. ADC kanal seçim kayıtçı değerleri ADC sonuç kayıtçıları 16-bit olmasına rağmen dönüşüm 12-bit olduğundan tutulan sayısal bilgi normal analog değerine dönüştürülmeden önce 4-bit sağa kaydırılarak kullanılır. Örnek kod aşağıdaki gibidir. RefVoltDigital=(AdcRegs.ADCRESULT2 4); RefVoltAnalog= RefVoltDigital *3.0/4095; F2812 işlemcisi ADC si mv/bit duyarlılıktadır. Çok salınım yapan 12-bit yerine 11-bit kullanılabilir. Bu durumda beş bit sağa kaydırılabilir. ADC çalışma zamanı ayarlaması Şekil 4 de verilmiştir. Şekil 4. ADC çalışma hızının ayarlanması Çalışmamızda TIMER1 ve EVA olay yöneticisi kullanılarak farklı frekanslarda PWM işareti üretilmiştir. Sayıcı yukarı-aşağı (up-down mode) çalışma kipine ayarlanarak, örnek olarak, f pcu 150Mhz f pwm = = = 2500 Hz T1. TPS. HISCP (2x30000).1.1 per T1 anahtarlama frekansı elde edilir. TIMER1_PERIOD değeri setlendiğinde, toplam zaman sayacı önce yukarı sonra aşağı olmak üzere toplamda sayacaktır. Ayrıca her zamanlayıcının (TIMERx) bağımsız olarak üç ayrı karşılaştırma değeri girilebilmektedir. Bunlar CMPRx kayıtçılarında tutulur. İlgili kayıtçılar EvaRegs ve EvbRegs içinde bulunur. EVA olay yöneticisinde sayıcıyı sıfırdan başlatan, TIMER1 periyodunu setleyen ve periyot sonunda ADC için kesme üreten kodlar aşağıdaki gibidir. EvaRegs.T1PR =30000; // 2.5 khz için periyod değeri EvaRegs.GPTCONA.bit.T1TOADC = 2; // Periyot sonunda kesme yetkisi EvaRegs.T1CNT=0x0000; // Sayıcı başlangıç değeri Her periyot sonunda kesme bayrakları ve vektörleri yeniden ayarlanır: EvaRegs.EVAIMRA.bit.T1PINT=0; EvaRegs.EVAIFRA.bit.T1PINT=1; EvaRegs.EVAIMRA.bit.T1PINT=1; EVA olay yöneticisinin TIMER1 için yukarıaşağı sayma kipi ve karşılaştırma mantık biriminin etkin edilmesi için aşağıdaki setleme yapılır. EvaRegs.T1CON.all = 0x0842; Her karşılaştırma işleminde PWM X ve PWM x+1 işaret çiftinin, sayıcı değerinin karşılaştırma değerine ulaştığında PWM X in yükselmesi ve PWM x+1 in düşmesi için aşağıdaki setleme yapılmalıdır. EvaRegs.ACTRA.all=0x0666; 4.4. PWM işaretlerinin üretimi İşlemcinin daha önce sözü edilen zamanlayıcıları ve karşılaştırma mantık birimi kullanılarak üç-çift bağımsız tümleyenli PWM işaretleri üretilir. Aynı hat üzerindeki anahtarların kısa devre olmasını önlemek amacıyla ölü zaman mantık birimi de ayarlanır. 76 Sayısal İşaret İşleyiciler ve Bir Hız Denetim Sistemi için Programlama İlkeleri: Model TMS320F2812 DSP Şekil 5. EVA olay yöneticisine bağlı birimler Şekil 6. PWM işareti üretim süreci blok çizgesi Sabit darbeleme oranlı PWM üretimi için karşılaştırma değerleri (CMPRx) sabit girilir. SVPW
Similar documents
View more...
Search Related
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks