Clock sinyali

Başlatan hacettepeli_muhendis, 23 Temmuz 2004, 13:01:35

hacettepeli_muhendis

0.5MHz ile 1MHz arası clock sinyali üretmek istiyorum en ucuz yoldan bunu nasıl yaparım tşkler
pic in clock out ucunda simülasyonda bişey görmüyorum normalde görmem gerekli mi eğer clock out ucunda 1MHz den büyük sinyal varsa sorunum çözülmüş demektir zaten tşkler (XT osilatör kullanırken)
Dünyada 10 çeşit insan vardır binary saymayı bilenler ve bilmeyenler

fsan

selam
XT osc kullanirken olurmu bilmem ama 16F628 internal osc icin asagidaki linke bir göz at

Alıntı YapUsing the internal 4MHz Oscillator
Port-pin RA.6 can be programmed to output a clock signal 1/4 the oscillator frequency, or it can function normally as an additional bi-directional digital I/O-pin. Running on the internal 4MHz oscillator, RA.6 can output a 1MHz clock signal by selecting (INTRC Clockout), or RA.6 may be used for normal digital I/O by selecting INTRC (IN).
http://www.rentron.com/PIC16F628.htm

fsan

The RC oscillator (RC)

20pf <= C <= 300pf,   5k <= R <= 100k  -  secilmelidir

osc. frekansi asagidaki sekilde hesaplanir..


daha genis bilgi icin:
http://www.sprut.de/electronic/pic/osc/index.htm - (almanca)

ingilizceye cevirmek isterseniz:
http://translation.langenberg.com/

hacettepeli_muhendis

tşkler teiler ne demek ya? ayrıca buffer ST yerine iki tane inverter bağlarsak ta çalışırmı ki? elimde hazır ST NAND varda
Dünyada 10 çeşit insan vardır binary saymayı bilenler ve bilmeyenler

fsan

merhaba
"teiler" almancada bölücü demek. ST, Teiler bunlar zaten PIC icerisinde bulunuyor (sari renk olan kisim)

PIC programlanirken "__CONFIG" ayarlarda  "_RC_OSC" secilecek.  

PIC in CLKOUT cikisindan 1MHz signal elde etmek icin:
formulde f[mhz]=4 secilecek (mesela C=22 ve R degeri bulunacak)

hacettepeli_muhendis

ama bu çok sağlıksız bir yöntem clock sinyali kararsız oluyor o clock sinyalini ADC de kullanacağım tşkler
Dünyada 10 çeşit insan vardır binary saymayı bilenler ve bilmeyenler

Prof.EleCTroN

Anladığım kadarıyla projede PIC16F84, ADC ve ADC için osilatör kullanacaksın. Bunun yerine ilgili donanımları içeren bir PIC niye kullanmıyorsun?

fsan

Okey, ozaman XT_OSC kullanip timer0/interrupt sayesinde I/O pinlerinden birini cikis yapip 1us signal üretmek lazim


siz ne dersiniz?

hacettepeli_muhendis

Alıntı Yap
Anladığım kadarıyla projede PIC16F84, ADC ve ADC için osilatör kullanacaksın. Bunun yerine ilgili donanımları içeren bir PIC niye kullanmıyorsun?

bu gidişle öyle olcak ADC ucuz bişeyse alıyım demiştim ama pekte umduğum kadar ucuz değilmiş belki seri çıkış veren ADC entegreleri daha ucuzdur onlarıda bi soruyum değilse bi 16f877 alırım
Dünyada 10 çeşit insan vardır binary saymayı bilenler ve bilmeyenler

yıldırım ak

Alıntı YapI/O pinlerinden birini cikis yapip 1us signal üretmek lazim

Kullandığın 84 4 mHz ise zaten komut işleme süresi 1 us olacak. En iyisi bencede;

Alıntı YapAnladığım kadarıyla projede PIC16F84, ADC ve ADC için osilatör kullanacaksın. Bunun yerine ilgili donanımları içeren bir PIC niye kullanmıyorsun?
"... Bana kulluk et; Beni anmak için namaz kıl" (Taha 14)

fsan

84 4 mHz mi?  :o

arkadaslar ben bu interrupt, timer0 olayina kafayi baya taktim.. adamin birisi pbp de böyle bir kod vermis:
Alıntı YapPSA Var OPTION_REG.3 ' Prescaler Assignment (1= assigned to WDT)
'           (0= assigned to oscillator)

ben ise yukaridaki semadaki gibi PSA biti 1 yapip prescaler kullanmadan fosc signalini 8-bit lik timer0' e verip, tmr0=250 yapip 256 da INTCON.2 deki T0IF flag ile interrupt üretip cikista yaklasik 1mhz signal alabilicegimi sanmistim.. :\ ama adam yukarida PSA yi 1 yapinca WDT ye baglanir diyor..  bu ne anlama geliyor?
yukaridaki semadaki gibi  4:1 fosc signalini direk timer0 vermek mümkün değilmi yani?

Veli B.

Hayır senin dediğin gibi.


1 =WDT
0=TMR0

Bu şekilde kullanılacağını söylüyor datasheetler.
düşündüğün gibi kullanabilirsin dostum.

yıldırım ak

WDT yi ve TMR0 ı aynı anda kullanmak mümkün. Resetlenme olmadan WDT den TMR0 a TMR0 dan WDT ye atama yapılabiliyor. Ama asıl mesele 4 mhz kristal kullanan bir işlemcinin 1 mhz lik clock üretemeyeceği 1 mhz = 1.000.000 us
4 mhz işlemcinin komut işleme süresi zaten 1 us. gerekli palsi üretemez. Başka hiç kod olmasa bile bir pals için high 1 us low 1 us toplam 2 us oda 0.5 mhz eder.
"... Bana kulluk et; Beni anmak için namaz kıl" (Taha 14)

Veli B.

Aslında aynı anda değil dönüşümlü kullanmak mümkün.Bu arada bir yanlışımı düzeltmek istiyorum.Elimin altında 628 datasheet vardı ve ona bakmıştım ama osc konusunda 84 ile aynı değilmiş.84 için RC osc kullanılırsa 1/4 oscout mümkün(p40).Fakat 628 de IRC (Dahili)osc sayesinde 1 Mhz lik CLKOUT mümkün(p98).Hatta ER(External Resenator) ile daha fazlası bile mümkün(1/4)dolayısı ile sadece GONFIG den ayarlamak yeterli.(p139)