Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Sphere admite modulación de ancho de pulso. La modulación de ancho de pulso se logra mediante la variación del ciclo de trabajo (relación de tiempo a tiempo de espera) de una señal digital pulsada. Los moduladores de ancho de pulso (PWM) se usan en una amplia gama de aplicaciones como el control de motor digital, la comunicación y la conversión digital a analógica.
En este tema se describe cómo usar PWM en aplicaciones compatibles en tiempo real (RTApp). Para obtener información sobre el uso de PWM en aplicaciones de alto nivel, consulte Uso de PWM en aplicaciones de alto nivel.
Note
El sistema operativo Azure Sphere no restablece periféricos al iniciarse. Las aplicaciones deben garantizar que los periféricos estén en un estado correcto conocido al iniciarse o tras un reinicio.
Compatibilidad de MT3620 con PWM en los núcleos en tiempo real
En esta sección se describen las opciones de PWM que solo se aplican al ejecutar Azure Sphere en MT3620.
Las características de PWM que admite el MT3620 se enumeran en Estado de compatibilidad de MT3620. En la guía del usuario de la placa de desarrollo MT3620, se dscribe la distribución y la función de los pines.
El MT3620 tiene 12 canales PWM, identificados por PWM0-PWM11. Se organizan en tres grupos de cuatro canales. Cada grupo está asociado a un controlador de PWM (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). Los canales PWM y los pines GPIO, desde GPIO0 hasta GPIO11, se corresponden con los mismos pines en el MT3620. Si la aplicación usa un controlador PWM, todas las patillas asociadas a ese controlador se asignan para su uso como salidas de PWM. Ninguno de ellos se puede usar para GPIO.
Para registrar direcciones base, números de interrupción, frecuencia de reloj, frecuencia de muestreo y otros detalles sobre MT3620, consulte el MT3620 Hoja de datos y el MT3620 M4 Manual de usuario; si quedan preguntas, puede solicitar detalles de Avnet enviando un correo electrónico a Azure.Sphere@avnet.com.
El hardware PWM se puede configurar para usar una de las tres frecuencias de reloj: 32 KHz, 2 MHz (XTAL/13) o 26 MHz (XTAL). En los núcleos en tiempo real (RT), una aplicación en tiempo real (RTApp) puede seleccionar el reloj que se usará como base. No se admiten frecuencias base definidas por el usuario. Sin embargo, la aplicación puede generar frecuencias de señal derivadas de la frecuencia base seleccionada. Para obtener un ejemplo, vea la aplicación de ejemplo PWMAudio en la galería de Azure Sphere.
Configuración del manifiesto de aplicación
Para usar un PWM en una RTApp, agregue la Pwm funcionalidad al manifiesto de aplicación y especifique los controladores PWM que se usarán en la aplicación. Por ejemplo, la línea siguiente especifica el controlador PWM 0 para su uso en una RTApp que tiene como destino el MT3620 reference development board (RDB):
"Capabilities": {
"Pwm": [ "PWM-CONTROLLER-0" ] }
Manifiesto de aplicación de Azure Sphere ofrece más información sobre el manifiesto de aplicación.
Aplicaciones de ejemplo de PWM
El repositorio CodethinkLabs en GitHub contiene una serie de aplicaciones de ejemplo que muestran cómo usar periféricos compatibles con MT3620 en Azure Sphere aplicaciones compatibles en tiempo real. En concreto, el ejemplo de PWM_RTApp_MT3620_BareMetal muestra cómo incorporar un periférico PWM en una aplicación con respuesta en tiempo real.
El proyecto PWMAudio muestra cómo usar los núcleos en tiempo real para generar audio PWM (modulación de ancho de pulso). Este proyecto forma parte de la galería de Azure Sphere, una colección de scripts, utilidades y funciones no retenidos.