Elektrotekno.com Ana Sayfa || Devre ve proje istekleriniz


Pic'de Seri port hakkında birkaç soru

Kayıt: 29 Mar 2008
Mesajlar: 370

Offline
maresal
Tarih: 16 06 2009 02:16

1. Bazen projelerimde tek seri port yetmiyor. Seri port yazılımsal olarak yapılabildiğine göre bir pic'te birden fazla seri port kullanabilir miyim? mesela şuanda 16f877 de 4 adet seri port kullanmam gerekiyor. Bunu yapmanın bir yolu var mı?

2. Birde pic çalışırken seri port'un baudrate'ini değiştirebilir miyim? mesela koşullar uygun olduğunda 9600 baud ile hızlı iletişim kurulsun, daha sonra ortama gürültü eklendiğinde 300 baud da datanın kesinliği artsın gibi.

3. Yapılan bir iletişimin baudrate ini algılayan bir program yazılabilir mi?


Reklamlar
Kayıt: 02 Ksm 2005
Mesajlar: 306

Offline
schlen
Tarih: 17 06 2009 00:03

Mareşal merhaba,

Sorduğun sorunun cevabını tam bilmemekle birlikte fikir yürütüyorum. Herhangi bir bacağı yazılım ile seri bilgi alış-verişi için kullandığın için birden fazla bacağı da yazılımla yapabilmen lazım. Ancak yüksek seviyeli dillerde port tanımlarken sadece 1 port için tamnımlama yapılmasına müsade ediyorsa bu işlemcinin sınırlaması değildir.

Diyelim ki işlemcinin de böyle bir sınırlamsı var o zaman da anahtarlama (mux-demux) yaparak bu işi çözebilirsin aslında. Önce bilgi için kanalı seçer sonra işlem yaptırabilirsin Wink. Bu da bir yol.

Baudrate değişimi yapman bence mümkündür.(Ancak gürültüyü nasıl algılatacaksın? birde bu işi karşılıklı yaptırmak biraz zor olmayacak mı) Çünkü bu işi program içinde bayraklar ile yapıyorsun. Ama yüksek seviyeli bir dil bu işi direkt olarak konfigürasyon biti olarak ayarlıyorsa o zaman aksi olabilir. Bunu en kolay proteusta deneyerek görebiliriz aslında.
Başa dön
Kayıt: 29 Mar 2008
Mesajlar: 370

Offline
maresal
Tarih: 17 06 2009 02:17

Teşekkür ederim,CCS C kullanıyorum. Baudrate değişimini yapabilirsem gerisi çok zor olmuycak. çift yönlü iletişimde yolladığım her datayı geri göndererek teyit ettircem, oluşan bit bazındaki bozulmalara bakarak baudrate değişimine karar vericem.

Port yönlendirme vs. ilkel bir yöntem kullanmak istemiyorum. Aslında bu işi 4 tane röle koyup sırasıyla açıp kapayarak da yapabilirim ama böyle bir durumda o sırada gelen bir veri kaybolacaktır. Ayrı ayrı kullanmak istememin sebeplerinden biride güvenlik. Kurduğum sistemin dışarıdan müdahaleye karşı korumalı olması gerekiyor. Birisi sensörlerden birinin kablosuna ulaştığında bütün sistemi gözetleyememeli ve her sensör için tek hat üzerinden veri gönderememeli. Ayrıca bunları başka bir şekilde engellesem bile pic'den bilgisayara data yollamak için en az 2 tane seri porta ihtiyacım var.
Başa dön
Kayıt: 02 Ksm 2005
Mesajlar: 306

Offline
schlen
Tarih: 17 06 2009 10:39

O zaman aklıma takılan soruyu sorayım sana. 4 röle ile veri kaybı olacağını söylüyorsun ya. Pic aynı anda 4 farklı portu kontrol edebilecek mi sence? Hızı yüksek bir pic kullanman belki rölelerle de aynı ii yapmana olanak verebilir. Ya da CAN network uygulamalarına bir göz at istersen.
Başa dön
Kayıt: 29 Mar 2008
Mesajlar: 370

Offline
maresal
Tarih: 17 06 2009 17:24

Can network bildiğim kadarıyla merkezi bir bilgisayar olmadan çevre birimlerinin birbiriyle haberleşmesini sağlıyo. Buda benim istediğim şeyin tam tersi, ben bütün cihazlarımın ve sensörlerimin ayrı hatlar üzerinden merkezi bir sistem ile haberleşmesini istiyorum.
Tasarladığım şey bir akıllı ev projesi. Bunun içinde güvenlik sistemide var x10 ile ışık sistemi de, internet üzerinden bahçe durumu kontrolü ve sulama sistemi vs. de var. Ancak ben güvenlik konusunda biraz paranoyak olduğum için çok yüksek güvenlikli bir sistem istiyorum. Burdaki amacım bahçenin ucuna koyduğum bir sensör hattı üzerinden mesela evdeki bilgisayarın açık olup olmadığını anlayamasın saldırgan. bunun içinde hatları tamamen ayrılmış yapmak istiyorum. röle kullanmak da istemiyorum çünkü mekanik sistemlerin arıza yapma ihtimali her zaman daha yüksektir. Ayrıca bataryadan çalışmak zorunda olduğunda az da olsa batarya ömrünü kısaltıcaktır.
Başa dön
Kayıt: 28 Arl 2007
Mesajlar: 77

