Stm32f4 disco timer hesabı

Başlatan görkem, 19 Nisan 2016, 23:52:41

Cemre.

#15
Alıntı yapılan: __ozgur - 11 Kasım 2016, 14:56:46
Benimde ufak bir sorum olacak konuda,

stm32f429 sistem hızı 180 Mhz. Timer 4 için bu durumda 90 Mhz çıkış alıyoruz. Cubemx kullanıyorum bu durumda Prescaler 45000-1 ayarlarsam 2Khz elde ediyorum doğru mudur? 10Khz ayarlamak için nasıl bir değişiklik yapmalıyım? Cubemx prescaler ayarları için max 65535 değeri alabiliyor.

Teorik olarak doğru ama pratikte hatanız var.

Prescaler tek başına frekans belirlemek için kullanılmaz. Aslında bu Timer biriminin sayması için gereken clock sinyalini bölme işlemine tabi tutmak için vardır.

Tam tersi Prescaler 1 alınıp Preload (ARR) değeri 44999 alınırsa 0'dan 44999'a kadar sayan bir sayıcınız olur ve bu sayma işlemi 500us'de (2kHz) tamamlanır.

Örneğin 12 bit çözünürlüklü PWM sinyali oluşturmak istiyorsunuz. Preload değeri 4096 olmalı. Bu durumda ters işlem yaparak Prescaler değeri 21972 olursa çok yaklaşık olarak 2kHz sinyali 4096 parçada elde etmiş oluruz.

Örnekler çoğaltılabilir.

(Hata yapmış olabilirim ancak genel mantık bu şekilde.)

__ozgur

Teşekkür ederim, 4 işlem yanlışı yapmışım sanırım :) 450-1 prescaler değeri ile osiloskopta 100 mikrosaniye saniye periyot boyunu gözlemleyebildim.