"LPC17XX系列微控制器的ADC(模拟-to-数字转换器)基本操作及特性"
在LPC17XX系列微控制器中,ADC(模拟-to-数字转换器)是重要的外设,用于将模拟信号转换为数字值以便处理器进行处理。以下是关于ADC的基本操作和相关知识点的详细说明:
1. **转换启动**:
- 一旦ADC转换开始,转换过程是不可中断的。如果前一次转换尚未完成,新的软件启动尝试或者硬件触发事件都将被忽略。
2. **硬件触发转换**:
- 当ADCR寄存器的BURST位为0,并且START字段设置在010到111之间时,选定的引脚上的边沿触发或定时器匹配会启动一次转换。
- 用户可以选择在4个匹配信号中的任一指定边沿,或者在2个捕获/匹配引脚的指定边沿启动转换。
- 边沿检测逻辑通过将所选端口引脚状态或匹配信号与ADCR的第27位异或来实现。
3. **中断机制**:
- 当转换完成(DONE标志位为1)时,ADC会向NVIC(Nested Vector Interrupt Controller)发送中断请求。
- 中断是否产生由软件通过NVIC中的A/D中断使能位控制,读取ADDR寄存器会导致DONE标志清零。
4. **精度与数字接收器**:
- 为了准确读取模拟电压,必须通过PINSEL寄存器选择ADC功能。
- 对于ADC输入引脚,即使没有数字功能,也能读取有效的ADC值。只要与ADC硬件相关的引脚选择了数字功能,内部电路就会与其隔离。
5. **DMA控制**:
- DMA传输请求与ADC中断请求类似,产生于ADC中断请求线。
- 使用DMA时,需在NVIC中禁能ADC中断。
- 对于DMA传输,仅支持突发传输请求,突发大小可在DMA通道控制寄存器中设置为1。
- 如果ADC通道数量不等于任何支持的DMA突发大小(1, 4, 8),突发大小自动设为1。
- DMA传输大小可以设置为ADC转换通道的数量,非相邻通道可以通过分散/聚集链表项进行传输。
这些知识点涵盖了LPC17XX系列微控制器在使用ADC时的主要操作方式,包括启动转换、触发机制、中断处理以及如何利用DMA进行高效的数据传输。了解并掌握这些知识对于编写高效的ADC驱动程序至关重要。