Ethernet

Ahoj všem,
Pracuji na projektu kdy budu potřebovat připojit PIC16F877A na Ethernet, pořídil jsem si ENC28J60, ale zatím jen studuji datasheet. Chtěl bych se tedy zeptat na zkušenosti s tímto obvodem, a čeho se například vyvarovat. Třeba první věc se kterou mám problém, při připojení do ethernetu je potřeba nějaký transformátorek, v datasheetu je nakreslen a i jinde jsem viděl, že je potřeba. ze starého switche jsem vykuchal LF-H20-P, ale neni to přesně ono, nedoporučil by mi někdo odskoušený, spolehlivý a nepříliš drahý kousek? Další záhada je ferrite bead, je k tomu poznámka, že by měla spňovat nějaký požadavek na proud, ale nevim co to vůbec je a pod jakým označením to koupit. :frowning:

Díky za každou radu

Dobrý den,
mě se osvědčíl PIC18F96J60, konektor se zabudovaným tráfkem sem pořídil na HW-Shopu (obchod.hw.cz/DetailPage.asp?CD=900243) Ethernet SET - RJ-45 + FB2022 + 2x 1nF/2kV za 200,-
A ferrite bead je tlumivka, která musí být dimenzována na proud, který budete odebírat.
Hodně úspěchu.

18F9… mam doma taky nejaky. sou to ty potvurky se zabudovanym ethernetem, ale problem je, alespon pro me, ze maji TQFP 64 pouzdro a vyvody jsou opravdu blizko sebe a pokazkdy kdyz se na nej podivam tak mam pocit hranicici s jistotou, ze to proste nezapajim :frowning: kazdopadne diky za radu, na to trafo se podivam :wink:
ackoli to asi stejne bude opruz delat to pres spi …

jinak, jeste otazecka, ten set na hw shopu je nejaky prosnak nebo to sou proste jen ty tri soucastky?
a u ty tlumivky, nemela by byt udana aspon indukcnost?

Jsou to jen součástky - je to určeno do ethernetových modulů Charon. Pravděpodobně nepokládali za nutné psát, jakou to má indukčnost, když si to většina lidí koupí přímo pro Charona. Napiš jim dotaz, určitě to budou vědět.

nemyslel jsem v charonu, nebudu kupovat charon, prijde mi to jako zbytecnost, pokusim se navrhnout vlastni desku, a trafo nemu z nejaky stary sitovky, konektory a kondiky koupim, to je par korun. T tlumivku jsem myslel u toho Ethernet controlleru od microchipu, tam je ve schematku zadana tlumivka a ze by mela mit alespon 80mA (jestli me pamet neklame) ale indukcnost nikde.

použil som v jednom prípade odrezaný kus zo sieťovky s RTL8139 a v druhom PulseJack J0026D21BNL /sos.sk/, typ používaný v charon asi nebude vhodný, je určený pre RTL8019 a má zabudované filtre, ferrite bead je tlmivka, nieje kritická, napríklad zo starého HDD, CDROM… nepoužil by som však pic16…nakoľko TCP/IP stack je už hotový a funkčný len pre rady pic18, pic24 a vyššie
rk-soft.sk/eth1.jpg
rk-soft.sk/eth2.jpg

Každý registrovaný čtenář může uploadovat obrázky - je to jednodušší, než se spoléhat na cizí servery, že na nich obrázky vydrží.
eth1.jpg
eth2.jpg

Pokud by někdo potřeboval konektor s integrovaným trafem,tak za ca 28Kč je k mání na www.rofa.cz Používáme to s ENC28J60 a chodí OK. K tomuto obvodu ještě poznámka - dejte pozor na správnuo hodnotu Rbias podle revize chipu !

Ten konektor je bezva, ten asi objednam. Jinak k projektu, Rozhodl jsem se, že je zbytečné programovat pic16F877A na k němu ENC28J60 přes SPI a bude lepší použít PIC18j67j60(nebo 18F66j60 nebo 18F66j67) které mám také k dispozici, bohužel jsou v TQFP64 tak jsem zvědavý jak to budu pájet. Taky bych potřeboval bych nějaký tutorial nebo sample programu abych to přesněji pochopil, stahl jsem si ten TCP/IP stack od microchipu ale přijde mi to strašně komplexní vzhledem k tomu co potřebuju (spočítat impulsy, a jednou za čas sestavit packet a odeslat ho na server kde už si ho něco přebere). tak kdyby někdo věděl taky bych se nezlobil.

Zatim ahoj

