Atmel vs Microchip

Estado
Cerrado para nuevas respuestas.
Yo le tenía ganas, pero desde que por estos pagos nos cerraron las importaciones de "paquetitos", no llegué a traerlo.

Algo con lo que te enfrentás con los cortex, es que por el momento no hay modelo para simularlo en el proteus, por lo tanto si vas hacer un proyecto grande, si o si necesitas una herramienta para hacer el debug (incluso con Proteus y todo).
La tienen difícil por allá en estos tiempos.

No tengo dinero para comprar Proteus, por eso me enfoco en compilar tambien con GCC, el Code Composer Studio está bien para los kits de TI y me da un par de limitaciones pero suficiente para probar segmentos de código, y como generalmente evito las librerías restrictivas no tengo problemas al portar el código de un compilador a otro, aún no he trabajado en un proyecto grande como para requerir un debug avanzado.
 
Comprar proteus??? Wua eres el primero que oigo decir eso "bueno escribir eso",
Oyes tengo que parecer legal :LOL: de todas formas instalé la demo una ves y no me gustó, la verdad simplemente no me interesa simular, lo que sucede en la computadora es perfecto, pero el mundo real no lo es, prefiero enfrentarme a los problemas del mundo real y corregirlos a diseñar en simulación y que luego todo salga mal cuando se ensamble :cool:
 
Proteus es la mejor herramienta que podés tener en cuanto a simulación de uC (también es útil en digitales).

Resulta muy útil para detectar errores en el código, por ej. para trabajar con SPI, podés hacer un análisis de trama para ver donde le erraste, lo mismo con el puerto serie, usar displays, etc.

En otras palabras sirve para hacer verificaciones rápidas del código, para luego probarlo realmente ahorrándote bastante tiempo.

Sin embargo el debug en tiempo real es otra herramienta que te permite corregir el código, el problema es que para una prueba completa, necesitás tener todo el hard disponible.
 
Recuerdo que Proteus 7.10 tiene el módulo de Arduino UNO. ¿Cómo se llama para encontrarlo?

No se llama arduino. Si encuentro el AVR como vacío, el ATmega328P.
 
Ni tanto, mugroso proteus, a veces hace funcionar cosas que en la realidad no funcionan o lo opuesto, creo recordar que en uno de los micros de avr la salida de la usart la tiene invertida en el proteus y me di de cocasos porque no encontraba el detallito
 
Ni tanto, mugroso proteus, a veces hace funcionar cosas que en la realidad no funcionan o lo opuesto, creo recordar que en uno de los micros de avr la salida de la usart la tiene invertida en el proteus y me di de cocasos porque no encontraba el detallito
Un simulador trata de acercarse lo máximo posible a la realidad, hay veces que no lo logra.

Eso no quita que Proteus sea una excelente herramienta de aproximación, luego está en probarlo en la realidad. Los que llegué a usar 8051/AVR y ARM7, en un 80-90% no se equivoca.
 
Pero no me negaras cosme que a veces mas que ayudar te mete mas problemas, hay tienes a unos alumnos flojonosos que nomas no les quedaba en el simulador, hasta que uno menos flojo se le ocurrio armarlo y wuala funciono, el detalle, el opamp no estaba simulando correctamente. Pero bueno tambien tiene sus pros no lo niego.

Cual es la diferencia entre simular y emular?? Se me olvida!!
 
Pero no me negaras cosme que a veces mas que ayudar te mete mas problemas, hay tienes a unos alumnos flojonosos que nomas no les quedaba en el simulador, hasta que uno menos flojo se le ocurrio armarlo y wuala funciono, el detalle, el opamp no estaba simulando correctamente. Pero bueno tambien tiene sus pros no lo niego.
Por eso, el Proteus para electrónica analógica apesta y mal, solo es útil para uC y digitales, no le pidas más.

Si querés simular el comportamiento de algo analógico, lo mejor es Pspice, Multisim, Ltspice, etc.

Particulamente creo que en una etapa de diseños los pasos a realizar son los siguientes:

1- Lapiz y papel.
2- Simular la monstruosidad del punto "1-".
3- Llevarlo al mundo real, si es posible con protoboard, de lo contrario con plaquetas de prueba.
4- Medir los parámetros necesarios para comprobar su correcto funcionamiento.

