STM32F103C8'e ethernet çipi bağlamak

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

Cemre.

Alıntı yapılan: z - 21 Eylül 2016, 13:12:19
Fonksiyonların yazımı, ENC28J60 dokümanını anlamaya çalışmak ve  http://www.cncdesigner.com/wordpress/?p=6149 günlük tarzı yazıyı hazırlamak bayağı zaman alıyor.

Çorabın ipini koparttık ve çorap hızla sökülmeye başlandı.

Eğer kullandığım çipi  ve ethernet portu ile çip arasında ya da çip ile MCU arasında hangi olaylar cereyan ediyor gerçekten merak ediyorsanız blog sayfamdaki yazıyı 1 kere okuyup geçmeyin.

Çünkü yanlışları düzeltiyor, daha iyi anlam veren cümlelerle eski yazıdaki muallak ifadeleri editliyorum.

Hocam küçük nüansları farketmek zor olacak sanırım. Renklendirme yada "ekleme" vs gibi etiketlerle yeni eklemeleri yaparsanız daha iyi olur sanıyorum.
Kolay gelsin.

z

Blog sayfamdaki yazıyı elimden geldiğince net anlaşılır yazmaya çalışıyorum bunun için de sorularımla forumdaki arkadaşları ve çip dokümanındaki satırları didik didik didikliyorum.

Gerçekten de merak ediyorsanız sizde didiklemelisiniz.

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

hgs

Maci sallamasyon girin simdilik. Elinizdeki cihazlardan bir tanesinin sonunu değiştirerek kullanabilirsiniz. Modemin arkasında kalacagından sorun olmayacaktır.

z

#108
Şu soru kafamı kurcalıyor.

Bir  paket aldık. Fakat işleri çok çok yavaştan aldık. Aheste aheste davranırken daha bufferda yeni mesaj için yer açılmamışken bir mesaj daha gelmeye başladı.

Çip eski verileri yer yok diye ezmiyormuş. Peki bu durumda ne olacak? Yeni paket reddedilecekmi?

Bazen bir internet sitesine yoğun talep olduğunda sayfa çok geç açılır. Bunun sebebi bu mudur?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muuzoo

#109
Alıntı yapılan: z - 21 Eylül 2016, 14:26:30
Şu soru kafamı kurcalıyor.

Bir  paket aldık. Fakat işleri çok çok yavaştan aldık. Aheste aheste davranırken daha bufferda yeni mesaj için yer açılmamışken bir mesaj daha gelmeye başladı.

Çip eski verileri yer yok diye ezmiyormuş. Peki bu durumda ne olacak? Yeni paket reddedilecekmi?

Bazen bir internet sitesine yoğun talep olduğunda sayfa çok geç açılır. Bunun sebebi bu mudur?

Bilenler daha iyi açıklayacaktır ama yanlış yorumlamıyorsam yeni gelen paket alınamayıp kaybolacaktır. Bu yüzden kullanılan protokole bağlı olarak (TCP) düşen paket tekrar istenebilir ya da önemsenmez saldım çayıra mantığıyla da (UDP gibi) çalışılabilir.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

Cemre.

#110
Alıntı yapılan: z - 21 Eylül 2016, 14:26:30
Şu soru kafamı kurcalıyor.

Bir  paket aldık. Fakat işleri çok çok yavaştan aldık. Aheste aheste davranırken daha bufferda yeni mesaj için yer açılmamışken bir mesaj daha gelmeye başladı.

Çip eski verileri yer yok diye ezmiyormuş. Peki bu durumda ne olacak? Yeni paket reddedilecekmi?

Bazen bir internet sitesine yoğun talep olduğunda sayfa çok geç açılır. Bunun sebebi bu mudur?

Hocam sanırım datasheet bu durumu açıklıyor. Ama emin de değilim. Siz de bir bakar mısınız?

Additionally, if the EPKTCNT register ever maximizes
at  255,  all  new  packets  which  are  received  will  be
aborted, even if buffer space is available.   To indicate
the error, the EIR.RXERIF will be set and an interrupt
will be generated (if enabled). To prevent this condition,
the   host   controller   must   properly   decrement   the
counter whenever a packet is processed.



Ekleme: Alıntı 7.2.4 FREEING RECEIVE BUFFER SPACE bölümü, sayfa 47'den yapılmıştır.
http://ww1.microchip.com/downloads/en/devicedoc/39662a.pdf

z

#111
@cemre

Evet sorumun cevabı açıklanmış. Sağol.

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

Cemre gibi dokümandan bu tip referanslar verirken mesajlarınıza sayfa numarası da ekleyebilirmiyiz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

engerex

 Canlı yayın video / ses dosyaları hariç diğer paketler askeri usül iletişim kuruyor. Anlaşıldı mı? Emredersiniz komutanım. Ama paketi aldığını çip mi söylüyor yoksa sizin mi söylemeniz gerekiyor bilemiyorum.

