RH850P1X芯片学习笔记-A/D Converter (ADCF)

文章目录

    • Features of RH850/P1x-C ADCF
      • Number of Units
      • Register Base Address
      • Clock Supply
      • Interrupts and DMA
      • Hardware Reset
      • External Input/Output Signals
      • Virtual Channel
    • Overview
      • Functional Overview
      • Block Diagram
      • Physical Channels, Virtual Channels and Scan Groups
    • Registers
      • List of Registers
      • ADCF0ADSYNSTCR — AD Synchronization Start Control Register
      • ADCF0ADTSYNSTCR — AD Timer Synchronization Start Control Register
      • ADCFnVCRj — Virtual Channel Register j
      • ADCFnDRj — Data Register j
      • ADCFnDIRj — Data Supplementary Information Register j
      • ADCFnADHALTR — AD Halt Register
      • ADCFnADCR1 — AD Control Register 1
      • ADCFnMPXCURCR — MPX Current Control Register
      • ADCFnMPXCURR — MPX Current Register
      • ADCFnMPXOWR — MPX Optional Wait Register
      • ADCFnADCR2 — AD Control Register 2
      • ADCFnADENDP0 — A/D Conversion Monitor Virtual Channel Pointer
      • ADCFnSFTCR — Safety Control Register
      • ADCFnTDCR —Pin Level Diagnostic Control Register
      • ADCFnULLMTBR0 to 2 — Upper-Limit/Lower-Limit Table Registers 0 to 2
      • ADCFnECR — Error Clear Register
      • ADCFnULER — Upper-Limit/Lower-Limit Error Register
      • ADCFnOWER — Overwrite Error Register
      • ADCFnPER — Parity Error Register
      • ADCFnIDER — ID Error Register
      • ADCFnSGSTCRx — Scan Group x Start Control Register
      • ADCFnADTSTCRy — AD Timer y Start Control Register
      • ADCFnADTENDCRy — AD Timer y End Control Register
      • ADCFnSGCRx — Scan Group x Control Register
      • ADCFnSGVCSPx — Scan Group x Start Virtual Channel Pointer
      • ADCFnSGVCEPx — Scan Group x End Virtual Channel Pointer
      • ADCFnSGMCYCRx — Scan Group x Multicycle Register
      • ADCFnSGSRx — Scan Group x Status Register
      • ADCFnADTIPRy — AD Timer Initial Phase Register y
      • ADCFnADTPRRy — AD Timer Period Register y
      • ADCFnULLMSRx — Scan Group x Upper-Limit/Lower-Limit Table Select Register
    • Function
      • 正常AD转换操作示例
        • 多周期扫描模式
        • 连续扫描模式
      • 加法模式下正常A/D转换示例
      • 外部模拟多路复用器的操作示例
        • 使用外部模拟多路复用器示例(端口输出)
      • 同步挂起和恢复操作示例
      • 异步挂起和恢复操作示例
      • Example of A/D Timer Operation
      • Diagnostic Function
      • ADC conversion time
      • 模拟输入采样和扫描组处理时间
      • Hardware Trigger Functions
    • Operation
      • Initial Settings
      • Trigger Input Flow
    • Difference among P1M-C, P1H-C and P1H-CE

Features of RH850/P1x-C ADCF

Number of Units


ADC硬件由n表示

通道由m表示

数据寄存器和虚拟通道的数量由索引“j”标识,例如,数据寄存器j为ADCFnDRj

扫描组用字母“x”表示(x = 0到4)。

A/D定时器的数量由字母“y”表示(y = 3,4)。

Register Base Address

ADCF基址列在下表中。
ADCF寄存器地址是作为相对于单个基址的偏移量给出的。

Clock Supply

下表列出了ADCF的时钟供应。


一般ADC时钟为40M

注:只有当CLK_LSB = 8mhz - 40mhz时,才能保证电特性。

Interrupts and DMA


错误中断是下列中断的逻辑和。

  • 上限/下限比较错误
  • 覆盖错误
  • ID错误

Hardware Reset

下表列出了ADCF复位源。ADCF通过这些复位条件进行初始化

External Input/Output Signals

ADCF的外部输入/输出信号如下表所示

Virtual Channel

每个ADCF有虚拟通道,如表27.44所示。为每个虚拟通道设置要进行A/D转换的模拟通道和其他伴随信息。通过对每个扫描组中的起始虚拟通道指针和结束虚拟通道指针所指示的虚拟通道依次进行处理,可以对任意顺序的任意模拟通道进行A/D转换的扫描

Overview

Functional Overview

ADCF具有以下特性。

•先进的A/D转换器

分辨率:12位

A/D转换方法:逐次逼近法

转换速度:1.0μs

•支持五个扫描组

每个ADCF有5个扫描组。扫描设置可以独立地为每个扫描组。

•两种扫描模式

每个ADCF有两种扫描模式。

多周期扫描模式:指定扫描次数。

连续扫描模式:无限制地重复执行扫描。

•区间功能

ADCF可以通过使用扫描组3和4中配备的A/D定时器在任何周期中启动扫描组。这将启用插入间隔的扫描

•A/ d转换增值功能

ADCF对一个通道顺序执行两次或四次A/D转换,并将相加结果存储在数据寄存器中。可以为每个虚拟通道设置添加计数。

利用这一结果可以得到移动平均滤波器的效果。然而,此功能并不总是确保A/D转换精度得到提高。

•扩展的物理通道

每个ADCF可以通过使用外部模拟多路复用器扩展物理信道。(可用通道为an0006和AN1I00。)

•虚拟通道概念

虚拟通道数大于物理通道数。

每个虚拟通道可以自由分配给每个物理转换通道

•数据寄存器

提供了与虚拟通道相对应的数据寄存器

•为每个扫描组启动触发器

硬件触发器和软件触发器可以启动每个扫描组的处理。只有扫描组3和4可以通过A/D定时器触发开始处理

•异步/同步挂起和恢复功能

对扫描组的处理可以中断正在进行的对另一个扫描组的处理。优先事项如下:

SG0 < SG1 < SG2 < SG3 < SG4 (SG: Scan group)

SG4优先级最高

如果一个高优先级SG的请求正在处理中,而一个低优先级SG正在处理中,那么在正在进行的虚拟通道处理停止后,低优先级SG将挂起(同步挂起)或在正在进行的虚拟通道处理后立即停止(异步挂起),然后执行高优先级SG的处理。高优先级SG处理完毕后,低优先级SG暂停的虚拟通道处理恢复

也可以设置为:当高优先级SG中断SG0处理时,发生异步挂起;当高优先级SG中断非SG0的低优先级SG时,发生同步挂起。

•支持扫描结束中断和DMA传输

每个扫描组可以产生一个中断请求到INTC,并激活DMAC,每次处理由虚拟通道指针结束或虚拟通道结束所指示的虚拟通道。

•模拟转换电压可设置

A0VREFH引脚和A1VREFH引脚可用于设置模拟转换的电压范围。

•丰富的安全功能

ADCF具有丰富的安全功能,包括A/D转换电路诊断功能、引脚级诊断功能、断线检测、模拟选择正常检查、数据寄存器上限/下限检查、数据寄存器奇偶校验、数据寄存器覆盖检查、数据寄存器读取和清除功能

Block Diagram

Physical Channels, Virtual Channels and Scan Groups

每个物理通道m是指一个外部A/D转换器输入ANnIm。

从应用软件的角度来看,虚拟通道就是A/D转换器通道。

虚拟通道数j大于物理通道数m。

每个虚拟通道j可以通过其虚拟通道寄存器ADCFnVCRj的GCTRL[4:0]位分配给每个物理通道

任意数量的连续虚拟通道可以组合为五个扫描组之一SGx, x = 0到4。

参数定义扫描组的虚拟通道集

•扫描组x启动虚拟通道指针ADCFnSGVCSPx.VCSP[5:0]

•扫描组x结束虚拟通道指针ADCFnSGVCEPx.VCEP[5:0]

虚拟通道的转换结果存储在ADCFnDRj寄存器中。

每个32位ADCFnDRj寄存器存储两个连续的虚拟通道j和(j+1)的结果。

转换结果也存储在数据补充信息寄存器ADCFnDIRj (j = 0 ~ 35)中。这个寄存器包含一些关于转换的附加信息。

•扫描组x虚拟通道:j = 4 ~ 9

•虚拟到物理通道分配:


在扫描组x的转换开始触发后,第一个虚拟通道ADCFnVCR4,即分配的物理通道ANnI01进行转换,并将结果存储在ADCFnDR4.DR4[15:0]中。

下一个转换结果为ADCFnDR4.DR5[15:0]。

内部扫描指针是递增的,并移动到下一个虚拟通道。

Registers

List of Registers

ADCF0ADSYNSTCR — AD Synchronization Start Control Register

ADCF0ADSYNSTCR是一个8位的只写寄存器,控制ADCF0和ADCF1的每个扫描组同时开始A/D转换。寄存器位总是读为0。


ADSTART:启动ADCF0和ADCF1扫描组的A/D转换。

ADCFn SGx启动条件:

对于ADCFn的SGx,当SGACT为0,ADSTARTE为1时,将1写入ADSTART

对于ADSTARTE已设置为1的扫描组(ADCF0和ADCF1),同时开始A/D转换。

