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
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 » Fri May 13, 2011 1:01 pm

Muy bueno el enlace. Eso de Arduino que hice aquí, ya me tocará con PIC.

Esto de hacer lo que hacen entre ellos, la verdad que ha tardado mucho, era de esperar que ocurran estas cosas.

Hay competencia entre fabricantes, no guerra.

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 May 17, 2011 8:50 am

Algo como lo que tienes en PIC es el Pinguino, pregunta por aquí que ya está implementado.

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 » Tue May 17, 2011 1:07 pm

Por haber, hay placas con Cortex M3 (un NXP, creo recordar), que corren C# con .NET (picoframework o parecido), pensados para 'contrarrestar' el Arduino/Pinguino/Inventillo de turno.

Por supuesto, si el Arduino necesita 50 ciclos de AVR para conmutar un bit, frente a los 2 que necesita el AVRStudio/GCC gratuito, el C# necesita 500, pero el compilador también es gratuito, y de Microsoft, nada menos. :twisted:
Beamspot.

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 May 17, 2011 1:20 pm

Siempre debemos recordar que un PIC sólo necesita un ciclo de reloj para conmutar un led :twisted:

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 May 18, 2011 8:42 am

¿Un ciclo de reloj o un ciclo de instrucción (es decir 4x ciclos de reloj)?¿Sólo la instrucción de conmutación o incuimos la instrucción MOVLW previa?¿Alguien se acuerda de algo llamado pipelining de dos stages fetch y execution, que implica que en realidad todas las instrucciones necesitan dos ciclos de instrucción, aunque se ejecute una cada ciclo?¿Cabe recordar que para conmutar un bit no hace falta ni programa, ni microcontrolador y que con un interruptor y un dedo nos basta? :twisted:
Beamspot.

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 May 18, 2011 9:08 am

Teniendo en cuenta que todos los PIC de 18F para arriba llevan un PLL interno (4x) es un ciclo de reloj, y para un sólo pin no hace falta instrucción MOVWL sino sólo la instrucción de conmutación (BTG creo).

Por cierto, te recuerdo que que la estructura de los PICs es Harvard y no Von Newman (los Atmel ¿que usan?) lo cual se multiplexa el fetch y la ejecución.

Sobre la conmutación todo depende de la frecuencia, me gustaría verlo con un interruptor y los dedos hacerlo a 1MHz :twisted:

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 May 18, 2011 10:57 am

AVR's y Cortex M3 llevan Harvard. ARM7 TDMI lleva von Newmann. Frescales lleva formato propio, el más sencillo: sólo espacio de direccionamiento de memoria, no I/O ni direccionamiento de flash por separado. Los DSP's llevan doble o triple bus, extendieno la arquitectura Harvard para poder leer a la vez de la Flash, de la RAM y/o de I/O, todo a la vez, mientras multiplican (RAM/IO con Flash) y acumulan.

Si los AVR accedes a un puerto, que es direccionable bit a bit, sólo es una instrucción, que también es un ciclo de reloj y un ciclo de instrucción, pues en los AVR y ARM, un ciclo de reloj es también un ciclo de instrucción. Si accedes a un registro de memoria no direccionable bit a bit, primero hay que leerlo y luego guardarlo con la modificación (si mal no recuerdo, ya que en C es más sencillo/transparente).

Nota 1: los Cortex M3 permiten redireccionar la RAM a espacio de Flash. En realidad el sistema de direccionamiento y gestión de la memoria es un Harvard ampliado con ciertas mejoras, sobre todo si tienen EBI. Eso permite, al igual que en los ARM7TDMI, ejecutar código desde RAM, cosa que ni los PIC ni los AVR permiten. Ah, y como la RAM es más rápida, encima el código puede ejecutarse a toda velocidad sin usar cachés ni nada por el estilo.

Nota 2: Llevos unos días falto de sueño y muy estresado, así que pido disculpas si tengo algún exabrupto o alguna salida de tono. Es lo que tiene ser papá...
Beamspot.

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 May 18, 2011 11:14 am

Nada, tranquilo, si sabes que me encanta picarte con este tema :P

No hay ninguna salida de tono, (al menos que yo haya visto).

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 May 18, 2011 2:11 pm

Como si a mí no me gustase entrar al trapo. ;) :mrgreen:
Beamspot.

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 » Sun Jul 10, 2011 11:52 am

beamspot wrote:Por haber, hay placas con Cortex M3 (un NXP, creo recordar), que corren C# con .NET (picoframework o parecido), pensados para 'contrarrestar' el Arduino/Pinguino/Inventillo de turno.

Por supuesto, si el Arduino necesita 50 ciclos de AVR para conmutar un bit, frente a los 2 que necesita el AVRStudio/GCC gratuito, el C# necesita 500, pero el compilador también es gratuito, y de Microsoft, nada menos. :twisted:
Si hacen cosas de estas con C# .NET, mucho mejor que mejor ya que es mi lenguaje preferido. Eso si, este año me queda aprender VB .net a fondo en clase. Bastante el curso pasado di Python que no me gusta y Java que se parece muchísimo a C#.

C# también se programa en Linux gracias a Mono Develop.

Otra cosa, todos los PIC no incluyte PLL como los 18F. Para los 16F un ciclo máquina es cuatro ciclos de reloj.

Te lo explica en su oja de datos.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest