STM32F103C8'e ethernet çipi bağlamak

Başlatan z, 17 Eylül 2016, 18:33:38

z

Benim amacım ENC28J60 çipini internete sokacak kodları yazmak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hgs

#31
Ethernet haberleşmesi embeded seviyede 4 şekilde yapılabiliyor.

1- MAC ve Phy si olan mcular ile (66J60 gibi)
2- MAC i olan Mcu + phy çipi ile
3- MCU  +  Mac ve physi olan (ENCxx) gibi çiplerle SPI haberleşmesi ile. Burada ethernet ile ilgili bir sürü ayarın yapılması gerek.
4- MCU + SOC bir çip (ESP) ile uart üzerinden haberleşme ile. Genel olarak çok daha az ayar ile hızlıca nete çıkmanızı sağlar.


ENC ile bu işi elbette yapabilirsiniz. İşlerin gittiği yön 4. aşamayıda aşacak. ESPnin yenileri çıkmak üzere. O zaman mcunuzdaki uart donanımından farklı olmayan ethernet donanımı olarak algılanacak bu haberleşme sistemi. IOT nin götüreceği noktada, sizin şu andaki çabalarınız sadece bu işin mekaniğinin nasıl olduğunu bilen bir z ortaya çıkaracak. Genel olarak önemli bir etki yaratmayacak.

z

Eşeğin aklına karpuz kabuğu geldi bir kere.  Artık Z bu işi yapmazsa uyuyamaz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hgs

İnat önemli bir haslettir. Başarı için çok gerekli, fazlası elbette zarar.

Çalışmanızda başarılar...

mufitsozen

#34
Alıntı yapılan: z - 18 Eylül 2016, 13:31:35

@mufitsozen hocam, gelin çocuklar ben emekliyim sizlere hayrım dokunsun size bu konuyu dilim döndüğünce anlatayım demenizi beklerdim.

Buda bana buruk bir animi hatirlatti, bahsetmeden edemiyecegim,

Ali Sahiner diye bir sinif arkadasim var(di) lisede, cok duzgun, caliskan ve akilli bir arkadasti. Sonradan Bogazici universitesi bilgisayar bolumunde hocayken 2010 yilinda Hakkin rahmetine kavustu.

Lise 2 edebiyat dersinde hasta oldugu icin derse gelemeyen hocamizin yerine gelen bir yabanci gecici ogretmen derste "Chateaubriand (satobiryan okunur) en onemli eserleri nedir?" diye sordu,

Alide oturdugu yerden "biryan satosu!" diye cevap verdi.

Sinif kahkahadan kiriliyor,
Hoca cok bozuldu, kim soyledi onu dedi. Ali ben dedim diye cevap verince
"Hocada senden hic ummazdim Ali" dedi.

Ali yine cevap verdi "Ummadigin tas bas yarar hocam, atalar sozu!"
Derse ara vermek zorunda kaldik! :)

Onuda rahmetle anarak, ve senin yaptiklarin ve karakterinide takdir ettigimi ozellikle belirterek bende diyorumki bazi insanlar yasi ilerleyince hircin huysuz, gecimsiz bir ihtiyara donusur. Demekki bende oyleymisim, Ummadigin tas bas yarar sevgili z!  :P

mesaj birleştirme:: 18 Eylül 2016, 14:27:46

Alıntı yapılan: z - 18 Eylül 2016, 13:31:35
@mufitsozen .... size bu konuyu dilim döndüğünce anlatayım demenizi beklerdim.

bide z hocam bu konuda cok da tevazu gosteremiyecegim. dilim dondugunce ne demek, bu konuda en az 3 tane kitap yazarim. Fakat (seni ve senin gibileri tenzih ederek) gunumuzdeki gencler ozel olarak picprojedeki arkadaslar  "her şeyin fiyatını biliyorlar, ama hiçbir şeyin değerini bilmiyorlar!".

Herkesin ilk (vede tek) sorusu, ne isime yarar, cebime kac lira girer. Firsatciligin tavan yaptigi bir toplumda ve zamandayiz, Allah sonumuzu hayreylesin.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

mufitsozen

#35
sevgili @gerbay aciklama cok uzun olmus sunu 3 cumle ile kisaca yapsan daha iyi olurdu, bunu kimse okumaz simdi,