ADCF0ADTSYNSTCR — AD Timer Synchronization Start Control Register

ADCF0ADTSYNSTCR是一个8位的只写寄存器,控制ADCF0和ADCF1的每个A/D定时器计数操作的同时开始。寄存器位总是读为0。


ADTSTART:启动ADCF0和ADCF1的A/D计时器的计数操作。

ADCFn的SGx启动条件:

对于ADCFn的A/D定时器x,当ADTACT为0并且ADTSTARTE为1时,1被写入ADTSTART。

对于ADTST已设置为1的(ADCF0和ADCF1的)A/D计时器,同时启动计数操作。

注:x=3,4

ADCFnVCRj — Virtual Channel Register j

ADCFnVCRj是一个32位可读/可写寄存器,用于每个虚拟通道

PUE, PDE:Pull-Up/Down resistor

00:关闭上拉电阻和下拉电阻

01:使能下拉电阻。电阻在采样时间内使能。

10:使能上拉电阻。电阻在采样时间内使能。

11:禁止设置。

CNVCLS[2:0]:转换类型

0H:正常A/D转换

3 h:诊断

4H:加法模式的普通A/D转换

5H:与MPX的正常A/D转换

6H:带加法模式MPX的普通A/D转换

除上述情况外:禁止设置

ADIE:使能虚拟通道结束中断

0: SGx中虚拟通道j的虚拟通道末端不输出ADInx

1: ADInx是SGx中虚拟通道j的虚拟通道端输出

ADCFnSGCRx中的ADIE与ADCFnVCRj中的ADIE是独立的。


GCTRL[4:0]:一般控制

将GCTRL[4:0]中不使用的位写为0。

CNVCLS[2:0]=0时,GCTRL[4:0]表示对应的物理通道

CNVCLS[2:0]=3时,GCTRL[4:0]表示诊断电压

CNVCLS[2:0]=4时,GCTRL[4:0]表示对应的物理通道,ADDNT指定的计数适用于添加的数量

CNVCLS[2:0]=5时,GCTRL[4:0]表示设置MPX通道。

指定要传输到外部模拟多路复用器的MPX值。

中断请求(INTADCFnMPX)或DMA请求由GCTRL[4:0]输出,在虚拟通道开始时转移到ADCFnMPXCURR。

在DMAC中断或启动后,通过将ADCFnMPXCURR传输到I/O端口的PyDR或PyMDR,可以将MPX值传输到外部模拟多路复用器。
CNVCLS[2:0]=6时,GCTRL[4:0]表示设置MPX通道。ADDNT指定的计数适用于添加的数量

ADCFnDRj — Data Register j

该寄存器为32位只读寄存器,用于存储对应的A/D转换结果

转换结果ADCFnVCR (j + 1)存储在高16位,ADCFnVCRj的转换结果存储在低16位。

ADCFnDRj格式取决于ADCFnADCR2的DFMT设置和ADDNT设置(when CNVCLS[2:0] = 4H, 6H).

当读取ADCFnDRj或ADCFnDIRj且RDCLRE为1时,将ADCFnDRj清除为0000H。


DFMT=0时表示小数,符号位S一直为0

DFMT=1时表示整数,符号位S一直为0
当CNVCLS[2:0] = 4H, 6H时,ADDNT中的格式设置有效。

如果CNVCLS[2:0]不是4H, 6H,格式为“convert once”。

ADCFnDIRj — Data Supplementary Information Register j

ADCFnDIRj是一个32位只读寄存器,用于存储ADCFnDRj的补充信息和A/D转换值。为每个虚拟信道提供ADCFnDIRj。当读取ADCFnDRj或ADCFnDIRj而RDCLRE设置为1时,ADCFnDIRj被清除为0000 0000H。无论RDCLRE设置如何,当读取ADCFnDRj或ADCFnDIRj时,WFLG被清除。此寄存器必须始终作为32位数据读取。ADCFnDRj是从16个低位中读取的


WFLG:写标志

1:设置条件

A/D转换值存储在ADCFnDRj中

0:清除条件

读取ADCFnDRj或ADCFnDIRj。

PRTY:奇偶校验
ADCFnDRj的奇偶校验位(偶校验)。
ID[4:0]:包含转换通道的物理通道信息。

ADCFnADHALTR — AD Halt Register

ADCFnADHALTR是一个8位的只写寄存器,用于停止ADC。寄存器位总是读为0。


HALT:所有扫描组和AD定时器停止并初始化,ADC变为空闲状态,写1进入halt状态

ADCFnADCR1 — AD Control Register 1

ADCFnADCR1是一个用于ADC公共控制的8位可读/可写寄存器。


SUSMTD [1:0]:暂停的方法

