Welcome, Ziyaretçi

Gönderen Konu: işlemci ve print süresi  (Okunma sayısı 6587 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
işlemci ve print süresi
« : 22 Kasım 2011, 15:53:18 »
s.a.
arkadaşlar kafama takılan bir konu üzerinde kafam ağrımaya başladı. bana bu konuda yardım edecek bir arkadaş yokmu? şöyle ki....
bir PI sistem dedektör yapıyoruz çalışma frekansımız genellikle 100-200-300-400 hertz civarı
yazılımsal bir pı yapacaksak eğer frekansı oluşturan bir çevrim süresi
100 hertz de 10 mS
200 hertz de 5 mS
300 hertz de 3,33 mS
400 hertz de 2,5mS oluyor

şimdi yapacağımız dedektörde frekansın formunun bozulmaması istenen bir durumdur. bunun içinde ben genellikle timer0 kesmesi ile arka planda oluşturuyorum frekansımı ve genellikle 200 hertz kullanmayı tercih ediyorum. buda bir çevrimin 5 ms olmasına sebeb oluyor. şimdi yazılımda bu döngüyü 5mS içerisine sığdırmam gerekiyor. peki kullanacağım işlemler nelerdir?
1.pals ve örneklemeleri göndermek (bunu arka planda yaptığımız için sorun yok)
2. adc okumaları
3.hesaplamalar
4.lcd ye değerleri print etmek
1. sıradaki sorun değil, zaten aralığı oluşturan süreyi oluşturuyor.
2. ve 3. işlemler örneklemelerle beraber 2ms kadar sürüyor
geriye 4. işlem yani
lcd ye bilgi göndermeleri kalıyor
burada pili ölçmek, bargraf, vs diğer değerleri lcd ye basıyorum.
burada çözümüm kısmen aştım ama yine de aşamadığım noktalar var, mesela aştığım konular bataryayı ölçtüm "BATT:" kısmını ana döngüye girmeden  hemen önce cld yi sildikten sonra yazdırıyorum aynı şekilde diyelim hassasiyet ,eşik vs başlıklarını ana programdan önce "HASS:", "EŞIK:"yazılıyorum. bunlara ait değerleri de ana programda karşılarına yazdırıyorum.bu yazdırma işlemi benim 3 ms lik süreyi taştığından 200 hertzlik sinyalim bozuluyor 100-80 herzte düşüyor.
yanilcd ye 3 haneli bir değeri bastığımızda 2 mS sürüyor süreyi aşmadı, ama başka bir 3-4 haneli bir değeri daha eklediğimde bana kalan 3 mS yetmiyor, bunu nasıl aşarım. yazıyı biraz uzattım farkındayım. umarım sorunumu anlamışsınızdır  :D
tabi
başka bir teknikte pals ve örneklemeleri 5mS aralıklarla yapıp bunu 10 kez ana döngüde yaptırıp, her bir pals ve örneklemelerden sonra birer tane print yaparakta aşılabilir. bunu yapıyorumda ama bargarfı girince yine frekansımın formunda bozulmalar oluyor.
acaba bunu aşmak için LCD ile işlemci arasına bir entegre veya eleman girerek süreyi kısaltabilirmiyiz.
bu arada kullandıpım işlemci 18F4520 ve 48 MHz de çalışıyorum. bir komut işleme sürem ise 0,083uS hızımın yeterli olduğuna inanıyorum.
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

Uykusuz

  • Administrator
  • Yarbay
  • ******
  • İleti: 2599
  • Teşekkür: 207
  • while(heart_rate>0){work();}
Ynt: işlemci ve print süresi
« Yanıtla #1 : 22 Kasım 2011, 16:05:29 »
a.s. pro-TR

Saniyede 200 defa pals gönderiyorum demişsiniz. Her palsten sonra ekrana bilgi yazmak zorunda değilsiniz. Zaten insan gözü saniyede 200 defa değişen bir görseli algılayamaz. Ekranı saniyede 10 defa yenilerseniz problem olmaz.

Ekranın yenilemek isterse 10 saniye sürsün. Palsi timer interrupt ile verdiğiniz için asla sinyal formunda bozukluk olmayacaktır.

Siz lcd sürmek için bir zamanlama oluşturun. tavsiyen 100mS de bir yenilemenizdir fazlası gereksiz işlemdir. Ekrana basılacak verileri de başka bir fonksiyonda sürekli hazırda tutun. Zamanı gelince o verileri LCD'ye basarsınız. Yazdırma süresine takılmayın bunun bu işte hiç bir önemi bulunmamaktadır.

Saygılar.
Projelerimiz için tıklayın Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
Sipariş ve Bilgi için satis@lugatek.com ile irtibata geçiniz.
Lütfen teknik sorularınızı forumda sorunuz özel mesaj göndermeyiniz

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
Ynt: işlemci ve print süresi
« Yanıtla #2 : 22 Kasım 2011, 16:29:21 »
Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
a.s. pro-TR

Saniyede 200 defa pals gönderiyorum demişsiniz. Her palsten sonra ekrana bilgi yazmak zorunda değilsiniz. Zaten insan gözü saniyede 200 defa değişen bir görseli algılayamaz. Ekranı saniyede 10 defa yenilerseniz problem olmaz.

Ekranın yenilemek isterse 10 saniye sürsün. Palsi timer interrupt ile verdiğiniz için asla sinyal formunda bozukluk olmayacaktır.

Siz lcd sürmek için bir zamanlama oluşturun. tavsiyen 100mS de bir yenilemenizdir fazlası gereksiz işlemdir. Ekrana basılacak verileri de başka bir fonksiyonda sürekli hazırda tutun. Zamanı gelince o verileri LCD'ye basarsınız. Yazdırma süresine takılmayın bunun bu işte hiç bir önemi bulunmamaktadır.

Saygılar.

s.a.
hıocam anlayamadım ben saniyede 200 pals vermiyorum. yani şu doğru saniyede 200 pals çıkıyor bu doğru, yalnız ben her okuduğum adc değerini veya datalarımı her palsin arkasından yazmıyorum genellikle 10 kez adc okuttuktan sonra bu işleri yapıyorum. diyelimki 200 palsden sonra yapalım printi 200. palsden sonra lcd ye komut gönderdiğimizde atıyorum 20mS sürsün bu işlem 200 palsle 201 apls arasında 10mS lik bir gecikme meydana gelmez mi? yani yine aynı şey değilmi?
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

Uykusuz

  • Administrator
  • Yarbay
  • ******
  • İleti: 2599
  • Teşekkür: 207
  • while(heart_rate>0){work();}
Ynt: işlemci ve print süresi
« Yanıtla #3 : 22 Kasım 2011, 16:35:54 »
LCD'yi interrupt ile sürmeyeceksiniz. LCD ana program içersinde herhangi bir timer ile belirlediğiniz (Tavsiyem 100mS'dir) zamanda bir LCD yenileme fonksiyonunuz çalışacak.

Öte yandan arka planda 200Hz pals ve ardından interrupt ile örnekleme palslerini vereceksiniz. Ardından yine interrupt programınızdan çıkmadan ADC'yi okutup öyle çıkacaksınız.

Matematiksel işlemleri yine ana program içerisinde yapacaksınız ve lcd sürme zamanı geldiğinde ekrana yazılacak olan verileri hazırlayacaksınız.


Pals verme işlemi timerlar ile ve örnekleme palsleri ve adc okutma interrupt programı içerisinde olduğundan lcd sürmeniz isterse 10 saniye sürsün farketmiyor. lcd yenileme işlemi bittikten sonra zaten arka planda örneklemeleriniz alınmış işlemmeye hazır vaziyette sizi bekliyor olacaktır.
« Son Düzenleme: 22 Kasım 2011, 16:42:43 Gönderen: Uykusuz »
Projelerimiz için tıklayın Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
Sipariş ve Bilgi için satis@lugatek.com ile irtibata geçiniz.
Lütfen teknik sorularınızı forumda sorunuz özel mesaj göndermeyiniz

Uykusuz

  • Administrator
  • Yarbay
  • ******
  • İleti: 2599
  • Teşekkür: 207
  • while(heart_rate>0){work();}
Ynt: işlemci ve print süresi
« Yanıtla #4 : 22 Kasım 2011, 16:42:30 »
"LCD'yi interrupt ile süreyeceksiniz" yazmışım. LCD'yi interrupt ile sürmeyeceksiniz demek istemiştim düzelttim.
Projelerimiz için tıklayın Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
Sipariş ve Bilgi için satis@lugatek.com ile irtibata geçiniz.
Lütfen teknik sorularınızı forumda sorunuz özel mesaj göndermeyiniz

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
Ynt: işlemci ve print süresi
« Yanıtla #5 : 22 Kasım 2011, 16:43:22 »
Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
LCD'yi interrupt ile süreyeceksiniz. LCD ana program içersinde herhangi bir timer ile belirlediğiniz (Tavsiyem 100mS'dir) zamanda bir LCD yenileme fonksiyonunuz çalışacak.

