ENC28J60 <-> PC Çalışma Kontrolü

Başlatan salihonur, 25 Ağustos 2013, 21:26:05

salihonur

#15
Sorunu buldum.

Aslında kodlarda hata yokmuş. RJ45 soketinin metal gövdesine sadece çıplak elle dokunduğumda bağlantı sağlanıyor. Elimi çektiğimde bağlantı düşüyor. Soketin pinlerini kontrol ettim. GND hattı ve lehimlerde sorun yok.

Her ne kadar GND şase olsa da gövde ile gnd arasına 100nF dahi koydum düzelmedi. Sizce sorunu nasıl düzeltebilirim?

mesaj birleştirme:: 30 Ağustos 2013, 15:38:37

Alıntı yapılan: salihonur - 30 Ağustos 2013, 15:06:07
Sorunu buldum.

Aslında kodlarda hata yokmuş. RJ45 soketinin metal gövdesine sadece çıplak elle dokunduğumda bağlantı sağlanıyor. Elimi çektiğimde bağlantı düşüyor. Soketin pinlerini kontrol ettim. GND hattı ve lehimlerde sorun yok.

Her ne kadar GND şase olsa da gövde ile gnd arasına 100nF dahi koydum düzelmedi. Sizce sorunu nasıl düzeltebilirim?

Düzeltme: Gövde ile ESD örtüye birlikte çıplak elle dokunduğumda çalışıyor.

frederic

Gövdeye gnd bağlantısını yapmanıza rağmenmi dokunduğunuzda çalışıyor acaba ?

Devreyi ccs c ile derlediğiniz program ilemi derlediniz ve eeprom kullandınızmı ? Bir de enc28j60'a takılı olan 25mhz kristal osilatöründe gövdesini topraklamakta fayda var.

Gökhan BEKEN

Siz bu sorunu hazır devrede mi yaşadınız kendi yaptığınız enc28j60 devresinde mi yaşadınız?
Cevap 2. si ise birde hazır devrede deneyin derim.
Bu arada yaptığınız devrede RJ45 konnektörün 8.pini gnd hattına bağlı mı?
Özel mesaj okumuyorum, lütfen göndermeyin.

salihonur

#18
Alıntı yapılan: frederic - 30 Ağustos 2013, 15:44:27
Gövdeye gnd bağlantısını yapmanıza rağmenmi dokunduğunuzda çalışıyor acaba ?

Devreyi ccs c ile derlediğiniz program ilemi derlediniz ve eeprom kullandınızmı ? Bir de enc28j60'a takılı olan 25mhz kristal osilatöründe gövdesini topraklamakta fayda var.

Alıntı yapılan: frederic - 30 Ağustos 2013, 15:44:27
Gövdeye gnd bağlantısını yapmanıza rağmenmi dokunduğunuzda çalışıyor acaba ?

Devreyi ccs c ile derlediğiniz program ilemi derlediniz ve eeprom kullandınızmı ? Bir de enc28j60'a takılı olan 25mhz kristal osilatöründe gövdesini topraklamakta fayda var.

CCS'de derlediğim hex ile denedim. Çalışmayı yapan kişi eprom kullanmamış. Dolayısıyla ben de takmadım. Söylediğiniz gibi kristalin gövdesini topraklayarak da denedim.

Sorunu hazır devrede yaşıyorum. RJ45 soketinin gövdesi toprağa bağlı. Hatta belki arızalıdır diye bendekilerle değiştirdim. Sorun devam ediyor.

Aşağıdaki videoyu çektim. ESD matının alt tarafı ile soketin gövdesine sadece el değil herhangi bir iletken de değdiğinde modül çalışıyor.

Aşağıdaki denemeleri yaptım. Çözüm bulamadım. Osiloskoptan bakınca da anlaşılmıyor.
* VCC-GND arasına 100nF
* Gövde-GND arasına 100nF
* Gövde-VCC arasına 1MOhm direnç
* Kristal gövdesini topraklama

NOT: ESD matının hiçbir yer ile bağlantısı yok. MDF üzerinde serili.

http://youtu.be/j4RShoZ9Xak

Gökhan BEKEN

Sizin yazılımsal bir probleminiz var bence. FUSE ayarlarınızı gözden geçirin. Bikere başıma gelmişti. Çalışan devremin ayarlarıyla oynamıştım elimi yanaştırınca çalışıyordu yoksa bozuluyordu. Eski ayarlarına getirince düzelmişti. Kristal frekansını değiştirerek bozmuştum, yanlış hatırlamıyorsam.
Özel mesaj okumuyorum, lütfen göndermeyin.

frederic

Mikroişlemci ile hazır modül arasındaki bağlantıları iptal edip, modulü sadece 3.3V ile beslediğinizde ledler sorunsuz yanıyormu? Birde besleme geriliminiz çalışma esnasında çöküyormu ona bakın. Pic ile modül arasındaki kabloları mümkün olduğu kadar kısa yapın.

Yazılımsal olarakda picin sigorta ayarlarından nobrownout ve nowdt fuse ayarlarını yaparak deneyin.

