CC3200 ADC教程:探索8通道转换与FIFO功能

需积分: 5 0 下载量 61 浏览量 更新于2024-08-26 收藏 616KB PDF 举报
"一起学CC3200系列教程之ADc - 副本.pdf" 本文将深入探讨TI CC3200微控制器中的ADC(模数转换器)功能。TI CC3200是一款集成Wi-Fi功能的单片机,广泛应用于物联网(IoT)设备和其他无线通信应用。其ADC特性对于精确地获取和处理模拟信号至关重要。 CC3200的ADC具有8个通道,其中4个通道可用于外部输入,另外4个用于内部信号。每个通道的单次采样时间是16微秒(us),这意味着如果设置为8个通道轮流采样,总的采样周期也是16us。值得注意的是,模拟输入的引脚是固定的,不能随意更改。ADC支持DMA(直接存储器访问)和FIFO(先进先出)模式。在本教程中,作者主要介绍了FIFO的使用。 ADC的工作流程通常包括一个总框架,即ADC转换器对每个通道进行采样,每个通道耗时2us,8个通道总共耗时16us。在配置ADC通道时,例如PIN58,需要查看配置寄存器以设定合适的参数。需要注意的是,不同PIN的最大检测电压可能不同,PIN58的最大电压是1.5V。然而,作者指出未找到关于模拟参考电压输入管脚的信息,也未在数据手册中找到将数字引脚设置为模拟引脚的具体步骤。在实际操作中,通常通过库函数来配置ADC功能。 CC3200的ADC有两个独特之处:一是内置FIFO,可以存储采样结果,提高数据处理效率;二是具备计数器,能够记录采样时间。在数据手册中,根据指导进行设置,可以实现基本的ADC采集功能。例如,将PIN58配置为模拟输入,设定最大电压限制,并通过串口输出测量结果。然而,作者在实践中发现CC3200测得的电压比实际值低0.04V,这是一个值得注意的现象,可能需要进一步排查原因。 在分析SDK的ADC例程时,作者遇到了一段特定的代码,注释中提到这部分代码可能是针对特定版本(CC3200_ES_1_2_1)的,需要在更新版本中移除。这段代码涉及到ADC时钟的启用以及一些寄存器的设置,如`GPRCM_O_ADC_CLK_CONFIG`、`ADC_O_ADC_CTRL`、`ADC_O_ADC_SPARE0`和`ADC_O_ADC_SPARE1`。这些设置可能与芯片的不同版本或特定应用场景有关,但具体含义和用途在文中并未明确解释。 理解并有效地利用CC3200的ADC功能对于开发基于该平台的项目至关重要。通过配置ADC的通道、采样速率、FIFO和计数器,开发者可以实现高效且精确的模拟信号数字化。在遇到未明确的问题时,如引脚配置、电压差异或特定代码段的含义,需要参考官方数据手册、在线资源或社区支持来解决。