Já se teď v poslední době zabývám také TCP/IP stackem od Microchipu,mám stáhlou 4.18 a rozjel jsem na ní ICMP i telnet,ale stálo mě to nějaký čas,než jsem to trošku pochopil.No a také se mi to zdálo po delší době trošku nestabilní,protože začaly blbnou pingy,ale chybu přičítám mému modulu s PIC18F4620 a ENC28J60 a asi ne úplně dobře nastavenému stacku 4.18.Zato 3.75 jela dobře.Hodně jsem se inspiroval tady:ljcv.net/projects/,kdyžtak mrkni,je to od Amodia,píše hodně na foru microchipu.Použil jsem konstrukci s 74HCT125 na konverzi napětí 5-3.3V.Programuju to klonem ICD2 od Potya a vše je ok.
Pointa věci je odkomentovat/příp.zakomentovat/ to,co nepoužíváš v HardwareProfile.h-tady si nastavíš jakou desku používáš,kmitočet hodin atd.Já musel vytvořit v položce elif defined YOUR_BOARD svoji desku.Pokud bys používal např PICdemnet2 nebo kopii,tak je to úplně jednoduché. V TCPIPconfig.h si vybereš moduly,které chceš používat např.ftp server STACK_USE_FTP_SERVER,velikost spi eeprom pokud bys používal,co nechceš zakomentuj.
No a k tomu pájení -mrkni tady:radio.qrp.cz/2/clanky/smd.htm
Líbí se mi,že k tomu stačí jen trouba teploměr a hodinky.
Sám jsem navrhnul v eaglu testovací desku s modulem na kterém bude PIC18F97J60,protože orig PICdemnet2 je dost drahá,takže mě čeká pouzdro TQFP100 :unamused:
A to jsem se ještě sekl a objednal si /PT a oni mají 2 velikosti pouzdra /PT a /PF …obě TQFP100.
Jestli někdo koumáte TCPIP stack 4.18 a máte tip,jak by se tam dalo dopsat ovládání např LED diod přes nějaké klávesy při otevřeném spojení přes 23 telnet budu rád,protože jak jsem to spustil,tak kromě jména a hesla to vypisuje jen stav LED a to je vše.

Tak to mám radost, že nejsem jediný, kdo se v tom vrtá :slight_smile:
Já si asi budu dělat taky vlastní desku, přijde mi zbytečnost si kupovat desku za několik stovek když to je jednoúčelový. Mám přístup k PVK40 ale tam jde jen DIP a mám pocit, že řada 16… Programovat budu nejspíš originálem ICD2, který si půjčím, na 16F8771 mi stačil JDM2 (dva tranzistory a pár odporů) a posléze bootloader. Ale u 18F67J60 je to asi nepoužitelný. Knihovna do eaglu na 18F97j60 se dá stáhnout na internetu, bohužel na 67j60 jsem zatím nenašel tak nejspíš upravím původní. K tvému problému s LEDkama: asix.cz/a6_spinet.htm tadyhle je modul od asixu, je v tom ENC28J60, a nějaký demo program, který podle všeho umí číst hodnoty z PVK40 (LED, potenciometry, teplotu, tlačítka). Tak se zkus inspirovat. :wink:

EDIT: Teď jsem ještě trošku hledal, a nakonec jsem našel. Sice ty stránky nezvládala přelouskat ani opera ale odkaz jsem poznal.
picfun.com/lanpic/lanpic25.html
je tam schéma a je v něm 66j60 což je skoro stejny jako to so potřebuju :wink:
O to víc mě zaujalo to co jsem našel: picfun.com/lanpic/CPU03.jpg myslíte, že se to dá koupit už takhle hotový? asi by nebyl problém to navrhnout a vyrobit ale to bych musel fotocestou, a na to teď nemám věci.
A ještě jako poslední, nevadilo by, že by byl krystal a ty odpory Rbias a tak, tak daleko od uC? přecijen 25MHz už je dost a teď když to jde takovou dálku vedle sebe… No nevim, radši se zeptám, a budu zas o něco chytřejší. :slight_smile:
EDIT2: k tomu dole. jj přesně tohle jsem měl na mysli ten odpor. jinak mylim, že hodnota se liší podle revize…

Co se týká toho odporu na Rbias-tak v datasheetu k 18F97J60 tvrdili,že má být co nejblíže vývodu a nejlíp smd provedení,já jsem ale smd našel jen na polských stranách,tak tam mám v návrhu desky normální provedení.Taky v datasheetu je 2.26k a v Picdemnet 2.32k,pokud si pamatuji.Moc daleko bych jej v každém případě raději nedával,možná to chce zkusit.Já dám vědět během 2,3 dnů jak to osadím,jestli to chodí ok.

na pokusy s prenosmi nejakých paketov sa dá použit UART2TCPBridge modul obsiahnutý v TCP/IP stacku od Microchipu, funguje to tak, že v PC otvorím nejaký terminál /používam Hercules od HWGroup/ pripojím sa na TCP port 9761 /definovaný v module UART2TCPBridge, možné zmeniť/ a to čo píšem do okna v termináli lezie von z UARTu pic a naopak
tiež je takto možné vytvoriť v PC virtuálny COM port /com0com.sourceforge.net/, príslušná aplikácia na ovládanie niečoho potom ani nemusí vedieť, že sa dáta prenášajú cez ethernet :slight_smile:

dloop

Board jsem dostavěl,chvíli to trvalo,když toho času je tak málo…
Osazení PIC18F97J60 v TQFP100 jsem provedl pomocí pájecí pasty a horkovzdušné stanice.Je třeba nanést fakt slabou vrstvu na plošky na desce,jinak se vývody slívají cínem.Měl jsem z toho obavy,ale není to taková hrůza,chce to lupu,trpělivost a přesné usazení.Pozor na knihovnu na netu,tu co jsem jedinou našel a stáhl není dobře udělaná,musel jsem nožky chipu trošku přihnout.Uvažuji že v eaglu udělám svoji vlastní.Fotku tu dám,hned jak někoho odchytím s foťákem.Odpor na Rbias jsem dal klasické provedení metalizovaný 2.26K+56R,je vzdálen asi 5mm od chipu a zatím žádný problém.Problém jsem měl s oživením,svítila mi LED na spojení i datová problikla,ale žádná odezva na ping ani telnet.Vše jsem kontroloval,až už jsem opravdu myslel,že nejsem normální.Nakonec po studiu fora microchip jsem zjistil,že s tím měli problémy další 2 lidé.Jedná se o bit RXAPDIS v registru PHCON2,který je 0,pokud je spojení v pořádku.prostě si PIC hlídá správné připojení sítě.Po přehození vývodů TPin+konektoru na TPin- chipu a TPin- konektoru na TPin+ chipu se vše rozjelo a jede bez problémů.U stacku 3.75 tato ochrana není.Používám 4.18.Na desce to mám správně,napadlo mě,že mám křížený kabel,ale tím to taky není.jsem z toho jelen.Nicméně to jinak funguje.Telnet jede ICMP taky.Má někdo zkušenosti,jak se dostat na klasické TCP spojení?Zkoušel jsem Herkules,ale tam ten telnet nechodil.Házelo to nějaké chybné znaky po zadání jména a hesla.V putty se v raw režimu alespoň povedlo zadat jméno,u hesla mi to už hodilo nějaké -y a po zadání hesla se okno zavřelo.V telnet režimu se okno hned zavřelo.Telnet jede dobře jen z příkazové řádky.Psali ke stacku 4.18,že to ještě není úplně ok.Ale pokud to tak zlobí např.v putty,tak to asi nebudu moct používat,nedokážu se přihlásit na PIC třeba puttynou z jiného linux.stroje.Hm…Dalo bv se to nějak vylepšit?Aby to bylo univerzální i pro putty?S Charonem a putty jsem měl taky problémy i v raw režimu,ale přes Herkules to bylo ok.Že by putty nepodporovala NVT?Můžete mi někdo dát své postřehy s komunikací?Stačilo by mi i TCP.
Díky dloope za Uart bridge
Jakékoliv detaily kolem toho tématu vítám.
Také bych potřeboval nějaký seznam příkazů - co se požívá v souboru telnet.h
Našel jsem nějaké útržky ,ale nic komplexního třeba xff xfd x2d xlb mají být příkazy něco jako NVT…
Ale chybí mi něco celistvého jak to v C používat
Díky

Myslím, že to tak nepôjde “dostať sa na TCP”, Microchip stack je vlastne akoby API s tým, že sú v ňom príklady http serveru, udp, telnetu a pod. Na priamu komunikáciu pomocou TCP socketov by sa v PIC musel naprogramovať nejaký listener, ktorý by počúval na nejakom TCP porte a vykonával príslušné požadované činnosti. Implementácia telenetu v tej verzii stacku ešte nie je dokončená, je tam vlastne iba prihlásenie a výpis stavu portov. Času mám tiež málo, no plánujem tému na diplomovku s takýmto zameraním… do roka :slight_smile:

dloop

Tak po dalších testech s TCPIP stackem od Microchipu si myslím,že nejstabilnější verze je momentálně 4.16-ta mi jede parádně i s web serverem.Testoval to někdo?Vytvářeli jste někdo vlastní stránky a zkusili to zkompilovat?
Ovládání přes web bude možná jednodušší než telnet nebo TCP.Jen mi ještě uniká jak to přesně funguje s auth protect.
Přikládám fotky svého boardu a desky.
DSC01112.JPG

A ještě celá deska
DSC01111.JPG