Öte yandan arka planda 200Hz pals ve ardından interrupt ile örnekleme palslerini vereceksiniz. Ardından yine interrupt programınızdan çıkmadan ADC'yi okutup öyle çıkacaksınız.

Matematiksel işlemleri yine ana program içerisinde yapacaksınız ve lcd sürme zamanı geldiğinde ekrana yazılacak olan verileri hazırlayacaksınız.


Pals verme işlemi timerlar ile ve örnekleme palsleri ve adc okutma interrupt programı içerisinde olduğundan lcd sürmeniz isterse 10 saniye sürsün farketmiyor. lcd yenileme işlemi bittikten sonra zaten arka planda örneklemeleriniz alınmış işlemmeye hazır vaziyette sizi bekliyor olacaktır.

usta bir alaylı ile konuşuyorsunuz, biz sizin gibi mektepli değiliz ha,  :D bi ara çift işlemci ile devam edeyim diyordum tx-rx kanalları ile lcd ve voltaj okumayı oraya alayım diyordum ama dediğinizi araştıracağım örnek yazılım bulmak lazım, bana daha fazla ipucu verebilirmisiniz?veya örnek bir yazılım, proje vs. yokmu usta
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
Ynt: işlemci ve print süresi
« Yanıtla #6 : 22 Kasım 2011, 16:45:19 »
ya usta acaba ben diyorum arka plandaki oluşturduğum palsleri mi hatalı yaptım acaba, yani kullandığım kesme işlemi ana döngüyü etkilememesi lazım değil mi? acaba yanlış temel üstüne mi bina çıkıyoruz?
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

Uykusuz

  • Administrator
  • Yarbay
  • ******
  • İleti: 2599
  • Teşekkür: 207
  • while(heart_rate>0){work();}
Ynt: işlemci ve print süresi
« Yanıtla #7 : 22 Kasım 2011, 16:49:38 »
Kullandığınız dil ile yazılmış elimde hazır program yok fakat siz yazdıklarımı dikkatlice okuyup biraz zaman ayırırsanız demek istediklerimi daha iyi kavrarsınız.

Saygılar.
Projelerimiz için tıklayın Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
Sipariş ve Bilgi için satis@lugatek.com ile irtibata geçiniz.
Lütfen teknik sorularınızı forumda sorunuz özel mesaj göndermeyiniz

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
Ynt: işlemci ve print süresi
« Yanıtla #8 : 22 Kasım 2011, 17:03:17 »
Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
ya usta acaba ben diyorum arka plandaki oluşturduğum palsleri mi hatalı yaptım acaba, yani kullandığım kesme işlemi ana döngüyü etkilememesi lazım değil mi? acaba yanlış temel üstüne mi bina çıkıyoruz?
anladım usta bunu daha sakin bir kafa ile tekrar düşüneceğim yalnız şunu söyleyebilirmisiniz?
ana programda işlemleri yaparken arka planda çalışan kesme işlemini etkiler mi? yani demek istediğim print dediğimiz de atıyorum 20mS sürdü yazma işlemi bu arada 4 tane kesme oluşması gerekiyor. yani print işlemi bitmeden kesmeye gidebiliyormuyuz?
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