Cual es la diferencia entre simular y emular?? Se me olvida!!
Me imagino que la simulación implica modelar matemáticamente comportamientos físicos reales y emular aplicado al soft sería crear el mismo entorno donde se ejecutará una cierta aplicación, es decir en este caso simular el entorno de un uC.
 
Última edición:
eso si

la simulacion analogica es una porqueria
yo no lo uso para simular lo analogico para eso esta multisim o el electronics workbench

el proteus simula muy bien los microcontroladores
no llega a exelente por sus obvias limitaciones pues nos ahorra mucho tiempo de armar un proto o grabar cada minuto

los Scripts de proteus por lo que veo son modificables

curioso encontre un simulador del Z80 Cpu para el Proteus bastante malo pero para alguien que lo escribio diria que es bastante admirable
 
Jajaja yo si programa cada minuto el microcontrolador, total que me han de quedar como 50,000 ciclos de los 100,000 ciclos que garantiza el fabricante jajaja
 
Adhiero a programar el microcontrolador a cada rato... no quiero gasta plata en el proteus y ya hace varios años que decidí hacer todo legal, nada crackeado.

Pero aparte de eso, una cuestión que creo que el simulador puede ser peligroso:
Estás haciendo un proyecto, para seguir con mis ejemplos anteriores supongamos que medimos algunas variables analógicas y queremos mandarlas a la pc, y ver algunos datos en un LCD con teclas para navegar y presentar más información en la pantalla.

Lo haces con proteus, ponés un micro, un lcd, un teclado de membrana, comunicación con la pc por uart, escribís el código, llegaste al punto en que el código funciona, nada elegante, funciona con lo justo.
Perfecto, ahora enchufas todo en un protoboard, programas el código y no funciona (que pasa el 99% de las veces).
¿Donde está el problema?, es el hardware?, ¿es el firmware?. Quizás hay alguna interrupción que no salta (por ejemplo al apretar una tecla del teclado), o el cristal que tiene los capacitores con valores inadecuados, o nos olvidamos de conectar alguna pata de alimentación del micro, quizás el simulador no tenía exactamente el micro que estamos usando y agarramos el más parecido, o que no simulaba el periférico al 100% sino que dejaba algunas características afuer... suele pasar que en el simulador algunas cosas funcionan sin haberlas configurado bien (sin escribir los registros de configuración correctamente).
En otras palabras el error se puede deber a decenas de cosas distintas, ¿cómo saber :cry:?

Ojo!!!, no es culpa del simulador, sino del usuario.
Pero el simulador puede dar una falsa sensación de seguridad de que todo funciona, y al final llega ese punto en que enchufaste todo y no funciona nada, y te pasas el día revisando posibles causas hasta darte cuenta que en el simulador había un flag de interrupción que se limpiaba solo y en el micro real no :cabezon:. O que hacía falta poner un resistor en serie en una patita del uart por una errata del silicio (siempre revisar las erratas :eek:!!!!). O por algo mucho más tonto por haber dejado cortocircuitada una pata del micro (la configuraste como salida escribiendo un 1 y en la proto la conectaste a GND porque quedaba cómodo para conectar los cables :rolleyes: uuuppssss). O quizás el LCD tiene una rutina de inicialización distinta a la del proteus...

Otra vez, no es culpa del simulador sino del usuario, pero de ninguna persona/grupo en particular, sino que es un comportamiento atribuible a la naturaleza humana.

¿Como se trabaja sin simulador?:

  1. Enchufás el micro solo, con un led, se arranca de entrada con la protoboard (o la placa de desarrollo... en el mundo físico me refiero)
  2. Escribo el código para encender 1 led. ¿Enciende?, si no revisar -> volver a 1. Esto que parece poco es un paso enorme, porque ya estás probando si el compilador y el enlazador funcionan bien, si el programador funciona, si incluiste las librerías del micro correctas, si no hay problemas de drivers con la pc, si el micro ejecuta el código!!! (y por lo tanto está bien alimentado y tiene alguna señal de reloj de algún lado)
  3. ¿Me anda el depurador, puedo ejecutar paso a paso?.
  4. Veo si la configuración del timer anda, ¿el led enciende y apaga cada 1 segundo?, si no revisar los cristales, configuración de reloj del micro, etc
  5. Pruebo si puede detectar la pulsación de 1 tecla del teclado, ¿salta bien la rutina de interrupción? -> se ve ejecutando paso a paso, manejo bien el rebote de las teclas (cosa que en el simulador no existe), puse bien los pull-up/pull-down?
  6. etc, etc
