Pic18F452 16 bit Pwm Olarak çalışırmı?

Başlatan rree, 01 Eylül 2006, 22:33:06

rree

Bir çok deneme yaptım 8 bite yukarı geçmedi. Amacım 16 Bitlik Wav dosyasını çalmak.
Device=18f452
	 
	@CONFIG_REQ
	@__CONFIG CONFIG1H, OSCS_OFF_1 & HS_OSC_1
	'@__CONFIG CONFIG1H, OSCS_OFF_1 & HSPLL_OSC_1 
	@__CONFIG CONFIG2L, BOR_OFF_2 & BORV_20_2 & PWRT_OFF_2
	@__CONFIG CONFIG2H, WDT_OFF_2 & WDTPS_128_2
	@__CONFIG CONFIG3H, CCP2MX_OFF_3
	@__CONFIG CONFIG4L, STVR_OFF_4 & LVP_OFF_4 & DEBUG_OFF_4
	
	'#fuses HS,WDT128,NOPROTECT,NOLVP 
		
	'XTAL  = 8 
     XTAL = 32
'-----------------------------------------------------------
ALL_DIGITAL = TRUE

Dim DATAWord  as Word
Delayms 5
 
Main:
TrisA=0
TriSB=0
TrisC=0
                    'CCP1CON=%00001100
CCP1CON=%00011100
CCP2CON=%00001100
                    'T3Con=%10101001
T3Con=%10011101    'T3 16 Bit 1 ,T3 CCp2 T1CCP1 01,Onbolucu=2 01,Bek Köp Kapalı 0,İnternal clock 0,Tmer3 On 1
             'T1Con=%10010101
T1Con=%10010101 
T2Con=%10010101

DataWord=125
 CCPR1H=DataWord.HighByte
 CCPR1L=DataWord.LowByte
 CCPR2H=DataWord.HighByte
 CCPR2L=DataWord.LowByte
Basla:

Goto Basla
end

mmengi

Sanırım 18F452 10 bit pwm üretebiliyor.

SpeedyX

PIC18F452 Features: CCP Modules
􀂃 Two CCP (Capture/Compare/PWM) modules
􀂃 CCP pins can be configured as
􀂃 Capture: time an external event with an accuracy of TCY/16
􀂃 Compare: generate an event at a known time,
to an accuracy of TCY
􀂃 PWM: generate PWM output with 1- to 10-bit resolution.
􀂃 With a 10 MHz clock, resolution TCY/16 = 25ns

rree

Pwm 10 bit olduğunu biliyorum  Compare 16 bit yazıyor. Compare kısmı PWM dönüştürülemezni?

alayli

Alıntı yapılan: "rree"Pwm 10 bit olduğunu biliyorum  Compare 16 bit yazıyor. Compare kısmı PWM dönüştürülemezni?

Bildiğim kadarıyla 16FXXX ve 18Fxxx serilerindeki capture-compare-pwm hardware modüllerini sadece bir fonksiyon için kullanabiliyorsunuz. Aynı CCP modülünde (CCP1 veya CCP2) eş zamanlı olarak (zaman göreceli bir kavram burada mikro saniyeler sözkonusu), herhangi ikisi veya üçünü kullanamıyorsunuz. Bu üçünden birini ve modifikasyonlarını kullanmak istediğinizde CCP1 ve CCP2 modülleri için CCP1CON ve CCP2CON registerlerine değer atayarak siz belirliyorsunuz. 8 bitlik bu reğisterin 6. ve 7. bitleri 0 okunur ve kullanılmaz. 4. ve 5. bitleri capture ve compare modlarında kullanılmaz, sadece PWM modunda kullanılır ve 10 bitlik duty değerinin alt (LSB) iki biti (bit 0 ve bit 1) nin değeridir. Üst sekiz bit ise CCPR1L ve CCPR2L registerlerinde saklanır. 3.,2.,1. ve 0. bitlerine atayacağınız değerler ise PIC'in ilgili modülüne compare mi, capture mi yada PWM modunda mı çalışacağını söyler. Ayrıntı için bkz. 18FXX2 datasheet; sayfa 119; REGISTER 14-1 başlık isimli tablo...

Tablodanda göreceğiniz üzere CCPxCON registerlerinin 3. ve 2. bitlerine dijital 1 değerini atadığınızda 0. ve 1. bitlerin değeri önemsenmeksizin modül PWM moduna kurulmuş olur. Bu durumda capture mudunu kullanamayacağınız aşikar sanırım...

Dahası PWM modundaki çözünürlük her ne kadar 10 bit dense de (ki datasheette 1- to 10-bit der) bu çözünürlük;

*Kullandığınız ana frekansa (PIC clock frekansı)
*Hedef PWM frekansına
*Timer preskaler değerine (1,4,16)
*PR2 ye atanan değere bağlı olarak değişir. 18FXX2 datasheet; sayfa 124 de PWM PERIOD, PWM DUTY CYCLE, PWM Resolution değerlerinin ayrıntılı formülleri mevcut.

Yüksek PIC frekansı ve düşük hedef PWM frekansı sözkonusu olduğunda bu çözünürlük 14 bit'e kadar çıkabilir. Mesela 40MHz PIC çalışma frekansında, timer preskaler 16 olarak seçilir, PR2 değeri 255 (0xFF) olarak atanırsa; 2.44KHz hedef PWM ve 14 bit çözünürlük elde edilir. GEnelde, hedef frekans yükseldikçe çözünürlük azalır. Ama bu durumun lineer olduğu söylenemez. (PR2'ye atanan değer ve timer preskaleri sebebiyle) Bu durumu 18FXX2 datasheet; sayfa 125; TABLE 14-4 çok güzel örneklendirmiş.

Çoğu zaman sorularımızın en doğru ve net cevabı; bizlere sıkıcı gelen İngilizce datasheetlerde ve bu tablolardadır malesef... :)

Saygılar...

Not: Metinde geçen sayfa numaraları akrobat reader scalasında görülen numaralardır. pdf'in ilk iki sayfası sayfa i ve sayfa ii şeklinde adlandırıldığı için, pdf dosyasının sayfa numaraları benim yazdıklarımdan 2 eksik düşünülmelidir.
Anca kazganmiş itmiş ilimiz törümüz erti. Türk Oguz begleri budun esiding. Üze tengri basmasar, asra yir telinmeser, Türk budun, ilingin törüngin kim artati? (udaci erti)