Bide butun gerekli porogramlari yazip, derleyip deneyip ornekli paylasarak daha faydali olabilirdin.

Seni teneffus ederim! (bu bir saka, aslinda "sana teessuf ederim" olacak, ama komik olsun diye benzer baska bir bir kelimeyi ne kadar cahil oldugumu gostermek amaci ile yazdim :) )

mesaj birleştirme:: 18 Eylül 2016, 15:00:46

bide ingilizce bilen var, bilmeyen var, Bi daha sadece turkce yaz!

mesaj birleştirme:: 18 Eylül 2016, 15:01:31

youtube'a uygulamali bir video hazirlayip koysan daha cok ise yarar!
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

z

Gerbay sağolasın. İnternetten de ufak tefek birşeylere bakınıyorum ve artık en azından çipin dokümanında geçen terimler için bu da neymiş demiyorum.

Kitim muhtemelen salı günü elimde olur. Henüz kod falan yazmaya başlamadım.

------------------

@Müfitsozen hocam

Hocalık yap derken ilgi alanına girdiğini bildiğim için Ahmet Mehmet demedim özellikle seni işaret etmiştim.

Toprağa mı götüreceksin bildiklerini? Bırak millet vereceğin hazır bilgileri ne yaparsa yapsın.

Yerinde olsam uzmanı olduğum konularda kitap çıkartırdım. Kitabı akademik ağızla değil de ilk okul bebesinin bile anlayacağı tarzda kaleme alırdım.

İçlerinden bir kaçı duacı olacaktır.

Hani şu an aktif iş yapıyor ya da yapacak olsan da bilgileri rakiplere hazır lokma adına saklasan anlarım.

Ama şu anki pozisyonunda anlayamıyorum.

Rahmetli babama da kaynak yapma tekniği adında diye güzel bir kitap yaz demekten dilimde tüy bitmişti.

Ne oldu arkasında eser bırakmadan gitti. Halbuki birileri faydalanabilirdi.

Allah gecinden versin. Ama sen yaz.

Elmalı kadar sevap kazanırsın.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mufitsozen

#37
sayin @z @gerbay sana gicik galiba bu kadar uzun anlatim olurmu yaa!

ben sana daha kolay bir yol ogreteyim:


yukardaki bir ethernet kablosu yap. Buna loopback diyoruz.

baglantilar su sekilde olacak:


L2 icin ethernet yapisini @gerbay yazip sana yollayacak(mistir baa kuslar oyle soyledi) boylece ne yollarsan sana geri gelir. Test etmek icin bunu kullan derim. Daha kolay olur.


mesaj birleştirme:: 18 Eylül 2016, 15:17:06

Haaa birde unutmadan arping diye bir L2 MAC ile ping eden program var, network layera kadar gitmene arp tablosu vb ICMP islerini yapmana gerek olmadan "ping" eden. Dogrudan bir PCye baglanip onun ile senin ENC chipini L2de ping edebilirsin. Onuda biraz arastir derim.

Bu iki metod sana chipini ve yazacagin yazilim icin yeterli olur daha derin sulara gitmene gerek yok.

Zaten @gerbay'da dayanamaz sana arastirip, ornekle yapip burada paylasir. eminim

mesaj birleştirme:: 18 Eylül 2016, 15:19:55

@z sakin resimdeki loopback fisinde 2 cift kablo var senin verdiginde uc cift baglantisi var demeden once biraz arastir derim :) (tuzak soru yapilmis mi acaba?, niye resimle cizim farkli? dusunen byinler merak eder....mi acaba?)
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

z

Ansiklopedik de olsa benim gibi acemiler için temel bilgiler

Bilgisayarlar arasında yerel bir ağ oluşturmaya yarayan yöntemlerden bir tanesi Ethernetdir.

Ethernet donanımı barındıran herhangi bir MCU/PC vs üzerindeki firmeware yada işletim sisteminden vs  bağımsız olarak yerel ağa katılabilir.

Aynı ağa en son işletim sistemine sahip son model bir PC de, çok sıradan bir MCU da eşit haklarla girebilir.

Ethernet donanımına sahip bu birimlere Node denir. Tüm "Node"lar eşit haklara sahiptir.

