ImageImageImageImage
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

El fin de la guerra PIC-AVR.

Postea todo lo relacionado con el mundo de los microcontroladores aquí

Moderator: Junta Directiva

Post Reply
Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: El fin de la guerra PIC-AVR.

Post by Ranganok » Tue Apr 26, 2011 7:01 pm

Hombre, implmentar una FAT si no la vas a usar yo lo veo una tontería, se pierde mucho espacio aprovechable, pero siempre hay que valorar otros temas (tiempo/coste del desarrollo, etc.), pero me suena lo que estás diciendo de ir justos de código, lo bueno que tienen los PICs es que generalmente los traslados de código no son demasiado traumáticos (pin a pin compatibles y esas cosas), pero ya es decisión del que decide...

Como he dicho, si es para aprender adelante, yo estoy ahora mismo en una época en la que me obligan a aprender un micro nuevo (familia) o me da mucho palo (incluso obligarme yo mismo), tengo una placa de ARM de desarrollo en casa (la de ST) y todavía no la he sacado del blister, así que imagínate... además como PIC va a unificar el front-end de los compiladores para todas las familias, me da incluso más pereza...

Los PIC24F están justo entre los PIC18F y los dsPIC (y PIC24H que estarían a la par), no son micros de 8 bits por lo que te dan más libertad pero no llegan al nivel de "complicación" de los dsPIC.

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
Meta
Forero Habitual
Forero Habitual
Posts: 142
Joined: Sun Jan 20, 2008 8:49 pm
Location: http://electronica-pic.blogspot.com
Contact:

Re: El fin de la guerra PIC-AVR.

Post by Meta » Tue Apr 26, 2011 10:57 pm

Buenos comentarios arriba.

En cuanto a los PIC24 a los dsPIC. Los dos son de 16 Bits. Han cambiado la arquitectura de los dsPIC y son muy potente y fiable. Se les mira mejor a los dsPIC frente a un cambio a un ARM aproximadamente las mismas características.

Si son los 8 bits aunque sea los de gama alta como los 18F, te puedo decir quela gente mira más otras marcas. En cuanto a los PIC32, hay gente que deja ARM por PIC32. Tengo entendido que ARM le da mil vueltas a los PIC32, ¿qué le habrán visto?

Hay PIC de 64 bits hechos desde antes de salir PIC32, pero no los venden. Como se nota que no hacen falta, al menos por ahora.

ARM será lo mejorcito, no todo el mundo le hace caso.

Pensando en temas de automatización, sin entrar al mundo de los PLC. ¿Qué marca o modelo es recomendable?

Los PIC18 para cosas grandes he leído experiencia a otras personas del trabajo que se cuelgan a veces como Windows. Algunos PIC del nuevo diseño tiene fallos qu elo corregirán con el tiempo según farbicándose. Por eso es muy importante mirar la fecha de fabricacion de los PIC o cualquier otro microntrolador.

Total, con aprender algún pic http://www.pic16f84a.org/index.php?opti ... &Itemid=87" onclick="window.open(this.href);return false; vas perfecto para cambiarte a otra marca. El aprender no tiene edad.

De toda meneras el que reina para aprender y muchos ejemplos es el PIC, seguido de FreeScale (antes Motorola) y sobre todo AVR. ARM pisa cada vez más fuerte.

Saludo.

User avatar
beamspot
Usuario Desarrollador
Usuario Desarrollador
Posts: 1132
Joined: Thu Oct 11, 2007 8:56 pm
Nombre: Guillem

Re: El fin de la guerra PIC-AVR.

Post by beamspot » Tue Apr 26, 2011 10:59 pm

Comentarios sobre depuración de ARM, que de algo sirven, pues son los micros que más se venden (más de la mitad de los que se fabrican en el mundo, incluso más que los PIC) si sumamos las diferentes gamas. Por cortesía de los Smartphones y los coches, por cierto.

A ver, en corto: hay JTAG 'abiertos' (Wiggler clones, por ejemplo), semiabiertos (CooDebugger, por ejemplo), y cerrados, como los de Segger e IAR. Los buenos te pueden costar menos de 100 €, y Olimex los vende muy bien y perfectamente funcionales con el mismo IAR, por ejemplo.

