ENC28J60 Ethernet

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

ENC28J60 Ethernet

HozzászólásSzerző: Robert » 2008. június 21. szombat, 5:21

Sziasztok!

2 hete küzdök a ENC élesztéssel. Valakinek nincsen mintaprogramja rá? A Soft resetnél már elakad, mintha az SPI busz nem lenne jó. De nem találok semmi hibát:(.

Köszönöm,

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2008. június 21. szombat, 6:57

Remélem ez segíteni fog:
http://members.home.nl/bzijlstra/software/examples/enc28j60.htm

Ezen az oldalon követhettük anno végig, a Realtek8019-es chip és az AVR házasítását, és most Ben és persze lelkes társai összehozták az enc28j60-as chip vezérléséhez szükséges bascom programot. Lépésről lépésre minden le van írva benne. Külön figyelemre méltó hogy az ARP és PING részt egy magyar srác írta.

A HTML oldalak konvertálására egy kis segédprogramot is írt az egyik lelkes résztvevő, hogy könnyebben beilleszthessük html kódunkat az AVR memóriájába :)

A tuxgraphics.org oldalon található kapcsolásra írta a szerző és társai a programot, ami itt található:
http://www.tuxgraphics.org/electronics/200606/article06061.shtml

Remélem tudtam némi kiindulási alapot adni... ?
Jó kísérletezgetést ;-)

Üdv: Higgins

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. június 29. vasárnap, 9:12

Köszi, megvan....

De sikeresen elakadtam:
1, A Chip reset az a - microchip szokáshoz híven - csak adott revíziószámú chippel megy. Nálam Rev2 és Rev5 van. na ezekkel nem megy (a külön levő adatlap figyelmeztet is rá). Itt nem olvasható vissza a softreset megtörténte, mert hibát ad vissza.... Adatlap javaslatala: 330 usec várakozás.

2, a Ping és egyebeknél a bufferméret elkezd veszettül nőni. Most hogy ez programhiba vagy a chip nem jó? Így nem megy már az ARP és Ping sem:(.


C-ből a WWW és a Ping már megy.... De a Bascom lenne a cél..

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. június 29. vasárnap, 21:20

Az ENC28J60 (3v3) és az AVR (5v) közé nem kell szintillesztő áramkör. Az ENC28J60 5V tolerant, míg az AVR esetén a H szint 5V tápfesz esetén ~1,6..1,8V-tól felfele. Az ENC 3.1..3.3V feszültsége erre megfelel.

Az ENC28J60 esetén a +3V3 felé menő tekercs sima ferritgyöngyös dróttal is helyettesíthető. Az itthon fellelt 100nH tekercs nem vált be, valami tápfeszgerjedést okozott, és a csomagokat véletlenszerűen eldobálta (=mintha kontakthiba lenne). Tekercs helyett darab drót -> tökéletesen működik az Ethernet felület (programhiba miatt egyenlőre C alatt csak...) !

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2008. június 30. hétfő, 10:02

Sajnos még mindig értetlenül állok a dolog előtt, hogy miért nem sikerül az ENC chipet beindítanod....ennyit jelent ill. számít egy másik rev number? :?

Próbáltad ATmega8-al ami Ben cikkében is volt, bár elég fura lenne, ha csak így működne...

Remélem azért összejön majd....
Ha megvan a megoldás kíváncsi lennék rá!;-)

Üdv: Higgins

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. június 30. hétfő, 11:02

Bascomban van valami elkavarodás.

