Escogiendo un microcontrolador

2

Estoy buscando alejarme de arduino, y comenzar algunos proyectos usando microcontroladores con muchas funciones. He estado buscando en el PIC18F4550 por su conjunto de funciones, pero me estoy alejando del PIC productos, principalmente porque no tengo un programador, y el picKIT es un poco caro ($ 50 para picKIT II, $ 70 para picKIT III). No he investigado lo suficiente sobre las ofertas de AVR, pero creo que me gustaría. Esto es lo que estoy buscando:

  1. 32+ pines de E / S digitales
  2. Programable con un mínimo de hardware externo. Puntos de bonificación si puedo aprovechar el chip usb en un tablero arduino dev, o mi ftdi-usb cable para programarlo en el barato.
  3. Construido en USB. Esta es una de las razones por las que realmente me estaba inclinando hacia el 18F4550. ¿Hay un chip AVR comparable que tenga capacidades USB integradas?
  4. Buenos recursos en línea: me gustaría aprender a ensamblar directamente, y sería bueno si hubiera buenos recursos en línea para aprender a ensamblar para mi plataforma sin tener que leer una hoja de datos de 500 páginas.
  5. Montaje en orificio pasante.
  6. Circuito externo mínimo para ponerse en marcha. Un oscilador interno sería genial para un prototipado rápido, pero no tengo ningún problema en lanzar un cristal si tengo que hacerlo.

¿Alguien tiene alguna recomendación de una manera u otra?

    
pregunta captncraig

6 respuestas

4

Aunque el PIC18F4550 es una unidad decente y hay algunos ejemplos de su uso para USB, todavía es de 8 bits y probablemente esté en la misma "liga" que su Arduino.

Si desea un poco más de potencia, tal vez buscaría el PIC24 / dsPIC de 16 bits (mucho más potente y aún disponible en el orificio pasante) o incluso el PIC32 (montaje en superficie solo, sin embargo, y generalmente usaría C para programarlo)

Pensé que el PicKit3 (supongo que te estás refiriendo a esto) no fue tan malo en cuanto a precios como lo hacen los programadores, pero si quieres más barato podrías ir por el PicKit2, que aunque ya no tiene soporte oficial, todavía se podrá utilizar con 99% de la gama de microchips.
También hay muchos otros programadores decentes para los PIC, por ejemplo, Embed Inc ofrecimientos : si va por el 16- partes de 3.3V bit Me imagino que $ 25 LProg sería adecuado.

Aunque los recursos en línea y un buen libro relacionado (p. ej., Learning to Fly the PIC24 - tenga en cuenta que esto está basado en C) hace que comenzar sea más fácil. se acostumbra a leer las hojas de datos (y el Manual de referencia familiar en el caso de PIC24 / dsPIC), es una parte necesaria del uso de cualquier microcontrolador y la única forma (IMHO) de aprender a usarlas por completo, especialmente los complicados Incluso el libro anterior (aunque está bien escrito) pierde muchos detalles de nivel inferior.

    
respondido por el Oli Glaser
2

Personalmente lo juro por los chips PIC.

A menudo los juro también.

Sí, obtienes muchos pines IO. Sí, tienes un oscilador interno. Sí, obtienes USB, CAN, SPI, I²C, ADC, DAC (en algunos dsPIC), el fregadero de la cocina e incluso la luna en el stick.

Por desgracia, el soporte en línea es incompleto en el mejor de los casos. Hay una biblioteca de aplicaciones bastante completa disponible para descargar, pero la forma en que se ha creado deja mucho que desear.

¿Dices que el programador PIC es un poco caro? No tiene por qué serlo. Yo uso un clon barato de eBay. No tiene todas las campanas y silbidos (sin depuración), pero funciona bien para mí y todo el software de programación principal funciona con él. El hardware es de código abierto: puede descargar los esquemas y el firmware de Microchip si lo desea. También puede descargar las especificaciones de cómo realizar la programación si desea crear su propio programador, es solo una versión en serie, por lo que (aparte del + 12V Vpp) debería poder crear un programador utilizando un Arduino.

En cuanto a otros ... Sé que las nuevas placas Arduino UNO han reemplazado el chip FDTI con un chip Atmel MEGA8U2, que tiene USB incorporado. No estoy seguro de si está disponible como un PDIP o no.

    
respondido por el Majenko
2

