Fórum témák

» Több friss téma
Fórum » ENC28J60 ETHERNET vezérlő használata
Lapozás: OK   12 / 17
(#) pityu_lite válasza potyo hozzászólására (») Feb 22, 2012 /
 
Szia

belevágtam ebbe a gyári stack dologba. Viszont miért ne?! elakadtam. Szóval az 5.0ás stack-et szedtem le, van benne egy teszt alkalmazás server-www-simple könyvtárban. test_readSiliconRev -mintaprogramot belőttem atmega88-ra , ip címet átírtam általam meghatározottra, viszont a hálózatra dugás után semmi nem történik. Böngészőben az ip cimet megnyitnám semmi reakció nem jön. Beszúrom a kódot hátha valakinek szemet szúr valami. Amit még átírtam a mintaprogihoz képest hogy kivettem a ledvisszajelzést.
Alant az idézet

Az ethernet visszajelző ledeket úgy állítottam be hogy egyik a transzmit a másik a recieve aktivitást mutassa.
Tapasztalat : a transzmit led nem villog..
Valaki tudna segíteni csak az alap indulásban?

idézet.txt
    
(#) pityu_lite válasza (Felhasználó 13571) hozzászólására (») Feb 22, 2012 /
 
Köszönöm
(#) pityu_lite válasza pityu_lite hozzászólására (») Feb 23, 2012 /
 
Nos sikerült megcsinálnom a dolgot. Viszont csak az UDP-s kapcsolatom él. A TCP/IP -t sehogysem tudom életrekelteni. Az alap mintaprogramok se indulnak el. Akármelyik stack-et is használom. szinte mindegyik verziót kipróbáltam már, a mintaprogramokkal (átírás nélkül) de a böngészőben hiába írom be a megadott IP címet mindig az jön ki hogy nem birja betölteni. A legegyszerűbb "helló működik az oldal" mintaprogram se akar elindulni. Van a hálózatban most pár gép és egyik se veszi a lapot, ugyanis először arra gondoltam hogy valami kósza biztonsági beállításom tiltja , de többi se akarja betölteni.
Szeretném a TCP-s kapcsolatot használni mert akár hangfájlt is küldözgetnék a kis panelemre és azt UDP-n nem tudom hogy kell
Valaki segítene valami ötlettel, hogy egyáltalán a mintaprogramok miért nem működnek úgy ahogy leírták?
(#) pityu_lite hozzászólása Feb 29, 2012 /
 
Sziasztok
egy próbának még írnék egy kérdést hátha valaki válaszol. Tehát pár átmulatott éjszaka után sikerült feléleszteni mindent. UDP és TCP kommunikáció is megy, alap webservert is tud már futtatni, viszont kiszeretném próbálni a nagyobb fájlküldést is ezzel. Konkrétan Ethernetet pl zenét átküldök, én azt az eszközzel egyből mentem egy memóriába és majd valamikor onnan pl ébresztőnek azt játsza le. Addig sikerült eljutni hogy a portkliens programok szerint kb 8000-8200 bájtot sikerül átküldeni, és itt megáll befagy a rendszer. Ez szerintetek miért van? nem úgy van hogy a küldő oldal is vár amíg az ENC nem áll készen újabb csomag fogadásra? namost amint készen áll az azt jelenti hogy a memóriába átmentés is megtörtént. Valakinek lenne rá ötlete? ha kell kódrészletet is tudok idézni.
(#) TavIR-AVR válasza pityu_lite hozzászólására (») Feb 29, 2012 /
 
Az ENC kezelés pollinggal megy. És a ENC memória ha túlcsordul - akkor vége a kapcsolatnak....

vagy INT alapon szeded ki a memóriábal a bejövő adatokat és azonnal nyugtázod a csomagot (TCP) vagy a polling mellett semmit nem tesz a proesszorod...
(#) pityu_lite válasza TavIR-AVR hozzászólására (») Feb 29, 2012 /
 
Köszi a hozzászólást.
Eleinte sima poolling vizsgálattal néztem a csomagokat, aztán az interrupt jelzésre reagáltam csak.
Az hogy azonnal nyugtázom a csomagot az mit jelent pontosan? Illetve kicsit szájbarágósan az én oldalamra is forditsuk át
Szóval a tuxgraphics-os tcp stack 2.17-es verziója működik éppen "probléma" mentesen. Ebben a válasz fv-ek :
1: void make_tcp_ack_with_data(uint8_t *buf,uint16_t dlen)
2: void make_tcp_ack_from_any(uint8_t *buf)
3: void make_tcp_synack_from_syn(uint8_t *buf)
4: void make_udp_reply_from_request(uint8_t *buf,char *data,uint8_t datalen,uint16_t port)
5: void make_echo_reply_from_request(uint8_t *buf,uint16_t len)
6: void make_arp_answer_from_request(uint8_t *buf)

Nos ebből az 5ös megy a pinghez, az 1es 2es használódik amikor adatot küldök vissza, 4es meg UDP csomagoknál él. Nos csatolt fájlban van egy kódrészlet az interrupt kezelésről, tudsz segíteni mi a necces benne?

reszlet.docx
    
(#) TavIR-AVR válasza pityu_lite hozzászólására (») Feb 29, 2012 /
 
Amint arduino vagy Bascom kód lesz belőle, szívesen .

Nyugtázás: ha a túloldal választ vár, azt hívom nyugtázának (azzal, hogy a ENC memóriából is kiolvasom a bejött csomagot és fel is szabadítom a helyét.
(#) pityu_lite válasza TavIR-AVR hozzászólására (») Feb 29, 2012 /
 
Háát BASCOM kód nem lesz belőle , azért köszi

Nem tudom a "túloldal" milyen választ vár. Konkrétan a számítógépről egy terminal segítségével megnyitom a tcp portot és egy file send menüponttal át szeretnék küldeni egy fájlt az első bájtjától kezdve az utolsóig. Namost ez egyben biztos hogy nem lehetséges ezért is bontja darabokra. Tesztként próbálkozom olyannal hogy amit elküldök és elvileg mentek a memóriába azt a folyamat után kiolvasnám és uarton visszaküldeném,de küldés közben "befagy" a dolog. Ha egyből küldés közben iratom a soros portra az érkező adatokat akkor is befagy ugyan de legalább egy pár bájtocskát látok a fájlból. Ez lett volna a kérdésem hogy miért állhat meg? Milyen válasz kéne a szgép felé hogy küldje tovább... Vagy egyszerűen az ENC buffer telik meg és áll le?
(#) pityu_lite hozzászólása Márc 28, 2012 /
 
Sziasztok!
hátha olvassa még valaki. Örömömre a tcp/ip kapcsolat szinte tökéletes, adatforgalom veszteségmentesnek is mondhato , DE kérdésem hogy próbálta -e már valaki azt hogy egy ilyen enc28j60-al felszerelt eszköznek a számítógép egy terminál programja segítségével file-t küldjön ? Tudom már kérdeztem egyszer de ezt is szeretném beüzemelni és nem jön össze sehogysem.
A folyamat annyi lenne hogy a bejövő adatot elmentsem egy külső memóriába. Amíg kis adatmennyiségről van szó addig jól működik minden, de ha már pl egy zeneszámot küldök át , akkor megáll az adatátvitel, múlkor is írtam 8200 bájt körül(legalábbis terminál szerint..) Örülnék ha valaki tudna segíteni ebben.
(#) Tetye hozzászólása Márc 30, 2012 /
 
Üdv!
Én most szívok az enc -vel, nekem rev6-os van a panelen pingelni tudom 11ms es válaszidővel, de a web már nem jön be rajta.
Ezt a kódot használom Atmega644 -el.
Debug-ba írja ha meg próbálom megnyitni hogy
ARP request

TCP request

TCP request
.......

Valaki tudna segíteni?
(#) whalaky válasza pityu_lite hozzászólására (») Márc 30, 2012 /
 
Ez az "adatforgalom veszteségmentesnek is mondhato" téged megnyugtat? Bevallom engem nem.
Csináltam már hasonló kütyüt, valóban volt ilyen jelenség, de ez sem nem az ENC, sem nem az ip stack hibája.
Egyszerűen arról van szó, hogy az ENC fogadja a csomagokat, tárolja a félelmetesen nagy 8K-s pufferébe (ismerős méret?), és szól a kontrollernek hogy csomag jött (ha interrupt vezérléssel megy, ha nem akkor a kontroller egyszercsak amikor úgy látja jónak a programja majd megkérdezi hogy van-e valami). A kontroller kiolvassa a cuccot az ENC-ből, és ha jól értem valami háttértárolóra írja.
A hiba pedig itt keletkezik.... Az ENC kényelmesen fogad 8 csomagot mire a kontroller az elsőt kiírja, és már meg is telt a puffere.....
(#) pityu_lite válasza whalaky hozzászólására (») Ápr 12, 2012 /
 
Szia!

Köszi a választ. Én jópár napig erre gondoltam amit írsz.
A megoldás végül az lett hogy a kis kontrollerem nem tudta a default TCP/IP csomagot fogadni. Úgy értem hogy a windows alapbeállításában ha egy 1480bájtnál nagyobb "valamit" (akármit) szeretnél küldeni akkor a windows ezt szépen feldarabolja alapbeállításban 1480adatbájt+20bájt header-re. Ez pedig 1500 bájtos csomagméretet jelent. Na és ezt a nagy csomagot nem tudta a kis atmega88 feldolgozni. Egyszerűen nincs akkora belső memóriája hogy a csomagot elejétől a végéig kiszedje az ENC-ből. Így nem is tudta értelmezni a csomagot, így nem küldött ACK jelet a számítógép felé így a számítógép folyamatosan azokat a csomagokat küldte újra és újra. Persze az ENC-be 8k fér, így ugyanaz a 8k került küldésre újra és újra 1500bájtos csomagonként.

Első megoldásom a problémára hogy a maximális csomagméretet bekorlátoztam 512bájra -> tökéletesen működött az adatátvitel, és így már az eszköz többi része is.
Második megoldás hogy szereztem egy Atmega328-at amivel akár 1500bájtos csomagméretet is kezelni tudok -> szintén tökéletes minden, de pl a memóriába mentés miatt az átvitel ugyanannyi ideig tart. Így végülis ez a drága IC felesleges is
Azért tényleg köszönöm a hozzászólásokat.
(#) whalaky válasza pityu_lite hozzászólására (») Ápr 12, 2012 /
 
Szép dolgok ezek, hatalmasat lehet vele küzdeni.
Őrülök hogy megoldódott.
(#) _vl_ válasza pityu_lite hozzászólására (») Ápr 12, 2012 /
 
Azért nem árt néha elgondolkodni azon, hogy mit is akarunk tudni elérni, és ahhoz milyen eszközt célszerű választani...

Konkrétan a 2KB RAM-mal ellátott, nettó 1000 ft feletti mikrokontroller nem biztos, hogy annyira jó választás egy ilyen feladatra, amikor lehet kapni nettó 500 ft körül 8-16KB RAM-mal ellátott 32-bites mikrokontrollereket is, de 1000 ft alatt is vannak 32KB-osak is akár, 1500-2000 ft-ért meg már a 128KB-osak is elérhetőek.
(#) koverg70 válasza _vl_ hozzászólására (») Máj 20, 2012 /
 
Idézet:
„lehet kapni nettó 500 ft körül 8-16KB RAM-mal ellátott 32-bites mikrokontrollereket is”


Melyikre gondolsz? Hol lehet kapni?
(#) _vl_ válasza koverg70 hozzászólására (») Máj 20, 2012 /
 
Pl. PIC32MX120F032B, a magyarországi disztribútornál (chipcad)
Csak azóta, ami akkor 5xx forint volt, az ma már 6xx forint
(#) gtk hozzászólása Júl 3, 2012 /
 
Sziasztok ! ENC28J60 -al kapcsolatosan lenne kerdesem. Szep regenyek vannak mindenhol, de valaszt a kerdesemre nem talaltam. Itt biztosan van valaki aki jobban ismeri az IC-t. Mekkora adatatviteli sebessegre kepes az IC ? Udv. Szabi
(#) TavIR-AVR válasza gtk hozzászólására (») Júl 3, 2012 /
 
A mikrokontroller a szűk keresztmetszet. És milyen protokoll?

Nagyjából ha UDP-t használsz, akkor ~30-50 k/sec. de ekkor INT alapon és gyors SPI busszal + gyors mikrokontrollerrel kezeld. Én nem mernék 1k fölé menni vele (AVR + ENC).

A hiba a ENC kicsi belső pufferében keresendő. Ha túlcsordul - akkor a mellette levő mikroktrollernek kell kezelnie, hogy van olyan csomag ami nem jött vissza és még 1-2 ENC-ben benne levőt is felülírt
(#) gtk válasza TavIR-AVR hozzászólására (») Júl 3, 2012 /
 
Szia ! Koszonom a valaszod ! FPGA-hoz kellene. Tudtok olyant ajanlani ami beszerezheto is, es par 100 kbyte nem kihivas neki? Tortent ugyanis, hogy amikor nem kellett az ETHernet, akkor ETH.-es FPGA panelom volt, most kellene, es pont nem olyan van.
(#) potyo válasza gtk hozzászólására (») Júl 3, 2012 /
 
Van a microchiptől az ENC624J600, az szerintem bőven jó lesz. Párhuzamos interfészen vagy akár SPI-n is szerintem FPGA-val elég rendesen meg lehet kergetni. Vagy pl. DP83848 MII vagy RMII interfésszel, szintén FPGA-hoz szerintem jó választás lehet.

Egyébként én PIC32-vel az ENC28J60-ból a mérés szerint kb. 50-60kB/s-ot tudtam kihozni interrupt használata nélkül. Szóval tud ez többet is, mint 1k, csak nem AVR-t kell mellé tenni, hanem rendes kontrollert
(#) gtk válasza potyo hozzászólására (») Júl 3, 2012 /
 
Szia ! Koszi ! "..nem AVR-t kell mellé tenni, hanem rendes kontrollert" Hm :}
(#) Berta Viktor hozzászólása Okt 27, 2012 /
 
Sziasztok!
Jelenleg egy ENC28J60-assal foglalkozom. Az ATmega32-es kontroller 5V-os tápról működik, még a ethernet vezérlő 3.3V-ról. Tisztában vagyok a két vezérlő közti szintillesztés logikájával, de kíváncsiságból gondoltam rákérdezek, mivel belelestem az adatlapokba, és feltűnt, hogy az ATMega32-es vezérlő bemenetén lévő jelet magasnak tekinti legjobb esetben 0.5xVcc, legrosszabb esetben pedig 0.6xVcc-nél. Tehát ez 3V-ot jelent legrosszabb helyzetben, amit az ethernet vezérlő elméletileg tud biztosítani. Elképzelhető, hogy működne szintillesztő nélkül is? Ha kéznél lenne egy hardware, kipróbálnám. De mivel még tervezési fázisban van, ezért nincs rá lehetőségem. Előre is köszönöm a választ! Üdv!
(#) _vl_ válasza Berta Viktor hozzászólására (») Okt 27, 2012 / 1
 
Idézet:
„amit az ethernet vezérlő elméletileg tud biztosítani.”

Egészen biztos vagy Te ebben? Én nem néztem meg az adatlapot, de a CMOS áramkörök általában nem szokták vállalni, hogy a tápfesz 90%-át tuti kiadják magas kimenet esetén.
Én nem erőltetném a dolgot.
(#) Tetye válasza Berta Viktor hozzászólására (») Okt 29, 2012 / 1
 
Az enc ISP lábai 5v tolerant, így igen, és én így használom.
(#) pisti1818 hozzászólása Dec 3, 2012 /
 
Sziasztok!Egy kis segítségre lenne szükségem építeni szeretnék egy ethernet-nullmodem átalakítót de a kapott kapcsolási rajz alapján nem tudtam kideríteni a pontos alkatrészlistát egy biztos, hogy az ic1 helyén egy ENC28J60 vezérlő van a kérdésem az lenne, hogy tudnátok e nekem segíteni az alkatrészlista kiderítésében és a beültetésben valamint a hozzá kapott programozó használatában? Válaszotokat és segítségeteket előre is nagyon köszönöm! Kép a kapcsolási rajzról: http://www8.zippyshare.com/v/67504994/file.html
(#) dB_Thunder válasza pisti1818 hozzászólására (») Dec 3, 2012 /
 
Ez nem kapcsolási rajz hanem nyák rajz, ebből az életben nem derül ki ,hogy melyik alkatrész pontosan milyen típusú. Viszont elég sok kapcsolási rajz létezik ezzel az icvel illetve ITT szerintem mindent megtalálsz róla. Gondolom akad valami ajánlott kapcsolási rajz is.
A hozzászólás módosítva: Dec 3, 2012
(#) pipi válasza pisti1818 hozzászólására (») Dec 4, 2012 /
 
Hali!
ezzel magában semmiresem mész, mert ez csak az ethernet oldal, emellé kell még egy mikrovezérlő, meg bele a szoftver.
olimex.com oldalán (monosx.hu magyar képviselet) találsz komplett, szerelt ethernetes, pices panelokat nem drágán,
a microchipes mintaprogramokat futtathatod rajta.
(#) kameleon2 válasza pisti1818 hozzászólására (») Dec 4, 2012 /
 
Kapcsolódom az előttem szólóhoz (Pipi) - Parallax propellerrel is menni fog - nekem is működik. Ehhez az Obex.parallax.com oldalon és a gadgetgangster panel fájljai között is találsz szoftvert.
(#) gthomas hozzászólása Jan 11, 2013 /
 
Sziasztok! Vettem egy enc28j60 modult és egy 18F4620 -as pichez szeretném illeszteni. Próbanyákon már futott, készítettem panelt, azóta nem akar elindulni. Először is pingelni akarom, ha az jó akkor sinen vagyunk. Egy PC-ről pingelem, a következő történik. Rákapcsolom a tápot, és az spi_ethernet_init lefutása után visszapingel 1x max 4x aztán többé nem válaszol. Mellékelem a képet a modulról. Elvileg csak össze kell huzalozni a PIC-kel és megy. Már próbálkoztam a tápot simítani, felhúzóellenállásokkal, semmi. Amikor az áramkör elindul, a ethernet csatolón a zöld világít, a sárga szépen villog ahogy a ping kérések jönnek, de válasz az első néhányat leszámítva nem jön. Mi lehet még a baja? Mellékelek a modulról fényképet. Köszi. G.

1.0x0.jpg
    
(#) icserny válasza gthomas hozzászólására (») Jan 11, 2013 /
 
Sem a kapcsolást, sem a programot nem mutattad be, akkor honnan tudhatnánk, hogy mi a hiba? Például a szintillesztést az ENC és a PIC között hogy oldottad meg?

Elsőként én a PIC és az ENC kozötti adatforgalmat tesztelném (például a LED-et vezérlő PHY regiszter (PHLCON) beírásával, és az ENC verziószám (EREVID regiszter) kiolvasásával.
Következő: »»   12 / 17
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem