¿Cuántos pines PWM de hardware y ADC en el ATxmega128A1?

0

Como menciono en otra publicación Estoy tratando de encontrar un microcontrolador que pueda manejar un hexápodo Lynxmotion . Desafortunadamente, estoy atascado con los servos de hobby, así que me gustaría tener un controlador con 18 pines ADC y generar 18 señales PWM (en hardware en lugar de en bit banging). Mirando a través de hoja de datos para la ATxmega128A1 parece tener lo que necesito, pero no estoy seguro de que esté interpretando el documento correctamente.

La forma en que lo leí el chip tiene 8 temporizadores de 16 bits. Cada uno de 4 de los temporizadores tiene 4 comparadores y cada uno de los otros 4 tiene dos para un total de 24 pines en total que pueden generar PWM. También parece tener 2 ADC con 4 registros de resultados cada uno y 4 vías para un total de 32 pines con ADC. Los pines para los temporizadores y el ADC parecen estar en puertos diferentes, por lo que no hay conflicto entre ellos. Mi pregunta es, ¿es correcta esta interpretación?

    
pregunta DaemonMaker

2 respuestas

0

Un colega señaló que cada uno de los puertos A y B solo tienen 8 pines cada uno. Esto se puede ver haciendo referencia a la Figura 3-1 de la hoja de datos. Desafortunadamente, esto significa que, de hecho, solo hay 16 pines con ADC, no 32 como pensé anteriormente. De manera similar, dado que los temporizadores están en los puertos C, D, E y F, y también están limitados a 8 pines, solo debe haber 16 pines capaces de generar PWM.

    
respondido por el DaemonMaker
0

Hay expansores de E / S externos con PWM.
PCA9671 por ejemplo, tiene un I 2 interfaz C.
OpenServo . Es una tarjeta de actualización de posventa para un servo comercial R / C, que acepta comandos a través de I 2 C. (disponible en sparkfun )

P.S. No es una idea errónea que los servos de hobby realmente requieran hardware PWM en el lado μC. Los servos deben actualizarse con un pulso cada 20 ms. Se puede actualizar una gran cantidad de servos desde una única rutina de servicio de interrupción por temporizador (ISR).

    
respondido por el Nick Alexeev

Lea otras preguntas en las etiquetas