1 & 5: hay muchos modelos Atmel AVR que vienen en un paquete DIP de 40 pines, que cumple con estos requisitos. Un modelo de 40 pines que estoy usando ahora tiene 4 puertos IO de 8 bits == 32 IO (si no utilizo ningún otro periférico)

2: El arduino puede lograr este método de programación utilizando su cargador de arranque, que es algo que siempre reside en la memoria flash del chip. Para programar sobre UART (que es lo que el arduino está haciendo para la programación) puede requerir un poco de trabajo. Aquí hay más información sobre el cargador de arranque si tiene curiosidad. La buena noticia es que no necesitará ninguna. eso si utiliza un programador ICSP que no requiere circuitos externos.

3: Mira aquí y use ctrl + F en su navegador para encontrar partes compatibles con USB.

4: Tanto PIC como AVR tienen muchos recursos para aprender. No intente evitar leer una hoja de datos , esto es absolutamente esencial y no sé cómo podrá arreglárselas sin ella si desea escribir firmware (ensamblado o C) en cualquier plataforma .

5: Consulte el primer punto.

6: Los osciladores internos son casi una característica estándar en estos días. Una vez más, consulte la descripción de su producto o consulte la hoja de datos para estar seguro. Ejemplo: Al hacer clic en una parte aleatoria en el sitio de Atmel y al desplazarse por los parámetros, aparece un campo que le indica que Calibrated RC Oscillator: yes < esto significa que hay un oscilador interno.

No me preocuparía mucho sobre cuál (PIC o AVR) terminas eligiendo. De todos modos, es probable que tengas que comprar un programador de ICSP.

    
respondido por el Jon L
2

Me temo que si insiste en el paso a través del orificio USB y , es probable que esté atascado con AVR o PIC. La mayoría de los "chicos grandes" usan QFP o QFN para chips con USB y suficientes pines para tener 32 GPIOs. Sin embargo, usar una tabla de ruptura QFP no es tan difícil. Si estás dispuesto a intentarlo, aquí hay un par que puedo sugerir:

1) MSP430. Una bonita arquitectura de bajo consumo de 16 bits, un buen conjunto de instrucciones, periféricos bastante simples (IMO). Un kit de $ 4.30 está disponible como una introducción sin riesgos (incluye programador y depurador). Sin embargo, las piezas DIP, como en el Launchpad, son bastante limitadas y tendrías que usar QFP si quieres algo para tus requisitos

2) Un chip ARM Cortex-M3 o Cortex-M0. Hay varias ofertas en el mercado, por ejemplo, la serie LPC de NXP (consulte LPCXpresso , alrededor de $ 30) o STM32 de ST (STM32VLDISCOVERVER , alrededor de $ 12). Estas bellezas son de 32 bits, por lo que tienen mucha potencia, pero son algo más complejas que las de 8 bits.

    
respondido por el Igor Skochinsky
1

¿Por qué no te quedas con Arduino? Arduino Due usará MCU basada en ARM SAM3U de Atmel?

    
respondido por el avra
1

Si desea aprender el lenguaje ensamblador, le sugiero que obtenga un buen programador que admita la depuración. Estos son generalmente más caros ($ 50-100) pero cuando tiene un error que no puede entender, no hay nada mejor que ver lo que está pasando dentro del MicroController. Dado que viene del mundo de Arduino, probablemente esté muy acostumbrado a depurar utilizando la salida de datos a través de un puerto serie, pero especialmente si desea aprender el lenguaje ensamblador simplemente habilitando un puerto serie sin un depurador requerirá "Codificación en la oscuridad" ".

Realmente me ha gustado ATXMega. Muchos de los chips Atmel pueden programarse en C usando el software Atmel Framework, que tiene excelentes ejemplos y hace un gran trabajo ocultando el uso de los punteros (que es la gran ventaja con la programación de Arduino). Cumple todos sus requisitos anteriores, incluidos algunos con USB y especialmente I / O con 34-78 en paquetes de 44 a 100 pines, excepto que solo está disponible como Surface Mount pero lo he soldado a mano con un soldador, una mecha de soldadura y una ampliación de 7x para verificar que no haya Cualquier puente de soldadura.

Realmente me gusta Atmel Studio, estoy un poco sesgado porque mi trabajo diario usa Visual Studio y Atmel Studio se basa en ello. La depuración en Atmel Studio es realmente agradable con todos los registros de configuración y sus estados claramente visibles. He podido probar PCB fabricados a medida utilizando solo un método main () y el depurador.

    
respondido por el James

Lea otras preguntas en las etiquetas