【MSPM0G3507 系列】ADC采样学习(进阶)
引言
信号仪表测控类赛题少不了与ADC的交缠,故这里对MSPM0G3507的ADC进行一个详细的记录。
syscfg配置
Basic Configuration(基础配置)
Sample Clock Configuration(采样时钟配置)

ADC包含采样与转换两个过程,这里设置的是采样时钟,而决定转换速率是由专用的80MHz的转换时钟决定的,以下是手册中原话:
Sample Mode Configuration(采样模式配置)

Enable Repe Mode:使能连续转换模式。ADC包含start和enable两种标志,使能此连续转换模式后,enable标志始终为1;而start在转换前为1,转换时为0,转换结束后重新为1,自动接着开始下一轮的转换。失能连续转换模式后,enable在转换时置0,需手动重新开启enable标志。
Sampling Mode:采样模式。Manual(手动)—— 采样时间由手动写的两句代码控制;AUTO(自动)—— 采样时间由采样时钟0或采样时钟1来控制。(采样时间一般都是AUTO自动控制,没必要手动)

Trigger Source:触发源。软件触发和事件触发。

Conversion Data Format:转换数据格式。包含无符号二进制右对齐和有符号二进制左对齐(只采样0-3.3V,故只使用无符号二进制右对齐)
ADC Conversion Memory Configurations(ADC转换内存配置)

Sample Period Source:采样时钟源。Sampling Timer0和Sampling Timger1
ADC Conversion Period:ADC转换周期 = ADC同步时间 + [(ADC采样时间 + ADC转换时间) * 硬件累加时间],(硬件累加:通过 ADC 硬件电路对多次采样结果进行累加和平均,直接输出高分辨率结果)
Averaging Mode:硬件平均模式。即上文的硬件累加,通过硬件电路实现采样值的累加平均,以提升信号精度、降低噪声。
、
Burn Out Current Source:烧断电流源。过流源,可能是某种特殊状态。
Window Comparator Mode:窗口比较模式。类似施密特触发器。
Trigger Mode:触发模式。包含自动信号触发跳转至下一个存储器转换寄存器和有效信号触发跳转至下一个存储器转换寄存器。
Advanced Configuration(进阶配置)

Power Down Mode:断电模式。自动 —— 转换一次后自动断电,手动 —— ADC被触发后就会一直保留在上电模式下,直到被手动关闭。
Interrupt Configuration(中断配置)
- 单通道不使用 DMA 则选择 MEM0 result loaded interrupt
- 多通道不使用 DMA 则选择到最后一个内存的 loaded 触发中断
- 单通道使用 DMA 则选择 DMA done 触发中断
DMA Configuration(DMA配置)

DMA Samples Count:DMA采样计数。采样几次再传输
Enable DMA Triggers:使能DMA触发。相当于使用采样到MEM?后的中断来触发DMA转运
Address Mode:地址模式。
- Fixed addr. to Fixed addr.(固定地址到固定地址):单数据广播式写入
- Fixed addr. to Block addr.(固定地址到块地址):传感器数据记录
- Block addr. to Fixed addr.(块地址到固定地址):外设批量数据发送
- Block addr. to Block addr.(块地址到块地址):内存块复制
- Fill Data Extended Mode(填充数据扩展模式):内存初始化
- Data Table Extended Mode(数据表扩展模式):分散地址的批量配置
Source Length:源数据长度。ADC为12位,最终是存储在16位的数据中,故一般选为半字(Half Word)
Destination Length:目标数据长度。半字的数据传输到半字的变量当中。
Destination Address Direction:目标地址方向。一般使用 Increment 递增模式,详细描述如下:

Configure Transfer Size:配置转运数据大小。这么多个的数据转运结束后会触发DMA done中断
Transfer Size:转运大小。
Transfer Mode:转运模式。
- Single(单次):需触发信号才能进行转运,触发一次转运一次,DMA转运完Transfer Size设定值后自动停止。
- Block(块):单次触发后,DMA连续传输完Transfer Size指定的全部数据单元后,DMA自动禁用。
- Repeat Single(重复单次):需触发信号才能进行转运,触发一次转运一次,DMA不会自动禁用,需手动禁用。
- Repeat Block(重复块):单次触发后,DMA连续传输完Transfer Size指定的全部数据单元后,DMA保持启用状态,等待下一次触发到来。
- 注意:这里的Block指的是,采样完一次数据,放到MEM?中后,DMA将这一个数据重复存满到某一个Block中。
博客导航
本文来自博客园,作者:膝盖中箭卫兵,转载请注明原文链接:https://www.cnblogs.com/Skyrim-sssuuu/p/18896610

浙公网安备 33010602011771号
https://orcid.org/0000-0001-5102-772X