salihonur

Arkadaşlar yardımlarınız için çok teşekkür ederim.

Sorunun kaynağı söylediğiniz gibi FUSE ayarlarındaymış. Normalde ben MCLR'yi kapatıyorum. Meğer yazılımda ise açıkmış. Dikkat etmedim, çok basit bir hata nedeniyle günlerdir uğraşıyorum. :)

Gökhan BEKEN

Alıntı yapılan: salihonur - 03 Eylül 2013, 22:52:11
Arkadaşlar yardımlarınız için çok teşekkür ederim.

Sorunun kaynağı söylediğiniz gibi FUSE ayarlarındaymış. Normalde ben MCLR'yi kapatıyorum. Meğer yazılımda ise açıkmış. Dikkat etmedim, çok basit bir hata nedeniyle günlerdir uğraşıyorum. :)
Hadi gözün aydın. Bu arada microchip stackın 6 küsür versiyonunun betası yayındayken, ccs nin stackını (-ki microchip stack'ın 3 küsür versiyonu olur kendisi), önermem. Hemde ccs ücretli satıyordu bildiğim kadarıyla.
Özel mesaj okumuyorum, lütfen göndermeyin.

salihonur

Alıntı yapılan: meftun - 04 Eylül 2013, 19:34:50
Hadi gözün aydın. Bu arada microchip stackın 6 küsür versiyonunun betası yayındayken, ccs nin stackını (-ki microchip stack'ın 3 küsür versiyonu olur kendisi), önermem. Hemde ccs ücretli satıyordu bildiğim kadarıyla.

Doğru. Ancak benim CCS lisanslı. Ethernet dışında tüm kod CCS olduğundan mecbur CCS'den devam ediyorum. Ama telnet'te sorun yaşayacak gibiyim. Kütüphanesini bulamadım.

salihonur

Arkadaşlar,

Kendi tasarladığım devrenin tüm bağlantılarını hazır modüle benzer düzenledim. Orası eksik burası eksik derken hazır modülün aynısını yaptım. Bendeki ENC28 DIP kılıf.

Sorun şu ki kristal sadece 2,9V-3,1V arasında çalışmakta (ENC28 üzerine düşen gerilim). Sınırları geçtiği an duruyor. Soketin ledleri de sadece bu aralıkta çalışıyor.

Kristali de değiştirdim. Kristalin gövdesini de toprakladım.

Gerilim çok iyi stabil. Güç kaynağım GPC-3060D.

Buna anlam vermedim. Sizce ne yapmam gerek?

[IMG]http://img838.imageshack.us/img838/9587/vdy4.png[/img]

Gökhan BEKEN

Belki alakası yoktur ama merak ettim, ferrid bead taktınız mı? Veya ne yaptınız o kısmı?
Özel mesaj okumuyorum, lütfen göndermeyin.

frederic

Beslemeyi switch mode bir gerilim regülatörü ile vermenizde fayda var. Bir ihtimalde tpout hattınızdaki dirençlerin toleransı büyük ise, ohm değerini biraz düşürerek izleyebilirsiniz devreyi.

salihonur

Başta elimde ferrite yok sanıyordum. 0 ohm ile kurdum ama sonra dip kılıf ferrite buldum uygun bir şekilde yerlestirdim. Fark eden birşey olmadı.

tpout ve tpin direncleri 49R9 %1. rbias 2k2 ile ve hazır modüldeki gibi 2k7 ile denedim.

gerilim 3.2v bile olunca kristalin durması çok ilginç.

Gökhan BEKEN

#28
Ben aynı devreyi dip kılıfta yaptım orjinal karttan geri kalır yanı olmadı. Kondansatör kaç tane ve kaç değerlerde(ne tür) kullandınız?

Ekleme : "enc28j60 ın üzerine düşen gerilim" ibaresi kullanmışsınız, siz 3.3v veriyorsunuzda 3.1'e mi düşüyor, anlamadım?
Özel mesaj okumuyorum, lütfen göndermeyin.

salihonur

Alıntı yapılan: meftun - 06 Eylül 2013, 00:56:52
Ben aynı devreyi dip kılıfta yaptım orjinal karttan geri kalır yanı olmadı. Kondansatör kaç tane ve kaç değerlerde(ne tür) kullandınız?

Ekleme : "enc28j60 ın üzerine düşen gerilim" ibaresi kullanmışsınız, siz 3.3v veriyorsunuzda 3.1'e mi düşüyor, anlamadım?

Devrede kullandığım tüm elemanlar ve değerleri şemadaki gibi. Ters polariteyi önlemek için VCC'ye diyot koydum. Diyotun çıkış gerilimi yani ENC28J60'ın besleme gerilimi sadece 2,9-3,1V olduğunda kristal çalışıyor. 3,2V olduğu andan itibaren duruyor. Osiloskoptan izleyerek yapıyorum.

Bu arada güç kaynağımın gürültü seviyesi çok düşük. MCP1252 gibi SMPS serilerinin gürültüleri daha yüksek kalıyor. Ona rağmen sorun yaşıyorum.