STM32F103C8'e ethernet çipi bağlamak

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

ido2323

Bu modüllerle iletişim kurmak için terminal tarzı bir yazılım var mı? Hani rs232 için Uart terminal var, peki bu işler içinde bir terminal var mı alınan ya da gönderilen paketi görebileceğimiz bir terminal yazılım.

frederic

Enc28j60 pc portuna direk bağlanacaksa cross kablo kullanmanız gerekecek. Eğer hub üzerinden bağlayacaksanız normal ethernet kablosu yeterlidir. Ben enc ile modbus tcp-ip uygulaması yazmıştım ve tek sevmediğim yanı dahili bir osilatörünün olmamasıydı. Harici 25mhz osilatör bağlamak zorundayız bu chipe.

Bunun dışında sıfırdan bu chipe kod yazarsanız gerçekten etkilersiniz beni, ben driver kullanarak hazırlamıştım paketleri ve çok başarılı bir iş yapmama rağmen yaptığım şey hakkında bilmediğim bir ton şey vardı.

engerex

Alıntı yapılan: ido2323 - 17 Eylül 2016, 21:09:20
Bu modüllerle iletişim kurmak için terminal tarzı bir yazılım var mı? Hani rs232 için Uart terminal var, peki bu işler içinde bir terminal var mı alınan ya da gönderilen paketi görebileceğimiz bir terminal yazılım.

Böyle bir şey var. http://www.hw-group.com/products/hercules/index_en.html

z

#18
Şu anda benim kafamı karıştıran Enc28j60 çipinin kendisi. Bu çipi kullanmadan önce ethernet hakkında  bayağı bir bilgi gerekiyor diye anladım.

Bu çip için sadece ethernet yazılımı yazmış olsaydınız (daha ortada TCP/IP yazılımları vs yok) yazdığınız kodları test etmek için ne yapardınız?

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

@gerbay ne demek istediğini anlıyorum.

Vakti zamanında USB ile ilk kez çalışırken National firmasının USBN9604 USB Node Controller adındaki çipiyle çalışmıştım. Bu çip de işlemciye dışarıdan bağlanıyordu SPI/paralel port bağlantı seçenekleri vardı. İşlemcinin çiple konuşabilmesi için bir ton fonksiyon yazmak gerekmişti. Aynı durum ENC28J60 için de geçerli. Elbetteki ethernet modülü MCU içinde olursa bir sürü koddan kurtulacağız ve doğrudan registerlere erişeceğiz.

Fakat basit bir internet denemesi ardından zaten hevesim geçecek. O yüzden bahsettiğin çözümler bana pek lazım olmayacak.

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

magnetron

Alıntı yapılan: frederic - 17 Eylül 2016, 21:35:43
Ben enc ile modbus tcp-ip uygulaması yazmıştım ve tek sevmediğim yanı dahili bir osilatörünün olmamasıydı.


hocam Modbus TCP-IP için faydalandığınız kaynakları yazabilir misiniz ? ben de ilgileniyorum bu protokolle

teşekkür

z

Çip ile MCU arasındaki SPI yazılımlarını yazmak sorun değil. Sonuçta sıradan bir SPI haberleşmesi yapıp çipin registerlerini okuyup yazabileceğim.

Sorunum ENC28J60'ı yapılandırmak olacak. Bunu tırmalayarak aşarım fakat çipin ethernet portuna sürekli bir paket gelmesi lazım ki en azından dene yanıl flagları vs kontrol edebileyim.

PC'den gelen ethernet kablosununu ENC28J60 kitine bağladığımda USB iletişiminde olduğu gibi kitime sorgular gelirmi? Yoksa hiç kimse oralı olmazmı?

Kitime periyodik olarak içeriği bilinen paket gelmesini nasıl sağlarım?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

MrDarK

Hocam ethernet protokolünde bir sürü paket tipi var. Paketleri çarpıştırmadan okuman gerekir ENC ile. Eğer C kullanabiliyorsanız elimde ENC'ye ait driverlar bulunmakta. Özellikle DHCP protokolünü yazmanız lazım IP almak için. STM32F103 ile ENC kolaylıkla kullanılabiliyor. Elimden geldiğince yardımcı olmaya çalışabilirim.

ENC'de gelen paketler ENC'nin ilgili register ve ramlerine doluyor, siz SPI ile periyodik olarak sende bişe var mı sende bişe var mı diye sormanız gerekiyor. Eğer sormak istemiyorsanız Int pininide bağlayabilirsiniz tabiki :)
Picproje Eğitim Gönüllüleri ~ MrDarK

z

#22
Şu anda ihtiyacım olan şey PC'deki bir yazılımla ethernet portuna bir paket yollamak.

Paketi PCde kendim byte byte oluşturayım enter dediğimde bu paket ethernet portundan çıksın.

Eğer oluyorsa PC ethernet portuna gelen her paketi yakalasın içeriğini bana byte byte göstersin.

Böyle bir yazılım bulabilirsem kod yazma işi çok hızlanır.

Böyle bir yapı için öneriniz varmı?


https://packetsender.com/
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

MrDarK

Ethernet paketlerini izlemek için Wireshark isimli bir program kullanmıştım.
Picproje Eğitim Gönüllüleri ~ MrDarK

magnetron

z hocam

google chrome'da sizin uC kartının IP adresini ve port nosunu girip entere basın
işte sizin uC kartına gönderilen bir TCP/IP paketi
MrDark hocanın dediği gibi wireshark ile de izleyebilirsiniz

örnek : 192.168.1.10:1024

z

2 adet ENC çipi karşılıklı konuşturmak en iyisi galiba.  Her iki tarafa da kendin kod yazınca  debug işleri vs çok daha kolay olur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Bu çipi sıfır kütüphane kullanımı ile internete sokacağım hiç merak etmeyin.

İki ENC çipini karşılıklı bağlayıp kod yazayım fikrindeki mantığı yanlış anlamışsınız.

Bu sadece debug ortamı yaratma amaçlı bir fikirdi. Böylece çipi en temel haliyle kullanmaya çalıştığımda paket yollayabiliyormuyum yolluyorsam karşıdaki paketimi alıyormu, MAC adreslerini değiştirince ne oluyor vs vs durumları için bir çalışma ortamı hazırlamaktı.

Eğer bunu yapmazsam daha önce sorduğum PC yazılımları vs arama yoluna gitmem gerekiyor.

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

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

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

hgs

Fiziksel layerdan paket yollayıp alabildiğinde bu paketleri enclerin yollamış olması hiç bir önem arzetmez.

z

Çok farkeder. Bu aşamayı geçip üzerine katman yazabilmem için öncelikle fiziksel layeri ayağa kaldırmam gerekiyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hgs

2 tane pcniz varsa pc programı yazarak ethernet haberleşmesi yapabilirsiniz. Embeded olması sadece ethernet stack yazılımını sizin yönetmenizi gerektirir.