Antes de que me olvide, el hilo conductor de la 2da parte de la mañana fue una serie de requisitos a las que uno siempre se enfrenta al diseñar algo.
Requisitos de diseño:
- Que ocupe el menor espacio posible
- Que pueda funcionar con 1 pin
- Que se pueda alimentar con una pila tipo botón
- Que no salga más que un café
- Que se pueda conectar a internet, USB, CAN, RS-232, RS-485, WI-FI....
- Que esté listo para ayer, o si es posible, para anteayer
Entonces hablaron de que tenían productos en cápsulas tan pequeñas como 2x3x1 mm (largo, ancho, altura) para satisfacer el punto 1. El punto 2 dio pié a los dispositivos UNI I/O que se comunican a través de 1 solo pin con el exterior. El punto 3 dio pié a la introducción del modo de potencia XLP. El punto 4 con las líneas de micros de bajo costo (familias 10f, 12f, 16f). El punto 5 con las opciones de conectividad USB/Ethernet/WI-FI/CAN. Y el punto 6 dio pié a mencionar las librerías/pilas de protocolos gratuitas de código fuente abierto para satisfacer cada necesidad de conectividad, como las numerosas placas de entrenamiento. El orador remarcaba que su favorita era el explorer 16 por tratarse de una placa de entrenamiento modular, a la que uno le puede adosar por ejemplo un módulo para USB, otro para WI-FI, y enchufarle a la vez un programador /depurador ICDx...
Lo que me hubiera gustado oír es que estuvieran pensando en liberar los compiladores C, pero no hubo ninguna referencia a eso. Si bien hay versiones lite y de evaluación, uno se queda con ganas de más porque sabe que está desperdiciando recursos.
Para eso habrá que ver si hay alguna versión C para micros libre, porque no parece que microchip tenga esa idea en carpeta.
Bueno, eso era el esqueleto de lo que se hablo a la mañana después del break.
---------------------------------------------------
A la tarde empezamos con unas charlas sobre distintos temas. Había una sobre Ethernet y sobre EMI (en paralelo) y luego otra sobre PIC24F y Tips & Tricks.
Yo fuí a la de ethernet y a la de Tips & Tricks.
En la de ethernet se dió un pantallazo rápido de las nociones básicas para empezar un proyecto que incluya ethernet, y qué es lo que hay que tocar del stack TCP/IP de microchip para adaptarlo a nuestra aplicación específica. Lamentablemente el tiempo fué muy corto, apenas si se podía transmitir alguna noción básica.
Les comento lo que me quedó a mí de eso.
Podemos distinguir dos funcionalidades distintas en la interfaz TCP-IP:
Telemetría: cuando el PIC envía información al usuario a través de la interfaz
Control remoto: cuando el usuario envía comandos/información al PIC a través de la interfaz.
El stack de microchip se compone de una serie de archivos, uno empieza abriendo un proyecto pre-armado (extensión .mcw) que use el mismo micro y trabaja sobre los siguientes archivos para adaptarlo a nuestra aplicación:
TCPIPconfig.h : se configura la MAC, la dirección IP si es fija o se usa DHCP
Maindemo.c : es como el main de cualquier proyecto en C para pics
CustomHTTPApp.c : acá van las variables (de callback) que se van a ver en la página web que abra el usuario. Dicha página se aloja ya sea en una memoria externa, o en la memoria de programa del PIC. Hay una convención para definir variables que se van a ver en la página. Se define una función con el nombre:
Código:
char nombrevariable[]={"LED ON"};
void HTTPPrint_nombrevariable(void){//reemplazar nombrevariable por el nombre
//de nuestra varibale
funcion(xxx, direccion_inicio_string,yyy) ;
/*No me acuerdo que era xxx ni yyy ni el nombre de la función*/
}
Solo se pueden mandar strings por HTTP(cadenas de caracteres), así que si queremos por ejemplo que en la página aparezca si un led está encendido, vamos a mandar una cadena de caracteres "LED on".
El stack funciona en modo multitarea cooperativo, es decir, de vez en cuando en el código de nuestra función hay que hacer llamadas a funciones que gestionen la comunicación TCP/IP. En eso es similar al USB.
Se pueden mantener hasta 256 conexiones (será?).
Bueno, para más detalles les recomiendo que visiten la página de microchip, para empezar
http://techtrain.microchip.com/webseminars/Archived.aspx categoría connectivity.
La página a mostrar se guarda en el PIC o en una memoria externa, antes de escribirla hay que compilarla para que no ocupe tanto espacio, y debe ponerse especial cuidado de respetar los nombres de variables definidos en customhttpApp.c
Eso rescaté del seminario de ethernet.
Luego el seminario de Tips & Tricks, el tipo iba recorriendo el libro y destacaba alguna que otra cosa... me hubiera convenido ir al seminario del PIC24.
El libro al que me refiero lo repartieron a cada uno y es la versión en castellano de
ésto.
----------------------------------
Luego se volvió a las charlas comunes, se habló un laaaargo (y tedioso para mi gusto) rato sobre como hacer una migración de la familia 16F87X y 16F87XA a la 16F88X.
La razón para realizar dicha migración es el costo, hablaban de U$S 2 para los 16F88X y con eso uno podría bajar el costo de su producto.
Hay que hacer algunos cambios en algunos módulos (CAD, comparadores, reloj y no recuerdo si algo más) pero despues el código fuente es el mismo.
Y cerrando el ciclo, se habló sobre mTouch capacitivo. Lo que me pareció importante notar es que el PCB sobre la que uno hace el patrón de botones tiene que ser fibra de vidrio epoxi FR4.
La variación de capacidad cuando uno apreta el botón es muy pequeña, usando el oscilador RC de relajación (más comparadores y flip flop RS y contador) para detectar la pulsación la frecuencia varía entre el 1 y el 5%.
El entorno influye mucho sobre la detección de pulsaciones, ya que se trabaja con capacidades de picofaradios. Eso hace que un teclado mTouch NO sea la solución para todo, sirve si las condiciones lo permiten: humedad, suciedad, si la persona usa guantes, etc. En un ambiente industrial por ejemplo NO conviene aplicar esta tecnología. Sí puede ser práctico para un equipo médico por ejemplo.
Uno no se tiene que preocupar mucho de la detección de pulsaciones, también se proveen librerías para trabajar eso.
--------------------------------------------
Hubo sorteos de herramientas de desarrollo, dos ipods (no ligué nada
), y se cerró el encuentro con la entrega de premios a los proyectos de 8 bits presentados para la ocasión (1er y 2do premio).
En cuanto al botín, recibimos a la salida el libro de Tip's & Tricks y 3 micros para casita: un PIC16f887 (este sirve para migrar a bajo costo), un PIC16F727, y un PIC18F14K50 (USB).
A la entrada nos dieron folletería de uchip y un CD catálogo. Después uno podía comprar placas de desarrollo a precios promocionales en los stands.
Mis impresiones del encuentro, fué el 1ro de esta clase al que asistí, salí más motivado a experimentar con cosas nuevas (ethernet y mtouch).
La organización se quedó corta de lugar (andabamos a los codazos), y hubiera sido mejor que el 1er orador (Stuart Chandler) tuviera mejor dominio de castellano, pero lo perdonamos por el viaje que se hizo desde USA (y ser la primera vez que vino a Argentina).
El ultimo tramo de la tarde se hizo pesado con la migración a PIC16F88X, me hizo acordar a algunas clases larguísimas e insufribles de la facultad.
Lamentablemente los tiempos no dan para hablar de cosas en detalle. Ojalá algún día tal vez tengamos la suerte de que se realice una conferencia MASTER, que duran 5 días y donde uno se puede desquitar de lo lindo. Pero hay que ser realistas, no somos un gran mercado que justifique un encuentro de esa magnitud.
Sí se puede destacar que empezó hace poco a funcionar un centro regional de entrenamiento acá en Buenos Aires, así que creo que les estamos haciendo gastar/invertir un poco por acá
.
Bueno, eso fue todo amig@s (esa @ para el encuentro fue 99.7% masculina) (ni siquiera una promotora... snifff).
Puse todo lo que recuerdo del contenido expuesto en el Microchip RoadShow 2009 Argentina, por lo menos mis notas no van a quedar tiradas en un cajón para ponerse amarillas por el paso del tiempo. Ojalá le sirva a alguien aparte de mi mismo.
La próxima me acredito como corresponsal del foro(*), jajaja.
Saludos
-----------------------------------
(*): che, a lo mejor no es mala idea, ¿que te parece Andres?, en una de esas ligamos algo para sortear en el foro y todo.