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.rhkb.cn/news/233659.html

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

相关文章

数据结构和算法-数据结构的基本概念和三要素和数据类型和抽象数据类型

文章目录 总览数据结构的基本概念总览数据早期和现代的计算机处理的数据数据元素-描述一个个体数据对象-一类数据元素什么是数据结构小结 数据结构的三要素总览逻辑结构-集合结构逻辑结构-线性结构逻辑结构-树形结构逻辑结构-图形结构逻辑结构-小结数据的运算物理结构&#xff…

7个Pandas绘图函数助力数据可视化

大家好&#xff0c;在使用Pandas分析数据时&#xff0c;会使用Pandas函数来过滤和转换列&#xff0c;连接多个数据帧中的数据等操作。但是&#xff0c;生成图表将数据在数据帧中可视化&#xff0c;通常比仅仅查看数字更有帮助。 Pandas具有几个绘图函数&#xff0c;可以使用它…

复试 || 就业day05(2024.01.08)项目一

文章目录 前言代码模拟梯度下降构建函数与导函数函数的可视化求这个方程的最小值&#xff08;直接求导&#xff09;求方程最小值&#xff08;不令方程导为0&#xff09;【梯度下降】eta0.1eta 0.2eta 50eta 0.01画出eta0.1时的梯度下降x的变化过程 总结 前言 &#x1f4ab;你…

Python将Labelme文件的真实框和预测框绘制到图片上

Python将Labelme文件的真实框和预测框绘制到图片上 前言前提条件相关介绍实验环境Python将Labelme文件的标注信息绘制到图片上代码实现输出结果 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Python日常小操作专…

qt信号和槽

Qt是一个跨平台的C图形用户界面应用框架 91年奇趣科技开发 pro工程文件介绍 .pro就是工程文件(project)&#xff0c;它是qmake自动生成的用于生产makefile的配置文件 QT core gui //Qt包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT widgets //大于4版本包含…

2024.1.2 Redis 数据类型 Stream、Geospatial、HyperLogLog、Bitmaps、Bitfields 简介

目录 引言 Stream 类型 Geospatial 类型 HyperLogLog 类型 Bitmaps 类型 Bitfields 类型 引言 Redis 最关键&#xff08;应用广泛、频繁使用&#xff09;的五个数据类型 StringListHashSetZSet 下文介绍的数据类型一般适合在特定的场景中使用&#xff01; Stream 类型 St…

强化学习的数学原理学习笔记 - 基于模型(Model-based)

文章目录 概览&#xff1a;RL方法分类基于模型&#xff08;Model-Based&#xff09;值迭代&#xff08;Value Iteration&#xff09;&#x1f7e6;策略迭代&#xff08;Policy Iteration&#xff09;&#x1f7e1;截断策略迭代&#xff08;Truncated Policy Iteration&#xff…

EasyRecovery2024永久免费版电脑数据恢复软件

EasyRecovery是一款操作安全、价格便宜、用户自主操作的非破坏性的只读应用程序&#xff0c;它不会往源驱上写任何东西&#xff0c;也不会对源驱做任何改变。它支持从各种各样的存储介质恢复删除或者丢失的文件&#xff0c;其支持的媒体介质包括&#xff1a;硬盘驱动器、光驱、…

特征工程(一)

特征工程&#xff08;一&#xff09; 什么是特征工程 简单来讲将数据转换为能更好地表示潜在问题的特征&#xff0c;从而提高机器学习性能 特征工程包含的内容 转换数据的过程特征更好地表示潜在问题提高机器学习性能 数据和机器学习的基础知识 数据基础 以下为数据的一…

计算机网络(超级详细笔记)

使用教材计算机网络&#xff08;第8版&#xff09;&#xff08;谢希仁&#xff09; 第一章&#xff1a;概述 第二章&#xff1a;物理层 第三章&#xff1a;数据链路层 第四章&#xff1a;网络层 第五章&#xff1a;运输层 第六章&#xff1a;应用层 目…

适合培训协会搭建的培训机构管理系统开发方案

一、项目背景与目标 &#xff08;一&#xff09;项目背景 培训学校教务管理系统是培训机构数字化管理的必备系统&#xff0c;该系统功能大大提升机构办学的管理效率、提升机构在家长心中的专业度&#xff0c;市面上的培训机构管理系统收费越来越贵&#xff0c;为了给协会内培…

【陈老板赠书活动 - 21期】- Python树莓派编程从零开始(第3版)

陈老老老板&#x1f9d9;‍♂️ &#x1f46e;‍♂️本文专栏&#xff1a;赠书活动专栏&#xff08;为大家争取的福利&#xff0c;免费送书&#xff09; &#x1f934;本文简述&#xff1a;活就像海洋,只有意志坚强的人,才能到达彼岸。 &#x1f473;‍♂️上一篇文章&#xff…

微信小程序实战-01翻页时钟-1

文章目录 前言需求分析功能设计界面设计界面结构设计界面样式设计 逻辑设计 单页功能实现运行结果 前言 我经常在手机上用的一款app有一个功能是翻页时钟&#xff0c;基于之前学习的小程序相关的基础内容&#xff0c;我打算在微信小程序中也设计一个翻页时钟功能&#xff0c;J…

ArcGIS小技巧|四种计算图斑面积的方法

ArcGIS中有多种方法可计算出图斑面积&#xff0c;本文总结了四种方法&#xff0c;是否可堪称史上最全&#xff1f; 1、计算几何 这是最适合非专业人士的方法&#xff0c;直接利用ArcGIS中的计算几何功能进行计算。 a、首先添加一double类型字段&#xff0c;用来存储面积数值…

移动通信原理与关键技术学习(2)

1.多径信道滤波器表示&#xff0c;多径信道可以认为是线性时变滤波器&#xff0c;接收信号为发送信号与信道冲激响应的卷积。 2.调制就是对信号源的信息进行处理加到载波上&#xff0c;使其变为适合于信道传输的形式的过程&#xff0c;就是使载波随信号而改变的技术。 3.进行调…

基于 Python+Neo4j+医药数据,构建了一个知识图谱的自动问答系统

知识图谱是目前自然语言处理的一个热门方向。目前知识图谱在各个领域全面开花&#xff0c;如教育、医疗、司法、金融等。 本项目立足医药领域&#xff0c;以垂直型医药网站为数据来源&#xff0c;以疾病为核心&#xff0c;构建起一个包含7类规模为4.4万的知识实体&#xff0c;…

【MIdjourney】图像角度关键词

本篇仅是我个人在使用过程中的一些经验之谈&#xff0c;不代表一定是对的&#xff0c;如有任何问题欢迎在评论区指正&#xff0c;如有补充也欢迎在评论区留言。 1.侧面视角(from side) 侧面视角观察或拍摄的主体通常以其侧面的特征为主要焦点&#xff0c;以便更好地展示其轮廓…

Linux文件系统和日志分析

一、inode表结构 1. inode表 inode号在同一个设备上是唯一的。 inode号是有限资源&#xff0c;它的大小和磁盘大小有关。 访问文件的基本流程 根据文件夹的文件名和inode号的关系找到对应的inode表&#xff0c;再根据inode表&#xff08;属主 属组&#xff09;当中的指针找到磁…

Python 全栈体系【四阶】(十一)

第四章 机器学习 机器学习&#xff1a; 传统的机器学习&#xff1a;以算法为核心深度学习&#xff1a;以数据和计算为核心 感知机 perceptron&#xff08;人工神经元&#xff09; 可以做简单的分类任务掀起了第一波 AI 浪潮 感知机不能解决线性不可分问题&#xff0c;浪潮…

c# 学习笔记 - 委托(Delegate)

文章目录 1. 委托1.1 委托概述1.2 委托使用1.3 委托的传播 2. 匿名方法2.1 匿名方法概述2.2 匿名方法 1. 委托 1.1 委托概述 委托简介 委托就是对方法的引用&#xff0c;可以理解为例如整型变量的容器可以存储整形数据&#xff0c;委托就是某种方法的容器&#xff0c;可以用来…