A Rev2 és a Rev5 chip van otthon jelenleg. Ahogy néztem a Ben-s cikkben a Rev7-essel játszott:( (így jár aki hamar veszi meg a chipet és csak utána áll neki fejleszteni...)

Sajna van ennyi eltérés:( Microchip.
Az első amibe belefutottam a program kb. 8. sora. A Chip reset:). Ekkor jött az hogy
a, uj chipet begyűjteni (a meglevő ~20 chipet nem hajintom ki, hanem hibakeresek....)
b, Bascom programhibát kijavítom, amint megvan a hiba. Vagy legalábbis működő változatot összehozok belőle....

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. június 30. hétfő, 11:04

M128-l éleszette ő is, a Tuxgraphicsos kapcsolást. Nekem is ez van meg.... Így gondoltam nem lehet nagy különbség. lett.


Ha az AVR chipekben ilyen hiba lenne, akkor a programjaink 3/4-e arról szólna, hogy a szilíciumhoz igazítjuk a programot.....
Érdekes, hogy a RTL8019AS esetén miért nincsen ilyen? Ott az elmúlt jópár év chipjeivel játszottam. Sosem volt chipverziószám alapú hiba.... (a DIP/SMD ok nem játszik :P )

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2008. június 30. hétfő, 17:59

Szerintem is fura.....

Hülye ötlet: próbálj máshonnan venni ENC chipet.
Pl én úgy jártam, hogy a TME-től rendeltem 5db ATmega32-es chipet, 3 eleve rossz volt(nem is lehetett porgramozni őket), és csak kettő volt jó belőle.

Vannak furcsaságok... 8)

Szval szerintem már be lehet szerezni újabb verziójú chipet....

Üdv: Higgins

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. június 30. hétfő, 18:24

Nem a chip halott :( . Csak fejlesztik és az Errata lassan vastagabb, mint az adatlap :P .

De végülis, ha ki lehet olvasni a chipből a verziót, nem gond..... Csak szívás.

Ami nagy szivatás:
RevB1 (Rev2):
- SPI busz _minimum_ 8MHz vagy szinkronban járatva a EthernetIC az AVR-l
- A chip a -40...+85 fok helyett csak 0...85 fok tartományban működik
- Reset megtörténte nem olvasható ki a chipből (hibás adat jön)
- A belső INT nem működik a jelzőbiteken keresztül
- Polaritásdetekció nem működik (mégha a chip engedné is)
- külső ellenállás (ami a Eth működési frekvenciát/órajelet állítja be) RevB1 és RevB4 esetén 2.7kByte, míg RevB5 esetén 2.32kByte!!!
- Az ütközésjelző LED csak _szinkron módban_ működik.

RevB5 (Rev5):
- SPI busz kijavítva.
- A chip működési tartománya kijavítva.
- Reset megtörténte nem olvasható ki a chipből (hibás adat jön) (tessék várakozni 300 usec-t - kivéve ha RevB7 van, mert ott 1msec-t!!)
- A belső INT nem működik a jelzőbiteken keresztül (még mindíg)
- Polaritásdetekció nem működik (mégha a chip engedné is) - továbbra sem.
- külső ellenállás (ami a Eth működési frekvenciát/órajelet állítja be) RevB1 és RevB4 esetén 2.7kByte, míg RevB5 esetén 2.32kByte!!! - szívás, HW módosítás....
- Az ütközésjelző LED csak _szinkron módban_ működik.
- Half duplex fejreállt. Ha már a régi chipben jól működött.....


Szóval ettől azért elszoktam.....
:twisted:

Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

HozzászólásSzerző: nobody_hun » 2008. július 3. csütörtök, 11:21

Csak bólogatni tudok.

Egyetlen egyszer foglalkoztam ezzel, C-ben, de mire elkészült azt hittem lenyelem a forró pákát...

Egyetlen előnye a DIP tokos elérhetőség és azt hiszem ebben ki is merült minden tudománya.

Viszont nem tudok alternatíváról (spi, dip tok, stb...)

Illetve csodálkozom, hogy az Atmel még nem gyárt ilyet:
asix.com.tw/products.php?op=pItemdetail&PItemID=89;72;103&PLine=72

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. július 3. csütörtök, 12:40

Én berágtam picit. Ha van otthon ~10-12 chip csak nem dobom ki....

Hamár a C működik, akkor megy át Bascomba. Mondjuk lesz kb. 2-3 nap. Végülis a nyári szabi is jó valamire :)
Ésa szerencse, hogy már van 2 féle verziószámú IC, most van a RevB7-es begyűjtés alatt.A Rev 4-eset meg valahonnan csak kerítek:).


A DIP és a kevés lábszám, és a SOIC tok azért jó szokott lenni. Azért a RTL8019AS a maga 100 SMD lábával nem leányálom....

Sajna DIPesből én sem tudok. A Wiznet és egyéb kész modulok most nem érnek....

Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

HozzászólásSzerző: pkedvessy » 2008. július 6. vasárnap, 9:45

Sziasztok!
Valaki tudna nekem küldeni egy működő nyáktervet? Régebben én is szórakozgattam a chippel, de nem akart menni, és most nekiesnék újra...
Köszönöm előre is!

Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00
Tartózkodási hely: Győr
Kapcsolat:

HozzászólásSzerző: Higgins » 2008. július 6. vasárnap, 10:21

A Ben Zijstra féle oldalon van utalás az elektronikára, a tuxgraphics félét használta ő is, ott komplett leírás van stb.. Ha rev7-es enc chiped van akkor hajrá....de ha nem, akkor szívás lesz a Bascomban, ahogy Róbert leírta a tapasztalatait ezen a téren a régebbi verziójú enc chipek kapcsán...

Személy szerint én megmaradok a wiznet chipnél....tudom még mindig eléggé drága (6500Ft+ÁFA),de ha valaki nem akar sokat szöszölni és sürgeti az idő, és gyors eredményt akar elérni a fejlesztésben, akkor még mindig ez a legjobb megoldás....bár tudom nagyon elfogult vagyok 8)

/A Ben féle kóddal nekem az a bajom, hogy a végére eléggé átláthatatlan és hosszú, az egyes részeket különbontva jobb lenne külön 'unitokba' helyezni, mint egy C programnál és a megfelelő pontokon be includolni :lol: /

Üdv: Higgins

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. július 6. vasárnap, 14:42

Nyáktervből ha kell, akkor M32 mellé valót tudok küldeni (2 oldalas, furatgalvános; 1-2 "pucér" van itthon). Vagy M168 mellé a Tuxgraphicsost (1 oldalas).


Csak a Rev7-es chippel megy a Ben programja. A végére nagyon káoszos. Én most a Tux-osat próbálom átrakni Bascomra. Ezátláthatóbb. Mondjuk a C -> Bascom fordítás szép történet lesz...

Ami chip sorszámokat tudok (ENC28J60 -I/SP (DIP28))):
Rev2: 053044E
Rev5: 07074E7

Ezekkel ne is próbálkozz, mert a Ben fejlesztése nem átlátható. Kihagyott 2-3 logikai lépcsőt.



A nyáktervről:
Ha 5V-ról jár az AVR, 1:1-ben mehet a ENCre. az ENC max 4V tápot kér, ez 5Vból 2 db soros, min 0,5A-es diódával előállítható. Vagy 3V3-as stabICvel (min. 0,5 A).


Fontos!
A Rx+, Rx-, Tx+, Tx- lábakat pontosan kösd be, az IC nem kezeli le különben!
Az Rbias ellenállás értéke nem annyira kritikus. Nálam 2.32k= 2*4k7 párhuzamosan.
A szűrőtekercs csak ferritgyöngy legyen, normál tekercs működési hibát okoz. Amúgy ha a táp "tiszta", akkor sima átkötés is elég (nálam is ez lett).

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. január 31. szombat, 6:55

Alakul...
Bascom + ENC28J60.


Sikerült Rev4-es chipet szerezni, így a Ben Bascom programjai íródnak át működőre....

A Rev4 sorszáma: 06063MU (nekem SMD van)

A Rev4 után a többi revíziószámú chip is sorrakerül, így sikerül univerzális Bascom programot elkövetni az ENC chipre. Végre....


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég