Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Texas Instruments => Konuyu başlatan: quarko - 18 Eylül 2020, 12:48:15

Başlık: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: quarko - 18 Eylül 2020, 12:48:15
TMS320F28027 üzerinde pwm interrupt ı alıyorum. PWM sayacım up-down olarak sayıyor. Örneğin ben sayaç ile period eşleşmesi gerçekleştiğinde interrupt alınacak şekilde ayarladığımda interruptı alıyorum fakat birkaç us gecikme ile alıyorum. Bu durum, normal değil gibi.

Kod flash tan çalıştığında bu interrupt gecikmesi birkaç us civarında oluyor. Interrupt fonksiyonunu ram dan çalıştırdığımda ise bu gecikme 700-800ns civarlarında oluyor. Böyle bir gecikme olması biraz garip. 100kHz anahtarlama frekansım var. 10us periyot için bu gecikmeler önem arz ediyor maalesef.

Bu konu ile alakalı bilgisi olan varsa yorumlarınızı alabilirim.
Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: z - 18 Eylül 2020, 13:10:36
Islemcinin Clk frekansini kontrol ettin mi?
Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: quarko - 18 Eylül 2020, 14:08:42
Evet işlemci frekansını daha önce kontrol etmiştim. Dahili osilatörle de, harici kristallede durum aynı. (MCU 60MHz de çalışıyor.)
Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: z - 18 Eylül 2020, 14:21:20
Ayni pwm in urettigi bir diger int daha var mi?

Mesela Cmp int aciksa Cmp Int, Peryod Int dan daha once uretilecegi icin once varsa cmp int rutini isler birazdan gelecek Peryod int bu esnada int rutini isletilirken isleme alinmayacaktir. Ne zaman cmp int rutini bitti o zaman peryod int rutinine girersin bu da gecikme sebebi olabilir.

1 us boyle bir islemci icin dehset bir gecikme.




Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: quarko - 18 Eylül 2020, 14:59:23
Yok hocam. Aynı pwm in ürettiği başka bir interrupt daha yok. Amacım sayaç aşağı doğru sayarken, CompareB değeri ile eşleştiğinde interrupt almaktı. En son 600-700ns gecikme ile interrupt fonksiyonunu ram den çalıştırarak elde ettim.

ePWM1'i kullanıyorum normalde. ePWM4 ü de aynı şekilde ayarladım. PWM4'ün compareB değerini, gecikmeyi hesaba katarak verdim. Ona göre istediğim yerde interrupt alabildim.
Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: z - 18 Eylül 2020, 15:25:25
Ama sorunun kaynagını bulmak lazım.

Cok ilginç bir durum bu.

Bu işlemciylemiydi tam hatırlamıyorum CLA birimi olan modeliyle kısa bir süre çalıştım ve PWM ile ilgili böyle bir sorun yaşadığımı hatırlamıyorum.
Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: quarko - 18 Eylül 2020, 15:33:15
Ben bu işlemci ile ilk defa bir proje yapıyorum hocam. CLA birimi yok bu işlemcide. Daha üst ailelerde var. Böyle bir soruna mantıklı bir açıklama bulamadığım için burada paylaşmak istedim aslında.
Başlık: Ynt: TMS320F28027 ePWM Interrupt Gecikmesi
Gönderen: quarko - 21 Eylül 2020, 22:47:45
PWM interruptlarındaki gecikme problemi, PWM ile ADC_SOCx tetiklemelerde de mevcut maalesef. PWM sayacı zero dan geçerken, ADC_SOC tetiklemesi yapacak şekilde ayarlıyorum. Maalesef çevrim sürelerine ilaveten mevzubahis gecikme ile birlikte, örnekleme periyodunda bana pahalıya patlıyor.  :-[