Depurar ARM's por JTAG es muy sencillo: tienes cuatro líneas (TDI, TDO, TMS y TCK, mas masa), quizás cinco o seis (alimentación y reset, este último, opcional). El micro tiene estas líneas disponibles 'por defecto', en todos los casos. Sírvase conectar al USB y poner en marcha el compilador, seleccionar el despurador que tienes (ahí es donde entra toda la dificultad), y darle al botón de debug.

A nivel de HW, es muy sencillo de conectar. Además todos los ARM que conozco (7TDMI y Cortex M?) tienen bootloader por puerto serie y/o USB, de tal manera que no necesitarías ni programador, aunque el JTAG simplifica mucho la vida.

Una vez escrito un programilla, configurado el JTAG en el IDE, y enviado el programa al micro, depurar suele ser muy sencillo. Tanto como ir ejecutando paso a paso, saltarse rutinas, ir al cursor (ejecutar el programa hasta que éste pasa por donde tienes situado el cursor), poner 'breakpoints', resetear el programa, abrir la ventana de la RAM, o de los registros internos del micro, etc.

Lo mejor es seguir un tutorial del compilador que vayas a usar. El CooCox es gratuito y está muy bien para empezar, pero está muy mal (de momento) para depurar, pues falta mucha faena por hacer. Aún así, es un enorme y gran trabajo para ser gratuito, un ejemplo a seguir muy bien pensado.

El compilador más socorrido suele ser el IAR KickStart, que te compila gratis hasta 32K de memoria de programa, así como permitirte el depurar. El IDE está bastante bien, y las herramientas de depuración (con el JTAG de Olimex, que es el que uso para mi ARM de ST) están bastante bien, sin llegar al nivel de facilidad para el HW del AVRstudio, pero con opciones muy interesantes que no encontrarás en otros sitios, muy adecuadas para 'hilar fino' en el mismo programa.

La mayor ventaja del IAR (cosa que aplica a muchos otros compiladores de ARM), es que te permite programar y depurar CUALQUIER ARM de cualquier fabricante con el mismo programa y con el mismo JTAG. Tiene ejemplos a tutiplén, buena documentación, ejemplos de inicio, soporte, etc.

Para foros, solía acudir a AT91.com cuando empecé con los ARM de Atmel (los 'viejos 7TDMI'), ahora no sigo ninguno (tampoco trabajo mucho en el proyecto con ARM de momento), pero SparkFun tiene algunos, así como Olimex (el fabricante de uno de mis JTAG), que pueden ser un buen punto de partida.

Sólo como 'consejo insano': te recomiendo que eches una ojeada a la programación en ensamblador de los ARM y a su estructura interna. Es muy ilustrativo y formativo, sobre todo si ya tienes experiencia con los PIC. :twisted: :twisted: :twisted: Ah, y agradecería que me comentases tu opinión si haces dicha comparativa. Creo que sería ilustrativa para otros.

Respecto de los ARM propiamente dichos, los Cortex son más adecuados no sólo para empezar, si no también para sistemas embebidos. Empezar con un NXP (esos que antes se llamaban Philips, luego no se qué, luego no se cuantos) Cortex M0 puede ser lo más básico. De ahí a los Cortex M3 y luego los M4 hay poco. Para seguir luego con los periféricos divertidos: DMA, USB a 480MHz, Ethernet, Cypress PSoC 5, etc.

Y para rematar la faena, comentar que muchos de estos sistemas ya suelen usar sistemas operativos, como el FreeRTOS, el ya mencionado CooCox, u otros (los hay a patadas, pagando), que básicamente llevan el control de sistemas multitarea de manera fácil.

Sniff, si vamos a llorar, también puedo contar historias penosas, pero el compartirlas se agradece. A mí no me ha disgustado el comentario, y lo peor, es que la mentalidad de ese jefe es de las habituales por este norte de África en el que estamos, y la que ayuda a que nos hundamos en el tema del I+D. Una pena, porque hay gente muy válida por aquí, que es tildada habitualmente de 'friqui', y mirado casi con desdén, mera mano de obra de baja calificación.
Beamspot.

