Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

07/07/2008 #201


si comparto con ustedes eso de aprender un poco de todo...

y por otra parte estaria muy bien que pusieras ejemplos en C y asm, y sobre todo de los AVR ya que se encuentra muy poca información en español, libros no he encontrado...

gracias por adelantado....
17/07/2008 #202


Para eidtech
No había visto tú recomendación, gracias.

¿Donde puedo conseguir esos? Alguna tienda por internet o alguna tienda en especial aquí en México, ya que viajo 2 veces al año a México puedo aprovechar para comprarlos.

eidtech dijo:
fitocondria, te recomiendo mucho el MSP430 de TI, digo ya que te gusta conocer nuevos micros.
17/07/2008 #203

Avatar de Meta

Toño dijo:
libros no he encontrado...
Ni encontrarás libros en español sobre AVR por ahora, quizás en un futuro lo harán, los PIC y Freescale hay libros completamente en español.
17/07/2008 #204


Como bien sabe Meta, tengo otra guerra movida de PIC vs AVR (aunque un poco más genérica) en http://www.webdearde.com/modules.php...ewtopic&t=2066

Ahí se puede aprender un poco de C y de ASM de los AVR.

Y por desgracia, y como muy bien apunta Meta, no hay nada en español sobre AVR, excepto unos pocos comentarios (como la pesada introducción al DSP que se puede encontrar en la wiki del foro que he linkado anteriormente).

Y, ciertamente, esta es una gran desventaja de los AVR, y una gran ventaja de los PIC y los Frescales.
17/07/2008 #205

Avatar de Meta

Cada vez veo nombrar mucho los AVR, significa que el tiempo habrá libros en español, sea escrito por los propios españoles o traducción al español de libros ingleses o americanos. También pueden traducirlo cualquier habla hispana.

Con el tiempo de la gran desventaja que tiene AVR, será una ventaja a su favor.
20/07/2008 #206


desventaja es no saber ingles.

Saludos
20/07/2008 #207

Avatar de Meta

torresdelamora dijo:
desventaja es no saber ingles.

Saludos
Tanto para el que no sabe como para el que lo intenta vender.
20/07/2008 #208


torresdelamora dijo:
desventaja es no saber ingles.

Saludos

La mayor parte de la información (en cualquier area de ciencia y tecnología) que vale la pena se encuentra en ingles. El que no domina el idioma estara en gran desventaja.
21/07/2008 #209

Avatar de Meta

Siempre digo que no se inglés, en realidad tengo la base mínima para entender pero me agobio porque no leo con soltura y tengo que encontrar palabras que no conozco. El que no sepa nada, para eso están los traductores, a parte que voy a ir a una escuela de idiomas para aprender bien , pero no por entender libros en Inglés sino que en trabajo o empleo me lo exigen.
21/07/2008 #210


Por muchas clases de inglés que hiciese, y muchas guiris con las que ligase, al final aprendí ingles leido a base de leer datasheet, y hablado al encontrarme solo en paises extranjeros.

No saber inglés, hoy por hoy, es desengarcharse del mundo de la tecnología, o al menos, ir muy por detrás. En muchos aspectos.
21/07/2008 #211

Avatar de Meta

Beamspot dijo:

No saber inglés, hoy por hoy, es desengarcharse del mundo de la tecnología, o al menos, ir muy por detrás. En muchos aspectos.
No está tan mal como dices porque siempre traducen gente a su idioma los manuales, siempre lo hacen y sabiendo mucho Inglés. Lo hago porque me lo piden en el trabajo y me quieren llevar a Alamania a un curso de mantenimiento de equipos médicos y en Inglés, también debo ir a Madrid.

Poco a poco aunque no lo parezca, leyendo cosas en inglés, viendo pelis con subtítulos en Inglés, chat, cosas así aprendes, el chat cuesta más porque hablan mal y abreviado como los españoles.

Aún así, mejor meterse en una escuela de idiomas. Me lo piden en todos lados y es muy recomendable tener esos certificados de idiomas de cualquier nivel.
21/07/2008 #212


Que casualidad, yo también empecé con equipos médicos, sólo que fui a Suiza la primera vez, luego a San Francisco/Silicon Valley, y luego a Alemania.

Fue en Alemania donde realmente aprendí ingles, ya que en los USA había más mejicanos que americanos, y en Suiza, la profesora resultó ser española, y buena traductora de lo que no entendía de los otros profesores, que hablaban un inglés con demasiado acento alemán.

O sea, que al final con tanto curso en el extranjero no necesito las escuelas de idiomas. Eso sí, nunca están de más en el currículum.
22/07/2008 #213


No saber inglés es como no saber C...

22/07/2008 #214


Pregunta trampa?

Las diferencias son varias: la parte del procesador (el llamado 'core') es muy diferente entre los dos. La manera de acceder a la memoria (RAM, de programa, periféricos) es diferente. Los periféricos, su funcionalidad y los mapas de los registros son muy diferentes.

En el 'core', tenemos que los PIC (pequeños, que los de 16 bits ya no cuentan), son el clásico con un sólo registro acumulador (Working) y varios registros auxiliares. Mientras, en los AVR, el sistema usa 32 registros tipo acumulador que a la vez son registros auxiliares.

Los PIC tienen un juego de instrucciones más pequeño, de manera que aprender el ensamblador es más fácil que con los AVR que tienen muchos más (unos 120 a 131, según modelo).

El acceso a memoria de los PIC es más complejo debido a que tiene la RAM y los registros (por favor, los maestros del PIC que me corrijan si me equivoco) dividida en páginas. Eso hace que para acceder a un dato de la RAM quizás se deba seleccionar primero la página en la que este se halla.

En los AVR, esto no pasa, pero en cambio, las direcciones de la RAM y/o los registros son de 16 bits en lugar de 8.

Los PIC ejecutan la mayoría de instrucciones en 4 ciclos de reloj. Los AVR lo hacen en 1 ciclo de reloj (eso no es exactamente cierto, ya que en realidad los AVR tienen un Pipeline de dos estados: fetch y ejecución), de manera que con un reloj (cristal de cuarzo) igual en un PIC que en un AVR, el último va (en teoría, que esto no es la realidad) cuatro veces más rápido.

El hecho de tener varios acumuladores en los AVR significa que para hacer lo mismo, se necesita acceder menos veces a la memoria RAM, y por tanto, el programa en ensamblador es más corto, y encima se ejecuta más rápido, al no tener que ejecutar las instrucciones de acceso a memoria. Y aún más si no tiene que ir cambiando de página de memoria. Lo cual relativiza mucho el término 'velocidad'.

En cuanto a precio, probablemente haya algunas diferencias, sobre todo en la parte de los micros más 'pequeños', que sea favorable a los PIC.

Otra diferencia, es que el programa en ensamblador de un PIC 12f seguramente no sea para nada usable en un 16f. En un ATtiny las instrucciones son las mismas (quizás tenga algunas menos) que en uno grande (ATmega y ATXmega), así que el mismo programa seguramente se podrá ejecutar, si no hay particularidades de los periféricos (cosa muy habitual en todos los fabricantes, por cierto). La mayor diferencia de ensamblador y 'core' entre toda la gama AVR es la capacidad de direccionar más memoria (128KB implica pasar de registros de 16 bits a registros de 24), el multiplicador, y muy poco más, de ahí que las 110 instrucciones básicas sean las mismas en todos los micros, y el resto sea una ampliación.

Esto último desaparece si uno usa inglés, perdón, C

Respecto de los periféricos, bueno, cada fabricante tiene sus cosas, y encima las cambian de un modelo a otro, así que esto es demasiado específico como para generalizar. Quizás la excepción aquí sean los PSoC de Cypress, que es un animal muy diferente sobre todo en este aspecto.
23/07/2008 #215


