<!-- 本文件由脚本自动转换生成，请勿手动编辑 -->

> **《LKS32MC08x User Manual》模拟电路** . 完整目录见 [README.md](README.md)
>
> **声明**：本文档由芯片用户手册自动转换生成，仅供检索与查阅参考。Markdown 格式可被自由编译、修改，本文档不构成正式技术文件，相关内容以凌鸥创芯官方网站正式发布的手册为准。
>
> 南京凌鸥创芯电子有限公司 . (C) 2019, 版权归凌鸥创芯所有 . 机密文件，未经许可不得扩散

# 模拟电路

## 简述

模拟电路包含以下模块：

- 集成1路同步双采样的12bit SAR ADC，采样及转换速率3Msps。最多20通道
- 集成4路运算放大器，可设置为PGA模式
- 集成两路比较器，可设置迟滞模式
- 集成12bit数模转换器
- 内置±2℃温度传感器
- 内置1.2V 0.8%精度电压基准源

各个模块之间的相互关系、以及各模块的控制寄存器（寄存器的说明见下文“模拟寄存器表”）如下图所示。

【图片已删除】为控制知识库体积，本文档不携带图片，相关图示请查阅凌鸥创芯官网发布的正式手册。

图4-1模拟电路功能框图

## POWER 电源管理系统

电源管理系统由电源检测模块（PVD）、上电/掉电复位模块（POR）组成。

POR模块监测AVDD的电压，在AVDD电压低于2.7
V时（例如上电之初，或者掉电时），为数字电路提供复位信号以避免数字电路工作产生异常。

PVD模块对5V输入电源进行检测，如低于某一设定阈值，则产生报警（中断）信号以提醒CPU，欠压只产生欠压标志，不会产生复位。中断提醒阈值可通过寄存器PVDSEL\[1:0\]设置为不同的电压。PVD模块可通过设置PD_PDT=1关闭。

当发生电压过低事件时，会触发产生电源电压过低中断，对应中断号17，详见第3章。

PVDSEL\[1:0\]/
PD_PDT的说明见模拟寄存器SYS_AFE_REG6

电源电压过低标志见模拟前端信息寄存器SYS_AFE_CMP

## CLOCK 时钟系统

时钟系统包括内部32kHz RC时钟、内部4MHz
RC时钟、外部4~8MHz晶体起振电路、PLL电路组成。

32kHz RC时钟LSI主要用于系统内的看门狗模块以及复位信号滤波等。4MHz
RC时钟可作为CPU主时钟使用，CPU也可以使用PLL时钟，PLL最高可提供96MHz的时钟。外部4~8MHz晶体起振电路作为备用时钟使用。

32kHz和4MHz RC时钟均带有出厂校正，32kHz
RC时钟在-40~105℃范围内的精度为±50%，4MHz
RC时钟在该温度范围的精度为±2.0%。

4MHz
RC时钟通过设置RCHPD=’0’打开（默认打开，写1关闭），RC时钟需要BGP电压基准源模块提供基准电压和电流，因此开启RC时钟需要先开启BGP模块（BGPPD=’0’）。芯片上电的默认状态下，4MHz
RC时钟和BGP模块都是开启的。32kHz RC时钟始终开启，不能关闭。

PLL对4MHz
RC时钟进行倍频，给CPU、ADC等模块提供更高速的工作时钟。CPU和PWM模块的最高时钟为96MHz，ADC模块最高时钟48MHz，通过寄存器ADCLKSEL\[1:0\]可设置不同的ADC工作频率。

PLL通过设置PLLPDN=’1’打开（默认关闭，设1打开），开启PLL模块之前，同样也需要开启BGP模块。开启PLL之后，PLL需要6us的稳定时间来输出稳定时钟。芯片上电的默认状态下，RCH时钟和BGP模块都是开启的，但PLL默认是关闭的，需要软件来开启。

晶体起振电路内置了放大器，需在OSC_IN/OSC_OUT管脚之间接入一个晶体，且在OSC_IN/OSC_OUT引脚各接一个15pF电容到地，设置XTALPDN=1即可起振。