Ethernet ortamında Her bir "Node"un daha doğrusu adresi için kullanılan benzersiz bir numarası vardır. Buna MAC adresi diyoruz.

Ethernet ortamında veriler paketlere bölünür.

Örneğin 10KB verimiz varsa bu küçük paketlere ayrılır. Bu sayede veri giderken bozulsa bile tekrardan 10KB veri istenmez/gönderilmez
sadece bozulmuş paket (parça) istenir/gönderilir.

Bir paket, alıcının MAC adresi, gönderenin MAC adresi, gönderilecek veriler ve CRC kodu olmak üzere 4 bileşenden oluşur.

MAC adresi 48 bitlik bir veridir.

Gelen paketteki MAC adresi Ethernet çipinde tanımlı adres ile uyuşuyorsa çip gelen veriyi alır, uyuşmuyorsa veriyi almaz.

Bir ağ içindeki bazı "Node" larla oluşturulan bir grubun aynı veriyi alması istenirse Ethernet çipinde bu Multicast adres tanımlanabilir.

Bu durumda gelen veriler Multicast adrese sahip tüm çipler tarafından alınır.

Eğer tüm "Node"lara ortak bir yayın yapılacaksa Broadcasting bu durumda paketteki hedef adresin tüm bitleri 1 yapılır.
Böylece tüm "Node"lar gelen veriyi yakalar.

MAC adresi okuması kolay olması için hex olarak gösterilir. (01 C4 F6 E8 7F 3A gibi)

Bir "Node" kendine ethernet kablosu bağlımı değilmi anlayabilir. Eğer canlı bir kablo bağlantısı (diğer ucuna da bir Node bağlı) var ise Carrier Sense durumu var demektir.

Aynı kabloyu kullanan sistemlerde birden fazla cihaz aynı anda gönderme yapmaya kalkarsa Multiple Access durumu oluşur.

Bu durumda gönderici susma yoluna gider. Buna Collision Detection denir.

ENC28J60 çipi tüm bu durumları bize bildirebilir.  http://ww1.microchip.com/downloads/en/devicedoc/39662a.pdf
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Nedense aklıma şu şarkı geldi.

Vermiycem vermiycem kuruyup gitsede vermiycem, benim değilmi vermiycem, hımm hımmm, ımmm ımm ...
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mufitsozen

Alıntı yapılan: z - 18 Eylül 2016, 15:23:53
Aynı kabloyu kullanan sistemlerde birden fazla cihaz aynı anda gönderme yapmaya kalkarsa Multiple Access durumu oluşur.

Bu durumda gönderici susma yoluna gider. Buna Collision Detection denir.

Hocam "collision domain" kavrami en temel kavramlardan biridir AMMA "collision detection" ne yaaa? hangi devirdeyiz. o dedigin coax vb fiziksel baglantilarda olur (du mesela cilali tas devrinde 1980lerde filan). Cat5/6 vb ile hub yada switche baglanan durumlarda collision filan olmaz. Kafa karistirmayalim.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

z

#41
Hocam bende orda aynı kabloyu kullanan diye vurguladığımı sanıyordum.

ENC28J60 çipinde collision dedect özelliği var.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yamak

@z hocam simulasyon icin "packet tracer" programini oneririm. İsin mantigini kavramaniza faydasi olacaktir.

mufitsozen

Alıntı yapılan: gerbay - 18 Eylül 2016, 15:26:34
Ben hoca denince üstüme alınıp atlamıştım. Meğer müfit abi kastediliyormuş, daha da gelmem davos a. Ben misafirliğe gidiyom

Vay akil karistirarak benimle @gerbay'i tokusturarak aramiza acanlari teneffus ederim.

demeki

https://www.youtube.com/watch?v=liHD7XvONwY

mesaj birleştirme:: 18 Eylül 2016, 15:49:15

Alıntı yapılan: z - 18 Eylül 2016, 15:46:36
Hocam bende orda aynı kabloyu kullanandiye vurguladığımı sanıyordum.


cat5 cat6 filanda ayni kabloyu istesende kullanamzsin. Coax kullanan ekipman vs kullanmak istersen Allah yardimcin olsun!
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

z

Bir dakika şimdi, bir switche bağlı cihaz ile switch arasında hiç collusion durumu oluşamaz mıi?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com