Offline
tmcone
Tarih: 17 06 2009 23:33

"stream" sözcügünü kullanarak birden fazla uart portu oluşturabilirsin.(Pratikte denemedim ama büyük olasılıkla çalışır.)

#include "16f877A.h"
#use delay(clock=4M)
#use rs232(baud=9600,stream=v1,parity=N,xmit=Pin_C6,rcv=Pin_C7)
#use rs232(baud=4800,stream=v2,parity=N,xmit=Pin_C4,rcv=Pin_C5)
#use rs232(baud=2400,stream=v3,parity=N,xmit=Pin_C2,rcv=Pin_C3,force_sw)
#use rs232(baud=4800,stream=v4,parity=N,xmit=Pin_C0,rcv=Pin_C1,force_sw)

void main()
{

puts("abc",v1);
puts("def",v2);
puts("1",v3);
puts("7",v4);
while(1);
}
Başa dön
Kayıt: 02 Ksm 2005
Mesajlar: 306

Offline
schlen
Tarih: 18 06 2009 11:58

maresal yazmış
Can network bildiğim kadarıyla merkezi bir bilgisayar olmadan çevre birimlerinin birbiriyle haberleşmesini sağlıyo. Buda benim istediğim şeyin tam tersi, ben bütün cihazlarımın ve sensörlerimin ayrı hatlar üzerinden merkezi bir sistem ile haberleşmesini istiyorum.
Tasarladığım şey bir akıllı ev projesi. Bunun içinde güvenlik sistemide var x10 ile ışık sistemi de, internet üzerinden bahçe durumu kontrolü ve sulama sistemi vs. de var. Ancak ben güvenlik konusunda biraz paranoyak olduğum için çok yüksek güvenlikli bir sistem istiyorum. Burdaki amacım bahçenin ucuna koyduğum bir sensör hattı üzerinden mesela evdeki bilgisayarın açık olup olmadığını anlayamasın saldırgan. bunun içinde hatları tamamen ayrılmış yapmak istiyorum. röle kullanmak da istemiyorum çünkü mekanik sistemlerin arıza yapma ihtimali her zaman daha yüksektir. Ayrıca bataryadan çalışmak zorunda olduğunda az da olsa batarya ömrünü kısaltıcaktır.


Bu durumda şöyle bir yol izleyebilirsin. Örneğin bir tane yönetici pic olur. Bu pic ile seri olarak haberleşen sıcaklık bilgilerini ölçen bir sensör hattın ve onu yöneten bir başka pic, nem bilgilerini ölçen başka bir hattın ve bu hattı kontrol eden bir pic, vs olabilir. Ya da veriyi şifreli gönderip alırsan sorun olmayacaktır. Yok benim sistem harika olacak diyorsan başka işlemcilere de gözatmanda fayda var. Çok daha fazla giriş çıkış sayısı bulunan ve daha hızlı işlem kapasitesine sahip olan işlemciler.
Başa dön
Kayıt: 27 Hzr 2009
Mesajlar: 171

Offline
emresensoy
Tarih: 29 06 2009 22:08

ccs baud rate değiştirme


ccs te
Kod


set_uart_speed(xx);


baudrate değiştirir, picin datasheet ine bakarak usart baudrate ile ilgili registerları el ile de değiştirerek baudrate ayarlamak mümkün.
Başa dön
Kayıt: 22 Hzr 2006
Mesajlar: 305
Konum: izmit merkez
Offline
patan_mustafa
Tarih: 29 06 2009 22:51

Merhaba;
aynı anda birden fazla seri port kullanmak CCS Cde mümkün. Ancak aynı anda iki yada daha fazla seri portu kullanmak istiyorsanız bu yöntem işe yaramaz. bu problemi ise yazdığınız programın mantığı içerisinde küçük değişiklikler yaparak giderebilirsiniz. Sistemde aynı anda sadece bir tane kullanmak kaydı ile istediğiniz kadar değişik seri port tanımlayabilirsiniz ve program çalışırken baud rate değişimini yapabilirsiniz.
Başa dön
Kayıt: 29 Mar 2008
Mesajlar: 370

Offline
maresal
Tarih: 01 07 2009 17:58

cevaplar için çok teşekkürler, henüz denemedim ancak en kısa zamanda deniycem.
Başa dön


Sayfaya git 1, 2  Sonraki

Pic'de Seri port hakkında birkaç soru


Benzer Konular
- Metal Dedektörü Yapımı Hakkında Bilgi
- İTÜ PLC soru ve cevapları
- "gölge etme" güneş enerjisi hakkında herşey konulu açık oturum

- Orcad PSpice Kütühanesi Hakkında

- PARSIC Seri haberleşme örneği. Parsic yazarı Swen Gosch tarafından
- Zaman Ayarlı Paralel port ile 8li 220 V kontrol
- mono bass anfisi hakkında yardım
- ccs ve pusula sensörler hakkında
- seri port

- sayısal işaret işleme sınav soru ve çözümleri

- ares'e dair bir soru

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Turkiye | Ads by Google Adsense | Design by Crazy Bat based