Atmel vs Microchip

Estado
Cerrado para nuevas respuestas.
Me estoy encontrando justo lo contrario. Muchos están migrando de AVR y Freescale a ARM. No en vano, los frescales han sacado la línea flexis, donde con los mismo periféricos tienen cpu de 8 y de 32 bits, para evitar que la gente 'deserte'.

En el foro de AVRFreaks este es un tema recurrente, y al parecer, mucha gente acaba por dar el paso. Sobre todo ahora que los nuevos Cortex M3 solucionan algunos de los problemas que tenían (latencias de las IRQ, por ejemplo).

Por supuesto, estoy hablando de aparatos con 32 KB de flash p'arriba.

Otro ejemplo es que los nuevos Cypress y otros fabricantes, estan sacando líneas basadas en ARM. NXP (philips) hace tiempo que centra todos sus esfuerzos en los ARM, y no le va nada mal. Lo mismo ST, los Stellaris sólo hacen ARM's, Atmel los está potenciando mucho, etc.

Y si no, mira Microschip, que ha sacado los nuevos PIC32 para atacar en este sector. Muy bien de precio (un poco más caros que los ST y los Philips, por lo que sé), pero tienen encima el inconveniente de que usan (quizás porque lo compraron a precio de saldo debido a que no se vende) MIPS en lugar de ARM. Justo cuando el mercado se ha decantado muy claramente por los ARM, y los MIPS casi han desaparecido.

No en vano un depurador JTAG para ARM cuesta !9€! y los compiladores buenos son libres hasta 32K de programa, por no mencionar un GNU GCC gratuito que es tan bueno (porque lleva muchos años detrás, ojo) como los IAR y compañía. ST regala el compilador (basado en GNU GCC), IDE y herramientas de soporte, ojo.

Si no fuesen tan complicados (tanto de soldar como de programar), quizás serían más aceptados que los PIC y los AVR.

De hecho, en el trabajo tenemos el cambio de AVR a ARM que va dando muchas vueltas todos los meses, y parece que acabaremos por dar dicho salto. Claro que nuestras aplicaciones usan el ATmega128/1281, y añadir más prestaciones ya requiere algo más 'gordo'.
 
Los PIC32 lo sacan porque Microchip la verdad no tenía ni uno, y si lo sacan, lo sacan por negocios. A ver si llega el día que saquen libros de PIC32 en España.

Los PIC32 se verá con el tiempo si realmente se vende o no, por ahora son muy valorados por encima de otras marcas y que es muy bueno, eso dicen, ahora la realidad no se nada, nunca lo he probado.

También sacan PIC32 para que la empresa no se quede atrás, desactualizado, y sin ganancias.
 
hola a todos.

cierto que los arm tienensus ventajas lo que se debe es conocerlos para saber seleccionar la mejor opcion deacuerdo a la necesidad (PIC,AVR,ARM,DSP,etc).
en cuanto al ASM lo que sucede es que se programa de una manera mas inicial pero lo que dice Beamspot es cierto el tiempo de depuracion es mas largo y en ocasiones no se cuenta con este. La ventaja del C es que todas las librerias ya estan hechas y lo que toca hacer es invocarlas y listo eso si es una gran ventaja. En cambio en ASM te toca crear una libreria o una macro para poder minimizar tu programa.
Aunque mi posicion es un poco facilista creo que ahora la programacion en C es mucho mejor. Con lo poco que llevo aprendiendo sobre la programacion en C para los micros estoy convencido de que es mucho mas sencillo para el programador.