当高优先级扫描组中断低优先级扫描组时,这些位选择挂起方法

同步挂起:如果高优先级SG的请求存在,而低优先级SG正在处理,则在正在进行的虚拟通道处理完成后,暂停低优先级SG的处理,然后执行高优先级SG的处理。高优先级SG处理完毕后,恢复低优先级SG暂停的虚拟通道处理。

异步挂起:如果在处理较低优先级的SG时存在来自较高优先级SG的请求,则正在进行的虚拟信道处理将立即挂起,然后执行针对较高优先级的SG的处理。在完成针对较高优先级SG的处理之后,恢复针对较低优先级SG的暂停的虚拟信道处理。

0H:同步挂起

1H:当高优先级SG中断SG0时,异步挂起

当高优先级SG中断低优先级SG(SG0)除外时,同步挂起



2H:异步挂起

3H:禁止设置

ADCFnMPXCURCR — MPX Current Control Register

ADCFnMPXCURCR是一个控制ADCFnMPXCURR格式的寄存器


MSKCFMT0:MSKC格式规范

ADCFnMPXCURR的MSKC[3:0]格式

0: MSKC[3:0] = 0000

1: MSKC[3:0] = 1111

ADCFnMPXCURR — MPX Current Register

ADCFnMPXCURR是一个32位只读寄存器,用于存储外部模拟多路复用器的MPX值。


MSKC[3:0]:根据上面的MSKCFMT0配置

MPXCUR[3:0]:当前MPX值

当ADCFnVCRj中CNVCLS[2:0]设置为5H或6H的虚拟通道启动时,ADCFnVCRj中的GCTRL[3:0]被转换为MPXCUR[3:0]

ADCFnMPXOWR — MPX Optional Wait Register

ADCFnMPXOWR是一个寄存器,它指定要插入外部模拟多路复用器的等待时间。


MPXOW:MPX可选等待

这些位指定在ADCFnVCRj中CNVCLS[2:0]为5H或6H的虚拟通道启动后,在A/D转换开始之前插入的等待时间。

ADCFnADCR2 — AD Control Register 2

ADCFnADCR2是一个用于ADCF公共控制的8位可读/可写寄存器。


DFMT:数据格式

0: Signed定点格式

1:表示有符号整数格式

ADDNT:添加计数选择

0:加两次

1:加4次

该寄存器仅在CNVCLS[2:0]为4H, 6H时有效。

ADCFnADENDP0 — A/D Conversion Monitor Virtual Channel Pointer

ADCFnADENDP0是一个8位的可读/可写寄存器,它选择一个虚拟通道输出A/D转换时序到ADENDn


ENDP[5:0]:A/D转换监视器虚拟通道指针

当由ADCFnADENDP0选择的虚拟通道启动时,高电平从ADEND引脚输出。当ADCFnADENDP0选择的虚拟通道结束时,输出低电平

ADCFnSFTCR — Safety Control Register

ADCFnSFTCR是一个用于安全控制的8位可读/可写寄存器。


RDCLRE:读取和清除使能

0:未通过读取ADCFnDRj或ADCFnDIRj,清除ADCFnDRj和ADCFnDIRj

1:通过读取ADCFnDRj或ADCFnDIRj,清除ADCFnDRj和ADCFnDIRj

ULEIE:上限/下限错误中断使能

0:禁用

1:启用

OWEIE:Overwrite错误中断使能

0:禁用

1:启用

PEIE:奇偶校验错误中断启用

0:禁用

1:启用

IDEIE:ID错误中断使能

0:禁用

1:启用

ADCFnTDCR —Pin Level Diagnostic Control Register

ADCFnTDCR是一个控制引脚电平诊断的8位可读/可写寄存器。


TDE:引脚电平诊断使能

0:关闭引脚电平诊断。

1:使能引脚电平诊断。

当TDE设置为1时,所有模拟引脚与输入缓冲区断开连接。

当TDE设置为0时,所有模拟引脚都连接到输入缓冲区。

当TDE设为1时,电压固定在TDLV[1:0]规定的电平上。

在这种状态下执行A/D转换并检查A/D转换值可以诊断从模拟引脚到ADCF的路径

TDLV[1:0]:引脚电平诊断

0H:偶数物理通道组向AnVSS放电,奇数物理通道组向AnVCC充电。

1H:偶数物理通道组向AnVCC充电,奇数物理通道组向AnVSS放电。

2H:偶数物理通道组向AnVSS放电,奇数物理通道组向1/2*AnVCC充电。

3H:偶数物理通道组充电到1/2*AnVCC,奇数物理通道组放电到AnVSS。

ADCFnULLMTBR0 to 2 — Upper-Limit/Lower-Limit Table Registers 0 to 2