Dobry, uz jsem taky docela daleko, ale mel bych k tobe jeste jednu prosbu, nebo spis otazku na vsechny kdo nekdy delali s SMD potvurkami. jak vyrabite plosnaky? treba TQFP64 si nedovedu moc dobre predstavit, doposud jsem leptal jen tak, ze jsem si nakreslil navrh popisovacem na cd nebo eddingem. myslite ze pujde vyleptat cesticky ktery jsou od sebe cca 0.5mm fotocestou? Podotykam v nelaboratornim protredi. tak napul muzu mit osvicovacku a poloodbornika k ruce :smiley: jinak bych to teoreticky mohl sverit nedaleke PCB laboratori na vysoke skole, ale nevim koli by za to kostovali…
diky Seth

EDIT:Nechci sem psát další post. tak to písnu sem. Díky moc!

Moje zkušenost pro Setha. Na fajnovosti, ale i na vše ostatní používám laserovku a čiré fólie. Sedí mi měřítka 1:1, fólie do osvitu musí přijít natištěnou stranou na měď. Používám obyčejné horské sluníčko a zahlubovač FeCl. Na vývoj a kusovky to nemá chybu a je to hlavně fofr a bez doprošování se někde. Vyzkoušej a mohlo by Ti to sedět jako mě.

Tak mam zapájeno, a pic mi komunikuje s ICD2 a nechá se naprogramovat. Bohužel přes RJ45. se mi nechce spojit s PC. ani na jedné straně se nic neděje, SW chybu téměř vylučuji, protože už jsem zkoušel 2 verze stacku (4.17 a 4.18 ) a u obou stejný problém. TX+ a TX- se zda dobře zapojené a crossover kabel pouzivam ke spojeni s notebookem. obávám se že mám nějaký HW problém. možná to je tím. že jsem odpory 49.9 nahradil 3.paralelně. (hodnota 49.9 nebyla…) možná že nejsou přesně, nebo fakt nevim. na desce se mi nezdá žádná chybka. ještě zkusim přepájet kondíky a stáhnout stack 3.75.
-Tak stack 3.75 mi s 18F67J60 hlasi nejaky chyby, ted to nebudu rejpat.
-hm tak ta dioda u eth zlobila protoze byl spatnej propoj…
-hmm jak to sem pisu, tak to vidim ze si zalozim blog :smiley:
-a taky koukam ze mi ty ledky na portu B nejak rychle blikaji, podle vseho by meli jedou za sekundu, ja mam o kotel vic, nekde bude spatna frekvence. a Kdyby se olda007 dostal k PC a poslal mi jeho stack nebo poradil byl bych mu vdecny ted je skoro pul ctvrty tak uz asi pujdu spat…
-tak sw chyba opravdu nebude. opet jsem zkousel ruzne zmeny, ale bez reakce. ted modifikuju HW. vlozil jsem tam nejakou tlumivku(ze stary graficky karty) ted jeste doplnim kondenzatory mezi dvojice VDD a VSS, v datasheetu to doporucuji tka co kdyby to melo neco spolecnyho… podle me uz proste jedinej problem a to ze se mi nespoji ta fyzicka vrstva(co je vlastne potreba k tomu aby se sitovka rozsvitila?) jen doufam ze chyba neni v ty zastrcce na RJ45.
-23:38- dopil jsem kafe, dojdu se psem a budu pokracovat. dopajel jsem nejaky kondiky tak uvidim. taky me napadlo jak otestovat ty translatory v zastrcce RJ45. nemam generator stridavyho signalu, pouziju zvukovou kartu :wink:
-pripadam si jako blb, ale ted mi to zase prijde jako SW problem, hw upravou se nic nezmenilo, ale ted sem zkousel debugovat program (stack3.18 pomoci ICD 2) a hodil jsem si brakepoint na prvni vec v hlavni smycce programu ( ten while(1)) a vubec se mi to k nemu nedostalo. tak sem koukal a chytrej z toho teda nejsem. kdyz si program krokuju tak po ECON2bits.ETHEN = 1; to skoci najednou do c018i.c, kde se nejakym zpusobem zacykli, nebo to posle Pc zpet na reset vektor. nechapu, snad neni mozny aby tam byla takovahle chyba… je to script primo kompilatoru…MCC18
-4:22- proste nechapu jak muze prikaz v C - ECON2bits.ETHEN = 1; // Enable Ethernet! v asm jako MOVLB 0xe, BSF 0xfe, 0x5, BANKED vyvolat skok na c018i. kterej to vrati zase nekam nad to…
-zase o krok dale…zjistil jsem ze aktivace toho modulu mi zresetuje chip. protoze se zacne provadet adresa 0. tak ted mam zase podezreni na zdroj jestl tam neni nejaka spicka a nepoklesne napeti a tim padem nastane reset.

  • tak spicka to nebyla. ale zapnutim eth modulu se vic zatizil zdroj a kleslo napeti. coz vyvolalo reset. ze me to nenapadlo driv…