Fórum témák

» Több friss téma
Fórum » ENC28J60 ETHERNET vezérlő használata
Lapozás: OK   10 / 17
(#) tibi0531 válasza m.joco hozzászólására (») Jún 5, 2010 /
 
Az én kapcsolásomban (rev. 5) két darab 1,2k /1%-os ellenállást használtam és nem volt probléma.

Én Atmega32-vel használtam. Ezek a kontrollerek támogatják a multi-master SPI módot is, ha a SS (slave select) lábat földre húzzuk a kontroller slave módba vált. Belefutottam abba a hibába, hogy ezt a lábat lebegni hagytam, és szabálytalan időközönként megszakadt a kommunikáció.
Nem lehet, hogy a te vezérlődnél is valami hasonló hiba van?
(#) m.joco válasza tibi0531 hozzászólására (») Jún 5, 2010 /
 
Hello
Nekem se volt bekötve az SS láb a PIC-en, most felhúztam egy 1k -s ellenállással a tápra, meglátom hogy mi lesz.
Üdv.
(#) m.joco válasza m.joco hozzászólására (») Jún 8, 2010 /
 
Hello
Hosszas próbálgatások után sajna nem változott a helyzet. Kb. fél napig megy, aztán egyszer csak semmi.
Meg lehetne valahogy próbálni, hogy mi okozhatja a hibát? Úgy értem, hogy megbizonyosodni, hogy az SPI kommunikáció, vagy az ENC chip a ludas.
Egyébként olyankor, amikor nem válaszol, pingre se válaszol. Pingre való válaszoláshoz kommunikál a chip a PIC-cel (vagy arra automatikusan válaszol)? Mert ha igen, akkor lehetséges hogy az SPI kapcsol szét.
Üdv.
(#) potyo válasza m.joco hozzászólására (») Jún 8, 2010 /
 
Ping-re válaszoláshoz is kell a PIC tudtommal. Csinálj valami kódot, amit pl. gombnyomáshoz kötsz, és a gombnyomás hatására SPI-n valamit kiolvas az ENC-ből. Ha lefagyott, akkor megnyomod a gombot és meglátod, hogy válaszol az ENC SPI-n vagy nem. Persze valami olyasmit olvastass ki így, amit előtte úgy kell beállítani, mint pl. az ENC IP címét.
(#) m.joco válasza potyo hozzászólására (») Jún 8, 2010 /
 
Hello
Kipróbáltam az ötletedet.
  1. while true do                   // do forever
  2.     begin
  3.       SPI_Ethernet_doPacket();   // process incoming Ethernet packets
  4.       if portb.5 = 1 then
  5.         begin
  6.             revision:= 0;
  7.             LATD.1 := 0;
  8.             SPI1_Write(%01011111);          //Write to ECON1 register command
  9.             SPI1_Write(%00000011);          //Switch to bank 3
  10.             LATD.1 := 1;
  11.  
  12.             //Get silicon revision from EREVID register
  13.             LATD.1 := 0;
  14.             SPI1_Write(%00010010);          //Read from register EREVID command
  15.             revision := SPI1_Read(buffer);    //Place incoming byte into revision
  16.             LATD.1 := 1;
  17.             if revision = 6 then portb.3 := not portb.3;
  18.             delay_ms(1000);
  19.         end;
  20.     end;

Így néz ki most a főprogramban lévő végtelen ciklus. A SPI_Ethernet_doPacket(); függvényt állandóan meg kell hívni, mögé tettem be a kódomat, melyet neten találtam. Ez kiolvassa a chip revíziós számát, ami nekem 6.
Indítás után weboldal betöltődik, minden OK. Megnyomom a gombot, a LED bekapcsol. Még egyszer megnyomom, kikapcsol. Ez is működik. A weboldal viszont ezután már nem töltődik be. További gombnyomogatásra a LED ismét invertálódik, szóval úgy néz ki a kommunikáció él. Kipróbáltam azt is, hogy a kódban a revision változót nem hattal, hanem héttel hasonlítottam össze, akkor nem világított a LED, szóval akkor biztos jól olvassa ki a rev. számot, amikor 6-al hasonlítom.
Most újraindítottam, gombot nem nyomtam meg, oldal bejön (még), megvárom míg besz*rik, azután próbálom a gombot.
Üdv.
(#) potyo válasza m.joco hozzászólására (») Jún 8, 2010 /
 
Nem néztem az ENC adatlapját, de nem kellene visszaállítani a Bank-ot az előző értékre az EREVID kiolvasása után?
(#) m.joco válasza potyo hozzászólására (») Jún 9, 2010 /
 
Hello
Idézet:
„Nem néztem az ENC adatlapját, de nem kellene visszaállítani a Bank-ot az előző értékre az EREVID kiolvasása után?”

Lehetséges, bár a próbához ez is megfelelt. Tegnap este beindítottam, ma még betöltődött a weblap, pár perce azonban már nem. Gombnyomásra invertálódik a LED. Szóval úgy néz ki, az SPI kommunikációval minden OK.
Az Rbias ellenállást sikerült még a próbák előtt 2,36k-ra belőni. Eddig úgy néz ki, hogy minden jó, de mégse stabil.
Mi jöhet még szóba hiba forrásaként?
Üdv.
(#) cassis válasza pajti2 hozzászólására (») Jún 10, 2010 /
 
Tudna valaki az ENC424J600 hoz valamilyen PIC -el kapcsolási rajzot feltenni PSP vezérléssel?
Első ránézésre egyszerűnek tűnik a 424 es, ugyanakkor tudja a 100 M át is.
(#) potyo válasza cassis hozzászólására (») Jún 10, 2010 /
 
Azt tudod, hogy azt a Microchip is elismeri, hogy a 100M igazából csak marketing célt szolgál?

Egyébként ezekből próbálj kisakkozni valamit: Fast 100Mbps Ethernet PICtail Plus Daughter Board, Explorer 16 Development Board. A gyári demóprogramok pedig úgynézem, támogatják a PSP vezérlést is.
(#) cassis válasza potyo hozzászólására (») Jún 10, 2010 /
 
köszi megnézem őket.
Arról már hallottam, hogy a Microchip is elismeri, hogy marketing célokat szolgál a 100 M -ás vezérlője, de pontosan mit is akar ez jelenteni?
Arra gondolok, hogy a throghputja csak pl. max 60 M ás lenne? Erre nem talátam semmi adatot.
(#) potyo válasza cassis hozzászólására (») Jún 10, 2010 /
 
Azt jelenti, hogy nem hoz semmi különbséget, hogy 10 vagy 100-as vezérlővel építesz fel valamit, mert még egy PIC32 sem tudja valós körülmények között kihasználni a 10Mbit-et sem.

Marketing abból a szempontból, hogy jobban hangzik, hogy valamin 100Mbit-es port van, mint ha azt írják, hogy 10Mbit-es. Pl. sok otthoni routeren is 100Mbit-es WAN port van, közben meg a belseje nem tud áttolni 10Mbit-es netet sem.
(#) cassis válasza potyo hozzászólására (») Jún 10, 2010 /
 
Én is erre gondoltam.
Igaz, bátorkodtam legalább 60 M re becsülni a 424 -et.
Szerintem tudna többet is, csak a Microchip es program lassítja le.
Nekem pedig fontos lenne a gyorsaság, még ha 100 M ig nem is tudna felmenni, mert tesztelni szeretnék vele más, gyári eszközöket, illetve hálózatokat.
Ehhez pedig magamnak kell majd megírni a lehető legegyszerűbb, leggyorsabban futó programokat.
(Egyszerű dolgokra gondolok elsőkörben: hurok funkció, csomageldobások számolása, stb ) Lehet nagy fába vágtam a fejszém, de a hurokig remélem eljutok, a 28J60 esetén már sikerült...
Aztán másik ok ami miatt 100 M ás kell, mert nekem a rendszerben nincs lehetőségem autonegotationt beállítani, a többi eszköz - amivel összekötöm - fix 100 M el megy.
(#) potyo válasza cassis hozzászólására (») Jún 10, 2010 /
 
Idézet:
„Szerintem tudna többet is, csak a Microchip es program lassítja le.”


Szándékosan nem lassítja semmi, hanem egyszerűen nem tudja kiszolgálni a hozzákötött kontroller. Ha mást nem csinál, csak a kommunikációt teszteli, akkor egy PIC32 talán elég sokat ki tud paszírozni magából. De a hálózati kapcsolat az 100Mbit-en megy mindenképpen, csak majd ritkán fognak rajta csomagok utazni.

A többi cucchoz mivel kötöd hozzá? Mert ha nem direktben, hanem switch-el, akkor az megoldja a sebességek illesztését.
(#) cassis válasza potyo hozzászólására (») Jún 10, 2010 /
 
Ah, persze nem szándékosságra gondoltam, hogy a microchip lassítaná softveresen.
Egyszerűen bonyolult az IP, TCP stack és ráadásul C ben van írva a gyári program.
Assamblyben meg kösse fel a gatyáját aki meg akarja írni. De én - mint fenn írtam - speciális feladatokat akarok elvégeztetni vele. Kell a 424j600 gyorsasága is, a switch meg azért nem jó, mert 28j60 esetén tuti csiga átlagos csomagsebességet kapok 100 M -án, ami nekem nagyon karcsú a feladathoz. Ráadásul SPI buszon még egy bankváltás is rengeteg időt elrabol, nem is beszélve arról, hogy csak 12,5 MHz en tudom járatni az ENC -t, mert a 16F877 nem bírja a dupla sebességet (a 25 MHz es órajelet).
(Mellesleg nekem megy azon is, de bizonytalan mennyire megbízható)
(#) potyo válasza cassis hozzászólására (») Jún 10, 2010 /
 
Vannak PIC32-k, amikben van beépített 100-as Ethernet. Neked nem lenne jó olyan? Sebesség terén az tudja a legtöbbet szerintem. 16F877-et el kellene felejteni, ha már ilyesmiben gondolkozol.
(#) cassis válasza potyo hozzászólására (») Jún 10, 2010 /
 
Igazad van. A 877 régi eszköz, de olyan volt otthol, és szerintem próbára kiválló volt az ENC28j60 hoz.
Akár lehetne PIC32 beépített Ethernettel is, de valamikor vettem ezt a 424 -et, most nem akarom kidobni.
Mellesleg szerintem a beépített nem gyorsabb a másiknál. A PSP buszról közvetlenül lehet az SRAM buffert, vagy a regisztereket elérni.
A hátrány, hogy itt kicsit bonyolultabb a panel...
(#) m.joco válasza potyo hozzászólására (») Jún 24, 2010 /
 
Hello
Még mindig nem sikerült megoldani az ENC28J60-as chippel felépített webszerveres problémát, de eszembe jutott valami. Lánctalpas robotot is fejlesztgetek, és amikor múltkor próbálgattam a webszervert, észrevettem valamit. Kipróbáltam, bejött a weboldal, ezután foglalkoztam a robottal, teszteltem kb. 10 percig a vezérlését, hogy hogy megy, utána amikor próbáltam a böngészőben már nem jött be a weboldal.
Ha jól emlékszem, akkor ez 2x is előfordult.
Lehet hogy valamilyen zavar miatt döglik be az ENC chip? Az SPI kommunikáció jó, nem az szakad meg, múltkor megpróbáltam.
Üdv.
(#) potyo válasza m.joco hozzászólására (») Jún 24, 2010 /
 
Elvileg az ethernet oldalról a chipnek vissza kellene csatlakoznia, ha valami miatt meg is szakad a kommunikáció. Legalábbis a 18F86J65 az vissza tudott csatlakozni, akármit csináltam a kábellel. Vissza kellene olvasni az ENC regisztereit, amikor a hiba előáll, hátha jelez valamit, amit a micropascalos framework nem kezel le, és emiatt áll le az egész.
(#) m.joco válasza potyo hozzászólására (») Júl 15, 2010 /
 
Hello
Szerinted rendben lenne, ha óránként újraindítaná a pic az ethernet chippet? Nem okozna problémát a routernek, vagy az ethernet chipnek?
Üdv.
(#) potyo válasza m.joco hozzászólására (») Júl 15, 2010 /
 
Problémát nem okoz, de azért jó lenne kideríteni, hogy mégis mitől fagy le.

Mellesleg ezért szoktam azt mondani, hogy a gyári programokat érdemes használni, mert azt sokan használják, és így legalább a nagyobb hibák gyorsan kiderülnek és javításra kerülnek. Tudom, neked a C miatt ez nem jó, de talán érdemes lenne C-ben elmélyedned...
(#) nl hozzászólása Szept 13, 2010 /
 
Sziasztok!

Hogyan lehetne számítógépre olyan C vagy C++ programot írni, amivel valamilyen adatot (pl. 1 bájtot) küldhetnék egy, a hálózaton lévő eszköznek. ENC28J60-as ethernet vezérlőt szeretném tesztelni.
(#) cassis válasza nl hozzászólására (») Szept 13, 2010 / 1
 
ebből ki tudsz indulni. Egy byteot kiküldeni persze nincs értelme, tekintve, hogy csomagok haladnak a hálózaton, többnyire fix keretfejlécekkel. Az adatrészben viszont már küldhetsz akár tetszőleges 1 bytot is.
(#) icserny válasza nl hozzászólására (») Szept 14, 2010 /
 
Nem muszáj alkalmazást írni, a Hyperterminal is tud TCP/IP eszköz valamely portjához kapcsolódni, csak meg kell adni az állomás címét (IP szám) és a port számát.
(#) szkrep hozzászólása Ápr 4, 2011 /
 
CCS C fordítóval használta már valaki ezt a vezérlőt? Esetleg valami forráskódot tudtok adni a világ legprimitívebb webszerveréről, amin megjelenik egy 3 soros HTML lap?
PIC18F4550-el szeretném használni eleinte, a gyári példák közül a 18F4620-ra megírt dolgok bele is férnek.
Ezekben a példákban még a forráskódban meg kéne adnom az IP és a MAC címket. Ha PIC-ben futó szoftver nélkül rádugom a routerre, az észre sem veszi (zöld led világít, olykor sárga is villan, de a router menüben semmi nincs azon a porton)-> nem ad neki IP-t. Akkor mit írjak a forráskódba? Ismert IP híján pingelni sem tudom...
(#) szkrep válasza szkrep hozzászólására (») Ápr 9, 2011 /
 
Csak sikerült megoldani
A CCS gyári mintaprogramján alapul:
http://78.92.3.244/
(#) Mate78 válasza szkrep hozzászólására (») Ápr 10, 2011 /
 
Nem látom, hogy változna a LED-ek állapota küldés után.
Vagy többet kell várni a frissítésre?
(#) szkrep válasza Mate78 hozzászólására (») Ápr 10, 2011 /
 
Az csak egy kép, az oldalon nincs semmilyen visszajelzés a ledekről. El kell hinned, hogy tényleg villog Tervben van, hogy a megírt üzeneteket visszaolvasom az SDről, és kiírom az oldalra. Komolyabb akadálya nincs is.
(#) alex077 hozzászólása Júl 7, 2011 /
 
Sziasztok!

Szeretnék egy saját készítésű webservert csinálni.
A következők szerint szeretném megvalósítani:
PIC alapú legyen
bővíthető legyen mindenféle egyéb áramkörökkel (érzékelők, kapcsolók, stb)
bővíthető legyen a memóriája
egy nem túl puritán (de nem is tiszta flash) oldalt tudjon kezelni
nem kell sok felhasználót egyszerre kiszolgálnia (saját, otthoni célra lesz)

Van-e valakinek kiforrott, megbízható kapcsolási rajza és szoftvere? Első körben egy jó alap hardware kellene, amit később lehet bővíteni.
Köszi!
(#) TavIR-AVR válasza alex077 hozzászólására (») Júl 7, 2011 /
 
1-Wire buszra mindenféle fellógatható.
A ENC nem jól kezeli a hosszú WEBlapokat (azaz 1400 byte felett ne legyen az oldal hossza).

AVR-re tudok rajzot és SW-t is
(#) potyo válasza alex077 hozzászólására (») Júl 7, 2011 /
 
Én ajánlom a PIC18F87J60-at és a Picdemnet (vagy picdemnet2, fejből nem tudom) demókártya kapcsolási rajzát. Négy napot szoptam egy hiányzó vezeték miatt, de azt leszámítva elsőre indult a cucc dugdosós próbapanelen. ENC-vel ezesetben felesleges bohóckodni, ott van a PIC-ben az Ethernet vezérlő. Ehhez van a gyári programcsomagban demó alkalmazás is, TCPIP Demo App vagy valami ilyesmi néven. Mivel ez egy 100 lábú kontroller, ezért igencsak sok szabad lába van, amire mindenféle érzékelő, kapcsoló, bármi köthető.

Memóriabővítést nem egészen értem, mire gondolsz, kód vagy adatmemóriára? Weblapok tárolása megoldható külső (I2C, SPI, párhuzamos) Flash memórián, célszerű az SPI vagy a párhuzamos a sebesség miatt (gyári demó SPI-re van felkészítve).

Weboldal az szinte csak rajtad múlik, hogy mit csinálsz vele. Szerveroldalon a dizájnos oldalak is csak egyszerű szövegfájlok+esetleg képek. A látványosság a kliensoldalon dől el, ott meg a böngészőtől függ a dolog, nem a szerveroldaltól.
Következő: »»   10 / 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