ADCFnULLMTBR0-2为32位可读/可写寄存器,用于设置A/D转换值的上下限。通过ADCFnLLMSRx中的ULS[1:0]指定ADCFnULLMBR0到2中的任何一个


ULMTB[15:0]:上限表

这些位指定A/D转换值的上限值。当满足以下条件时,设置ULE(上限/下限错误)。

ULMTB[15:0] < A/D转换值

无论ADCFnDRj的格式如何,ULMTB[15:0]格式都是带签名的定点格式。如果ADCFnDRj格式选择有符号整数格式,则将ADCFnDRj格式替换为有符号定点格式,然后比较值。注意,ULMTB[15]和ULMTB[0]总是固定为0。

LLMTB[15:0]:下限表

这些位指定A/D转换值的下限。当满足以下条件时,设置ULE(上限/下限错误)。

LLMTB[15:0] > A/D转换值

LLMTB[15:0]格式是带签名的定点格式,与ADCFnDRj格式无关。如果ADCFnDRj格式选择有符号整数格式,则将ADCFnDRj格式替换为有符号定点格式,然后比较值。注意LLMTB[15]和LLMTB[0]总是固定为0。

ADCFnECR — Error Clear Register

ADCFnECR是一个控制错误清除的8位只写寄存器。寄存器位总是读为0.


ULEC:上限/下限错误清除,写1清除

OWEC:Overwrite错误清除,写1清除

PEC:奇偶校验错误清除,写1清除

IDEC:ID错误清除,写1清除

ADCFnULER — Upper-Limit/Lower-Limit Error Register

ADCFnULER是一个8位只读寄存器,表示上限/下限错误


ULE:超上限或超下限

ULECAP[5:0]:上限/下限错误捕获

捕获发生上限/下限错误时的虚拟通道

ADCFnOWER — Overwrite Error Register

ADCFnOWER是一个8位的只读寄存器,表示覆盖错误


OWE:Overwrite错误标志

OWECAP[5:0]:错误时对应的虚拟通道

ADCFnPER — Parity Error Register

ADCFnPER是一个表示奇偶校验错误的8位只读寄存器。


PE:校验错误

PECAP[5:0]:校验错误时对应的虚拟通道

ADCFnIDER — ID Error Register

ADCFnIDER是一个8位的只读寄存器,表示ID错误。

IDE:ID错误标志

IDECAP[5:0]:ID错误时对应的虚拟通道

ADCFnSGSTCRx — Scan Group x Start Control Register

ADCFnSGSTCRx是一个8位的只写寄存器,控制扫描组x的开始。寄存器位总是读取为0。


启动扫描组x的条件:当SGACT = 0时,将值1写入SGST

ADCFnADTSTCRy — AD Timer y Start Control Register

ADCFnADTSTCRy是一个8位的只写寄存器,控制AD定时器y的开始。寄存器位总是读取为0。


启动A/D定时器y的条件:当ADTACT = 0时,将值1写入ADTST

ADCFnADTENDCRy — AD Timer y End Control Register

ADCFnADTENDCRy是一个8位的只写寄存器,控制AD定时器y的结束。寄存器位总是读取为0。


完成A/D定时器y的条件:当ADTACT = 1时,将值1写入ADTEND

ADCFnSGCRx — Scan Group x Control Register

ADCFnSGCRx是一个控制扫描组x的8位可读/可写寄存器。


ADSTARTE:扫描组同步启动启用

0:禁用ADSTART。

1:使能ADSTART。

SCANMD:扫描模式

0:表示多周期扫描模式

1:连续扫描模式

在多周期扫描模式下,扫描可以按照ADCFnSGMCYCRx指定的次数重复进行

在连续扫描模式下,重复扫描没有次数限制。

ADIE:扫描结束中断启用

0:扫描SGx结束时不输出ADInx。

1:在扫描SGx结束时输出ADInx。

TRGMD[0]:触发模式

0H:关闭SGx的触发输入。

1H:选择SGx_TRG硬件触发器作为SGx的触发器输入。

当x=3,4时


ADTSTARTE:AD定时器同步启动使能

0:禁用ADSTART。

1:使能ADSTART

TRGMD[1:0]:触发模式

0H:关闭SGx的触发输入。

未使能AD定时器x的触发输入。

1H:选择SGx_TRG硬件触发器作为SGx的触发器输入。

未使能AD定时器x的触发输入。

2H:选择AD定时器触发器x作为SGx的触发输入。

未使能AD定时器x的触发输入。

3H:选择AD定时器触发器x作为SGx的触发输入。

选择SGx_TRG硬件触发器作为AD定时器x的触发器输入。

ADCFnSGVCSPx — Scan Group x Start Virtual Channel Pointer

