PWM de 12bits? Alguien puede explicarlo?

Hola amigos, a ver si alguno me puede ayudar con el proyecto, es una pantalla led con 40 led de 3w, 700ma cada uno y 3,2-3.8v, o 5 series de 8led o 8 series de 5, todavia no lo he decidido, el caso, va con un arduino mega y mosfets, los irfz44n, los pines pwm dan 255 pulsos pero leyendo he encontrado que se puede conseguir 4096 pulsos con pwm de 12bits, no hay apenas documentación en español, y lo poco que he conseguido entender es que utilizan el chip tlc59xx, un led driver.
A ver si alguien puede comentar algo mas sobre el tema, formas de conexión y de utilización y si existen otras alternativa o chips para obtener pwm de 12bits, gracias

https://code.google.com/p/tlc5940arduino/

Hola ErKiko,

Te dejo un codigo que genera pwm de 12 bits en el pin 9 del Arduino Uno. Si tienes un Arduino Due es mucho mas sencillo ya que solo tienes que usar la funcion analogWriteResolution(12).

//Ejemplo que usa el Timer1 para generar pwm de 12 bits (0-4096)
//Atenua e intensifica un led conectado en el pin 9

#define ledValor OCR1A

const int PWMCuentas = 4095;
int valor = 1;
int direccion = 1;

void setup() { 
  pinMode(9,OUTPUT);
  
  TCCR1A = (1 << COM1A1) | (1 << WGM11);
  TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS10);
  
  ICR1 = PWMCuentas;
  ledValor = 0;
}

void loop() {
  //Atenua el led entre 0 and 4095 y luego vuelve a 0
  valor += direccion;
  if (valor <=0){
    direccion = 1;
  }
  else if (valor >= PWMCuentas){
    direccion = -1;
  }
  ledValor = valor;
  delay(1);
}

Espero que te sirva. Saludos cordiales.

p

Gracias Palliser por la info, es un comienzo, aunque creía haber leído que necesitaba nosecuantos MHz para generar los 12bits y el arduino no lo daba, por eso tiran de chips, mirare el tema , gracias