Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: KABO - 20 Mart 2012, 21:45:57

Başlık: Ethernet haberlesmesi yapan yok mu
Gönderen: KABO - 20 Mart 2012, 21:45:57
    Arkadaslar LPC1769 serisi arm işlemci kullanıyorum.bilgisayar ile ethernetten haberlesmek için Ethernet kaynak koduna ihtiyacım var. etehernet haberlesmesi yapan arkasaların yardımına ihtiyacım var. arastırdım ama cok fazla bir dokumantasyon bulamadım
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: Erol YILMAZ - 20 Mart 2012, 21:59:13
Keil de MCB1700 ün içinde örnek kodlara bakabilirsin.
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: armsistem - 20 Mart 2012, 22:12:10
Evet , oradaki örnek güzel.


https://www.picproje.org/index.php/topic,37557.0.html (https://www.picproje.org/index.php/topic,37557.0.html)
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: haydarpasamikro - 22 Mart 2012, 15:10:55
mcb1700 kartımda UDP paket alıp gönderme, ARP ve ICMP işlemlerini yaptırıyorum. Kendi kütüphanesi TCP için yazılmış. DP83848C harici PHY ye uygun. NXP Code bunddles ve Keil in örnekleri oldukça yeterli.
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: KABO - 23 Mart 2012, 19:48:05
arkadaslar cevaplarınız için tesekkur ediyorum.onerilerinizi inceliyorum
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: KABO - 23 Mart 2012, 19:48:17
Arkadaslar ethernet haberlesmesinde, ethernet arabirimi chip için(benimkisi ENC28J60) kod satırlarında bir degişiklik yapmak gerekiyor mu? chipler degişse bile kodlar hep aynı mı?
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: haydarpasamikro - 23 Mart 2012, 22:35:54
enc28j60, PHY de içermektedir. Dahili 8k buffer ını almak ve göndermek üzere ayarladıktan sonra kendi oluşturacağınız ethernet paketlerini gönderip alırsınız. Mikro ile Spi arabiriminden haberleşirsiniz. 10mbit. Ancak Arm için dahili phy yok. Sadece MII ve RMII 100mbit. Bu sebeple farklı şeyler. Yine de ethernet paketleri oluşturmak bize kalıyor. MAC, IP, ARP, ICMP, CRC vs. katmanlara ait paket içeriğini biz oluşturduğumuza göre işin bu tarafında bir farklılık pek olmayacaktır.
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: alper06 - 26 Nisan 2012, 17:45:39
Ben varım. Sorununuzu alayım...
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: cseb - 25 Ocak 2013, 19:12:03
Alıntı yapılan: haydarpasamikro - 22 Mart 2012, 15:10:55
mcb1700 kartımda UDP paket alıp gönderme, ARP ve ICMP işlemlerini yaptırıyorum. Kendi kütüphanesi TCP için yazılmış. DP83848C harici PHY ye uygun. NXP Code bunddles ve Keil in örnekleri oldukça yeterli.

mcb1700 deki easyweb kodlarında ethernet portuna data gönderme işlemi gösterilmiş, ancak ethernetten gelen datayı okumak hangi fonksiyonlar ile sağlanabiliyor? Mesela bir arayüzden led toggle yaptırmak istediğinizde hangi fonksiyonları kullanmamız gerekecek? Ben kodları inceledim ancak biraz kafam karıştı.
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: haydarpasamikro - 27 Ocak 2013, 22:35:58
 tcp.c dosyası içerisinde gelen tcp paketi işleme tabi tutmak için:

void ProcessTCPFrame(void)
{


...
...
CopyFromFrame_EMAC(RxTCPBuffer, NrOfDataBytes);// fetch data and
...
..

}

Gelen tcp paketin içerisindeki data bytelerını ve kaç byte geldi ise öğrenebilirsiniz.

main fonksiyonda ise aşağıdaki fonksiyonu sıklıkla çağırmalıyız.

DoNetworkStuff();     
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: cseb - 28 Ocak 2013, 00:07:39
while (1)                                     
  {
    if (!(SocketStatus & SOCK_ACTIVE)) TCPPassiveOpen();   
    DoNetworkStuff();
    ProcessTCPFrame();
   
}


Burada RxTCPBuffer değişkini gelen data mı oluyor?
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: haydarpasamikro - 28 Ocak 2013, 15:57:26
Artık ne gönderilmiş ise: data, protokol vs..
Başlık: Ynt: Ethernet haberlesmesi yapan yok mu
Gönderen: cseb - 28 Ocak 2013, 16:21:53
üstteki kodda yazdığım şekilde yeterli olurmu okumam için? diyelimki board üzerinde led toggle yaptırmam gerekiyor, nasıl yorumlatacam? lcd ye gelen datanın ne olduğunu yazdırmaya çalıştım, ama değerler farklı farklı şekillerde görünüyor. yani benim arayüzden göndermeye çalıştığım şekliyle görünmüyor. ben yapamıyorum galiba  :( örneğin aşağıdaki kod barışsamancı hocanın yazdığı programın bir parçası. mesela ben bunu nasıl işlemciye yorumlatacam? checkbox işaretlenince led yanacak işareti kaldırıncada sönecek şekilde.

private void checkBoxLED2_CheckedChanged(object sender, EventArgs e)
        {
            if (!b.VeriGonder("~LD2" + (checkBoxLED2.Checked ? "1" : "0")))
                BaglantiYok();
        }