¿Me convendría un PIC mejor que un AVR?

4

Esta es probablemente una pregunta que solo yo puedo responder, pero me temo que me falta la experiencia. Es relativamente más difícil encontrar las partes de Atmel donde vivo. Por ejemplo, recientemente tuve que pedir el AT Mega 128L de los EE. UU. Porque no estaba disponible en mi país (aunque la versión de 5V Mega 128 estaba allí). Los PIC están más ampliamente disponibles. También parecen ser más baratos aquí.

Hasta ahora, solo he tenido experiencia con solo AVRs. No porque los prefiera o nada, pero era / soy un principiante y toda la investigación que hice me llevó a pensar que realmente no importa cuando empiezas. Así que compré un AVR ISP MKII y Mega 168 y aprendí a programarlo.

La otra cosa que realmente me atrae hacia los PIC es un depurador enormemente más barato. El PICKit 3, al parecer, tiene depuración en el circuito y el AVR ISP MKII que tengo no. Supongo que podría comprar el AVR Dragon, pero he oído que tiene sus propios problemas. Y el AVR JTAG ICE MKII es de $ 300. Estaba considerando esto, pero luego comencé a pensar en comprar un PICKit 3.

Finalmente, siento que debería saber cómo programar en ambas plataformas. Creo que esto sería muy beneficioso porque podría elegir el controlador más adecuado para el trabajo.

Mis principales requisitos, en este momento, son realmente solo lo que debería tener

  1. SPI
  2. voltaje de entrada de 3.3V
  3. depuración en circuito
  4. 50 o más pines de E / S (creo que TQFP de 64 pines sería genial)

¿Ustedes tienden a aceptar que un PIC sería la mejor opción debido a la disponibilidad, el precio y el depurador más barato?

    
pregunta Saad

3 respuestas

4

Sí, debe escribir un buen código destinado a mantenerse y hacer que sea fácil detectar errores antes de ejecutarlo. Sin embargo, la depuración sigue siendo una realidad. En un pequeño sistema embebido, no puede poner declaraciones impresas por todos lados. No hay lugar para imprimir. Tampoco puede probar el código en el mismo idioma en una PC porque en un microcontrolador siempre está tratando con el hardware que no está presente en la PC.

Un simulador en una PC puede ser una herramienta útil, pero mientras más interactúe su código con un hardware externo, menos útil será. Eventualmente deberá probar y depurar en el hardware de destino real. La gente que le dice que no hace eso o que no lo necesita, obviamente no ha hecho muchos proyectos de microcontroladores reales.

No conozco el entorno de depuración de Atmel, por lo que no puedo compararlo con el de los PIC. Ambas familias de procesadores pueden hacer lo que quieras. Si uno de ellos tiene mejor disponibilidad en su área o cree que la configuración tiene una ventaja de costos, hágalo. Ciertamente no te vas a equivocar con los PIC, aunque eso es probablemente cierto en cualquiera de las principales líneas de microcontroladores.

    
respondido por el Olin Lathrop
2

Estas preguntas pueden iluminar el papel táctil azul, así que intentaré evitar el PIC vs Atmel :-)

Hay tan poco en su rendimiento (a pesar de lo que algunos puedan decir) que lo hace irrelevante a menos que esté llevando las cosas al límite (en cuyo caso, por lo general, simplemente sube de nivel familiar) o lo necesita, por ejemplo. un periférico específico que solo es proporcionado por uno de los dos.
Con los requisitos que das, esto no debería ser un problema.

Así que lo único que queda es el precio y la disponibilidad. Si los PIC son más baratos y están más disponibles en su localidad, diría que es una opción fácil. Creo que, en general, el precio / disponibilidad / longevidad de los PIC es un poco mejor que Atmel de todos modos (solo por lo que escucho, no por la experiencia personal con Atmel, por lo que puedo estar bastante equivocado)

Por supuesto, no hay ninguna razón por la que no puedas usar ambos a largo plazo. Es bueno tener experiencia con una variedad de piezas, pero asegúrese de sopesar los costos / beneficios del esfuerzo adicional involucrado.

    
respondido por el Oli Glaser
-2

No confíes demasiado en el depurador, es la muleta lo que conduce a la pereza.

Tengo todas las herramientas necesarias para realizar la depuración en el circuito con AVR (AVR JTAG ICE MKII) y nunca lo uso, lo que hago en su lugar es:

  1. Comprende el código
  2. Tenga cuidado de escribir código robusto.
  3. Escriba el código que se puede probar (y depurar usando muchos mejores depuradores) en la PC en un marco que proporciona datos mucho mejores que los disponibles en la aplicación real.
  4. Inserte declaraciones impresas que estén # ifdef'ed out si algo sale mal.

Las ventajas de comprender realmente el código y escribir el código comprobable no pueden ser sobreestimadas o reemplazadas por un depurador.

De hecho, rara vez utilizo un depurador incluso en plataformas donde es muy, muy fácil (IDEA para Java o Perl, por ejemplo)

Activar un depurador puede engañarlo para que arregle los síntomas de los problemas en lugar de entender lo que sucede.

Claro, los depuradores tienen sus usos, pero no dejes que te guíe, no es tan importante en comparación con tus habilidades, disponibilidad de partes, disponibilidad de software o soporte comunitario.

Dicho esto, si hay otras razones para usar un PIC, hágalo, es importante obtener experiencia con una amplia variedad de partes.

    
respondido por el dren.dk

Lea otras preguntas en las etiquetas