El ENC28J60 de Microchip

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 9

El ENC28J60 de Microchip

Introduccin
El ENC28J60 es un controlador Ethernet dotado de un puerto SPI (Serial
Peripheral Interface), especialmente diseado para actuar como un puente
entre una red Ethernet y un microcontrolador equipado con S!" El ENC28J60
cumple con las especi#caciones IEEE 802.3, e incorpora una serie de
esquemas de #ltrado de paquetes para limitar el numero de paquetes
entrantes" $am%i&n pro'ee un m(dulo DMA interno para )acilitar el *u+o de
datos y hard,are especi#co para el calculo de las sumas de control (IP
checksums)" -a comunicaci(n con el microcontrolador que hace las 'eces de
host se reali.an mediante el %us S! a una 'elocidad de hasta /00%1s y dos
pines especiales capaces de pro'ocar interrupciones en el ENC28J60" 2tros
dos pines pueden utili.arse para mane+ar -E3s que indiquen la cone4i(n y la
acti'idad de la red"
5dem6s del inte7rado, puede 'erse que se utili.an dos trans)ormadores de
pulso y 'arios componentes pasi'os indispensa%les para conectar el
ENC28J60 a una red Ethernet de /00%1s" El EN28J60 tiene siete %loques
)uncionales importantes8
/) -a inter)a. S! que se encar7a de comunicarlo con el microcontrolador
host
2) -os re7istros que se emplean para monitorear y controlar al ENC28J60
9) :n %u;er <5N dual para los paquetes reci%idos y en'iados
=) :n >ar%itro? que controla los accesos al %u;er <50 mediante 305
@) :n %us que interpreta los datos y comandos reci%idos 'Aa S!
6) :n m(dulo 05C (0aduim 5ccess Control) que cumple con !EEE 802,9
B) :na m(dulo CD (hysical -ayer) que codi#ca y decodi#ca los datos
an6lo7os presentes en el par tren.ado"
5dem6s de ello, el dispositi'o cuenta con otros %loques de soporte, como el
oscilador, re7ulador de 'olta+e interno, adaptadores de ni'el para pro'eer
E1S de @E y l(7ica de control"
El oscilador
ara )uncionar, el ENC28J60 necesita de un oscilador que le >marque el
ritmo?" El chip est6 diseado para )uncionar a 2@0C., y una de las )ormas
de proporcion6rselos es utili.ando un cristal como se 'e en la #7ura @"
(http811,,,"ucontrol"com"ar1)orosm)1e4plicacionesFyFconsultasF
tecnicas1enc28+60FelFcontroladorFethernetF'iaFspiFdeFmicrochipFalFdesnudo1G
actionHdlattachIattachH==0/)
Ji7ura @8 2scilador a cristal
Se conecta el cristal entre los pines !SC" y !SC2, y se ponen tam%i&n
am%os e4tremos a KN3 mediante C/ y C2" El 'alor de C/ y C2 no est6 en la
ho+a de datos, pero /@p) parecen )uncionar %ien en la mayorAa de los
proyectos" El resistor </ solo es necesario con al7unos tipos de cristales
(>AT strip cut crystalsL) pero normalmente no es necesaria"
-a otra )orma de utili.ar el ENC28J60 es con una seal de clocM e4terna
(#7ura 2), con una amplitud de 9,9E y aplicada al pin 2SC/" En este caso,
puede de+arse el pin 2SC2 >al aire? o conectarlo a KN3 a tra'&s de un
resistor para minimi.ar el ruido"
!scilador Start#up $i%&r
Este chip posee lo que 0icrochip denomina Oscillator Start-up Timer (!S$)"
Se trata de un mecanismo destinado a ase7urar que el oscilador y el m(dulo
P'( se hayan esta%ili.ado antes de que el host intente utili.arlos" ara ello,
el 2S$ se encar7a de esperar a que ocurran B@00 ciclos de relo+ (900us)
lue7o de ocurrido el Po)&r#!n *&s&t (>encendido? del chip) o un +a,&#
-p (>despertar?) posterior a un Po)&r#Do)n (>dormir?)" 3urante este
tiempo, todos los re7istros y %u;ers de memoria pueden ser consultados o
escritos a tra'&s del %us S!" Sin em%ar7o, el so)t,are del host no de%erAa
intentar transmitir paquetes, ha%ilitar la recepci(n de paquetes o acceder a
los re7istros 05C, 0!! o CD"
Cuando el tiempo del 2S$ haya #nali.ado, el %it C./*D( del re7istro ES$A$
se pondr6 en /" Nuestro pro7rama de%erAa consultar ese %it para tener la
se7uridad de que el ENC28J60 est6 listo para )uncionar"
El pin C./!-$ 0 &l r&1istro EC!C!N
-a e4istencia de este pin tiene como #n pro'eer al host (o a cualquier otro
circuito e4terno) de una )uente de relo+" C./!-$ posee un prescaler interno
capa. de di'idir los 2@0C. del relo+ del ENC28J60 por /, 2, 9, = u 8,
selecciona%le a tra'&s del re7istro EC!C!N"
ara crear una seal de relo+, el pin C-N2:$ se mantiene en estado %a+o
hasta transcurrido el peridodo estipulado por el 2S$" -ue7o, comien.a a
en'iar 0 y / con una )recuencia por de)ecto de 6,2@ 0C. (el clocM del
ENC28J60 1 =)" Si el usuario modi#ca el 'alor del preescaler, este se
mantiene aOn cuando ocurra un <ESE$" Si por al7On moti'o el usuario
necesita desha%ilitar temporalmente el pin C-N2:$, puede hacerlo
escri%iendo 0 en el re7istro EC2C2N, y el pin quedar6 en estado %a+o"
Cay que tener en cuenta que cuando se modi#ca el 'alor de EC2C2N para
cam%iar el 'alor del preescaler, al7unos pulsos de relo+ pueden >perderse?
en C-N2:$" $Apicamente, al hacer ese cam%io, el pin se mantiene en estado
%a+o entre / y 8 ciclos del 2SC/"
Con&2ionado &2t&rno3 4o4inas 0 otras 0&r4as
ara )uncionar y poder conectarse a la red Ethernet, el ENC28J60 necesita
de al7unos componentes e4ternos, tal como puede 'erse en la #7ura 8" -os
pines $PIN5 y $PIN# de%en conectarse a un trans)ormador /8/ especial
para redes "06ASE#$ " -os pines $P!-$5 y $P!-$# necesitan de un
trans)ormador de pulso con relaci(n /8/ y punto medio" Este trans)ormador
de%e ser capa. de pro'eer una aislaci(n como mAnimo de 2000E" 5dem6s,
todos los pines mencionados necesitan de un resistor de @0 ohms con un
/P de tolerancia"
-a circuiterAa anal(7ica interna del ENC28J60 tam%i&n requiere que
conectemos un resistor de 2N con un /P de tolerancia entre el pin *6IAS y
KN3" El chip es capa. de operar tam%i&n con una tensi(n de alimentaci(n
de solo 2"@E, en cuto caso ha%r6 que disponer un condensador de /0 uJ
entre el pin 7CAP y KN3"
$odos los pines de alimentaci(n (Edd) de%en ser conectados a la misma
)uente de 9"9E, y todos los pines KN3 de%en conectarse al mismo nodo"
Cada par de pines Edd1Ess de%e tener su propio condensador cer6mico de
0"/uJ, tan cerca de los pines como sea posi%le" Cay que tener en cuenta
que corrientes relati'amente altas 'an a circular entre el inte7rado y el par
tren.ado, por lo que las pistas correspondientes de%erAan ser lo mas cortas
y anchas posi%les para minimi.ar su resistencia el&ctrica"
Ni8&l&s t&nsin &n los pin&s d& E9S
El ENC28J60 es un chip diseado para operar a 9"9E" Sin em%ar7o, puede
ser inte7rado con )acilidad en circuitos que se alimentan con @E" -os pines
*ESE$, SPI CS, SC/ y SI )uncionan directamente con @E" or otro lado, si el
host opera a @E, puede que necesites implementar un >traductor? capa. de
mane+ar las salidas C02S de 9"9E del ENC28J60"
:n simple y econ(mico :;'C$08 (cuatro compuertas 5N3), un :;AC$"2<
(cuatro %u;eres triestado) o cualquier otro chip C02S de @E con %u;eres de
entrada adaptados para ni'eles $$- puede ser usado como adaptador" El
uso de %u;eres triestado permite una )6cil inte7raci(n en sistemas que
de%en compartir el %us S! con otros dispositi'os" -a #7ura Q ilustra dos
)ormas en que esto puede ser implementado"
Con=1uracin d& los .EDs
-os pines .EDA y .ED6 permiten la con4i(n de sendos -E3s destinados a
%rindar in)ormaci(n so%re el estado del chip" :na caracterstica especial de
estos dos pines es que el ENC28J60 puede detectar la polaridad con la que
se han conectado los -E3s (es decir, si de%e entre7ar corriente para que
%rille, o drenarla) de )orma automatica lue7o de que tiene lu7ar <ESE$"
En el caso de -E3R, tal como indica la #7ura /0, la )orma de conectar el
diodo -E3 #+a el estado del %it P'C!N" en el re7istro PDP>M6" Si el -E3
se conecta de )orma que la corriente *uya hacia -E3R, el %it se pone a 0 en
cada <ESE$ y el m(dulo CD opera en modo hal)Fduple4" Si la corriente *uye
desde el pin, el %it se pone en / en cada <ESE$ y el m(dulo CD opera en
modo )ullFduple4" Si no se conecta nin7On -E3, el %it 3S03 permanece en
estado indeterminado"
El re7istro P'.C!N se encar7a de controlar el comportamiento de los -E3s
y determinar que )unci(n cumplen"
!r1ani?acin d& la %&%oria int&rna
$oda la memoria disponi%le en el ENC28J60 es del tipo RAM esttica" Se
di'ide en tres %loques principales8
!Re"istros de control
#!$u%er Ethernet
&!Re"istros del m'dulo P()
El primer %loque contiene los C*s (*ontrol Re"isters) que se emplean para
el controlar y o%tener in)ormaci(n so%re el estado del ENC28J60" $odos estos
re7istros pueden ser accedidos (lectura y escritura) mediante la inter)ase
SPI"
El se7undo %loque Fel Ru;er EthernetF tiene un tamao que puede ser
a+ustado por el usuario y tiene como )unci(n ser'ir de memoria temporal
para los datos que se en'Aan (o reci%en) a (o desde) la red" Esta .ona de
memoria tam%i&n puede ser accedida mediante la inter)ase S! a tra'&s de
los comandos apropiados, que sern tratados ms adelante en este
documento+
-a .ona correspondiente a los re7istros del m(dulo P'( no puede ser
accedida 'Aa S!" El acceso s(lo puede reali.arse mediante la Media
Independent Interface (MII) implementada en la MAC"
.os r&1istros d& control
-os re7istros constituyen la inter)ase principal entre el host y la l(7ica
interna del ENC28J60" Escri%iendo los 'alores adecuados en los re7istros
correctos puede controlarse la operaci(n del chip, y la lectura de esta .ona
de la memoria proporciona al host 'aliosa in)ormaci(n so%re el estado del
ENC28J60" -a memoria asi7nada a los Re"istros de *ontrol est6 di'idida en
cuatro %ancos" 3os %its en el re7istro EC!N" (RSE-/8RSE-2) permiten
seleccionar el %anco con el que se 'a a tra%a+ar" Cada %anco posee 92 %ytes
de lon7itud y puede ser direccionado mediante @ %its"
-as ultimas cinco posiciones de cada %anco (/Rh a /Jh) apuntan a un +ue7o
comOn de re7istros8 EIE, EI*, ES$A$, EC!N" y EC!N2" Estos son los
re7istros m6s importantes a la hora de controlar o monitori.ar la operaci(n
del ENC28J60" 5l estar >repetidos? en todos los %ancos, no es necesario
e)ectuar un cam%io de %anco cada 'e. que se los quiere utili.ar" 5l i7ual que
todos los dem6s re7istros del chip, ser6n anali.adas uno por uno m6s
adelante"
E4isten direcciones de re7istro que a pesar de ser '6lidas, no contienen
nin7On re7istro utili.a%le" Si se intenta escri%ir en ellas la operaci(n se
i7nora, y si se los lee de'uel'en >0?" -os re7istros de las direcciones /5h en
cada %anco est6n reser'adas y no de%eria escri%irse o leerse en ellos" -os
re7istros disponi%les pueden listarse en tres 7rupos8 E$', MAC y MII" -os
re7istros cuyos nom%res comien.an por >E? pertenecen al primer 7rupo, los
que poseen nom%res que comien.an con >MA? pertenecen al se7undo y los
que tienen nom%res que empie.an con >MI? pertenecen al tercero" Este es
el mapa de re7istros del ENC28J60
El r&1istro EC!N"
Este re7istro tiene como cometido controlar las principales )unciones del
ENC28J60" Ca%ilita la transmisi(n de datos, selecciona los %ancos de
re7istros, controla los 305, etc"
El r&1istro EC!N2
Este re7istro tiene )unciones similares a EC2N/
El 4u@&r Eth&rn&t
El %u;er Ethernet contiene la memoria utili.ada por el ENC28J60 para reci%ir
y en'iar datos" El tamao total de esta memoria es de 8NR, y est6 separada
en dos .onas8 una para la transmisi(n, y otra para la recepci(n" El monto de
memoria utili.ado en cada una de estas areas puede ser completamente
con#7urado por el usuario mediante la inter)ase S!"
El 4u@&r d& r&c&pcin
Se trata de un %u;er circular J!J2 controlado por hard,are" -os pares de
re7istros E*>S$'E*>S$. y E*>ND'E*>ND. hacen las 'eces de
punteros que de#nen el tamao y la locali.aci(n del %u;er dentro de la
memoria" El %yte apuntado por E*>S$ y el %yte apuntado por E*>ND son
sus e4tremos, y am%as posiciones est6n incluidas en el %u;er"
5 medida que se reci%en %ytes desde la inter)ase Ethernet son escritos
secuencialmente en el %u;er" Cuando el %u;er se completa y el hard,are
nota que ha escrito el ultimo %yte reci%ido en la posici(n apuntada por
E*>ND, autom6ticamente escri%e el si7uiente dato en la posici(n apuntada
por E*>S$" Esto si7ni#ca que en la practica el %u;er nunca puede
des%ordarse"
El host solamente puede de#nir el 'alor de estos punteros cuando la l(7ica
de control se encuentra desha%ilitada (E*O,+R-E, . /)" No hay pro%lemas
en utili.ar toda la .ona comprendida entre 0000h y /JJJh como %u;er de
recepci(n" -os re7istros E*>+*P$'E*>+*P$. determinan la posici(n
dentro del %u;er en que el hard,are escri%ir6 el pr(4imo %yte que reci%a"
Este puntero es de solo lectura, y se actuali.a autom6ticamente cada 'e.
que se reci%e un paquete" Este puntero puede ser Otil para determinar
cu6nto espacio li%re queda en el J!J2"
3urante la operaci(n normal, los re7istros E*>*DP$ contienen la posici(n
en la que se est6n leyendo datos" Si el J!J2 se llena, los nue'os datos no se
escri%ir6n encima de los 'ie+os" ara poder continuar con la recepci(n, el
host de%e encar7arse de hacer a'an.ar peri(dicamente este puntero"
El 4u@&r d& trans%isin
$odo el espacio del %u;er Ethernet que no se haya de#nido como %u;er de
recepci(n se comportar6 como %u;er de transmisi(n" El host de%e
encar7arse de mane+ar los paquetes que se 'an a en'iar dentro de este
espacio de memoria" -os punteros E$>S$ y E$>ND son pro7ramados con la
direcci(n Fdentro del %u;er de transmisi(nF en que se encuentra el paquete
a ser en'iado" El hard,are no controla si el 'alor de estos punteros de#ne
una posici(n '6lida dentro del %u;er de transmisi(n, por lo que hay que ser
muy cuidadosos para no corromper la inte7ridad de los datos contenidos en
el %u;er completo"
*&1istros P'(
-os re7istros de este 7rupo proporcionan el mecanismo de super'isi(n y
control del m(dulo P'(" Cay Q en total, y todos tienen /6 %its de ancho" 5
di)erencia de los re7istros E$', MAC y MII, o incluso de los %u;eres de
memoria, estos re7istros no son accesi%les directamente a tra'&s de la
inter)ace SPI" uede accederse a ellos mediante un su%7rupo de los
re7istros 05C, que implementan la llamada 0edia Independent Interface for
Mana"ement (MIIM o !nter)ace de control independiente del dispositi'o)" 5
este su%7rupo de re7istros se los denomina >re7istros 0!!?"
.&0&ndo los r&1istros
Cuando el host lee un re7istro CD, o%tiene /6 %its de datos" Estos son los
pasos a se7uir para leer uno de estos re7istros8
F Escri%ir la direcci(n del re7istro CD a leer en el re7istro MI*EAAD*
F oner en / el %it MICMC.MII*D" Esto comien.a la operaci(n de lectura y
pone en / el %it MIS$A$.6-S("
F Esperar /0"2= us" Con#rmar el estado de MIS$A$.6-S( para tener la
certe.a del que el ciclo de lectura #nali.( (este %it ha%r6 'uelto a 0)" Casta
que esto no ocurra, el host no podr6 e)ectuar operaciones so%re MIISCAN o
escri%ir el re7istro MI+*'"
F oner a 0 el %it MICMC.MII*D
F -eer el dato %uscado desde los re7istros MI*D. y MI*D'" El orden en que
se leen estos dos %ytes no es importante"
Escri4i&ndo &n los r&1istros.
Siempre que se escri%e en uno de los re7istros CD, se escri%en /6 %its" Si lo
que se quiere es modi#car el 'alor de al7On %it en particular, primero de%e
leerse el re7istro completo, cam%iar ese %it so%re al7una 'aria%le, y lue7o
escri%ir el re7istro completo" Estos son los pasos a se7uir para escri%ir en
uno de estos re7istros8
F Escri%ir la direcci(n del re7istro CD a escri%ir en el re7istro MI*EAAD*,
F Escri%ir los 8 %its de la parte %a+a del dato a 7uardar en el re7istro MI+*."
F Escri%ir los 8 %its de la parte alta del dato a 7uardar en el re7istro MI+*'"
5l escri%ir en este re7istro, la transacci(n de escritura F comien.a
autom6ticamente" El MIS$A$.6-S( tam%i&n se pone en /"
El ciclo de lectura demora /0"2=us" Cuando #nali.a, MIS$A$.6-S( se pone
autom6ticamente en 0" Casta que esto no ocurra, el host no podr6 e)ectuar
operaciones so%re MIISCAN o escri%ir el re7istro MI+*'"
Escan&o d& r&1istros P'(
El MAC puede ser con#7urado de )orma que realice operaciones de lectura
de de los re7istros P'( )orma autom6tica" Esto simpli#ca %astante el
tra%a+o del host" ara reali.ar una operaci(n de este tipo hay que se7uir los
pasos enumerados a continuaci(n8
F Escri%ir la direcci(n del re7istro CD a leer en el re7istro MI*EAAD*"
F oner en / el %it MICMD.MIISCAN" Esto hace que comience la tarea de
lectura autom6tica y que el %it MIS$A$.6-S( se pon7a en /" -a primer
operaci(n se completa transcurridos /0"2=us, y cada lectura si7uiente
estar6 disponi%le cada /0"2=us adicionales" Esta tarea se e+ecuta hasta que
es cancelada por el host"
-ue7o de poner en / el %it MICMD.MIISCAN, los re7istros MI*D. y MI*D'
se actuali.an autom6ticamente cada /0"2=us" No hay )orma de sa%er si los
re7istros han sido o no actuali.ados, asi que hay que tener en cuenta que
cuando accedemos a los re7istros MII mediante el %us S!, puede oocurrir
que estemos >leyendo? los datos del estado anterior" Cuando se estan
e)ectuando las operaciones de escaneo de re7istros, el host no de%e
intentar escri%ir en MI+*' o comen.ar una operaci(n MII*D" -as
operaciones MIISCAN de%en ser canceladas poniendo en 0 el %it
MICMC.MIISCAN" Cuando el %it MIS$A$.6-S( haya 'uelto a 0, las
operaciones de lectura normales pueden recomen.ar"
*&1istros P'S$A$
-os re7istros P'S$A$" y P'S$A$2 son de solo lectura" Contienen
in)ormaci(n so%re el estado actual del modulo CD" El primero de ellos
(#7ura 2/) contiene el %it ..S$A$, que %rinda in)ormaci(n para determinar
el momento en que el linM con el resto de la red )alla" El re7istro CS$5$/
tam%i&n contiene un %it de estado >0a11er?" -a traducci(n de >0a11er? es
al7o asA como >ha1lar atropelladamente?, y en este conte4to se re#ere a la
posi%ilidad que poseen al7unos controladores de utili.ar tamaos de
paquetes di)erentes a los especi#cados por la !EEE" Este %it en alto indica
que se ha detectado esa condici(n desde la ultima 'e. que se ley( el
re7istro"
*&1istros P'ID
-os re7istros P'ID" y P'ID2 tam%i&n son de solo lectura" Rrindan
in)ormaci(n que ayuda a identi#car el controlador Ethernet y pueden ser
utiles a la hora de depurar una aplicaci(n" Entre otros datos, proporcionan8
F El nOmero de parte del m(dulo CD (PPN<PPN0)
F El ni'el de re'isi(n del m(dulo CD (P*E73P*E70)
F El identi#cador CD, como parte del !-I (Or"ani2ationally 3nique
Identi4er) de 0icrochip (PID2;PID3)
El numero de parte CD y el nOmero de re'isi(n son parte del re7istro
C!32" -os dos %ytes superiores del identi#cador CD se encuentran en
C!3/, y el resto en C!32"
.a int&rBa? SPI
El ENC28J60 esta dotado de un puerto entandar S!" -a implementaci(n
adoptada solo permite utili.ar el modo S! 0,0" 5dem6s, el puerto S! del
ENC28J60 requiere que SC/ este idle (inacti'o, desocupado) en estado %a+oI
no puede seleccionarse la polaridad del relo+" 5 tra'&s del puerto S! pueden
en'iarse comandos y datos al chip, los datos son aceptados en cada *anco
de su%ida de la seal SCN" -os datos de salida est6n presentes en la linea
S!, en cada *anco de %a+ada de SCN" El pin CSC de%e mantenerse %a+o
durante estas operaciones, y 'ol'er a estado alto cuando #nali.an"
S&t d& instruccion&s SPI
-a operaci(n del ENC28J60 depende por completo de los comandos que
reci%e del host a tra'&s de la inter)ase SPI" Esos comandos son
instrucciones, de uno o mas %ytes, que pueden utili.arse para acceder a la
memoria y a los 1u%eres Ethernet" Como mAnimo, las instrucciones poseen
un c(di7o de 9 %its se7uido por un ar7umento de @ %its que representa un
re7istro o una constante"
Co%ando para l&&r r&1istros d& control
El comandos para leer re7istros de control (*C*, por Read *ontrol Re"ister)
permite al host leer los re7istros del 7rupo E$', MAC y MII en cualquier
orden" El contenido de los re7istros se o%tiene mediante un re7istro especial
de la inter)ase 0!!"
El comando <C< comien.a poniendo en ni'el %a+o el pin CSC" -ue7o se
en'Aa el opcode correspondiente (9 %its) , se7uido de la direcci(n del
re7istro (@ %its) mediante los pines SC/ y SI" Esta direcci(n identi#ca a uno
de los 92 re7istros del %anco seleccionado" Si corresponde a un re7istro del
7rupo E$', el dato que conten7a el re7istro seleccionado se en'iar6
mediante SC/ y S!, comen.ando por el %it m6s si7ni#cati'o (0S%)"
Co%ando para l&&r la %&%oria 4u@&r
Este comando (*6M, por Read $u%er Memory) permite al host leer %ytes
desde los 8N% de memoria utili.ada como %u;er de transmisi(n y recepci(n"
Si se pone en / el %it A-$!INC en el re7istro EC!N2, el puntero E*DP$
ser6 incrementado autom6ticamente cada 'e. que se lea un %yte" -a
direcci(n si7uiente es casi siempre la direcci(n actual mas uno, por lo que
esto de mucha utilidad" Sin em%ar7o, cuando se lee el ultimo %yte del %u;er
de recepci(n (es decir, cuando E*DP$ H E*>ND), el puntero E*DP$
pasar6 al 'alor contenido en E*>S$, apuntando al primer %yte del %u;er"
Esta caracterAstica le permite al hots leer un *u+o continuo de %ytes sin
necesidad de tener en cuenta el tamao del %u;er o la posici(n del puntero
dentro del mismo" Si A-$!INC est6 en / cuando se lee la direcci(n /JJJh y
E*>ND no apunta a esa direcci(n, el puntero de lectura es incrementado y
'uel'e a 0000h"
El comando <R0 comien.a cuando se pone el pin CST en %a+o" -ue7o se
en'Aa el opcode <R0, de tres %its y la constante /5h de cinco %its a
continuaci(n, utili.ando los pines SCN y S! (son 8 %its en total)" -ue7o, el
ENC28J60 en'Aa el contenido del %yte apuntado por E<3$ mediante los
pines SCN y S2" Si el host continOa en'iando ciclos de relo+ mediante SCN
sin modi#car el estado de CST, el contenido del %yte apuntado por E<3$
ser6 en'iado nue'amente (siempre comen.ando por el %it m6s si7ni#cati'o
(0s%)), pero como el puntero se ha%r6 incrementado autom6ticamente, en
la practica se 'a haciendo una lectura secuencial de todo el %u;er" El
comando <R0 #nali.a cuando CST es puesto en alto nue'amente"
Co%ando para &scri4ir r&1istros d& control
El comando +C* (5rite *ontrol Re"ister) permite al controlador escri%ir en
los re7istros del 7rupo E$', MAC y MII" El proceso de escritura puede
e)ectuarse en cualquier orden y tienen lu7ar mediante un re7istro especial
de la inter)ase 0!!" ara m6s in)ormaci(n, 'er m6s arri%a la secci(n
>Escri%iendo re7istros CD
(http811,,,"ucontrol"com"ar1)orosm)1e4plicacionesFyFconsultasF
tecnicas1enc28+60FelFcontroladorFethernetF'iaFspiFdeFmicrochipFalF
desnudo1ms72608B1Tms72608B)?"
:n comando UC< comien.a cuando se pone el pin CSC en estado %a+o" El
opcode del comando UC< se en'Aa al ENC28J60 se7uido de @ %its que
especi#can cual de los 92 re7istros posi%les dentro de este %anco queremos
escri%ir (5= a 50)" -ue7o que se ha en'iado el comando y la direcci(n se
en'Aan los datos a escri%ir (comen.ando por el 0S%) " -a operaci(n #nali.a
cuando el host pone nue'amente el pin CST en estado alto" Si CST pasa a
estado alto antes que los 8 %its del dato hayan sido en'iados al ENC28J60,
la operaci(n completa queda a%ortada"

También podría gustarte