Y sí, en cada paso programaste el micro 10 veces en promedio, es más trabajo (pero solo en apariencia!!! ;)), y si tenés 50 pasos para el proyecto se llega fácil a las 500..1000 veces dependiendo de la complejidad y los problemas en el camino (cuidado con las erratas :eek:!!!, ya lo dije no?).

Esa forma de trabajo (paso a paso) también se puede hacer con el simulador, pero TODOS los errores de hard/modelo del micro/erratas son invisibles.
Si uno trabaja sin simulador no queda otra que hacerlo de esa manera y está 100% asegurado de que el error va a estar visible.

Entonces, no abusar del simulador. SÍ lo utilizaría para ver si me calcula bien un filtro, o un algoritmo de control (PID por ej), o ver si el flujo general del programa es el esperado (al presionar la tecla salta la interrupción -> seteo un flag -> lo chequeo en el main -> llamo a la función de actualizar LCD -> ...).
Pero eso incluso lo podés probar escribiendo código en C en la PC usando gcc, que también es riesgoso!!! (la pc tiene 64 bits, el micro 8; en la pc llamás a una función desde otra función desde otra función mientras en el micro se te termino el espacio en la pila... y vuelta a empezar con que acá funciona y allá no:cool:).

Pero un microcontrolador interactúa todo el tiempo con el mundo físico - esa es la gracia de usar un microcontrolador, no? - y el simulador actúa en el mundo lógico, y este último no puede representar las infinitas variantes del 1ro.

Es mi opinión nada más, usar cada herramienta para lo que fue diseñada, no usar un destornillador paleta para un tornillo phillips, o una llave de 1/2" para una tuerca 3/8" (a menos que uno no tenga herramientas, pero esa ya es otra historia).
 
Última edición:
Holaaaaaaaaaaaaaaa:

Hace tiempo fui legal en muchas cosas, hasta que lo dejé de hacer en muchas cosas otra vez.

¿Motivos?

Cada vez que pase el tiempo, hay que pagar actualziacoines grandes, no pagaras parches y eso pero si cuando saquen algo nuevo y para Windows nuevos. luego en clases de informática pues, a Linux o cosas que tiene Linux también para Windows como Gimp, MPLAB X, Arduino 1.0.5 para programar microcontroladores. Es una ventaja.

El Proteus está tiene muchos fallos, lo corregirán con el tiempo pero tiene otros que no corrigen.
Tengo el Proteus 7.10 SP0.
¿Qué versión hay ahora?

Saludo.
 
Para mi te dá una interesante aproximación.

Me resultó una excelente herramienta para desarrollar un protocolo propio de comunición RF, con ack, direcciones, paquetes de datos, etc.

Algo similar cuando usé el ENC28J60 (spi a ethernet) de microchip para un ARM7, me resultó vital para ver donde me estaba equivocando.

Es una herramienta más en la caja, está en uno en como saber usarla.
 
Me parece que Proteus va en la versión 8.1.
Yo al igual que el resto opino que proteus no es muy bueno en electrónica análoga pero para digital es bastante bueno, una herramienta que uso mucho es COMPIM, este componente de proteus te permite "linkear" un puerto serie del computador con la simulación, esto es extremadamente útil cuando uno esta en un proyecto en donde hay que diseñar algún software en el PC para recibir datos del micro.
 
No he visto el proteus 8.1.

¿Hay algo nuevo?

Aunque sea una Interfaz gráfica mejorada, alguna función nueva. Algo nuevo tiene que haber. Como que ya corre a 64 bits, cosas así.
 
Si, la actual versión es Proteus 8.1... desde la 8 a cambiado su aspecto y el modo de trabajo pero no es nada dificil.
El actual ya soporta simulación con Arduino (algunos)... no es novedad solo que ahora no se usan componentes de terceros y es posible programar y compilar en el mismo entorno de Proteus, ver los videos de labcenter. Lo mismo sucede para PICs, AVR, algunos ARM, y demás microcontroladores.
Otro dato, al parecer le han dado más atención a la edición de esquemas y de PCB... hay nuevas características interesantes...
 
Estado
Cerrado para nuevas respuestas.

Temas similares

Arriba