Yeni Wireless&Wired Ethernetli Projemin Prototip Çalışması

Başlatan haydarpasamikro, 10 Şubat 2013, 22:46:11

magnetron

haydarpaşa hocam bu verdiğiniz kodlardaki
FCS fonksiyonu  ( CRC )
ben kaldırdım gene de çalıştı
( benim STM32F4 mikro'dan PC'ye ve aksi yönde UDP mesaj gönderebildim )

bunu kullanmaktaki amacınız nedir ?

bir de hocam siz bu protokolleri oluştururken hangi kaynakları kullandınız
STM nin forumlarına kadar sordum hiç kimse faydalı, çalışan bir kaynak gösteremedi
var olan kaynaklar komple TCP/IP stacki onlar da o kadar karışık ki hiç bir şey anlaşılmıyor

siz bunları kendiniz mi oluşturdunuz ? yararlandığınız kaynakları yazabilir misiniz ?

teşekkür

haydarpasamikro

#31
Ethernet paket yapısı: Hedef MAC adres + Kaynak MAC adres + Paket Tipi + Payload + FCS kısımlarından oluşur. FCS 32 bitlik bir CRC dir. Ethernet paketinin içerisindeki değerlerin doğruluğu için FCS gerekli ancak şart değildir. Yani FCS göndermeden de Ethernet paket kurallarını sağlıyorsa gönderilebilir veya alınabilir. Ne Windows uygulamaları ne de siz bunu dikkate almayabilirsiniz. Dikkate alırsanız tabiki faydalı.
UDP paket göndermek ve almak daha kolaydır. Ancak verinin karşı tarafa ulaştığını bilemezsiniz. Bunun için karşı tarafın bir cevap veya aldım diye basit bir handshake geliştirmeniz gerekir. Bunun yerine TCP ile alıcı-verici arasında akış denetimli bağlantı kurup data aktarmak daha iyidir. Ancak yazılım yükünüzü biraz artırır.
ENC28J60 için TCP-IP haberleşmeyi de yakın zamanda eklemeyi düşünüyorum.
Kaynak olarak internetteki örnekleri inceleyip geliştiriyorum. Microchip in Stack lerini de çok inceledim. Keil in LPC ve STM için boradları ve NXP nin bunlara yönelik Code Bunddles ları indirip incelmenizi tavsiye ederim.
Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

Gökhan BEKEN

Hocam yeri değil belki kusurabakmayın. Bir bilgisayardan enc28j60 devresine ping atabiliyoruz ama bunun tam tersini yani devreden bir bilgisayara ping atmak mümkün mü? Böyle bir örnek var mı?
Özel mesaj okumuyorum, lütfen göndermeyin.

haydarpasamikro

Yukarıdaki ekte, ICMP Ping Request, ICMP Ping Reply fonksiyonlarım zaten bu işleri yapıyorlar.
Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

z

Forumda ENC28J60 ile çok mesaj yazılmış. Belliki ilgileneni çok. Bugün bu çip için üretilmiş ve 1$ a satılan hazır PCB gördüm.

http://imall.iteadstudio.com/open-pcb/bare-open-pcb/im121018002.html
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Gökhan BEKEN

@haydarpasamikro hocam evet yeni gördüm o fonksiyonu. Fakat şöyle bir durumum var. Ben mikroc ve pic ile uygulama yapıyorum bu yüzden sizin verdiğiniz örneği kullanamıyorum. Mikroc için bu işi nasıl yapabilirim bilginiz var mı?
@z hocam alacakların rj45 konnektörlerine dikkat etmesini öneririm. Konnektörlerin pinleri farklı farklı o karttaki çizime uygun konnektör bulmaları gerekiyor.
Özel mesaj okumuyorum, lütfen göndermeyin.

magnetron

haydarpaşa hocam

bu RN131C farnel'de buldum da
external anten' in linkini de verebilir misiniz ?

hatta türkiye ithalatçısı var mı farnel 'den başka ?
mümkünse onu rica ediyim

teşekkür


muhittin_kaplan


haydarpasamikro

Normal fiyat.  ENC28J60 1.5$ çip zaten. 1.5-2$ demek ki kart maliyeti. Mesele kablosuz bir sistem ve wifi ise wireless modülü ve harici antenin maliyeti.
Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

magnetron

haydarpaşa hocam merhaba

bu RN131'i  STM32 'ye bağladım

RN131  de 19 ve 36 - 44 GND ları bağladım , 18 pini GND'a bağladım
VDD_IN 3.3 V bağladım
STM32 'nin  TX pini 12'ye        RX pini 13'e bağladım
RESET herhangi bir yere bağlamadım

UART 9600 1 stop no parity ayarladım

STM32 'den $$$ gönderdim osiloskopta baktığımda RN131 cevap vermiyor
manuelde CMD şeklinde cavap verir diyor

acaba neden çalışmadı ?

teşekkür

haydarpasamikro

Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

magnetron

haydarpaşa hocam cevap için teşekkür

dediğiniz gibi Vbat bağlayınca çalıştı

şimdi ben protokolü UDP ye ayarladım
passwordu falan ayarlayıp join MyHome ( benim modem)  komut verince
benim evdeki wireless modeme bağlanıyor ve PC den gönderdiğim "hello" kelimesini STM32 nin uartına gönderiyor

ama ben istiyorum ki boot ettikten sonra hemen otomatik bağlansın
bunun için set wlan join 2 komutunu verip save ettim ama bişey değişmedi

yani join MyHome komutunu verince anca bağlanıyor

nasıl yapmam lazım teşekkür

hocam mesajı yazdıktan sonra set wlan join 1 deneyim dedim istediğim oldu

şimdi başka bir problem var

STM32 ve RN131 e aynı anda enerji verince RN131 ne data ne komut moduna giriyor  ne de modeme bağlanıyor $$$ kabul etmiyor sistem crash olmuş bilgisayar gibi hiçbir şeye cevap vermiyor
(STM32 'nin açılması 10 sn falan sürüyor )

ancak STM32 uart ve beslemeden ayırıp tekrar takarsam (STM32 enerjiliyken) o zaman normal çalışıyor

acaba neden böyle ? nasıl düzeltebilirim ?

haydarpasamikro

reset ve gpio-9(factry reset-ad-hoc) pinlerinin durumunu gözden geçirip uygun seviyede tutun. Bir de bağlantı şekliniz nasıl acaba?
Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

magnetron

haydarpaşa hocam merhaba ,

geçenki sorun beslemeden kaynaklanıyormuş

şimdi başka bir sorunum var

RN131 'e

set uart baudrate 115200 diyorum
AOK gönderiyor

save diyorum
enerjiyi kapatıp açıyorum mikroişlemciyi de 115200 yapıyorum
anlamsız karakterler geliyor

yani baudrate kesinlikle 115200 olmuyor 10 kere denedim aynı

GPIO-9 ile reset atıyorum 9600 'e dönüyor

acaba neden böyle ? siz maximum hangi baud da haberleşiyorsunuz ?
böyle bir sorun yaşadınız mı ?

not : STM32 tarafından eminim çünkü 115200 'ü başka uygulamada çok denedim PC ile haberleştim falan
-------------------
not2 : bu mesajı yazdıktan sonra 19200 deneyim dedim gene aynı
bu sefer bazı karakterler kayboluyor demekki baudrate uyuşmazlığı var kesinlikle