ADCLKSEL\<1:0\>的说明见模拟寄存器SYS_AFE_REG7

BGPPD/RCHPD/XTALPDN/PLLPDN的说明见模拟寄存器SYS_AFE_REG5

## BGP 基准电压源

基准源电路(BGP REF: Bandgap
reference)为ADC、DAC、RC时钟、PLL、温度传感器、运算放大器、比较器和FLASH提供基准电压和电流，使用上述任何一个模块之前，都需要开启BGP基准电压源。

芯片上电的默认状态下，BGP模块是开启的。通过设置BGPPD
=’0’将基准源打开，从关闭到开启，BGP需要约2us达到稳定。BGP输出电压约1.2V，精度为±0.8%

BGPPD的说明见模拟寄存器SYS_AFE_REG5

## ADC 模数转换器

请参加第10章ADC

## OPA 运算放大器

芯片集成4路输入输出轨到轨（rail-to-rail）运算放大器，内置反馈电阻，外部引脚上需串联一个电阻R<sub>0</sub>到信号源。反馈电阻R<sub>2</sub>:R<sub>1</sub>的阻值可通过寄存器RES_OPAx\[1:0\]设置，以实现不同的放大倍数。

RES_OPAx\<1:0\>的说明见模拟寄存器SYS_AFE_REG0

放大器的结构示意图如下所示：

【图片已删除】为控制知识库体积，本文档不携带图片，相关图示请查阅凌鸥创芯官网发布的正式手册。

图4-2放大器框图

图中两个R<sub>0</sub>是片外需放置的电阻，阻值必须相等，最终的放大倍数为R<sub>2</sub>/(R<sub>1</sub>+R<sub>0</sub>)。

对于MOS管电阻直接采样的应用，由于MOS下管关断、上管导通时信号会升高到数十V的电源电压，为减小此时往芯片引脚里流入的电流，建议接\>20kΩ的外部电阻。

对于分流电阻采样的应用，建议接100~2KΩ的外部电阻。C<sub>0</sub>为信号滤波电容，和R<sub>0</sub>形成一阶RC滤波电路。R<sub>0</sub>的具体阻值可根据R<sub>0</sub>\*C<sub>0</sub>的滤波常数而定。如果信号上噪声较小不需要滤波、或者信号需要很大的带宽（较快的响应速度），则C<sub>0</sub>可以不加。

放大器可通过设置OPAOUT_EN\<2:0\>选择将4路放大器中的某一路输出信号通过BUFFER送至P2.7管脚口进行测量和应用（对应关系见datasheet芯片管脚说明）。因为有BUFFER存在，在运放正常工作模式下也可以选择送一路运放输出信号出来。

OPAOUT_EN\<2:0\>的说明见模拟寄存器SYS_AFE_REG2

芯片上电的默认状态下，放大器模块是关闭的。放大器可通过设置OPAxPDN=1
(x=0,1,2,3)打开。开启放大器之前，需要先开启BGP模块。

OPAxPDN的说明见模拟寄存器SYS_AFE_REG5

运放输入正负端内置钳位二极管，电机相线通过一个匹配电阻后直接接入输入端，从而简化了MOSFET电流采样的外置电路。

## CMP 比较器

内置2路输入轨到轨（rail-to-rail）比较器，比较器比较速度可编程、迟滞电压可编程、信号源可编程。比较器的比较延时可设置为0.15uS/0.6uS。迟滞电压可设置为20mV/0mV。支持多种比较器输入信号来源。

## TMP 温度传感器

芯片内置温度传感器，在-40~85℃范围内典型精度为2℃。85~105℃范围内典型精度为3℃。

测量时需选择内部基准, 且需要设置SYS_AFE_REG1 .
GAIN_REF=0，选择外部基准会引起结果的较大偏差。

芯片出厂前会经温度校正，校正值保存在flash
info区(详见6.3.9)。出厂较正时所用增益为ADC_GAIN=0，建议应用时也选择此增益，可以使较正值更准确。

芯片上电的默认状态下，温度传感器模块是关闭的。开启传感器之前，需要先开启BGP模块。

