|
¡ATENCION!
NOPPP no funciona con computadoras modernas de más de 0.5 GHz, ni con Windows Vista. Hay una posibilidad que las soluciones para Windows XP funcionarán con Vista, pero no estoy cierto, ni tengo el tiempo para continuar mi trabajo. NOPPP es un proyecto de años pasados, no del futuro. Véase por favor "NOPPP News" al comienzo de la página inglesa, y ¡muchas gracias por su interés! —M.C., 2007
Nuevo: Mi tutorial popular "PIC Assembly Language for the Complete Beginner," publicado en 1999, está disponible aquí (en inglés).
Noticias - 2002/10/17, 2003/06/21Nuevo software: NOPPPW por Miguel Sandro Lucero, para Windows 95/98/ME/2000/XP, en español. (Este software no es mío y no puedo tomar responsabilidad por su funcionamiento ni por su disponibilidad.)
NOPPP es un sencillo programador para los microcontroladores PIC16C84, PIC16F83 y PIC16F84. Se conecta al puerto paralelo del PC. Un extenso artículo con los planos y descripción fué publicado en Electronics Now Magazine, Septiembre de 1998 (N.T. te lo recomiendo). Este artículo está incluido en forma reducida en el ZIP que te puedes descargar (un poco mas abajo).
También apareció un artículo acerca de este programador en Silicon Chip (Australia), Marzo, 1999.
Kits disponibles!
Favor de no mandar e-mail...Gracias por tu interés en el NOPPP. Mas de 500 personas contactaron conmigo para confirmarme que el NOPPP funciona correctamente.
Últimamente estoy recibiendo muchos mensajes acerca del NOPPP que no puedo contestar. Debido a que no obtengo ningún beneficio del proyecto NOPPP, por lo que a mi respecta es un proyecto cerrado y no puedo dedicar varias horas a la semana para dar soporte gratis. Por favor, obten ayuda local, si no puedes hacer que tu NOPPP funcione, ten en cuenta que la mayoría de errores se deben a un fallo en el conexionado o en el cableado. Equivocar el orden de las patillas de Q1 es el error mas común [nota del traductor: a mi me pasó ;)]. No puedo ver ni arreglar errores de montaje remotamente. Si estás seguro de que no es un error de cableado, entonces o el puerto paralelo de tu PC no cumple las especificaciones (prueba con el PC de un amigo/a) o tienes un chip defectuoso *.
* Nota del traductor: según mi experiencia, repasa las conexiones de nuevo, sobre todo la correcta posición de Q1, he añadido el Data Sheet de Q1 para poder ver el correcto conexionado de las patillas.
Si tienes que contactar con el autor Michael A. Covington (habla perfectamente español), por favor lee este documento detenidamente antes de hacerlo. Con toda seguridad tus preguntas ya están contestadas aquí.
Si estas teniendo problemas con el kit de Ramsey o de Oatley, deberías contactar con el fabricante para obtener ayuda. Si existe algún problema que no puedan solucionar ellos contactarán conmigo.
Si tienes una pregunta técnica suficientemente interesante acerca del artículo de Electronics Now que no sea contestada aquí, puedes mandarla a esta revista (en ingés) en q&a@gernsback.com . Su columna Q&A (Preguntas y respuestas) es contestada por mi, pero se tarda una media de seis meses entre que se recibe la pregunta y se publica la respuesta..
No puedo diseñar circuitos o software gratis. Si es necesario, puedo hacer diseños personalizados por US $100 a $250 por hora.
-- Michael Covington
Tienes problemas aprendiendo a usar MPLAB? Revisa estas breves notas. (N.T. te lo recomiendo.)
Para mas asistencia contacta con Microchip; MPLAB es un producto de ellos, no mío..
Novedades:
- El software ha sido desarrolado para Windows 95/98/NT por Rafael Cabezas Ganderats. Puedes descargar la versión para Windows de http://rcg.homepage.com. Este sofware es de Rafael, no mío, por lo tanto no puedo ayudarte con él, pero es bueno tener la versión para Windows disponible. (Recuerda que el software original funciona correctamente en una ventana de MS-DOS bajo Windows 95/98.)
- El kit NOPPP de Ramsey Electronics (llamado Picpro) está disponible. Detalles mas abajo.
- Ahora hay tres sitios de descarga , no solo uno. Con cientos de descargas por mes, estabamos generando mas tráfico del que mi ISP podía soportar.
- La versión para Linux del NOPPP está disponible gracias a Claus Fuetterer.
- Un fallo en el software del NOPPP ha sido resuelto; ahora se puede usar el "watchdog timer" con el 'F84. Gracias a Peter Aigner tanto por informar del fallo como por su corrección..
- Ahora hay dos programas de demo, el DEMOF84 y el DEMOC84, para el PIC16F84 y el 'C84 respectivamente. Ambos corrigen un fallo en los primeros programas que hacía que dos LEDs se encendieran al mismo tiempo por unos instantes.
El NOPPP es inusualmente simple y utiliza componentes fácilmente localizables.Probablemente ya tendrás todos los componentes necesarios. Aquí tienes el circuito (modificado ligeramente respecto al diseño original para mayor fiabilidad):
¡¡¡Atención!!!: Ejecuta primero el programa y luego aplica la alimentación cuando se te pida.
Los números de Pin corresponden al conector de 25 pines en el PC.Los condensadores están en microfaradios.
Descrición del circuito: En el PIC, la patilla MCLR se pone a +5V para el funcionamiento normal (no se usa aquí), a +12V para grabación, y a 0V para resetear. Realmente los +12V no "queman una EPROM" -- el voltaje superior es meramente una señal para activar el circuito interno de programación de la memoria flash. Debe ser mayor de 12.0 volts. La salida D0 del PC controla esta señal. No hay peligro para el chip si se aplica esta señal en un momento inadecuado.
El PIC se comunica mediante protocolo serie síncrono de dos líneas (mas masa).El Pin B6 es la señal de strobel; los pulsos en este pin le indican al PIC cuando debe recibir o transmitir cada bit de datos. El Pin B7 se utiliza como entrada y salida. Cuando el PIC está recibiendo datos desde el PC, la señal SLCTIN es mantenida a nivel bajo y por lo tanto D2 no conduce por lo que D1 y R1 no se utilizan en este momento y el PIC recibe los datos mediante la señal AUTOFD.
Cuando el PIC está enviando datos, las señales SLCTIN y AUTOFD están a nivel alto, D1 no conduce y D2 y R1 proporcionan la polarización (pull-up). La resistencia R2 mas la resistencia interna de la línea AUTOFD (dentro del puerto del PC normalmente 4.7k, auque a veces mucho menos en los nuevos puertos paralelos CMOS) proporcionan algo de Pull-up adiciona. El PC lee la información através de la línea BUSY, que es 0.6V mayor que la salida del PIC debido al diodo D2. El puerto paralelo del Pc tiene (o debería tener) entradas CMOS o Schmitt y no debería necesitar verdaderos niveles lógicos TTL.
R2 y R3 ayudan a reducir las interferencias aislando la capacidad de entrada del PIC, de modo que circule menos corriente durante transiciones bruscas.El PIC tiene entradas del tipo Schmitt, que no impiden la reducción del tiempo de subida (rise tiem). R4 proteje la base de Q1
Circuito revisado: El circuito y el software originalmente publicado en Electronics Now son suficientemente fiables. Sin embargo, para mayor compatibilidad con unos poco puestos paralelos que tienen problemas con el circuito original, he hecho algunos ligeros cambios:
- Cambiando los diodos 1N914 por 1N34 (o 1N34A) se obtienen niveles lógicos mejores, y por lo tanto major inmunidad al ruido, sin coste adicional.
- R6 reduce las reflexiones del cable. Nota: Aaron Hughes me comentó que su NOPPP funcionaba mejor sin R6.
- R7 y R8 proporciona el pull-up que aparentemente necesitan unos poco puestos paralelos. (Los circitos de entrada de las impresoras tienen resistencias.) R7 asegura que si el programador está alimentado sin estar conectado al PC, el voltaje de programación no sea aplicado al PIC. (Aplicar el voltaje de programación momentáneamente no debería causar problemas, pero he tenido preguntas acerca de ello.
Si utilizas el circuito original y te funciona correctamente no necesitas hacer ningún cambio. Si tienes un puesto paralelo no estandar o cables de poca calidad, este circuito revisado te ayudará.
Sustituciones
1N914 = 1N4148
1N34 = OA76
2N2222 = MPS2222 = 2N3904 = MPS3904FAQ: Preguntas frecuentes acerca del NOPPP
- ¿Está disponible el kit del NOPPP?
¡Sí!
Un kit muy simple basado en el NOPPP puede obtenerse de Oatley Electronics. El kit consiste en la placa del circuito y los componentes. ( procedente de Australia, Oatley Electronics aceptan tarjetas de crédito y hacen envios a todo el mundo. Tener en cuenta que el dolar australiano es menor que el americano.)
Un kit mas elaborado, con fuente de alimentación, caja, software, placa de demostración y manual está disponible en:
Ramsey Electronics
793 Canning Parkway
Victor, NY 14564
Phone 800-446-2295
Le llama "Picpro," Part No. PIC-1, y se vende por $59.95 + $6.95 de gastos de envío/seguro (para U.S.A.; algo más para el resto del mundo). Se aceptan tarjetas de crédito.
- ¿Cómo se puede leer el código programado en el PIC?
El software del NOPPP no soporta esta opción. Utiliza el programa TOPIC en su lugar, que también está incluido en NOPPP.ZIP.
- ¿Soporta el NOPPP otros PICs que no sean el 16C84, 16F83 o 16F84?
La respuesta es no. Estoy demasiado ocupado ayudando a la gente con el original NOPPP que soporta sólo estos tres chips. Si logras modificar el NOPPP para programas otros PIC's, por favor, hazmelo saber.
- ¿Funciona el NOPPP con todos los PCs?
Funciona con todos los PCs que he probado, unos 15, desde 4.77-MHz 8088 a un 300-MHz Pentium II. El circuito revisado descrito mas arriba elimina los problemas con unos cuantos puertos paralelos no estandar.
- ¿Qué puedo usar como fuente de alimentación?
Se necesitan +5 volts y de +12 a +14 volts, proporcionanado ambos muy poca corriente (menos de 20 mA). Una solución es utilizar una batería de 12 voltios ( o una combinación de baterias de 6-volt o 1.5-volt en serie) mas un chip regulador 7805 o 78L05 para proporcionar los +5V.
También se pueden obtener los +5V y +12V del conector de alimentación de la disquetera, dentro del PC, pero asegurate de que la línea de 12v es de 12.0v o más.
Aquí está un ejemplo de circuito para utilizar con el NOPPP.
El diodo extra aumenta el voltaje de salida del 78L12 en 0.6 volt, para asegurarse de que se encuentra entre los 12.0 y 14.0-v requeridos en las especificaciones del PIC.
- ¿Dónde obtengo el ensamblador y el simulador del PIC?
De Microchip, Inc., el fabricante de los PICs. Puedes descargar los programas de su web. Anteriormente Microchip también distribuia los programas en CD-ROM bajo pedido, pero no ahora. Debes contactar con tu distribuidor local, que en España es Sagitron. N.T.
El paquete completo para Windows, encluido el ensamblador y el simulador/debugger, se llama MPLAB y ocupa unos 7 megabytes. Menos de una hora a una velocidad de 28.8 kbaudios.
No importa que versión de MPLAB tengas, cualquier versión razonablemente actual funciona bien. Las versiones recientes eliminan problemas referentes a otros PICs no a los 16C84/F84/F83.
Si MPLAB es demasiado grande, parece ser que es suficiente con descargar el MPASM (el ensamblador).
- ¿Que tipo de PIC debería comprar y dónde puedo obtenerlo?
El NOPPP puede programas cualquier PIC16C84, PIC16F84 o PIC16F83. El PIC mas barato y fiable de estos es el PIC16F84-04P. Aquí el 04 significa la máxima velocidad de reloj que admite 4 MHz y la P significa que el encapsulado es de tipo DIP plástico.
El NOPPP tambien es adecuado para los PICs de bajo voltaje PIC16LC84 y PIC16LF84.
Puedes comprar PICs en:
El último de ellos tiene una sección especialmente interesante de recursos para experimentadores y aficionados.
- ¿Dónde puedo aprender mas acerca de los PICs?
Puedes descargar los manuales del PIC en formato PDF o pedir manuales impresos de Microchip, Inc.
Más allá de esto, yo personalmente recomiendo el libro Easy PIC'n, by David Benson, publicado por Square One (squareone@zapcom.net).
Para programación avanzada de los PIC. "Design with PIC Microcontrollers", por John B. Peatman, publicado por Prentice-Hall.
Entre estos dos libros está el de Myke Predko "Programming and Customizing the PIC Microcontroller", publicado por TAB.
Puedes comprar los libros on line en Amazon.
Nota del traductor: Yo recomiendo "Microcontroladores PIC, la solución en un chip" mas información en http://www.arrakis.es/~msyseng/la.htm
- ¿Por qué utilizas las instrucción TRIS cuando Microchip recomienda no hacerlo?
La instrucción TRIS está completamente soportada por el PIC16C84 y similares. Microchip no recomienda su uso sólo por una razón: algunos de los PICs de última generación y de prestaciones mayores no poseen esta instruccion por lo que no podrías actualizar el PIC a una versión mas moderna en el futuro.
Yo encuentro que la instrucción TRIS es mucho mas cómoda que las alternativas que ofrece Microchip y no encuentro ninguna razón para no usarla. Si alguna tengo que programar un PIC de la gama alta con estos programas tendré que eliminar la instrucción TRIS os cambiarla por una macro, al mismo tiempo que hago otros cambios.
- ¿No es peligroso insertar el PIC en el zócalo con la alimentación aplicada?
Despues de pensarlo detenidamente, he decidido que no. ¿el por qué? El peligro mas normal al insertar un chip en su zócalo con la alimentación ya aplicada es que los chip CMOS pasarán a un estado "SCR latchup". Esto pasa cuando una entrada está en estado alto pero la patilla V+ no tiene alimentación todavía.
En el NOPPP, esto no pasa. Cuando se te pide que insertes el chip, V+ está alimentado (+5V) pero todas las demás patillas están cerca de 0 voltios.- ¿Qué significan los errores?
- "Caution: programmer hardware not found!"
El programa NOPPP no puede detectar el circuito NOPPP. Con el circuito original esto no es necesariamente un problema, ya que algunas veces no es detectado si no está alimentado. En este caso, alimenta el circuito NOPPP (sin el PIC en el zócalo, por supuesto) antes de arrancar el programa en tu PC.
- "Caution: Configuration word appears to contain invalid bits."
Tu archivo .HEX fué ensamblado para un PIC diferente (como el 16F84 en vez del 16C84).
Ten en cuenta que el archivo que se proporciona con el NOPPP, DEMO.HEX, fué ensamblado para el 16F84. Para cambiar esto, edita el DEMO.ASM, cambia las "16F84" a "16C84" y reensamblalo (generando un nuevo archivo .HEX file) utilizando el MPASM o el MPLAB. Según me han comentado, sin embargo, funciona con el 16C84 sin modificaciones a pesar del mensaje de error.
- "Failed at 0000: Expecting (something), found 3FFF."
Estás intentando verificar un PIC en blanco sin haberlo programado o ....
Este es un síntoma común de un problema de comunicación. Indica que el PIC no está recibiendo comandos adecuadamente. Intenta utilizar un cable mas corto, comprueba el circuito cuidadosamente y ejecuta el programa de test.
- Mi NOPPP no funciona. ¿Qué debo comprobar?
- ¿Todas las conexiones son sorrectas y están bien soldadas? (Compruébalo con un multímetro o mejor aún ejecuta el programa de test de la última versión del programa NOPPP.)
- ¿Está conectado correctamtente el transistor (Q1)? Si has conectado mal el transistor obtendrás probablemente voltajes alrededor de 8voltios (*Nota del traductor: e slo que me pasó a mí ;) durante los test. Reemplaza el transistor si lo has conectado incorrectamente, aunque parezca que funciona bien, su vida se habrá acortado probablemente.
*Nota del traductor: Te pondo el esquema del transistor para que no te pase lo que a mi;- ¿Están las 8 lineas de tierra del puerto paralelo conectadas a la masa del NOPPP? Si no, habrá excesivas interferencias entre los cables, la masa múltiple sirve como escudo aislante.
- ¿Estás usando un PIC testeado o nuevo y lo has protegido contra la electricidad estática?
- ¿Están los voltajes de la fuente de alimentación dentro de los rangos especificados (4.75-5.25 y 12.0-14.0 voltios respectivamente)?
- ¿Has probado diferentes configuraciones de BIOS para el puerto paralelo que estás usando ? NOPPP debería funcionar con cualquier configuración, pero en casos difíciles es bueno probar alternativas.
- ¿Son correctos los números de pin del cable? Ten en cuenta que los números de pin que aparecen el diagrama pertenecen al conector DB25 del PC, no conector Centronics de 36 pines. Asegurate de que los cables no estén cruzados.
- ¿Tiene el cable del PC al NOPPP conectados todas las líneas que vas a necesitar? Los cables serie NO tienen todas las líneas. Además, según mi experiencia, los cables que hacen mal contacto son extremadamente comunes. Puedes chequear el cable con un multimetro y sin embargo seguir fallando al hacer malas conexiones debido a la diferencia de longitud de los pines.
- ¿El cable es demasiado largo? Intenta utilizar el NOPPP con el cable mas corto posible menos de 1m (2 pies en sistema americano). Algunos puertos funcionan bien a distancias mucho mayores, pero otros no.
- Finalmente, ¿funciona tu puerto paralelo?, ¿puedes utilizar una impresora? Algunas personas han tenido problemas con el NOPPP porque su puerto paralelo no funcionaba (el puerto paralelo se habia redireccionado a una red).
Circuito NOPPP alternativo
Para aquellos de vosotros a los que no les guste la idea de utilizar diodos en el NOPPP, podeis utilizar este NOPPP alternativo que utiliza puestas lógicas. Las entradas y salidas se han tomado de las originales del IBM PC printer port; los condensadores reducen la reflexión del cable. Este NOPPP puede ofrecer mejores resultados con cables de mayor longitud y con puertos "difíciles". Agradezco a Glenn Hudson de SUNY, Stony Brook, por sugerirme reemplazar los diodos por puertas lógicas.
Te en cuenta que este es un circuito experimental y puede o no funcionar con tu PC. Mucha gente se ha encontrado que es menos fiable que el ciercuito con diodos 1N34. Por favor, ten en cuenta que los test de voltaje del programa NOPPP no son aplicables a este circuito. No doy soporte para este circuito, si necesitas ayuda construye el circuito con los diodos 1N34'.
Servicio de consulta sobre PICs
Puedo ofrecer servicios de consulta para siseñar software y hardware para PICs. Visita mi página principal para saber los precios y otras informaciones.
Covington Innovations home page