[elektro] ENC28J60
Bali Zoltan
eltexto at freemail.hu
Mon Mar 23 18:09:30 CET 2015
Átnéztem a forrásom, de nem lettem okosabb.
ERXFCON.CRCEN be van kapcsolva(1) a vétel filterezésnél?
Gondolom alap esetben be van, így ha CRC-s a packet,
akkor eldobja. Ki kellene kapcsolni a CRC filterezést
(most látom én is kikapcsoltam ) így láthatóvá válik a
CRC-s packet. A RcvFrame-ben az elsők között, meg kellene
vizsgálni a státuszvektorban a CRC error bitet, ha 1,
akkor egy while(1);-el megállítani a programot.
Én első körben így kizárnám, a CRC-s packet lehetőségét.
Bár, szerintem pont hogy ez lesz a hiba.
További ötletek,
kvarc más gyártótól, trafó bekötést újra ellenőrizni,
elkötve is hasonlókat produkált, ahogy olvastam,
táp szkópolás.
Üdv. Zoli
2015.03.22. 14:08 keltezéssel, hg12345 írta:
> Szia, Fullduplex-nek van konfigurálva. A netes driver verziót használom. // Setup Rx/Tx buffer
> enc28j60_wcr16(ERXST, ENC28J60_RXSTART);
> enc28j60_rcr16(ERXST);
> enc28j60_wcr16(ERXRDPT, ENC28J60_RXSTART);
> enc28j60_wcr16(ERXND, ENC28J60_RXEND);
> enc28j60_rxrdpt = ENC28J60_RXSTART; // Setup MAC
> enc28j60_wcr(MACON1, MACON1_TXPAUS| // Enable flow control
> MACON1_RXPAUS|MACON1_MARXEN); // Enable MAC Rx
> enc28j60_wcr(MACON2, 0); // Clear reset
> enc28j60_wcr(MACON3, MACON3_PADCFG0| // Enable padding,
> MACON3_TXCRCEN|MACON3_FRMLNEN|MACON3_FULDPX); // Enable crc & frame len chk
> enc28j60_wcr16(MAMXFL, ENC28J60_MAXFRAME);
> enc28j60_wcr(MABBIPG, 0x15); // Set inter-frame gap
> enc28j60_wcr(MAIPGL, 0x12);
> enc28j60_wcr(MAIPGH, 0x0c);
> enc28j60_wcr(MAADR5, macadr[0]); // Set MAC address
> enc28j60_wcr(MAADR4, macadr[1]);
> enc28j60_wcr(MAADR3, macadr[2]);
> enc28j60_wcr(MAADR2, macadr[3]);
> enc28j60_wcr(MAADR1, macadr[4]);
> enc28j60_wcr(MAADR0, macadr[5]);// return; // Setup PHY
> enc28j60_write_phy(PHCON1, PHCON1_PDPXMD); // Force full-duplex mode
> enc28j60_write_phy(PHCON2, PHCON2_HDLDIS); // Disable loopback
> enc28j60_write_phy(PHLCON, PHLCON_LACFG2| // Configure LED ctrl
> PHLCON_LBCFG2|PHLCON_LBCFG1|PHLCON_LBCFG0|
> PHLCON_LFRQ0|PHLCON_STRCH); // Enable Rx packets
> enc28j60_bfs(ECON1, ECON1_RXEN); Bali Zoltan <eltexto at freemail.hu> írta:
>> Hali!
>>
>> Mire van programozva? Half vagy Full duplex?
>> Mintha rémlene, hogy a collisionnál voltak
>> driver gondjaim, Half módban. De ez csak addig
>> volt gond, amíg meg nem írtam a TCP modulhoz
>> a fast retransmission-t. Közben ezzel a half collision
>> feature-el teszteltem a fast retransmit-et.
>>
>> Valami rémlik hogy a MCHP driver az ütközéskor
>> nem küldte újra a packet-et. Bele kellene néznem
>> a forrásomba, hátha több minden feljön a távolból.
>> Ha elő tudom kotorni, megnézem
>>
>> Üdv. Zoli
>>
>>
>> 2015.03.22. 8:38 keltezéssel, hg12345 írta:
>>> Hi, A fenti áramkörrel van valakinek tapasztalata? Milyen hiba aránnyal dolgozik?Alkalmazásomban, 0.05...0.1% közötti üzenet kihagyást produkál, több darabbal is kipróbálva. (rev5). Egész egyszerűen nem érzékeli a neki jövő üzenetet a MAC cím alapján, amit meg a program nem kap meg arra nem válaszol!A kellemetlenség annyi, hogy a folyamatos kommunikáció timeout-ra fut, és ez a szemközti eszközben 500ms, jól látszik a lassulás. Van erre megoldás, vagy ez gyári hiba, az Rbias mindegy neki, 2.7K és 2.32K 1% (3K +10K) ugyan azt csinálja. Imádom az MCHIP-s termékeket :-(, jó nincs csak olyan aminek abba hagyták a gyártását, az már jó :-).Üdv
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list