Cemre.

Alıntı yapılan: z - 21 Eylül 2016, 14:51:40
@cemre

Evet sorumun cevabı açıklanmış. Sağol.

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

Cemre gibi dokümandan bu tip referanslar verirken mesajlarınıza sayfa numarası da ekleyebilirmiyiz.


Hocam altınkaya'dan kargo beklerken ben de sizinle birlikte datasheet'i inceliyorum. Bazı kafama takılan noktalar var ama şimdi sormayacağım, muhtemelen siz cevaplarını sayfanızda paylaşacaksınız zaten. Mesajınızı görmemiştim ama sayfa no vs ekledim hatamı farkedip.
Kolay gelsin tekrar.

z

#114
Çipimiz çok genel amaçlı. Registerlerde bir sürü seçenek var.

Benim amacım basit bir server yapmak (internet sayfası yayınlamak) olduğuna göre ethernet portudan Fulldublex ve Halfdublex haberleşmeden hangisinin yapılacağı ile ilgili katı bir kural varmı?

@cemre sen de sorularını sor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Cemre.

#115
Alıntı yapılan: z - 21 Eylül 2016, 15:39:06
Çipimiz çok genel amaçlı. Registerlerde bir sürü seçenek var.

Benim amacım basit bir server yapmak (internet sayfası yayınlamak) olduğuna göre Fulldublex ve Halfdublex haberleşmeden hangisinin yapılacağı ile ilgili katı bir kural varmı?

@cemre sen de sorularını sor.
Hocam ben de full-half duplex olayını soracaktım. Bir de bu ethernet tarafının full yada half olması SPI tarafının full yada half olmasını etkiliyor mu? SPI tarafı hep full duplex mi çalışmak zorunda?

Bir de hatırlatma yapayım, gerçi siz de farketmişsinizdir ama, LED'ler konfigure edilebiliyormuş. Bu debug aşamasında faydalı olabilir. Her iki LED için de Link durumu veya tx rx durumları için ayarlanabiliyormuş. Bi sorum daha vardı ama şuan aklıma gelmiyor. Geldikçe şeyyaparım.

Kolay gelsin hocam, datasheet register isimleri verdikçe benim kafam daha çok karıştı açıkçası.

Ek. İkinci sorum da DMA ile alakalıydı, DMA'yı daha önce kullanma fırsatım olmadığından çok aşina değilim. Gelen ve giden veriler Buffer'a yazıldıktan sonra mı DMA'ya aktarılıyor, nasıl oluyor bu iş?

z

#116
B ledinin anodu +Vdd, katodu çipe gidiyorsa çip açılışta ethernet Fullduplex
B ledinin katodu Gnd,  anodu çipe gidiyorsa çip açılışta ethernet Halfduplex

olarak default seçim yapıyormuş.

Çipi init ederken zaten HalfDublex/FullDublex durumunu belirleyebiliyoruz.
O halde kartı tasarlayan adamın ledi nereye bağlayacağı neden bu kadar önemli?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Cemre.

After a Power-on Reset, or the ENC28J60
is  removed  from  Power-Down  mode,  the
CLKRDY   bit   must   be   polled   before
transmitting   packets,   enabling   packet
reception  or  accessing  any  MAC,  MII  or
PHY registers.


Hocam merhaba, sayfa 7, bölüm 2.2 Oscillator Start-up Timer kısmını boş geçmemek gerekiyor. Sitenizdeki yazıda bununla ilgili birşey göremeyince hatırlatmak istedim.

z

#118
Power on aşamasında STM'de kendi init rutinleri ile zaman geçiriyor. Bu esnada çip zaten hazır duruma geliyor.
Bir de çipi init ederken çipi ilk başta resetleyip bekliyorum. Dolayısıyle yeterince zaman geçmiş oluyor.

Hala init rutinlerini yazıyorum. PHY registerlerini okumak/yazmak bayağı dolambaçlı bir işlem gerektiriyor.

1 saat önce elektrikler gitti sonra geldi fakat bir daha benim blog sayfasına erişemez oldum. Şu anda siz erişebiliyormusunuz?

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

Cemre.

Alıntı yapılan: z - 21 Eylül 2016, 18:59:03
Power on aşamasında STM'de kendi init rutinleri ile zaman geçiriyor. Bu esnada çip zaten hazır duruma geliyor.
Bir de çipi init ederken çipi ilk başta resetleyip bekliyorum. Dolayısıyle yeterince zaman geçmiş oluyor.

Hala init rutinlerini yazıyorum. PHY registerlerini okumak/yazmak bayağı dolambaçlı bir işlem gerektiriyor.

1 saat önce elektrikler gitti sonra geldi fakat bir daha benim blog sayfasına erişemez oldum. Şu anda siz erişebiliyormusunuz?


Bende sorun yok hocam, bir de tarayıcınızın "gizli sekme" özelliğiyle dener misiniz? Bazen böyle çözülebiliyor.