温度传感器通过设置TMPPDN=1打开，开启到稳定需要约2us，因此需在ADC测量传感器之前2us打开。

温度传感器信号连至ADC的通道18。

ADC部分的设置参考模数转换器(ADC))章节

TMPPDN的说明见模拟寄存器SYS_AFE_REG5

温度传感器的典型曲线如下图所示：

图4-3 温度传感器曲线

图中X轴为温度传感器的温度信号所对应的ADC值，Y轴为传感器所处的温度。测温时，按照如上要求配置传感器相关寄存器，并得到ADC值后，将ADC值作为X代入公式:

y=-0.6032x+364.96

求得的Y值即为此时的温度。

公式中有两个系数，a=-0.6032,
b=364.96。对于不同的芯片，b系数的值是不一样的。芯片出厂前会经过温度标定，将每颗芯片所对应的系数b写入flash的info区，地址为0x0000039C。存储时，会将b系数小数点右移一位（乘10）存入info区，小数点后第二位不进行保存。

同时为方便客户操作，系数a也会存入flash
info区，地址为0x00000398。存储时，将a系数小数点右移四位（乘10000）存入info区。

实际使用中，应从flash
info区对应地址读出a/b系数，同时将读取到的ADC测到的当下温度传感器值代入公式，即可计算得到当下温度值，单位为摄氏度。计算时，需注意系数a/b在保存时小数点的位移数，即a系数应除以10000，b系数除以10。

注意，上述计算公式，基于ADC右对齐实现。若换成左对齐，ADC采样值需右移4位后，才能代入上述公式。

## DAC 数模转换器

芯片内置一路12bit
DAC，输出信号的最大量程可通过寄存器DAC_GAIN\<1:0\>设置为1.2V/3V/4.85V

12bit
DAC可通过配置寄存器DACOUT_EN=1，将DAC输出送至P0.0管脚，可驱动\>5kΩ的负载电阻和50pF的负载电容。

DAC最大输出码率为1MHz。

芯片上电的默认状态下，DAC模块是关闭的。DAC可通过设置DAC12BPDN
=1打开，开启DAC模块之前，需要先开启BGP模块。

DAC的输入数字信号寄存器为SYS_AFE_DAC，低12BIT有效。信号范围是0x000~0xFFF。0x000对应零模拟量输出0V，0xFFF对应满量程模拟量输出为，如上文所述，的值可由DAC_GAIN\<1:0\>寄存器进行设置。每一档信号(LSB)所对应的模拟信号幅度为。若SYS_AFE_DAC的数字值为Din，则该数字信号所对应的DAC输出模拟信号为。

不同芯片，DAC存在制造偏差，为抵消偏差，DAC自带校准硬件模块。DAC输出遵循公式y=ax-b。x为SYS_AFE_DAC填入值（理想值对应数字量）。a来自SYS_AFE_DAC_AMC寄存器，b来自SYS_AFE_DAC_DC。硬件根据SYS_AFE_DAC、SYS_AFE_DAC_AMC和SYS_AFE_DAC_DC进行乘加从而求得校正后的数字量，送至DAC输入端，使得DAC最终输出的模拟值就是填入的理想数字量对应的值。系统上电后，默认加载3V的校准值，若换成其它量程，软件需读取flash
info区域，重新加载到相应寄存器。

地址0x00000330，为3V量程的a参数，地址0x00000340，为3V量程的b参数。

地址0x00000334，为1.2V量程的a参数，地址0x00000344，为1.2V量程的b参数。

地址0x00000338，为4.85V量程的a参数，地址0x00000348，为4.85V量程的b参数。

DAC输出的模拟信号，除了可以送至IO口供外部模块使用外，还可通过配置寄存器连至芯片内部的2路比较器负端，作为比较器的基准信号使用。详见比较器章节。

DACOUT_EN的说明见模拟寄存器SYS_AFE_REG3

DAC_GAIN\<1:0\>的说明见模拟寄存器SYS_AFE_REG1

DAC12BPDN的说明见模拟寄存器SYS_AFE_REG5

SYS_AFE_DAC的说明见寄存器SYS_AFE_DAC

