在支持实时的应用程序中使用 ADC
Azure Sphere 支持模拟到数字转换。 ADC 将模拟输入转换为相应的数字值。 输入通道数和分辨率 () ADC 输出位数取决于设备。
本主题介绍如何在支持 RTApp) 的实时应用程序中使用模数转换器 ( (ADC) 。 有关在高级应用程序中使用 ADC 的信息,请参阅 在 Azure Sphere 上使用 ADC。
注意
Azure Sphere OS 在启动时不会重置外围设备。 应用程序应确保外围设备在启动时和重启后处于已知良好的状态。
对实时核心上的 ADC 的 MT3620 支持
MT3620 包含具有 8 个输入通道的 12 位 ADC。 ADC 将输入电压与参考电压进行比较,并生成 0 到 4095 之间的值作为其输出。 ADC 输入通道和 GPIO 引脚 GPIO41 到 GPIO48 映射到 MT3260 上的相同引脚。 但是,如果应用程序使用 ADC,则将分配所有 8 个引脚用作 ADC 输入。 它们都不能用于 GPIO。
有关 MT3620 的寄存器基址、中断数、时钟速率、采样频率和其他详细信息,请参阅 MT3620 数据表 和 MT3620 M4 用户手册;如果问题仍然存在,你可以通过电子邮件 Azure.Sphere@avnet.com从 Avnet 请求详细信息。
ADC 要求
应用程序代码需要一种方法来标识 ADC、其控制寄存器及其通道。 可以在制造商的硬件文档中找到寄存器基址。
有关 MT3620 的详细信息,请参阅 MT3620 对实时核心上的 ADC 的支持。
应用程序清单设置
若要使用 ADC,RTApp 必须在应用程序清单的 “功能 ”部分中列出它。 对于在 MT3620 芯片上运行的 RTApp,请使用 mt3620.json 文件中为其定义的“AppManifestValue”标识 ADC:
"Capabilities": {
"Adc": [ "ADC-CONTROLLER-0" ] }
ADC 示例应用程序
这两个 ADC 示例 演示如何在 RTApp 中使用模数转换器。 自述文件提供了详细信息和说明。