User avatar
Thoron
Principiante
Principiante
Posts: 33
Joined: Thu Sep 30, 2010 10:35 pm
Nombre: Thorontir
Location: Valencia

Re: El fin de la guerra PIC-AVR.

Post by Thoron » Tue Apr 26, 2011 11:41 pm

beamspot wrote:Sólo como 'consejo insano': te recomiendo que eches una ojeada a la programación en ensamblador de los ARM y a su estructura interna. Es muy ilustrativo y formativo, sobre todo si ya tienes experiencia con los PIC. :twisted: :twisted: :twisted: Ah, y agradecería que me comentases tu opinión si haces dicha comparativa. Creo que sería ilustrativa para otros.
Será cuestión de mirar la datasheet. No lo digo de broma: recuerdo que una de las cosas en las que más se empeñaba el profesor que me inició en esto de los microcontroladores era que justamente sin ASM no podías saber, al menos de verdad, como funciona el micro. Entre eso y que cuando empecé a trabajar en mi empresa usaban sólo ASM pues... Le cogí el gusto. Es obvio que no lo vas a utilizar para nada medianamente complejo, salvo que el tiempo sea crucial, pero vamos, que como "ejercicio académico"/presentación formal, pues oye, no lo veo tan raro. Aunque entiendo por tu comentario que lo que voy a encontrar me va a abrumar...
beamspot wrote:Y para rematar la faena, comentar que muchos de estos sistemas ya suelen usar sistemas operativos, como el FreeRTOS, el ya mencionado CooCox, u otros (los hay a patadas, pagando), que básicamente llevan el control de sistemas multitarea de manera fácil.
No se otra gente, pero yo lo de los RTOS no lo acabo de ver, de momento. Será la costumbre... Pero en cuestión de micros prefiero un flujo único, y saber -al menos en la mayor parte- quien puede interrumpir a quien y demás... Aunque debo decir que igual es cosa de no haberlos probado nunca...
beamspot wrote:Sniff, si vamos a llorar, también puedo contar historias penosas, pero el compartirlas se agradece. A mí no me ha disgustado el comentario, y lo peor, es que la mentalidad de ese jefe es de las habituales por este norte de África en el que estamos, y la que ayuda a que nos hundamos en el tema del I+D. Una pena, porque hay gente muy válida por aquí, que es tildada habitualmente de 'friqui', y mirado casi con desdén, mera mano de obra de baja calificación.
Lo de friqui me ha traido un episodio a la mente. Concretamente el dia que, sorprendido, me di cuenta de que gastaba una burrada en "plaquitas", kits de desarrollo y demás mariconadas. Y de que luego en el curro usaba muchas de ellas, en lugar de comprarlas ellos. Y se lo mencioné al jefe -no esperando que me las pagase, pero vaya, esperando que la cosa cambiase en el futuro- y el muy simpático se limito a decir que para que iba a comprar nada, si yo iba a seguir comprandome las cosas igual. Desde aquel dia no volví a llevar nada al curro. ¿Rencoroso? Quizá, pero al menos que se gaste la pasta. Que 100 o 150€ para la empresa no son nada, pero yo no estoy como para darme esos caprichos sin necesidad...

Por cierto, como curiosidad, cuando empezais con micros o familias nuevas, ¿tirais de kits de desarrollo u os montais una placa "a medida"? Porque como comentaba antes mi idea era rehacer la placa que tenia para el bicho, pero he visto kits de desarrollo bastante chulos por poco dinero. Concretamente en este mismo foro he visto que comentabais sobre placas low cost... la verdad es que ya me hacen dudar. Si en algo ha mejorado la cosa ultimamente, amén de velocidad -y caracteristicas en general- es eso: los precios de las placas demo y tal...
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

–Brian Kernighan

User avatar
Meta
Forero Habitual
Forero Habitual
Posts: 142
Joined: Sun Jan 20, 2008 8:49 pm
Location: http://electronica-pic.blogspot.com
Contact:

Re: El fin de la guerra PIC-AVR.

