La generación de una señal PWM en una aplicación incorporada generalmente implica un número limitado de bits en los contadores utilizados para generar el tiempo de la señal. Esto podría ser de tan solo 8 bits o 10 bits, dependiendo de su hardware PWM. Tenga en cuenta también que la representación binaria de los valores PWM establece un universo fijo de valores en la aplicación incrustada. Puede usar esto a su favor para encontrar una solución a este problema.
La idea es utilizar una herramienta de cálculo fuera de línea, como una hoja de cálculo, para calcular el rango de funciones exponenciales que desee. Esto se puede usar para producir una tabla de datos de búsqueda que luego se coloca en el código del microcontrolador como una tabla de constantes. Los PWM de ancho de bits limitado hacen que el tamaño de la mesa sea práctico. Si tiene un PWM de 16 bits, la tabla puede contener valores objetivo de 16 bits, pero el tamaño de la tabla puede limitarse a un tamaño práctico sin necesidad de entradas de 64K. En este último caso, el software de destino utiliza la interpolación lineal entre las entradas de la tabla para encontrar los valores de PWM de destino. Esta técnica es conocida como interpolación lineal por tramos.
Encontrará este enfoque de búsqueda en la tabla mucho menos intensivo en computación que en el intento de calcular complicadas fórmulas de punto flotante en tiempo real en su microcontrolador. A veces, la mejora del rendimiento obtenida es esencial para las aplicaciones que requieren el valor PWM para actualizar y rastrear una entrada con una latencia mínima.