Uykusuz

  • Administrator
  • Yarbay
  • ******
  • İleti: 2599
  • Teşekkür: 207
  • while(heart_rate>0){work();}
Ynt: işlemci ve print süresi
« Yanıtla #9 : 22 Kasım 2011, 18:03:05 »
Kesme programının amacı da budur zaten. Kesme programının önceliği ana programdan daha yüksektir. Dolayısıyla kesme geldiği anda eğer o anda başka bir kesme programı içerisinde değilseniz ana programınız o an askıya alınır ve kesme programı yürütülür. Dolayısıyla kesme programınız hiiç bir şekilde ana programınızdan etkilenmez.
Projelerimiz için tıklayın Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
Sipariş ve Bilgi için satis@lugatek.com ile irtibata geçiniz.
Lütfen teknik sorularınızı forumda sorunuz özel mesaj göndermeyiniz

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
Ynt: işlemci ve print süresi
« Yanıtla #10 : 22 Kasım 2011, 23:18:31 »
uykusuz hocam sorunumu çözdüm nihayet  [icerim]
zira protonda iki tip kesme kullanılır, hardware kesme ve software kesme ben hep software kullanmışım, sorun bundan kaynaklıymış, şimdi sanırım sorunum çözüldü...
bilgiler ve yardımlarınız için teşekkür ederim  ;)
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

Uykusuz

  • Administrator
  • Yarbay
  • ******
  • İleti: 2599
  • Teşekkür: 207
  • while(heart_rate>0){work();}
Ynt: işlemci ve print süresi
« Yanıtla #11 : 22 Kasım 2011, 23:25:33 »
Rica ederim problemin çözüldüğüne sevindim  ;)
Projelerimiz için tıklayın Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
Sipariş ve Bilgi için satis@lugatek.com ile irtibata geçiniz.
Lütfen teknik sorularınızı forumda sorunuz özel mesaj göndermeyiniz

asel38

  • Çavuş
  • **
  • İleti: 43
  • Teşekkür: 5
Ynt: işlemci ve print süresi
« Yanıtla #12 : 23 Kasım 2011, 02:42:28 »
pro tr  ozeline 30 ornekte bir yazan  ornek atmıstım ama sen daha iyisini yazmısındır eminim

pro-TR

  • Yüzbaşı
  • ****
  • İleti: 643
  • Teşekkür: 26
Ynt: işlemci ve print süresi
« Yanıtla #13 : 23 Kasım 2011, 08:55:18 »
Üye Olmadan Linkleri Göremezsiniz. Üye Olun veya Giriş Yapın
pro tr  ozeline 30 ornekte bir yazan  ornek atmıstım ama sen daha iyisini yazmısındır eminim

selam asel38 usta;
o örnek bana ulaşmadı sanırım, yada çok önceleri almışta olabiliirim. hatırlamıyorum. buble short u kastediyorsanız eğer onu lord_ex ustadan almıştım güzel bir uygulamaydı.
Biz Aşkı erostan merostan öğrenmedik.!
Biz Aşkı Mekke'li bir yetimden öğrendik..

asel38

  • Çavuş
  • **
  • İleti: 43
  • Teşekkür: 5
Ynt: işlemci ve print süresi
« Yanıtla #14 : 23 Kasım 2011, 23:10:26 »
pro tr  frekansı 400hz lerde çalıştırırsan ayrım noktasına duşen bolge çok kısa olur ve hızlı kayma  oldugundan stabil randıman alamassın 100hz de derinlik iyi olur ama yavaş gezdirmek gerikir bunları biliyorda olabilirsin ama goz onunde bulundur diye soyluyorum
« Son Düzenleme: 23 Kasım 2011, 23:29:48 Gönderen: asel38 »