ADC模块是一个逐次逼近(SAR)风格的ADC,具有16位或12位的可选分辨率。 ADC由一个核心和一个封装器组成。 核心由模拟电路组成,包括通道选择MUX、采样保持(S/H)电路、逐次逼近电路、基准电压电路和其他模拟支持电路。 包装器由配置和控制ADC的数字电路组成。 这些电路包括可编程转换的逻辑、结果寄存器、模拟电路的接口、外围总线的接口、后处理电路和其他片上模块的接口。
每个ADC模块由一个采样保持(s/h)电路组成。 ADC模块被设计为在同一芯片上重复多次,允许多个ADC同时采样或独立运行。
有些ADC配置由soc单独控制,而其他ADC配置则由每个soc全局控制ADC模块。
下图总结了基本ADC选项及其可配置级别
ADC时钟直接由系统时钟(syclk)提供。 此时钟用于生成ADC采集窗口。 寄存器ADCCTL2有一个确定adccclk的PRESCALE字段。 ADCCLK用于时钟转换器。
在16位模式下,核心大约需要29.5个ADCCLK周期来计算采样结果,在12位模式下,这个过程大约需要10.5个ADCCLK周期。转换的结果还取决于持续时间的采集窗口。
时钟配置流程:
0000 = PRESCALE 表示 输入时钟不分频
0001 = PRESCALE 表示 非法无效值
0011 = PRESCALE 表示 输入时钟2分频
…
更多配置见下图
ADC的分辨率决定了模拟范围被量化成数字值的精细程度。该ADC支持16位或12位的可配置分辨率。
该解析应该通过使用AdcSetMode()或ADC_setMode()函数来配置,这取决于所使用的头文件,在F2837xS_Adc.c的C2000ware中提供。这些函数确保正确的装饰被加载到ADC装饰寄存器,并且必须在设备复位后至少调用一次。不要通过直接写入ADCCTL2寄存器来配置分辨率。当ADC处于空闲状态(没有活动或挂起的soc)时,可以随时更改分辨率。在转换开始前,改变分辨率后不需要等待时间。如果更改分辨率时soc处于活动状态或挂起状态,那么这些soc可能会产生不正确的转换结果。
分辨率配置流程:
0 = RESOLUTION 表示12bit resolution
1 = RESOLUTION 表示16bit resolution
每个ADC都有一个VREFHI输入和一个VREFLO输入。 在外部参考模式下,这些引脚被用作比例参考来确定ADC转换输入范围
•在没有外部VREFLO信号的设备上,VREFLO已内部连接到设备上的模拟地面,VSSA。
•参考您的设备的数据表来确定VREFHI和的允许电压范围VREFLO。
•外部参考模式需要在VREFHI引脚上有一个外部电容。
ADC支持单端和差分两种信号模式。
1、在单端模式下,转换器的输入电压通过一个单引脚(ADCINx)采样,参考VREFLO。
2、在差分信号模式下,转换器的输入电压通过一对输入引脚进行采样,其中一个是正输入(ADCINxP),另一个是负输入(ADCINxN)。实际的输入电压为两者之差(ADCINxP - ADCINxN)。
信号采样模式配置流程:
0 = SINGALMODE 表示单端采样
1 = SINGALMODE 表示差分采样
ADC触发和转换顺序通过可配置的转换启动来完成(soc)。每个SOC都是一个配置集,定义单个通道的单个转换。在这组
有三种配置:启动转换的触发源、转换通道和采集(样本)窗口持续时间。在接收为SOC配置的触发器时,包装器将确保使用指定的获取窗口持续时间捕获指定的通道。可以根据需要为同一个触发器、通道和/或采集窗口配置多个soc。将多个soc配置为使用同一个触发器将允许触发器生成一个序列转换。配置多个soc使用相同的触发器和通道将允许过采样。
每个SOC都有自己的配置寄存器ADCSOCxCTL。在这个寄存器中,可以将SOCx配置为触发器源、转换通道和获取(示例)窗口持续时间。
每个SOC可以配置为在多个输入触发器中的一个启动。 SOCx的主要触发器选择是ADCSOCxCTL。 TRIGSEL寄存器,可以选择:
•禁用(仅限软件)
•CPU定时器0/1/2
•GPIO: Input X-Bar INPUT5
•每个ePWM模块的ADCSOCA或ADCSOCB
外部信号源快速有效地驱动模拟信号的能力各不相同。 为了
实现额定分辨率时,信号源需要对ADC核心中的采样电容进行充电信号电压0.5 lsb以内。
采集窗口是采样电容的时间量可以通过ADCSOCxCTL对SOCx进行配置。
ACQPS是一个9位寄存器,可以设置为0到511之间的值,从而产生一个采集窗口持续时间:
采集窗口= (ACQPS + 1)∙(系统时钟(SYSCLK)周期时间)
•采集窗口持续时间是基于系统时钟(SYSCLK),而不是ADC时钟(ADCCLK)。
•所选采集窗口持续时间必须至少是一个ADCCLK周期。
•数据表将指定最小采集窗口持续时间(以纳秒为单位)。 用户
负责选择符合此要求的获取窗口持续时间。
每个SOC可以配置转换任何ADC通道。 通过ADCSOCxCTL.CHSEL寄存器进行选择。 根据信号模式的不同,选择也不同。
对于单个信号模式,选择单个引脚作为输入。
对于差分信号模式 ,选择一个偶奇引脚对作为正输入和负输入。