Beamspot dijo:
Pregunta trampa?
....Otra diferencia, es que el programa en ensamblador de un PIC 12f seguramente no sea para nada usable en un 16f. .....
No es correcto: la linea de PICs 12F y 16F usan el mismo set de instrucciones. Puedes hacer cualquier programa para toda la linea media y baja de PICs (que son mas de 100 modelos distintos) y con seguridad va a funcionar.
Eso es una gran ventaja!
23/07/2008 #216

Avatar de Meta

Javier Rambaldo dijo:
Beamspot dijo:
Pregunta trampa?
....Otra diferencia, es que el programa en ensamblador de un PIC 12f seguramente no sea para nada usable en un 16f. .....
No es correcto: la linea de PICs 12F y 16F usan el mismo set de instrucciones. Puedes hacer cualquier programa para toda la linea media y baja de PICs (que son mas de 100 modelos distintos) y con seguridad va a funcionar.
Eso es una gran ventaja!
Otra pequeña ventaja es que las 35 instrucciones aparecen en los 18F y si quieres hacer lo mismo que un 16F84 la verdad puedes utilizar esas instrucciones sin usar las nuevas que te viene. Si usas las nuevas del 18F te ahorras más líneas de código ya que puedes hace cosas más directas que el 16F.

Para hacer adaptación de un 16F876A a 18F2550 ya que son el mismo patillaje, pues no cuesta nada adaptarla pero si lo haces al revés ya es más complejo porque las instrucciones que usa el 18F no se incluyen en los 16F, pero como dije antes, si en el 18F2550 usa las instrucciones del 16F, pues puedes adaptarla al 16F876A.

Cosas así es lo que importa y ahorra mucho tiempo.

PD: Me he dado cuenta que algunos le da pánico el ASM.
23/07/2008 #217


Gracias por las correcciones. Queda demostrado mi desconocimiento de los PIC.

Por cierto, a mí no me gusta mucho el ASM, pero también es por razones objetivas (escribo y depuro mucho más código en C que en ASM). Y además, creo que es fundamental tener buenos conocimientos de cómo funciona al menos el ASM del micro que uno programa.

A veces, para acabar de apurar tiempos, hay que bajar al ASM, y ahí es donde uno realmente aprende a programar.

Por desgracia, debido a los tiempos de desarrollo cada vez más cortos, hoy muchos prefieren poner micros que vayan sobrados de potencia de cálculo, y ahorrarse tiempo de depuración programando 'a saco'. Así que parece que vamos a acabar usando ARM's con mucha RAM para hacer algo que se haría con un 16F, pero que con el ARM desarrollamos en un día, y con el 16F igual tendríamos que depurar y afinar durante a lo mejor semanas o meses.
23/07/2008 #218

Avatar de Meta

Beamspot dijo:
con el 16F igual tendríamos que depurar y afinar durante a lo mejor semanas o meses.
No te pases.
24/07/2008 #219


Me refiero que a algo como un pequeño filtro o FFT, en un ARM es 'copiar y pegar'. Sin problemas de restricciones. Hacer lo mismo con un PIC sería bastante más arduo, por no decir imposible.

Pero el ejemplo lo he visto con una FFT sobre los 50Hz de la red, que con un AVR se conseguía haciéndolo a mano con ASM, y se tardó bastante en optimizarlo. Con un ARM, en una mañana estaba hecho.

Por supuesto, no estaba ni la mitad de optimizado, ocupaba más memoria, gastaba más RAM, etc. Pero el coste de I+D superaba con creces la diferencia de precio. Es más, con los ARM ahora por un euro y medio, incluso los dsPIC quedan en entredicho (por supuesto, también los AVR grandes).
24/07/2008 #220

Avatar de Meta

La verdad que los ARM poco va hacer frente en el mercado junto con los PIC, AVR y Motorola.
Tema Cerrado
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.