ENC28J60 ve 18F87K22 64MHz' de kararsız çalışma problemi

Başlatan gtekdemir, 12 Kasım 2012, 22:26:14

gtekdemir

Merhaba;

Daha önce 18F4620(10*4=40MHz) ve ENC28J60 ile yaptığım çalışmada herhangi bir sorun olmazken 18F87K22(16*4=64MHz) ile yaptığım çalışmada stabil bir çalışma sağlayamadım, arada bir sorunsuz çalışsada genellikle çalışmıyor. Hiç çalışmamış olsaydı kod kaynaklı bir problem diyeceğim ama bazen çalışıyor. İki mcu arasındaki fark 18f4620 5v iken 18f87k22 3v3 besleme ile çalışıyor birde çalışma frekansları farklı, kodlar ve devre şeması farklı değil.

Elektroemre

Merhaba,

SPI hattının hızını hesaplayın, ENC28J60 20 MHz'ye kadar clock speed destekliyor ancak iki entegre arasındaki SPI hatları uzunsa vs 5-10 MHz de bile sıkıntı olabilir.
SPI clock hızını düşürüp tekrar deneyin.

gtekdemir

SPI hızı 16MHz, şu anda denemeyi mikroelektronika geliştirme kiti ile yapıyorum fakat ENC28j60 ayrı bir breadboard üzerinde çalışıyor ve aradaki kablo boyu 20cm civarında olduğundan voltaj kaynaklı bir sorun olabilir dediğiniz gibi. Yarın osiloskop ile ölçüm yapacağım inşallah sonucu paylaşırım. Teşekkürler.

Elektroemre

Muhtmelen ondandır, SPI konfigürayonun1 MHz de test edin. LPC1343 ile 18 MHz'de sorunsuz çalıştırdım.
Birde kullandığınız stack ile  ilgili problemde olabilir. Stackta timer a bağlı zamanlı işlermler olabiliyor, bu kısım diğer işlemciye düzgün port edilmediyse, sistem hızla timeouta gidiyor olabilir.

Kolay gelsin.

gtekdemir

Osiloskop ile yaptığım ölçümlerde gördüm ki ENC28J60'ın SO(seri data out) çıkış voltajı 1v' dan yukarı çıkmıyor, dolayısıyla seri haberleşme sağlanamıyor. ENC28J60 çıkışına 74HC245 3 state buffer eklediğimde ise SO çıkış voltajı 3.3v oldu ve pic ile haberleşmeye başladığını gördüm. Şu an browser ile pic içindeki web arayüzüne ulaşıyorum fakat arada birde olsa hala haberleşmede sorun oluyor. Muhtemel sebep ENC'nin bulunduğu breadboard ile pic geliştirme kiti arasındaki kablolar diye düşünüyorum. Haftasonu güzel bir pcb çizip tekrardan deneyeceğim inş. Ayrıca oda sıcaklığındayken ENC28J60 çalışma sıcaklığının 38'C ye kadar çıktığını gördüm , datasheette 85'C ye kadar müsade edilsede bu normal bir durummu bilmiyorum.         

Elektroemre

İlginç bir sorun SDO'un öyle olması. Bendeki smd olan ENC28j60' el değmeyecek kadar ısınıyor, DIP kılıftakilerde o kadar olmasada ısnıyor normal galiba.

Kolay gelsin.

frederic


Murat Mert

S.A.
Bizdeki devrede devrede de çalışmadı buffer yapmak lazım bende öyle düşündüm.
mert07

Murat Mert

Alıntı yapılan: gtekdemir - 14 Kasım 2012, 21:04:22
Osiloskop ile yaptığım ölçümlerde gördüm ki ENC28J60'ın SO(seri data out) çıkış voltajı 1v' dan yukarı çıkmıyor, dolayısıyla seri haberleşme sağlanamıyor. ENC28J60 çıkışına 74HC245 3 state buffer eklediğimde ise SO çıkış voltajı 3.3v oldu ve pic ile haberleşmeye başladığını gördüm. Şu an browser ile pic içindeki web arayüzüne ulaşıyorum fakat arada birde olsa hala haberleşmede sorun oluyor. Muhtemel sebep ENC'nin bulunduğu breadboard ile pic geliştirme kiti arasındaki kablolar diye düşünüyorum. Haftasonu güzel bir pcb çizip tekrardan deneyeceğim inş. Ayrıca oda sıcaklığındayken ENC28J60 çalışma sıcaklığının 38'C ye kadar çıktığını gördüm , datasheette 85'C ye kadar müsade edilsede bu normal bir durummu bilmiyorum.         

S.A.
Sn. Gökhan devreyi tekrar deneyebildiniz mi?
mert07

gtekdemir

 Şu anda 3state buffer ile sorun çıkarmadan çalışıyor ama buffer olmadan çalışmıyor. Bugün buffer kullanmadan yeni bir pcb tasarlayıp tekrar deneyeceğim inş. sonucu buradan söylerim.

frederic

Gtekdemir,18F87K22 yi 3.3V ilemi besleyip deneme yapmıştınız ilk aşamada ?

gtekdemir

Alıntı yapılan: frederic - 17 Kasım 2012, 15:17:47
Gtekdemir,18F87K22 yi 3.3V ilemi besleyip deneme yapmıştınız ilk aşamada ?
Evet her zaman 3v3 ile çalıştırdım internal regulator aktif değil.

gtekdemir

Merhaba, geçtiğimiz hafta sonu ENC28J60 için yeniden pcb çizdim ve sıfır malzeme kullanarak devremi kurdum. Belki yeni pcb ile sorunu çözerim dedim ama SO çıkış voltajı hala 1v' tan yukarı çıkmıyor :( nasıl iş anlamadım. SO çıkış voltajını düşürecek herhangi bir yük olmamasına rağmen denemek için çıkışı ayırıp ölçtüm ama sonuç değişmedi. Garanti olsun diye en son denememde ki devre şemam ise mikroelektronikanın geliştirme boardu için satışa sunduğu ETH click ile aynı, yani denenmiş çalışan bir devre. Benim devremdeki tek fark kullandığım RJ45 konnektörü (MAGTOP H1121-A2122-A kullandım) bu farkın ise konuyla bir alakası yok. Beslemeyi ölçüyorum 3v3 sabit herhangi bir dalgalanma falan yok. Bu sorun kafayı yedirtti ve oldukça zaman kaybettirdi.

Devre şemam;
http://www.mikroe.com/downloads/get/1746/eth_click_manual_v100.pdf

Konuyla ilgili tecrübesi olan arkadaşların yorumunu bekliyorum, teşekkürler.

frederic

Gtekdemir bana göre yaşadığınız sorunun sebebi 5V tabanlı bir işlemciyi 3.3V ile çalıştırmanızda.Bu haliyle işlemcinin sink akımı düşüyor ve buna makabil gerilim düşümü gerçekleşiyor.Biz de aynı sorunu yaşadık çünkü ve bunun ertesin de yeni tasarladığımız kartda buffer kullandık.

gtekdemir

Hocam ENC nin SO çıkış voltajından bahsediyorum, ENC SO ---> PIC SDI bağlantısını ayırıp ENC nin SO çıkışını ölçtüğümde gördüğüm değer 1v. PIC ten gelen SDO, CLK, CS ve RESET voltaj değerleri 3v3 bunlarda bir problem söz konusu değil zaten. Yani mcu çalışma voltajının 3v3 yada 5v olmasıyla alakası yok problem ENC SO çıkış voltajında.