Ahhhh y otra cosa porque no proponemos unos temitas de proyectos para irlos desarrollando durante los tiempos de ocio. ya que podemos ofrecernos grandes aportes y aprendemos a escuharnos y a recibir cr{iticas de como esta avanzando nuestro proyectico de micro. les parece es que ahora estoy en vacaciones de la maestria y solo estoy trabajando para podernos distraernos un rato.
 
jhon364 dijo:
creo que ahora la programacion en C es mucho mejor.

Creo que deberías creer a decir exactamente que C es lo mejor. Mejor en facilidad y tiempo Calidad, fiabilidad, velocidad y el peso de la memoria flash y ram mejor es en ASM.

Creo que eso es lo que deberías decir para dejar las cosas claras, eso si, C es mejor que ASM en lo que dije arriba.

Y quizás algún día saquen más lenguajes para PIC que sean más fácil.
 
Meta dijo:
Creo que deberías creer a decir exactamente que C es lo mejor. Mejor en facilidad y tiempo Calidad, fiabilidad, velocidad y el peso de la memoria flash y ram mejor es en ASM.

Creo que eso es lo que deberías decir para dejar las cosas claras, eso si, C es mejor que ASM en lo que dije arriba.

Y quizás algún día saquen más lenguajes para PIC que sean más fácil.
Tienes razón Meta:
Pero lo dejo mas claro:
C: Mejor en facilidad y tiempo.
ASM: Mejor en velocidad, menor peso de la memoria FLASH y mejor optimización de la RAM.

La Calidad lo dejo aparte porque depende mucho del programador.
Y la fiabilidad depende tambien del compilador.

No podemos enfrentar las dos porque estamos hablando de PIC que fué pensado para programas diminutos con muy poca memoria RAM. O sea que esto necesita de un muy buen programador en ASM para aprovechar al máximo las potencialidades de los PIC.

Es muy fácil poner un gran procesador con mucha flash y RAM de sobra, usar lenguaje C y volar con los punteros y arrays.....pero esta nunca fue la idea de Microchip.
Los procesadores de microchip son una gran idea para soluciones pequeñas. Si tienen o no competencia es irrelevante. Son muy buenos, se programa rápido, consumen poco, no se rompen nunca (ni con un corto en un puerto).
 
jhon364 dijo:
....La ventaja del C es que todas las librerias ya estan hechas y lo que toca hacer es invocarlas y listo eso si es una gran ventaja. En cambio en ASM te toca crear una libreria o una macro para poder minimizar tu programa.
Aunque mi posicion es un poco facilista creo que ahora la programacion en C es mucho mejor. Con lo poco que llevo aprendiendo sobre la programacion en C para los micros estoy convencido de que es mucho mas sencillo para el programador........
No estoy de acuerdo.
Cuando llevas mas de 20 años programando en C, C++, y ASM para Z80 (Zilog), 8085 (Intel), 6809 (Motorola), PIC (Microchip), etc, te das cuenta que cada cosa tiene lo suyo, siempre te falta algo. Si no te falta memoria, te falta velocidad.
El C es muy bueno hasta que te quedas sin hardware, el ASM es mejor pero llevas horas de lucha.
No existe lo mejor ni lo ideal. Solo la experiencia te dirá que fabricante usar, que hardware, cual compilador.
 
Estoy de acuerdo con lo que aclaraste javier, porque es la verdad siempre hara falta algo para resolver esa es la ley de la vida y para eso estamos los ingenieros para resolver problemillas.
 
Hola:

Siento meterme tan poco, pero estoy de vacaciones en un sitio donde no tengo internet.

Suscribo la opinión de Javier Rambaldo en todos sus puntos. En algunos casos (que conste que me dedico mucho más al hard que al firm) he tenido que bajar al ASM por los mismos motivos. Y lo raro es escaparse a ese hecho.

Y lo de los microcontroladores que lleven de todo, como dice Meta, es el camino que parecen seguir muchos al escoger los ARM/PIC32. Incluso en estos casos, se suele poner un sistema operativo tipo FreeRTOS, donde buena parte está escrita en ASM. Eso sí, con las macros y algo de paciencia se hacen muchas cosas rápidas, a partir de las librerías, y con poco o nada de depuración o ASM.

Y respecto de los AT90S/ATtiny, no te recomiendo ninguno de los dos... Mi consejo es un ATmega. Concretamente, el ATmega16.

Por supuesto, voy a darte motivos, ya que me gusta atender a razones:

Los AT90S tienen un 'core' más viejo (no lleva el multiplicador, por ejemplo) y hoy por hoy Atmel ha decidido no fabricar más, así que saca los 'pin compatible' y listo. Por suerte, el conjunto de instrucciones de los AT90S es el subconjunto más pequeño y es común a todos, incluyendo los ATtiny. Eso siginifica que un programa escrito para los AT90S8515 se puede ejecutar en un ATmega8515 sin cambios.

Los ATtiny tienen el inconveniente de los periféricos. En concreto, el USI, que el que se suele usar como puerto serie. Eso siginifica que en la mayoría, para usar el puerto serie, hay que añadir mucho código, y este es complejo.

Por eso, recomiendo un micro sencillo y fácil de encontrar como es el ATmega16, que también es el que viene con el STK500 de fábrica (otra de mis recomendaciones), con un puerto serie, un timer de 16 bits y dos de 8 bits, bastente RAM y FLASH, EEPROM, cuatro puertos paralelos, SPI e I2C (llamado TWI en los AVR para no pagar royalties). Es bastante completo y hay muchos ejemplos, programas escritos, y literatura... en inglés, claro. También tiene multiplicador hardware. Fácil de soldar al ser 40 PIN DIP.

Usar el puerto serie para depurar en este micro es muy sencillo, y con pocas líneas de código basta.

Otra ventaja que tiene es que es pin y periféricos compatible con otros micros más grandes como el ATmega32, M324, M644, y la bestia M1284.
 
Beamspot, gracias por la información, no lo sabía.

En winpic800 veo estos, por ahora el creador se centra mucho en los PIC, aunque me dijo tener idea de meter hasta los Motorola, requiere mucho tiempo y dedicación, cosa interminable que se logra poco a poco. Ahora le dio por meterse con los PIC32 y seguirá así, ya que son nuevos no quiere que se le escape ninguno y así la gente usar el winpic800 hasta para ellas.

Los AVR debería meter algo de 32 Bits o 16 Bits.

La verdad lo que he oído decir que son muy buenos, es en cosas de Web server como los que utilizan los routers.

Cuando saquen libros en español, habrá más posibilidades que la gente lo vean en librerías y poder animarse mejor ya que en libro es una buena guía para empezar.

http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/moodle/

Gracias a este libro está los PIC y éste se vende demasiado y muy recomendable.
http://www.pic16f84a.com/

¿Dónde hay libros en español de AVR de Atmel? Pues cuando algún autor se anime ha hacerlo, cosa que lo más probable que ocurra en el futuro. No todos se llevan por el Inglés.
 
Aunque el PIC32 sea nuevo, tengo entendido (que conste que no estoy muy seguro) que el core no lo es tanto, y que es conocido y usado en aplicaciones de routers. Por eso, hacer aplicaciones para los PIC 32 como servidor WEB ha sido rápido y fácil. Ya estaban hechas y sólo las han tenido que adaptar a los periféricos (o viceversa, ojo).

El problema que les veo, es que en los routers apareció la guerra entre MIPS (la arquitectura de los PIC32) y la ARM, y se ha decantado fácilmente por los últimos, hasta el punto que hasta la mismísima Intel fabrica ARM's. Probablemente pase lo mismo con los micros de 32 bits.

Hay ARM's 7 por menos de un euro y medio (ST, Philips-NXP) y Atmel tiene los ARM7 por menos de 3€. Hasta el punto que el AT91SAM7S64, muy parecido al ATmega64, es más barato que este último. Y hay de todo, desde sistemas operativos hasta servidores WEB. Tengo uno de estos últimos en casa, con FreeRTOS y servidor web integrado. Las librerías y herramientas de desarrollo para ARM no se las acaba nadie.

Por cierto, Atmel tiene los AVR32 que son una caña, pero compiten con los ARM9 o incluso ARM11 (como los de la Nintendo DS y de la PSP).

Respecto del libro de AVR's en español, estoy empezando a pensar en escribirlo yo mismo, ya que no hay nada, y creo que habría demanda. Pero no se que editorial usar. Esto totalmente de acuerdo contigo en que la falta de material sobre los AVR en español es una seria (y muy seria) desventaja. Y la gran ventaja de los PIC.
 
Beamspot dijo:
Por cierto, Atmel tiene los AVR32 que son una caña, pero compiten con los ARM9 o incluso ARM11 (como los de la Nintendo DS y de la PSP).

Respecto del libro de AVR's en español, estoy empezando a pensar en escribirlo yo mismo, ya que no hay nada, y creo que habría demanda. Pero no se que editorial usar. Esto totalmente de acuerdo contigo en que la falta de material sobre los AVR en español es una seria (y muy seria) desventaja. Y la gran ventaja de los PIC.

Menuda explicación, veo que eres un profesional con los microcontroladores. Hacer un libro puede tardar años, sobre todo el tipo www.pic16f84a.com que el autor me ha comentado que ha tardado mucho incluido hacer ejercicios.

Este libro de PIC la verdad es lo mejor que he visto en ensamblador. Ahora, lo de la editorial te informaciónrmas de todas las que hay y las que te interesan, la idea es que haya libros. En cuanto de que aún no hay libros en español de AVR, cosa que también ocurrió con Freescale (que ahora tiene un libro nuevo http://alfaomega.internetworks.com.mx/libros_virtuales/motorola/moodle/), ahora le toca el turno a AVR. Desde que haya más libros de AVR, coge ventaja y crece las ventas, habrá más ventas de AVR, ejemplos, todo los que tiene pic ahora. Porque si uno se descuida, el que crece es Freescale.

Suerte con ese libro.


PD: Sobre los PIC32, hasta hay una web propia con personas incluidas sus propios proyectos. Veo que cada vez hay más aceptación sobre estos pic32. Me la juego que al final habrá librosssss de este pic32.

http://www.mypic32.com

Saludos.
 
Hablando de Freescale, en en mi curro se eligió al final uno de estos en frente a PIC y a Cypress. Hacía falta algo muy pequeño, y lo más barato salía el freescales ese, por 71 céntimos. El ADC de 12 bits es determinante, y sólo el Cypress lo tiene.

Pero resulta que la competencia, TODOS, usan AVR's para hacer exactamente lo mismo. Lo bueno es que el conversor de 10 bits, con algunos truquillos (que sólo funcionan en los AVR), llega a los 12 bits necesarios.

Claro que hace falta probarlo todo, ya que los 12 bits de Freescale pueden no ser reales. Que conste que hice presión al jefe para hacer prototipos con todos los micros (Freescales, PIC, AVR y Cypress) y comprobar los resultados que diesen de verdad.

Sinceramente, para la aplicación (termostatos simples puros y duros) creo que el mejor es el Cypress (14 bits comprobados dan para lo que se necesita). Miraté la página de www.ako.com, y busca la competencia (dixell, eliwell, carel). Sólo Ako usa los Cypress, el resto, todos AVR's (ATmega168, para ser más precisos).

Particularmente he hecho bastantes proyectos comerciales con los AVR y alguno con los Cypress. Con los ARM no he hecho nada comercial, pero sí algunas cosillas. Así que ciertamente, me he peleado bastante con muchos micros (incluyendo los frescales) a nivel de prestaciones, funcionalidad, soporte, etc. Y reconozco que en cuanto a 'bien situados', los PIC son de los primeros, pero para un uso industrial, lo tienen bastante difícil. Freescales es una compañía muy agresiva cuando hay pedidos gordos de por medio. Cypress tiene unos micros que hay que 'echarles de comer aparte' por el tema de periféricos, lo cual les da muchas ventajas (ahorran mucha circuitería). Los AVR tienen una relación prestaciones/precio excelentes... para ser ocho bits. Pero ahora por lo que se refiere a prestaciones los ARM están arrasando (Cortex M3, 32K de flash, 4K de RAM y la pera de periféricos, por un euro u medio), así que están acabando con los 'micros gordos' tipo ATmega1281 y similares.

Hasta Cypress está trabajando en micros basados en CortexM3 (Atmel también, por supuesto). Eso sí, si uno es novato, ni hablar de estas malas bestias, recomiendo empezar con los PIC/AVR.

Por cierto, sobre los ARM sí que hay libros en castellano, en PDF, y gratis por internet.

Respecto del libro, igual propongo simplemente hacer una traducción de uno muy famoso en inglés, y que la misma editorial lo publique.

Que os divirtáis.
 
Beamspot dijo:
Hablando de Freescale, en en mi curro se eligió al final uno de estos en frente a PIC y a Cypress. Hacía falta algo muy pequeño, y lo más barato salía el freescales ese, por 71 céntimos. El ADC de 12 bits es determinante, y sólo el Cypress lo tiene.

Pero resulta que la competencia, TODOS, usan AVR's para hacer exactamente lo mismo. Lo bueno es que el conversor de 10 bits, con algunos truquillos (que sólo funcionan en los AVR), llega a los 12 bits necesarios.
Claro que hace falta probarlo todo, ya que los 12 bits de Freescale pueden no ser reales. Que conste que hice presión al jefe para hacer prototipos con todos los micros (Freescales, PIC, AVR y Cypress) y comprobar los resultados que diesen de verdad.

Por temas de conversores, hay externos como los PCF8591 externo con comunicación I2C. También puedes encontrar más bits.

Particularmente he hecho bastantes proyectos comerciales con los AVR y alguno con los Cypress. Con los ARM no he hecho nada comercial, pero sí algunas cosillas. Así que ciertamente, me he peleado bastante con muchos micros (incluyendo los frescales) a nivel de prestaciones, funcionalidad, soporte, etc.

¿Podrías decirme Web o aparatos que has hecho comercialmente? Ests cosas me gustan verlas sobre todo si alguien las hizo de este foro.

Y reconozco que en cuanto a 'bien situados', los PIC son de los primeros, pero para un uso industrial, lo tienen bastante difícil.

¿Por qué? Si hay cursos de Ciclo Superior (En España) de desarrollo de aparatos de electromedicinas basado en solo en PIC. Ahora que el PIC sea malo ya es otro cantar, la verdad se usa mucho.

Freescales es una compañía muy agresiva cuando hay pedidos gordos de por medio. Cypress tiene unos micros que hay que 'echarles de comer aparte' por el tema de periféricos, lo cual les da muchas ventajas (ahorran mucha circuitería). Los AVR tienen una relación prestaciones/precio excelentes... para ser ocho bits. Pero ahora por lo que se refiere a prestaciones los ARM están arrasando (Cortex M3, 32K de flash, 4K de RAM y la pera de periféricos, por un euro u medio), así que están acabando con los 'micros gordos' tipo ATmega1281 y similares.

Hasta Cypress está trabajando en micros basados en CortexM3 (Atmel también, por supuesto). Eso sí, si uno es novato, ni hablar de estas malas bestias, recomiendo empezar con los PIC/AVR.

Por cierto, sobre los ARM sí que hay libros en castellano, en PDF, y gratis por internet.

Tendré que encontrar ARM por ahí a ver como son.


Respecto del libro, igual propongo simplemente hacer una traducción de uno muy famoso en inglés, y que la misma editorial lo publique.

Lo de la traducción ahorra mucho tiempo, no había caído. Ahí tendrías que elegir la calidad del autor, extensión del libro, si es muy práctico como el de Ra-Ma, cosas así.

Que os divirtáis.
 
Je, je. Conozco perfectamente los ADC's externos (he usado varios, de hasta 16bits), pero cuando uno se mira 1 céntimo de euro, estos quedan descartados prácticamente a la primera de cambio. Total, para qué usar un micro (sea el que sea) de 0.8€ con un conversor de 10 bits cuando por 0.7€ tienes un freescales de 12 bits?.

AKO-15730, 15731, 15732, 15740, 15742, 15750, 15752. Registradores de temperatura con ATmegas.

AKO-52064. Alarma con Cypress.

AKO-53190. Controlador de niveles por ultrasonidos con ATmega64.

Hay más cosas, pero son puramente analógicas.

En lo de difícil para los PICs lo comento por los precios y la calidad de los Frescales (que conste que yo antes usaría los PIC que los Frescales, pero es por cuestiones que no tienen nada que ver con la calidad de los micros). Y a la competencia que hay en los micros baratos por parte de otros fabricantes.

Repito que en el sector en el que estoy (termostatos), TODA LA COMPETENCIA usa AVR's. Incluso los que antes usaban Freescale.

Y en lo que respecta a los micros que suban del euro y medio, parece ser que todo el mundo se está pasando a los ARM (sobre todo, Cortex M3). Incluso los de la competencia ya empiezan a usar los ARM de Atmel (aunque en estos momentos no son mis favoritos al no ser Cortex, todavía).

Personalmente, te recomiendo que les eches un vistazo, no está de más tener un poco de culturilla, y además comprobarás que todos los micros se están empezando a decantar por estructuras multiacumulador (el principal motivo de mi predilección por los AVR). Por cierto, los dsPIC también son multiacumulador.
 
Cada vez oigo más sobre AVR en internet, en la calle solo oigo nombrar los PIC de todo tipo, pero bueno.

Falta un buen libro sobre AVR para que la gente tenga una buena motivación para aprender en su idioma.
 
Hola...
soy nuevo en el foro ...bueno solo queria decir q yo he aprendido el AT89C52 de atmel con el libro "introduccion a los microcontroladores" de "gonsalez vazques"
creo q ese libro es español o mexicano, es el unico libro q he encontrado de la arquitectura 8051
 
Estado
Cerrado para nuevas respuestas.
Atrás
Arriba