manual micro core eth
Post on 24-Feb-2018
230 Views
Preview:
TRANSCRIPT
-
7/25/2019 Manual Micro Core ETH
1/27
1
MICRO CORE ETHHardware y Microchip TCP/IP Stack
MANUAL DE USUARIO
Medicin y control a travs deInternet.
Ver 1.2
-
7/25/2019 Manual Micro Core ETH
2/27
2
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Introduccin
El Micro Core ETH es una herramienta de desarrollo que se puede accesar a travs
de Internet. Nos facilita el acceso a informacin de estado de variables digitales,analgicas, puertos de comunicacin etc.
Tambin nos permite cambiar el estado es decir controlar dispositivos del entornocomo ser lmparas, motores, vlvulas etc. Y como limite nuestra imaginacin.
El usuario accede a un servidor web alojado en el mdulo a travs de una direccinweb, como serhttp://mchpboarddesde una veloz interface grfica.
La programacin se puede llevar a cabo con diversos lenguajes de programacin.De fabrica viene con una modificacin del ejemplo proporcionado por Microchip con
su stack TCP/IP y las pginas web programadas en AJAX (HTML, CSS, JavaScript y XML).
http://mchpboard/http://mchpboard/http://mchpboard/http://mchpboard/ -
7/25/2019 Manual Micro Core ETH
3/27
3
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Pin-Out
El Micro Core ETH incorpora un regulador de 3.3V, lo que permite alimentarlo con
5V o 3.3V. Se proporcionan las seales de dos interfaces SPI, la USART, los pinesde programacin para Pickit 2 y Pickit 3.
-
7/25/2019 Manual Micro Core ETH
4/27
4
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Esquemtico
La fuente de alimentacin consiste en un regulador TC1262-3.3 de Microchip. La
tensin mxima de entrada admisible es de 5.5v. Tanto el micro controlador como lamemoria se alimentan a 3.3v.
La memoria 25LC1024 est conectada al SPI1 del PIC. Estos pines tambin estndisponibles en el header ya que se puede multiplexar el BUS SPI a travs del CS.
-
7/25/2019 Manual Micro Core ETH
5/27
5
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
El conector RJ45 que utilizamos (MagJack) contiene los inductores necesarios para
adaptar los niveles de tensin, con lo cual no son necesarios componentes externosmas all de los que se ven en el diagrama:
El PIC necesita un XTAL externo de 25 MHz para funcionar correctamente. Si no esposible encontrar esta frecuencia en el mercado local se pueden utilizar los cristalesde las placas de red que por lo general son de 25 MHz
-
7/25/2019 Manual Micro Core ETH
6/27
6
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Configuracin
Vamos a realizar las conexiones de hardware y la configuracin del softwarenecesaria para conectar el mdulo a la red. En primer lugar alimentaremos el MCEMicro Core ETH con 5 o 3.3v, de este modo se debe encender el LED de Power.
La placa viene programada de fbrica como cliente DHCP con lo cual podemos
conectarla a un ROUTER con DHCP habilitado para que le asigne una direccin IP.El nombre de la placa por NETBIOS es mchpboard.
Para acceder a la interface de usuario, basta con escribir http://mchpboarden elnavegador web (la PC debe estar conectada en la misma red que la placa)
Conexin a PC: conectar un cable UTP/STP cruzado al terminar RJ45.Conexin a Router: conectar un cable UTP/STP recto al terminar RJ45.
En el explorador Web ingresar a http://mchpboardo la IP: 169.254.1.1en el caso de conexin
directa a la PC.
Power
Alimentacin
-
7/25/2019 Manual Micro Core ETH
7/27
7
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Lo que vemos en el explorador web es la pagina que viene cargada por defecto en lamemora 25LC1024. Los LEDs estn mapeados en el puerto RBX con lo cualpodemos conectar 4 LEDs en los pines RJ0, RJ1, RJ2 y RC0 para controlarlosdesde Ethernet.
-
7/25/2019 Manual Micro Core ETH
8/27
8
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
TCP/IP Stack Introduccin
Esta versin modificada est basada en la distribucin original: Microchip TCP/IPstack v5.42.06. La idea era hacerla compatible con el Micro Core ETH para queacepte memorias de 1 Mbit como la 25LC1024.Hay que tener en cuenta que se puede compilar el stack para ser usado en microsque no tienen controlador Ethernet incorporado como el 18F4550 (en este caso hayque agregarle un ENC28J60 de Microchip) y para aquellos que si traen uncontrolador integrado como el 18F97J60.
Para comenzar a trabajar con el stack necesitaremos los siguientes programas:
Microchip MPLAB X
Microchip C18 Student EditionLibreras de Microchip para Ethernet
El programa de ejemplo que est incorporado fue compilado con MPLAB X 2.05 yC18.
Dentro del Microchip TCP/IP Stack abrir la carpeta TCPIP / Demo Appquecontiene el proyecto TCPIP Demo App-C18
Este es el proyecto general que contiene los encabezados y todos los archivos delStack.
-
7/25/2019 Manual Micro Core ETH
9/27
9
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
TCP/IP Stack Configuration Wizard
Podemos tener una buena idea de las posibilidades del Stack estudiando en detalleel Microchip TCP/IP Configuration Wizard. Si bien esta aplicacin nos permitemodificar parmetros de la red como la direccin IP y MAC; seleccionar entreprotocolos como HTTP y FTP, no permite que el usuario agregue su propio cdigo.
Al momento de implementar un sistema necesariamente debemos programar lasfunciones en C con el MPLAB.
Lo primero que debemos hacer es seleccionar la carpeta desde la cual vamos atrabajar, es decir, donde est instalado el Stack. El proyecto bsico se encuentra en:C:\Microchip Solutions\TCPIP \Demo App.
El TCP/IP Configuration Wizardes una aplicacin grfica que permite modificar losparmetros del stack, se instala junto con las libreras de Microchip y la ruta pordefecto es: InicioProgramasMicrochipMicrochip TCPIP Stack-TCP/IPConfiguration Wizard.
-
7/25/2019 Manual Micro Core ETH
10/27
10
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Podemos agregar soporte para distintos servicios: Servidor Web, Cliente de email,Telnet, FTP y SSL. Adems soporte para el mdulo WI-FI de Microchip o ZeroG.
En esta instancia vamos a agregar Servidor Web, que permite acceder a un pginapor medio de una direccin IP y Cliente de emailmediante el cual podremos enviarun email automticamente ante un determinado evento, por ejemplo, si sube latemperatura por encima de un umbral.
Como mencionamos anteriormente, cada servicio que deshabilitamos por medio delasistente es comentado en el Stackpara que el C18 no lo compile.En esta instanciacabe mencionar que el Stackde Microchip est organizado en varios archivos, losencabezados que habilitan los servicios se encuentran en el archivo: TCPIPConfig.h
-
7/25/2019 Manual Micro Core ETH
11/27
11
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Por medio del TCP/IP Configuration Wizard podemos agregar funciones especiales.Por ejemplo, una aplicacin sumamente til es hacer un conversor RS232Ethernet:
as todos los paquetes que ingresen por el conector de red sern retransmitidos porla UART del PIC y viceversa. De esta forma podemos darle conectividad Ethernet asistemas que originalmente solo tenan comunicacin RS232.
Otra funcin interesante es medir el tiempo de viaje de un paquete entre el cliente yel host, lo que comnmente denominamos PING. El stack nos devuelve el tiempo deviaje en milisegundos.
-
7/25/2019 Manual Micro Core ETH
12/27
12
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Vamos ahora a definir el nombre de Host, es decir un nombre con el cualidentificaremos a nuestra placa en la red. Si tenemos habilitado el servicio de DNS
podemos asociar un nombre a la placa que ser ms fcil de recordar que ladireccin IP. Por otra parte, como la IP puede ser asignada por el servidor en formadinmica, resulta conveniente definir un nombre de Host.
Vinculado estrechamente al nombre de Host se encuentra la direccin MAC.Recordemos que por norma la MAC debe ser unvoca, por lo tanto, al momento decomercializar nuestro desarrollo es necesario adquirir un bloque de direcciones MACa la IEEE. Existen memorias de Microchip que tienen pregrabada una MAC y quepodemos vincular el microcontrolador a travs de la interface SPI o I2C. Claro quepara hacer pruebas podemos utilizar la MAC por defecto que trae el Stack.
-
7/25/2019 Manual Micro Core ETH
13/27
13
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Vamos a definir el nombre de la pgina principal, es decir aquella que se va amostrar por defecto, en este caso: index.htm
Un parmetro importante es la cantidad de conexiones que vamos a permitir. Estohace referencia a la cantidad de usuarios que pueden monitorear el sistemasimultneamente. Cmo mximo pueden ser 32, pero debemos considerarparmetros como ancho de banda y estabilidad de la red antes de establecerlo, yaque una excesiva demanda puede deteriorar el rendimiento del sistema.
-
7/25/2019 Manual Micro Core ETH
14/27
14
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Podemos establecer diferentes ubicaciones para almacenar la pgina web que verel usuario final de nuestro web server. La misma puede estar en la memoria de
programa del microcontrolador o en una memoria externa del tipo EEPROM.
Si bien vemos otras opciones como memoria Flash y sistema FAT, las mencionadasanteriormente son las ms representativas ya que determinan si la pgina estalojada en la memoria del micro o en una memoria externa.
La placa Micro Core ETH utiliza la memoria 25LC1024. Esta memoria es del tipoEEPROM , tiene una capacidad de 1Mbit y se conecta al PIC por SPI. Eligiendo unamemoria externa disponemos de toda la memoria de programa para escribir nuestrocdigo y alojar el StackTCP/IP.
-
7/25/2019 Manual Micro Core ETH
15/27
15
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Una vez configurados los parmetros bsicos de nuestra aplicacin a travs delMicrochip TCP/IP Configuraton Wizard, estamos en condiciones de compilar el Stack
y cargarlo en el PIC.
-
7/25/2019 Manual Micro Core ETH
16/27
16
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Necesitamos, entonces, compilar el Stack, para lo cual abrimos el proyectoTCPIP/Demo App/C18-PICDN2_ETH97.Xdesde el MPLAB y ejecutamos la
compilacin haciendo click en Buil dall.
Dentro de la carpeta TCPIP Demo App encontramos varios proyectos preparadospara utilizar con micros de 8 a 32 bits. Es interesante destacar que los parmetrosconfigurados con el asistente sirven para cualquier proyecto, esto se debe a que slose est modificando el archivo de cabecera TCPIPConfig.h. Ntese queseleccionamos el proyecto TCPIP/Demo App/C18-PICDN2_ETH97.Xya que vamosa trabajar con un micro de la familia PIC18 (8bits).
-
7/25/2019 Manual Micro Core ETH
17/27
17
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
TCPIPConfig.h
El archivo TCPIPConfig.hse utiliza para habilitar o deshabilitar funciones del stackcomo DNS, FTP, SNTP, SSL y UART dependiendo de las caractersticas de nuestraaplicacin y la memoria disponible en el micro. Por ejemplo, para habilitar el clienteNTP, debemos incluir la sentencia: #define STACK_USE_SNTP_CLIENT
Dentro de TCPIPConfig.h es posible especificar si la pgina web va a estar en lamemoria de programa o en la memoria EEPROM externa.
Si el website va a estar alojado en la memoria de programa debemos comentar lasentencia: #define MPFS_USE_EEPROMe incluir el archivo MPFSImg2.cen elproyecto.
Tambin se puede definir la direccin MAC a travs de MY_DEFAULT_MAC_BYTE5y el nombre de la placa mediante MY_DEFAULT_HOST_NAME(ej:http://mchpboard).
MainDemo.c
En el archivo MainDemo.cencontramos el mapeo de puertos, la configuracin de losregistros de la USART, los ADC y la inicializacin de la placa. Por ejemplo
ADCON0=0x0D; // Lnea 1471-Para seleccionar AN3 como entrada analgica.
CustomHTTPApp.c
Por ltimo, el tercer archivo que necesitamos para una aplicacin bsica esCustomHTTPApp.c, en el cual se encuentran las funciones callback, es decir aquellasque interactan con la pagina web.
http://mchpboard/http://mchpboard/http://mchpboard/ -
7/25/2019 Manual Micro Core ETH
18/27
18
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Funciones
En esta seccin vamos a ver como interactuar con el microcontrolador desde lapagina web. Vamos a desarrollar un ejemplo para monitorear el estado de un puerto yluego le vamos a agregar control remoto, es decir, cambiar el estado del puerto desdela interface web.
Monitoreo a distancia:Para monitorear el estado de un puerto desde la web necesitamos hacer tres cosas:
Mapear e inicializar el puerto en el micro. (HardwareProfile.h, MainDemo.c)Crear una funcin callback. (CustomHTTPApp.c)Insertar una variable dinmica en la pagina web. (status.xml, index.html)
Luego compilamos el sitio web con MPFS2.exe, compilamos el proyecto con C18
desde el MPLAB y por ltimo grabamos el firmware y la web en la memoria externa.
-
7/25/2019 Manual Micro Core ETH
19/27
19
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
HardwareProfile.h
En este archivo simplemente asociamos un puerto con un nombre fcil de recordar,por ejemplo si colocamos un LED en RF3 (pin 22 del PIC18F97J60):
#define LED_TRIS (TRISFbits.TRISF3)#define LED_IO (PORTFbits.RF3)
MainDemo.c
Vamos a definir RF3 como salida e inicializarlo en cero. Este proceso est fuera delloop principal, por lo que solo se va a ejecutar al reiniciar el micro:
static void InitializeBoard(void){
LED_TRIS = 0;LED_IO = 0;//Continua la inicializacin de los otros puertos.
}
-
7/25/2019 Manual Micro Core ETH
20/27
20
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
CustomHTTPApp.c
La funcin callback contiene el nombre y el valor de la variable dinmica ( led) queva a ser mostrada en la web.Un error muy comn es enviar directamente al buffer Ethernet el estado del ledmediante la variable int LED_IO.Hay que tener en cuenta que SOLO SE PUEDEN ENVIAR STRINGS PORETHERNET, por lo que en numerosas ocasiones usamos itoa o ftoa para convertirlos tipos de dato.
ROM BYTE ESTADO_LED_UP[] = ON";ROM BYTE ESTADO_LED_DOWN[] = OFF";
void HTTPPrint_led(void){
TCPPutROMString(sktHTTP, (LED_IO?ESTADO_LED_UP:ESTADO_LED_DOWN));}
En este caso, en lugar de usar los conversores de tipo, creamos dos variablesauxiliares ESTADO_LED_UP y ESTADO_LED_DOWN para mostrar el estado delled mediante ON, OFF.
status, index.html
Hay que incluir en el sitio web la variable dinmica led, para esto vamos a modificarstatus.xml e index.html:
status.xmlcontiene todas las variables dinmicas que se actualizan (leds,temperatura y pulsadores).
Agregamos la lnea correspondiente a la nueva variable dinmica:
~led~
-
7/25/2019 Manual Micro Core ETH
21/27
21
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Entre se indica el nombre del divisor que se va a utilizar en el index para definir laposicin de la variable.
Index.htmlfinalmente es el archivo que ve el usuario final. Donde aparezca el webserver lo va a reemplazar con ON, OFF segn el valor de LED_IO.
-
7/25/2019 Manual Micro Core ETH
22/27
22
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
MPFS
Microchip PIC File System es el sistema de archivos que utiliza el micro para leer lapagina web. Una vez que tenemos nuestro site terminado con los archivos html, jpgo gif debemos convertirlos al sistema MPFS para luego, poder cargarlos en lamemoria.
La aplicacin MPFS.exe convierte el conjunto de archivos que componen la paginaweb a dos formatos posibles:
.bin (para cargar el website en la memoria EEPROM externa)
.c (para cargar el website en la memoria de programa)
Es importante tener en cuenta que al agregar o quitar variables de nuestra web, semodifica el archivo HTTPPrint.h por lo que hay que volver a compilar el proyectoantes de cargar la aplicacin en el micro controlador.
-
7/25/2019 Manual Micro Core ETH
23/27
23
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
MPFSUPLOAD
El MPFS.exe es el programa que convertir los archivos de nuestra web en elarchivo binario final que es el que utilizar el Micro Core ETH.
Ajustamos los parmetros de seguridad:
-
7/25/2019 Manual Micro Core ETH
24/27
24
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
Cuando pulsamos OK. El programa nos muestra el resultado:
Hay dos formas de almacenar la pagina web:
1 -En la EEPROM, mediante mpfsupload. Para esto ejecutamos en el explorador deinternet: http://mchpboard/mpfsupload o bien http://169.254.1.1/mpfsupload ycargamos el archivo MPFSImg2.bin generado previamente con MPFS.exe
2 -En la memoria de programa, para esto necesitamos compilar todo el proyectonuevamente (a menos que tengamos un bootloader).
Debemos incluir en el proyecto el archivo MPFSImg2.c generado con MPFS.exe ycomentar la sentencia #define MPFS_USE_EEPROM en el archivo TCPIPConfig.h.
De esta forma estaramos prescindiendo de la memoria EEPROM externa con elconsecuente ahorro de dinero y espacio fsico en la placa. Sin embargo slo esposible con paginas web pequeas ya que la memoria de programa del 18F97J60queda prcticamente completa con todas las funciones del stack habilitadas.
-
7/25/2019 Manual Micro Core ETH
25/27
25
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
SMTP
Para poder enviar emails desde el MCE WebServer debemos habilitar el clienteSMTP, dejando de comentar la sentencia STACK_USE_SMTP_CLIENTen elarchivo TCPIPConfig.h.
El proceso se puede invocar en cualquier momento, por ejemplo si sube latemperatura, si se presiona un pulsador, etc. El mail del ejemplo enva el estado detodas las variables a la direccin que se especifique.
Antes de intentar enviar un mail con la funcin SMTPSendMail()debemos verificar sino hay otro mail en proceso, para eso utilizamos en primer trmino
SMTPBeginUsage()como indica el diagrama.
Si nuestro servidor de correo saliente requiere autorizacin, utilizamosSMTPClient.Server, SMTPClient.Usernamey SMTPClient.Passwordpara setear losparmetros.
Por ltimo incluimos los campos De, Para, Asunto y Mensaje antes de llamar aSMTPSendMail().
-
7/25/2019 Manual Micro Core ETH
26/27
26
MICRO CORE ETHHardware y Microchip TCP/IP Stack
www.ytdcontrol.com.ar
if(SMTPBeginUsage()){
// Note that these strings must stay allocated in
// memory until SMTPIsBusy() returns FALSE. To// guarantee that the C compiler does not reuse this// memory, you must allocate the strings as static.static BYTE RAMStringTo[] = "joe@picsaregood.com";static BYTE RAMStringBody[] = "Message generated by stack " TCPIP_STACK_VERSION " \r\n\r\nButtons:
3210";RAMStringBody[sizeof(RAMStringBody)-2] = '0' + BUTTON0_IO;RAMStringBody[sizeof(RAMStringBody)-3] = '0' + BUTTON1_IO;RAMStringBody[sizeof(RAMStringBody)-4] = '0' + BUTTON2_IO;RAMStringBody[sizeof(RAMStringBody)-5] = '0' + BUTTON3_IO;SMTPClient.Server.szROM = (ROM BYTE*)"mail"; // SMTP server addressSMTPClient.ROMPointers.Server = 1;SMTPClient.Username.szROM = (ROM BYTE*)"mchpboard";
SMTPClient.ROMPointers.Username = 1;SMTPClient.Password.szROM = (ROM BYTE*)"secretpassword";SMTPClient.ROMPointers.Password = 1;SMTPClient.To.szRAM = RAMStringTo;SMTPClient.From.szROM = (ROM BYTE*)"\"SMTP Service\" ";SMTPClient.ROMPointers.From = 1;SMTPClient.Subject.szROM = (ROM BYTE*)"Hello world! SMTP Test.";SMTPClient.ROMPointers.Subject = 1;SMTPClient.Body.szRAM = RAMStringBody;SMTPSendMail();MailState++;}
RESUMEN
Para compilar exitosamente en principio el proyecto ejemplo y luego introducir algn cambio propio de ustedesdeben utilizar el TCP/IP Cconfiguration Wizard del stack de Microchip, que bsicamente lo que hace esmodificarnos los cdigos .C y .H de forma grafica e intuitiva, Luego de utilizarlo compilamos y descargarmos elHEX a nuestra placa.
Ahora toca el turno de modificar nuestra Web que cargaremos al Micro Core RTH y que descargaremos a travsdel MPFS.exe o utilizaremos la funcin de file upload que ya tiene nuestro mdulo.
1. TCP/IP Configuration Wizard2. Compilacion con MPLABX3. Grabacion del Microcontrolador4. Conectamos el Micro Core ETH a Ethernet5. Convertimos nuestra Web con el MPFS.exe6. Descargamos el archivo binario a la memoria del Micro Core ETH
-
7/25/2019 Manual Micro Core ETH
27/27
top related