Post by Meta » Tue Apr 26, 2011 11:52 pm

Hola:

Hablando de Kits. Por lo que he visto, casi me compro este a 175 €.
Image
Leer más.

Mirando bien, prefiero hacerlo a medida.

En caunto a los kits de PIC que te venden la propia http://www.microchip.com" onclick="window.open(this.href);return false; son carísimos para lo que es. me enamoró un poco los módulos y se programa en C este http://www.rabbit.com" onclick="window.open(this.href);return false;.

Parece que ha cambiado de ubicación, ahora es http://www.digi.com" onclick="window.open(this.href);return false;

Si seguimos cambiado de páginas por páginas, confunden a los nuevos. Sigo mirando que los rabbit son superiores a los PIC32 con creces y muy poca gente lo conoce. Lo he hecho saber en foro por ahí, la mayoría de las personas sólo quieren PIC y aVR para aprender, otros no salen de ahí.

Saludo.

User avatar
Thoron
Principiante
Principiante
Posts: 33
Joined: Thu Sep 30, 2010 10:35 pm
Nombre: Thorontir
Location: Valencia

Re: El fin de la guerra PIC-AVR.

Post by Thoron » Tue Apr 26, 2011 11:58 pm

Los rabbit los recuerdo más bien para pasarelas ethernet... pero si, DIGI compró la compañía no hace mucho. De hecho, ha comprado ya varias, lo que pasa es que rabbit mantuvo la web y tal como compañías aparte, y ahora ya la ha integrado en la grande.

Por cierto, lo del "consejo insano" me llamó la atención. He encontrado esto que aunque es de ST imagino que valdrá para cualquiera, siendo cores idénticos...

No es que sea el set de instrucciones de PIC18, pero vaya, con el miedo que me había dado hasta me esperaba algo peor :D
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

–Brian Kernighan

Garrocha
Usuario Desarrollador
Usuario Desarrollador
Posts: 1108
Joined: Tue Aug 23, 2005 10:50 pm
Location: Sevilla[Es] - Montpellier[Fr]

Re: El fin de la guerra PIC-AVR.

Post by Garrocha » Wed Apr 27, 2011 12:59 am

¿Nadie anda trabajando con los MSP430 de Texas?
Ahora ando en fase de transición, ya que tienen micros que casi me libran de buena parte de trabajo (ando construyendo un "vatimetro inteligente") y los MSP430 - AFE http://www.ti.com/430metering" onclick="window.open(this.href);return false; hacen buena parte del trabajo en hardware, ademas de estar bien documentados para este uso. Otro tema sera cuando me tenga que enfrentar al Sr. Zigbee que me parece que tiene malas pulgas...

Pos eso ¿Alguien me puede dar su impresion sobre el 430?

FJ_Sanchez
Usuario Desarrollador
Usuario Desarrollador
Posts: 1082
Joined: Wed Jun 07, 2006 11:09 pm
Nombre: Francisco Javier Sánchez
Location: Vejer de la Frontera
Contact:

Re: El fin de la guerra PIC-AVR.

Post by FJ_Sanchez » Wed Apr 27, 2011 1:39 am

La arquitectura AVR te la explican en un capítulo del datasheet de cualquier micro, solo la programación de un ARM Cortex-M ya ocupa más que todo el datasheet... Son cosas incomparables, ya que solo saber manejar bien la NVIC te va a llevar más que aprender ensamblador de un micro de 8 bits cualquiera...
_ _ _ _ _ _ _ _ _ _

Hack your mind \\ F.J. Sánchez

Okupa tu mente. \\ _ _ _ _ _ _ _ _ _ _ _ _

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: El fin de la guerra PIC-AVR.

Post by Ranganok » Wed Apr 27, 2011 9:11 am

Respecto a las placas entrenadoras, a mi me suelen parecer demasiado caras para lo que suelen llevar por lo que he terminado haciendome las mías propias. Es más es un proyecto publicado en la wiki y que se podría ampliar para ir recogiendo a los ARM y demás procesadores que utilicemos... Me estoy refiriendo a esto:

http://wiki.webdearde.com/index.php?tit ... ntrenadora" onclick="window.open(this.href);return false;