ADCFnSGVCSPx是一个8位的可读/可写寄存器,它指定了一个虚拟通道的开始指针。


VCSP[5:0]:启动虚拟通道指针

这些位选择要开始扫描的虚拟通道。

当SGx启动时,执行从ADCFnSGVCSPx到ADCFnSGVCEPx的虚拟通道处理。

ADCFnSGVCEPx — Scan Group x End Virtual Channel Pointer

ADCFnSGVCEPx是一个8位的可读/可写寄存器,它指定了一个虚拟通道的结束指针。


VCEP[5:0]:结束虚拟通道指针

这些位选择扫描要结束的虚拟通道。

当SGx启动时,执行从ADCFnSGVCSPx到ADCFnSGVCEPx的虚拟通道处理。

ADCFnSGMCYCRx — Scan Group x Multicycle Register

ADCFnSGMCYCRx是一个8位的可读/可写寄存器,用于指定多周期扫描模式下的扫描次数。


MCYC[7:0]:这些位指定在多周期扫描模式下的扫描次数

扫描次数= MCYC[7:0] + 1

ADCFnSGSRx — Scan Group x Status Register

ADCFnSGSRx是一个8位的只读寄存器,表示扫描组x的状态。


SGACT:扫描组状态

0: SGx暂挂没有转换。

1:有一个转换在SGx待处理。

如果该位为1,则SGx的状态为以下任意一种:

•触发器请求被搁置

•转换正在进行中

•由于发生更高优先级的转换,转换被搁置

当x=3,4时

ADTACT:A/D定时器状态

0: A/D定时器x处于空闲状态。

1: A/D定时器x运行

ADCFnADTIPRy — AD Timer Initial Phase Register y

ADCFnADTIPRy是一个32位可读/可写寄存器,用于设置A /D定时器y的初始相位。


ADTIP[20:0]:A/D定时器初始相位

这些位设置A/D定时器y的初始相位。

(1) A/D定时器y启动后,ADCFnADTIPRy被加载到A/D定时器y,定时器倒计时。

(2) A/D定时器y变为0后,输出A/D定时器触发器y一个周期;ADCFnADTPRRy被加载到A/D定时器y,定时器再次倒数。

之后重复过程(2)

ADCFnADTPRRy — AD Timer Period Register y

ADCFnADTPRRy是一个32位可读/可写寄存器,用于设置A /D定时器y的周期


ADTPR[20:0]:A/D定时器周期

ADCFnULLMSRx — Scan Group x Upper-Limit/Lower-Limit Table Select Register

ADCFnULLMSRx是一个控制扫描组x的8位可读/可写寄存器。


ULS:上限/下限表选择

0H:不检查上限和下限。

1H:在ADCFnULLMTBR0中检查上限和下限。

2H:在ADCFnULLMTBR1中检查上限和下限。

3H:在ADCFnULLMTBR2中检查上限和下限。

在ADCFnDRj中存储A/D转换值时,使用ULS[1:0]选择的上限/下限表检查上限和下限。

Function

正常AD转换操作示例

多周期扫描模式

下图是使用普通A/D转换模式(CNVCLS[2:0]h = 0)对多周期扫描模式下的扫描组0进行2周期扫描转换4个虚拟通道的操作示例。

连续扫描模式

图27.5是使用正常A/D转换模式(CNVCLS[2:0] = 0H)转换连续扫描模式下扫描组0的四个虚拟通道的操作示例。

加法模式下正常A/D转换示例

图27.6显示了在加法模式下使用普通A/D转换(CLVCLS[2:0] = 4H)为扫描组0转换4个虚拟通道的操作示例。

外部模拟多路复用器的操作示例

下面展示了使用MPX模式(CNVCLS[2:0] = 5H)的正常A/D转换或使用MPX模式的加法模式(CNVCLS[2:0] = 6H)的正常A/D转换的外部模拟复用器的操作示例。

使用外部模拟多路复用器示例(端口输出)

同步挂起和恢复操作示例

图27.8显示了一个高优先级时同步挂起和恢复操作的示例
SG中断低优先级的SG。


SG0还在执行过程中SG2触发,则SG0的此通道先执行完,然后执行SG2,再接着执行SG0的后面的通道

异步挂起和恢复操作示例

图27.9显示了一个更高优先级时异步挂起和恢复操作的示例
SG中断低优先级的SG。

SG0的通道1还在执行过程中SG2触发,则SG0停止转换,切换到SG2转换,完成后重新执行SG0对应的通道转换

Example of A/D Timer Operation

A/D定时器计数基于内部ADC时钟ADCFCLK。

Diagnostic Function

ADCF具有以下诊断功能。

•PIN电平诊断功能

•SAR-ADC诊断功能

•开路和断路检测

ADC conversion time

下表显示了不同内部时钟频率下的ADC转换时间。有关更多细节,请参阅时钟章节。

模拟输入采样和扫描组处理时间

ADCF具有嵌入式采样保持电路。当ADCFnSGCRx的SGST位设置为1且扫描组开始延迟时间(tD)过去后,ADC执行采样,然后开始顺序比较转换处理。

扫描组处理时间tSG包括扫描组开始延迟时间tD (Scan group processing time)、采样时间tSPL (sampling time)、顺序比较转换处理时间tSAR (sequential compare conversion processing time)和扫描组结束延迟时间tED (Scan group end delay time)。

Table27.43, Scan Group Processing Time,显示扫描组处理时间

在多周期扫描模式下,当i =虚拟通道数,j =多周期数时,扫描组处理时间tSG (scan group processing time)的计算公式如下:

tSG = tD + (tSPL + tSAR) × i × j + tED

连续扫描模式下的第一周期扫描:tD + (tSPL + tSAR) × i

连续扫描模式下的第二次及后续扫描:(tSPL + tSAR) × i

Hardware Trigger Functions

对于每个扫描组x,提供一个触发输入SGx_TRG,启动相应扫描组通道的转换

扫描组转换触发信号SGx_TRG可以由几个来源产生:

•扫描组SG0至SG4

外部触发信号adtrn。

有关连接触发信号的详细信息,请参见Section 26, Peripheral Interconnect(PIC).

•扫描组SG3 ~ SG4

SG3、SG4可通过A/D定时器启动

AD时间可以通过PIC的触发信号启动

外部触发信号ADCFnTRGx通过数字噪声滤波器来消除噪声和信号故障。

Operation

Initial Settings

Trigger Input Flow

ADCF的A/D转换启动触发器包括硬件触发器、软件触发器和A/D定时器触发器。扫描组x (x = 0 ~ 4)支持ADSTART和SGST指定的软件触发(SG0到SG4), SGx_TRG (x = 0到4)的硬件触发器,以及A/D定时器触发器(SG3和SG4)。

Difference among P1M-C, P1H-C and P1H-CE


P1H-C只有32路ADC通道

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

年终总结——平凡又不平凡的2023

前言 总结不知道该如何写起&#xff0c;也不知该如何建立这一篇文章的大致框架&#xff0c;只知道我的2023大概也就分成两大块罢了。说起2023一整年&#xff0c;只能用平凡而又不平凡来形容&#xff0c;平凡在我依旧没有什么太突出的技术点&#xff0c;专业水平也一直处于龟速…

RFID传感器|识读器CNS-RFID-01/1S在AGV小车|搬运机器人领域的安装与配置方法

AGV 在运行时候需要根据预设地标点来执行指令&#xff0c;在需要 AGV 在路径线上位置执行某个指令时候&#xff0c;则需要在这个点设置 命令地标点&#xff0c;AGV 通过读取不同地标点编号信息&#xff0c;来执行规定的指令。读取地标点设备为寻址传感器&#xff0c;目前&#…

【C语言:可变参数列表】

文章目录 1.什么是可变参数列表2.可变参数列表的分析与使用2.1使用2.2分析原理2.3分析原码 1.什么是可变参数列表 对于一般的函数而言&#xff0c;参数列表都是固定的&#xff0c;而且各个参数之间用逗号进行分开。这种函数在调用的时候&#xff0c;必须严格按照参数列表中参数…

【Vue3+React18+TS4】1-1 : 课程介绍与学习指南

本书目录&#xff1a;点击进入 一、为什么做这样一门课程? 二、本门课的亮点有哪些? 2.1、轻松驾驭 2.2、体系系统 2.3、高效快捷 2.4、融合贯通 三、课程内容包括哪些? 四、项目实战 《在线考勤系统》 五、课适合哪些同学? 一、为什么做这样一门课程? 近十年内前端…

git使用(完整流程)

1. 新建仓库 1.右击 git bash 后 输入 git init (仓库为:当前目录) git init name (仓库为:name文件夹) git clone https://github.com/Winnie996/calculate.git //https2.工作区域 工作目录 3. 添加 提交 git add . //工作区添加至暂存区 git commit -m "注释内容&q…

Android14之Selinux解决neverallow报错(一百七十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Kafka消息阻塞:拯救面试的八大终极解决方案!

大家好&#xff0c;我是小米&#xff0c;一个对技术充满热情的90后程序员。最近在准备社招面试的过程中&#xff0c;遇到了一个超级有挑战性的问题&#xff1a;“Kafka消息阻塞怎么解决&#xff1f;”今天&#xff0c;我就来和大家一起深入剖析这个问题&#xff0c;分享我在解决…

kubernetes(k8s)集群常用指令

基础控制指令 # 查看对应资源: 状态 $ kubectl get <SOURCE_NAME> -n <NAMESPACE> -o wide 查看默认命名空间的pod [rootk8s-master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 3h53m查看所有pod [roo…

Vue3-36-路由-路由的元数据信息 meta

什么是 meta 简单的理解&#xff0c;meta 就是路由对象 的一个属性对象&#xff0c; 可以 通过这个 属性给 路由对象添加 一些必要的属性值&#xff0c; 在使用路由对象时可以获取到这个属性型对象&#xff0c;从而进行一些其他的逻辑判断。 meta 这个非常的简单&#xff0c;就…

深入了解ReadDirectoryChangesW并应用其监控文件目录

简介 监视指定目录的更改&#xff0c;并将有关更改的信息打印到控制台&#xff0c;该功能的实现不仅可以在内核层&#xff0c;在应用层同样可以。程序中使用 ReadDirectoryChangesW 函数来监视目录中的更改&#xff0c;并使用 FILE_NOTIFY_INFORMATION 结构来获取有关更改的信息…

BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【1】

预训练模型:A pre-trained model is a saved network that was previously trained on a large dataset, typically on a large-scale image-classification task. You either use the pretrained model as is or use transfer learning to customize this model to a given t…

Python中的装饰器

顾名思义&#xff0c;函数装饰器就是对这个函数进行了装饰&#xff0c;比如在函数的前后进行日志打印等。在Python中&#xff0c;装饰器是一种特殊的语法&#xff0c;用于简化函数或方法的定义和调用。装饰器允许你在不修改原始函数代码的情况下&#xff0c;通过在其上应用装饰…

Apple M2 Pro芯片 + docker-compose up + mysql、elasticsearch pull失败问题的解法

背景 &#xff08;1&#xff09;从github上git clone了一个基于Spring Boot的Java项目&#xff0c;查看readme&#xff0c;发现要在项目的根目录下&#xff0c;执行“docker-compose up”。&#xff08;2&#xff09;执行“docker-compose up”的前提是&#xff0c;在macos上要…

Vue中break关键字

Change() {//每次触发该事件&#xff0c;都要讲data重新赋值一次this.data JSON.parse(JSON.stringify(this.data1));// 根据选中的等级更新数据switch (this.selectedlevel) {case 1:// 更新数据为一级数据this.data this.data.filter(item > item.level "1"…

【shell漫步】3 条件分支结构

碎碎念 接上文的运算符的内容&#xff0c;这一章终于开始接触控制结构 【shell漫步】2 运算符-CSDN博客 分支结构的写法 当我们要对不同情况采取不同措施的时候就要用到分支结构 在shell中分支结构的写法如下 if [ 情况1 ] then代码1 elif [ 情况2 ] then代码2 elif [ 情…

mysql四大引擎、账号管理以及建库

目录 一.数据库存储引擎1.1存储引擎的查看1.2InnoDB1.3MyISAM1.4 MEMORY1.5 Archive 二.数据库管理2.1元数据库分类2.2 操作2.3 MySQL库 三.数据表管理3.1三大范式3.2 整形3.3 实数3.4 字符串3.5 text&blob3.6 日期类型3.7 选中标识符 四.数据库账号管理4.1 查询用户4.2查看…

【论文阅读|冷冻电镜】DISCA: High-throughput cryo-ET structural pattern mining

论文题目 High-throughput cryo-ET structural pattern mining by unsupervised deep iterative subtomogram clustering 摘要 现有的结构排序算法的吞吐量低&#xff0c;或者由于依赖于可用模板和手动标签而固有地受到限制。本文提出了一种高吞吐量的、无需模板和标签的深度…

Kotlin协程学习之-01

由于协程需要支持挂起、恢复、因此对于挂起点的状态保存就显得机器关键。类似的&#xff0c;线程会因为CPU调度权的切换而被中断&#xff0c;它的中断状态会保存在调用栈当中&#xff0c;因而协程的实现也按照是否开辟相应的调用栈存在以下两种类型&#xff1a; 有栈协程&…

Zookeeper注册中心实战

Java学习手册面试指南&#xff1a;https://javaxiaobear.cn Spring Cloud Zookeeper通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习惯用法&#xff0c;为 Spring Boot 应用程序提供Apache Zookeeper集成。通过一些简单的注释&#xff0c;您可以快速启用和配置应用…

【RK3399 PCIE调试——硬件信息资源获取】

一、1、 硬件接口 二、2、 PCB原理图 三、 官网地址&#xff1a; https://t.rock-chips.com/portal.php 相关资料和固件烧写可参考资料下载菜单