ENC28j60 Hakkında bir soru

Başlatan tyilgin, 04 Nisan 2009, 21:24:11

tyilgin

Merhaba Arkadaşlar;

28J60 ile yerel ağ üzerinde, birden fazla modülü haberleştirmeyi gerektiren bir projeye üzerinde çalışıyorum.

hafta başında 2-3 adet bu entegreden temin edip çalışmalara başlayacağım ancak kafama takılan bir soru var. Bu entegrenin arkasında olacak olan cihazın ip adresini nasıl belirleyeceğiz ?

Nette yaptığım araştırmalar sırasında bu entegrenin seri-ethernet çeviri çeklinde ve spi protokolünü kullanarak haberleştiğini gördüm. bu durumda ip adresi kontrolü nasıl yapılacak ? ben gelen seri veride protokol geliştirip mi kontrol edeceğim yoksa enc28j60 üzerinde mi set edilir ?

konu hakkında bilgisi olan arkadaşların yardımı olursa sevinirim...

controller

ENC28J60 Ethernet-SPI çevirici değil, SPI ile haberleşen bir Ethernet denetleyicisidir. Herhangi bir ethernet denetleyicide olduğu gibi ENC28J60 da TCP/IP Stack ile kullanılır. Microchip ürünleri için web sitesinde TCP/IP stack bulunmaktadır. Uygulamada haberleşme ve konfigurasyon stack üzerinden yapılır.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

tyilgin

Alıntı yapılan: "controller"ENC28J60 Ethernet-SPI çevirici değil, SPI ile haberleşen bir Ethernet denetleyicisidir. Herhangi bir ethernet denetleyicide olduğu gibi ENC28J60 da TCP/IP Stack ile kullanılır. Microchip ürünleri için web sitesinde TCP/IP stack bulunmaktadır. Uygulamada haberleşme ve konfigurasyon stack üzerinden yapılır.

sanırım yanlış anlaşılmış, ENC28J60'ın seri ethernet çevirici olduğunu ve arkasındaki mcu ile spi üzerinden haberleştiğini biliyorum Ancak bu stack konusunu bilmiyorum ve kafama takılan soru stack konusunda mı saklıdır onu bilemiyorum. Stack deyince aklıma ilk gelen şey 8086 ailesindeki stack segment ve stack pointer  :lol:

Sanırım buradaki stack pc üzerinden kendi cihazım ile haberleşmede kullanılacak bir şey. Şimdilik cihazım ile pc arasındaki iletişimden ziyade yerel ağ içerisindeki birden fazla cihazımın kendi aralarında haberleşmesi üzerinde çalışıyorum.

cevabınız ve ilginiz için teşekkür ederim..

emrahmrcn

Stack, Tcp/Ip protokollerini barındıran yazılım olarak algılayabilirsiniz. Elinizde entegre sadece ethernet kablosuna data basar, fakat tcp/ip için siz bu datayı belli bir düzene göre göndermeli sıralamalı ve zamanlamalısınız.İşte stack denilen yazılımda bu işleri yapar, sizde stack içeresindeki bir fonksiyona datanızı yükler ve yollarsınız. Bütün bu işler hatasız çalışmalıki datanızda hatasız gitsin, bunun içinde çok sağlam bir yazılım gerekir bunuda microchip ücretsiz olarak dağıtmaktadır. Kendim yazamazmıyım derseniz yazabilirsiniz(ki ben yazdım), fakat çok iyi layer bilgisi ve protokol deneyimleriniz olmalı.İYi ÇALIŞMALAR
Benim yaradılışımda bir ayrıcalık varsa o da TÜRK olmamdır. M.K ATATÜRK

tyilgin

Alıntı yapılan: "emrahmrcn"Stack, Tcp/Ip protokollerini barındıran yazılım olarak algılayabilirsiniz. Elinizde entegre sadece ethernet kablosuna data basar, fakat tcp/ip için siz bu datayı belli bir düzene göre göndermeli sıralamalı ve zamanlamalısınız.İşte stack denilen yazılımda bu işleri yapar, sizde stack içeresindeki bir fonksiyona datanızı yükler ve yollarsınız. Bütün bu işler hatasız çalışmalıki datanızda hatasız gitsin, bunun içinde çok sağlam bir yazılım gerekir bunuda microchip ücretsiz olarak dağıtmaktadır. Kendim yazamazmıyım derseniz yazabilirsiniz(ki ben yazdım), fakat çok iyi layer bilgisi ve protokol deneyimleriniz olmalı.İYi ÇALIŞMALAR

stack ile ilgili TCPIPStack 4.18 adlı bir döküman indirip kurdum ama henüz çözemedim. mcu için yazılmış olan kodun içine kütüphane olarak dahil edilerek içeririsindeki fonksiyonlarmı kullanılıyor ?

Biraz daha detay verebilirmisiniz lütfen ?

emrahmrcn

Stack kullanımı içinde network bilgisi gerekmekte yoksa işin içinden çıkmanız zor olur çıkasnızda yarın birşey değiştirmeye kalktığınızda bocalayabilirsiniz. Öncelik le ekteki dökümana gözatmanızı isteyeceğim.İyi çalışmalar

http://cekirdek.uludag.org.tr/~meren/belgeler/icmp/icmp.htm#1.%20TCP/IP%20Bile%C5%9Fenleri%20ve%20ICMPnin%20Yeri
Benim yaradılışımda bir ayrıcalık varsa o da TÜRK olmamdır. M.K ATATÜRK

Tagli

Microchip'in dağıttığı bu stack hangi dilde? Yani mesela assembly ile yazmış olduğum bir koda bunu ekleyebilir miyim? Yoksa mutlaka yüksek seviye bir dil mi kullanmalıyım?
Gökçe Tağlıoğlu

tyilgin

Alıntı yapılan: "emrahmrcn"Stack kullanımı içinde network bilgisi gerekmekte yoksa işin içinden çıkmanız zor olur çıkasnızda yarın birşey değiştirmeye kalktığınızda bocalayabilirsiniz. Öncelik le ekteki dökümana gözatmanızı isteyeceğim.İyi çalışmalar

http://cekirdek.uludag.org.tr/~meren/belgeler/icmp/icmp.htm#1.%20TCP/IP%20Bile%C5%9Fenleri%20ve%20ICMPnin%20Yeri

İlginiz için çok teşekkür ederim.

Dökümanın türkçe olması da ayrı bir avantaj...  :D

yufuk

MikroBasic yada MikroC'nin içinde hazır komutları var. En kolay bu dillerle yaparsın.

fatihvelid

Alıntı yapılan: "Tagli"Microchip'in dağıttığı bu stack hangi dilde? Yani mesela assembly ile yazmış olduğum bir koda bunu ekleyebilir miyim? Yoksa mutlaka yüksek seviye bir dil mi kullanmalıyım?

MPLAB ve C18 kullanarak belli kurallar dahilinde C, asm karışık yazılım geliştirebilirsiniz. Konuyla ilgili bilgiler ve örnekler help dosyasında var.
Kainatta her canlı "DNA" diliyle yazılmış bir programdır...

tyilgin

Alıntı yapılan: "fatihvelid"

MPLAB ve C18 kullanarak belli kurallar dahilinde C, asm karışık yazılım geliştirebilirsiniz. Konuyla ilgili bilgiler ve örnekler help dosyasında var.

örnekler hitecin mi yoksa mplabın mı help dosyalarında ? Kabaca bir göz attım ama göremedim.