Como podéis ver la "Entrenadora" es una plataforma muy abierta y se le puede añadir cualquier micro, desde un PIC de 8 patas a un ARM de más de 100.

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
beamspot
Usuario Desarrollador
Usuario Desarrollador
Posts: 1132
Joined: Thu Oct 11, 2007 8:56 pm
Nombre: Guillem

Re: El fin de la guerra PIC-AVR.

Post by beamspot » Wed Apr 27, 2011 9:50 am

Correcto, maese Thoron. Ese es el documento que te debes mirar, aunque yo tenía en mente el viejo (ya soy muuuuuy mayor para estas cosas :twisted: ) manual del ARM 7TDMI, donde convivían las instrucciones nativas ARM con las del Thumb (1). El Cortex M3 sólo usa Thumb-2. Lo que me llamó la atención era que tenía pocas instrucciones (creo que eran 32-35), menos que algunos PIC (los AVR tienen más de 100, los x86 más de 250), pero lo potentes que eran, y lo mucho que te permitían hacer, hasta tres cosas en una sola instrucción.

El core del 7TDMI es más complejo que el Cortex M3, que ofrece funciones muy parecidas al del dsPIC, pero no tiene el NVIC, ni otras cosas que en realidad son periféricos. El concepto de sistema multiacumulador es la base, junto con un juego de instrucciones muy pensadas y útiles.

Aún así, es un microcontrolador complejo (todo y el reducido número de instrucciones) y potente, con muchas cosas, con registros de 32 bits (muuuy largos comparados con los de 8), y sólo es aconsejable que se lo mire gente con experiencia. Pero este es el caso de Thoron, así que creo que esto no va a ser un handicap (el tiempo es otro asunto).

Para empezar, yo me hice mis primeras placas con AT91SAM7, pero me regalaron una ARM Stamp (que cuesta unos 25€), y ahora está la LPCXpresso, por un coste reducido, que son más aconsejables que el hacerse nada uno mismo.

Respecto de los micros de TI, sólo sé que son bastante potentes, baratos y de muy bajo consumo. De lo que sí estoy más enterado es de ZigBee. Si nunca has escrito protocolos de comunicación como el ModBus, 'agárrate bien los machos' y cálzate las botas más buenas que tengas. Y si puedes, huye de ZigBee y tira por tu propio protocolo sobre el IEEE 802.15.4. Y mejor si puedes usar stacks ya hechos.

Los transceivers más aconsejables son los de CC, ahora TI, y los de Atmel, seguidos del de Microchip. Ni se te ocurra gastar Frescales. Los de Atmel tienen modos de funcionamiento automáticos que te ahorran parte de la faena, tienen el mayor alcance, mientras que Microhip, aún dando más faena, tiene modos 'no estándar' de mayor baudrate (pero tienen muy corto alcance). Los transceivers de CC - TI tienen muchos registros que tienen poca usabilidad, pero tienen cosas interesantes, aunque básicamente la ventaja está en que fueron los primeros en salir al mercado (por eso tantos registros: para 'depurar') y por tanto cuentan con ventajas. Freescales, como siempre, a la primera de turno, te cobrará hasta por respirar y usar calzoncillos, te pedirá tu sangre y una declaración de hacienda para dejarte mirar el código, y luego te timará con el compilador. Y lo sé porque me ha pasado a mí. A los Ex-Mototrola, ni agua. Huye. Evítalos como a la peste.

Para más detalles sobre zigbee, Atmel tiene un modulito interesante (el RAVEN USB), y Microchip otro muy chulo y barato, que sirven para evaluar cosas. El trabajo estimado de 'escribir' un protocolo ZigBee completo básico como librería (sin contar la aplicación final), se estima en más de un año-ingeniero. Y no tiene mucha salida en el mercado, comparado con lo que se esperaba. El 6lowPAN se está llevando el 'premio': más ligero, más sencillo, más portable, abierto (no hay que 'homologar ni certificar'), necesita menos recursos, y la migración a TCP/IP es 'inmediata' (no en vano, es una 'reespecificación' del TCP/IP V6).
Beamspot.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest