Configurar el Módulo Wiz812mj en Modo Indirecto

Utilizar el direccionamiento indirecto para inicializar el chip w5100 de Wiznet, es tan

sencillo como inicializar una pantalla LCD.

Para ello se necesitan 8 lineas de datos, una o dos líneas de selección de registros,

una línea de lectura, una línea de escritura y una de selección de chip.

Para desarrollar este tutorial utilizaremos una tarjeta de entrenamiento para pantallas de LCD,

Normalmente están diseñadas para operar en modo Motorola, pero haciendo un cambio de jumper en la parte posterior, la cambiamos a modo a IBM.

¿Que cambio?

Que ahora el botón Enable se llama /Write,

el switch RS ahora se llama A0 y

el R/W ahora se lama A1.

La señal /RD la dejamos montada en la tarjeta de extensión junto con la señal /CS, la cual dejamos fija a 0 para tener habilitado el chip.

Tarjeta Wiz812mj montada en la tarjeta de Expansión (El voltaje de Alimentación debe ser 3.3 V dc)

La primer instrucción debe ser en formato de direccionamiento directo, para ello, llevamos todas las líneas de dirección a 0. (Para mas información referirse a la hoja de datos del fabricante)

Con ello seleccionamos el registro de Mode Register [MR], en el cual habilitamos el direccionamiento indirecto poniendo un 1 en el bit 0 y la opción de auto incremento poniendo un 1 en el bit 1, es decir, colocamos un 0x03 en el bus de datos y presionamos el botón de /Write.

Como acabamos de habilitar el modo Indirecto, solo necesitamos las lineas A0 y A1.

Y como queremos inicializar el chip para que responda a un ping, solo necesitamos asignarle una IP.

La IP se asigna desde la dirección 0x000F, que es donde empieza el Source IP Register (SIPR).

Para seleccionar esta dirección, colocamos


A1 en 0

A0 en 1

y en el bus de datos el valor de la parte alta de la dirección, es decir, 0x00 y presionamos /Write.

Ahora en la posición

A1 en 1

A0 en 0

y en el bus de datos el valor de la parte baja de la dirección, es decir, 0x0F y presionamos /Write.

Ahora al conectar el módulo wiz812mj a la computadora a través de un cable de red, y ejecutar el comando ipconfig vemos que windows le asigna a la computadora la IP 169.254.31.12

Resultado de ejecutar el comando ipconfig en una ventana de DOS

Ahora debemos decidir que dirección de red queremos colocar en el módulo Wiz812mj que este dentro del mismo segmento de red. En este caso, seleccionamos el 169.254.31.21. Una vez seleccionada la IP debemos convertirla de decimal a hexadecimal para poder colocarla en el bus y decirle al módulo que la lea. Esta dirección en hexadecimal es 0xA9,0xFE,0x1F,0x15.

Ejecutemos un ping a la dirección escogida y veamos que nos responde la PC.

Como se puede ver, la dirección de destino es inaccesible.

Ahora en la posición

A1 en 1

A0 en 1

y en el bus de datos el valor de la dirección IP a asignarle al módulo y presionamos /Write.

Dirección / dato 0xA9 o 169

Dirección / dato 0xFE o 254

Dirección / dato 0x1F o 31

Dirección / dato 0x15 o 21

Y al ejecutar nuevamente el ping obtenemos:

Como vez ahora obtenemos respuesta desde el módulo wix812mj con esta dirección.

Utilizar el direccionamiento indirecto puede ser muy fácil, ya que solo necesitas una o dos lineas de selección para tener acceso a todos los registros del módulo. Configurar los sockets para tener acceso a las demás características del módulo requiere el uso de algún microcontrolador o procesador, un buen tutorial para entender como inicializar los sockets y crear tu aplicación web server es:

Ojala este tutorial te sirva para empezar a tener acceso al direccionamiento indirecto y te diviertas en tus próximos proyectos.