在支持实时的应用程序中使用 ADC
重要
这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。
Azure Sphere 支持模-数转换。 ADC 将模拟输入转换为相应的数字值。 输入通道的数量和分辨率(作为 ADC 输出位的数量)取决于设备。
本主题介绍如何在支持实时的应用程序 (RTApp) 中使用模-数转换器 (ADC)。 有关如何在高级应用程序中使用 ADC 的信息,请参阅在 Azure Sphere 上使用 ADC。
注意
Azure Sphere OS 在启动时不重置外围设备。 应用程序应确保外围设备在启动时和重启后处于已知良好状态。
MT3620 对实时内核上的 ADC 的支持
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 的详细信息,请参阅 对实时核心上的 ADC 的 MT3620 支持。
应用程序清单设置
若要使用 ADC,RTApp 必须在应用程序清单的“功能”部分将其列出。 对于在 MT3620 芯片上运行的 RTApp,请使用 mt3620.json 文件中为其定义的“AppManifestValue”来标识 ADC:
"Capabilities": {
"Adc": [ "ADC-CONTROLLER-0" ] }
ADC 示例应用程序
这两 个 ADC 示例 演示如何在 RTApp 中使用模拟到数字转换器。 自述文件提供详细信息和说明。