Adc 配置使用说明
Adc 配置使用说明
简介
本手册详细介绍了如何使用灵犀配置工具,配置KF32A158SQV芯片的ADC模块。
环境准备
确保已安装以下软件:
- 灵犀配置工具(版本需支持KF32A158SQV芯片)
- 支持KF32A158SQV芯片的MCAL(Microcontroller Abstraction Layer)软件包
创建项目
- 打开灵犀配置工具。
- 点击主界面上的“新建项目”按钮,如图所示

选择MCU型号
- 在“MCU型号选择”窗口中,选择“MCAL”项目类型。
- 在“快速选择MCU”下拉菜单中,选择“KF32A158SQV”。
- 点击“创建”按钮,如图所示

添加ADC模块
- 在灵犀配置工具主界面,点击左侧的“》”按钮打开模块添加界面,如图所示

- 在灵犀配置工具主界面,点击“Apply Module”按钮。
- 在“Module Manager”窗口中,从“unUsed”列表中选择“Adc”模块。
- 点击中间的“>”按钮,将“Adc”模块移动到“used”列表中。
- 点击“Apply”按钮,完成模块添加,如图所示

配置ADC模块
配置AdcGeneral
- 在左侧树状结构中,展开“Adc”并选择“AdcGeneral”。
- 配置以下参数:(示例配置仅供参考,根据实际使用修改)
| 配置项 | 使能(true) | 不使能(false) |
|---|---|---|
| AdcDeInitApi | 启用 Adc_DeInit() API | 禁用该 API |
| AdcDevErrorDetect | 开启非法参数检测,触发错误通知 | 关闭错误检测 |
| AdcEnableLimitCheck | - | - |
| AdcEnableQueuing | 启用排队机制(优先级未启用时) | 禁用排队机制 |
| AdcEnableStartStopGroupApi | 启用组转换启停 API(Start/StopGroupConversion) | 禁用启停 API |
| AdcGrpNotifCapability | 启用组转换完成通知机制 | 禁用通知机制 |
| AdcHwTriggerApi | 启用硬件触发控制 API | 禁用触发控制 |
| AdcLowPowerStatesSupport | - | - |
| AdcPowerStateAsynchTransitionMode | - | - |
| AdcPriorityImplementation | - | - |
| AdcReadGroupApi | 启用 Adc_ReadGroup() API | 禁用读取功能 |
| AdcResultAlignment | 设置 ADC 结果对齐方式(左/右) | 默认对齐方式 |
| AdcVersionInfoApi | 启用获取模块版本信息 API | 禁用版本信息获取 |
| AdcPBFixedAddress | 初始化时使用 NULL_PTR 入参 | 使用配置结构体指针 |
| AdcResetSfrInit | 初始化时复位ADC硬件单元 | 初始化时不复位ADC硬件单元 |
| AdcEcucPartitionRef | - | - |
| AdcKernelEcucPartitionRef | - | - |
| AdcPowerStateConfig | - | - |
配置AdcConfigSet
- ADC最多支持3个硬件单元,所以AdcConfigSet最多可以配置3组ADC,至少要配置一组信息。158SF系列支持2个硬件单元,138SF系列支持1个硬件单元
- 点击'AdcConfigSet'右侧'+'来增加配置个数或在'AdcConfigSet'界面,点击'Add',如图所示

- 删除ADC配置个数,在'AdcConfigSet'配置界面,选中增加的配置信息,点击'Delete'或左侧,点击'-',如图所示

- 配置以下参数:(示例配置仅供参考,根据实际使用修改)
- AdcClkSource:配置ADC时钟源
- AdcHwUnitId:ADC硬件单元ID(ADC0\ADC1\ADC2)158SF系列支持ADC0\ADC1,138SF系列支持ADC0
- AdcPrescale:分频系数
注意
配置ADC时钟源和分频后,ADC最大时钟频率不能超过16M
| 配置值 | 描述 |
|---|---|
| 0 | 二分频 |
| 1 | 四分频 |
| 2 | 八分频 |
| 3 | 十六分频 |
| 4 | 三十二分频 |
| 5 | 六十四分频 |
- UnitTailoring:定制信息配置
- AdcConDmaSwitch:配置是否启用DMA,根据实际使用情况选择;开启DMA时,需要在IRQ配置中使能DMA中断,否则无法采集数据;关闭DMA时,需要在IRQ配置中使能ADC中断,否则无法采集数据;
- DmaSource: DMA通道选择,在配置DMA时使用,根据使用的ADC硬件单元选择对应的DMA通道,如图所示

138SF系列DMA通道信息
- AdcDataAlign:对齐方式,当前只支持右对齐
- AdcRefVol: ADC参考电压选择,如果选择内部参考电压,需要配置MCU模块

- AdcEventCallback: ADC事件回调函数,用户根据需要选择是否使用,如果不使用,则设置为NULL_PTR
- AdcChannel:ADC通道信息配置,配置要采集的通道,供Group选择使用,根据使用个数,点击'Add'或'+'增加,如图所示

- AdcChannel配置参数
- AdcChannelId:通道ID,对应ADC通道编号, 0标识ADC

- 未启用配置信息: AdcChannelConvTime\AdcChannelHighLimit\AdcChannelLimitCheck\AdcChannelLowLimit\AdcChannelRangeSelect\AdcChannelRefVoltsrcHigh\AdcChannelRefVoltsrcLow\AdcChannelSampTime
- AdcChannelId:通道ID,对应ADC通道编号, 0标识ADC
- AdcGroup:Group配置信息,最多支持16个Group,需要配置多个Group时,点击'Add'或'+'增加,如图所示

- AdcGroup配置参数
AdcGroupAccessMode:访问模式,分为单值访问模式和流访问模式
- 单值访问:这种模式下,每次读取操作只获取一个最近转换完成的ADC值。这种方式简单直接,适合不需要连续采样的场景。
- 流访问:流访问允许以流的形式连续地从ADC读取数据,通常配合多组采样个数。这种模式适用于需要连续监测信号变化的应用场景。
AdcGroupConversionMode:转换模式,分为单次转换和连续转换
- 单次转换:在单次转换模式下,ADC仅执行一次转换操作,当转换完成后,结果可以被读出。
- 连续转换:连续转换模式允许ADC持续不断地进行转换操作,而无需手动重新启动转换过程。这种模式是采集多个采样组。
AdcGroupId:生成Group序号,用于API的使用,该数值由ADC编号高四位和Group编号低四位组成
- 如当前Group编号是0,硬件选择ADC1,则配置0x10
- 如当前Group编号是2,硬件选择ADC2,则配置0x22
- 参考值如下所示

AdcGroupPriority:优先级功能,未启用
AdcGroupReplacement:Group终止重新开始功能,未启用
AdcTriggSrc:触发源类型,分为软件转换和硬件触发两种,用户根据需要选择;如果是硬件触发,一个ADC单元只支持一个Group
如果选择硬件触发源需要使能'AdcHwTriggerApi'配置硬件信息 当'AdcTriggSrc'选择硬件触发源并且'AdcHwTriggerApi'打开时才支持配置该选项AdcHwTrigSignal:未启用选择,只支持TIMER触发
AdcHwTrigTimer:硬件触发时间间隔,单位是毫秒
AdcExternalTrigSource:选择硬件触发源的TIMER,与'AdcExternalTrigSource'一起使用
AdcTimerNumber:TIMER单元,与'AdcExternalTrigSource'保持一致
配置硬件触发时,MCAL软件内部将TIMER时钟源选择为外部高频且16000分频,所以在外部晶振16M时,时间单位是1msAdcNotifctPtr:Group转换完成回调函数,需要在'AdcGrpNotifctCapability'打开情况下使用
AdcStreamBufferMode:配置流访问模式时,配置缓冲区模式,分为线性BUFFER和环形BUFFER
AdcStreamingNumSamples:流访问时Group采样个数,配置单值访问时,该值不起作用默认是1;配置流访问模式,配置1以上才生效
AdcAdditionalSamplingTime:配置ADC的额外采样时间,单位为时钟周期
AdcTriggSrc,AdcGroupConversionMode,AdcGroupAccessMode,AdcStreamBufferMode这4个是组合使用的,Mcal规定了只支持以下配置种类组合配置 单次转换模式-软件触发-单值访问 单次转换模式-硬件触发-单值访问 单次转换模式-硬件触发-流访问-线性和环形BUFFER 连续转换模式-软件触发-单值访问 连续转换模式-软件触发-流访问-线性和环形BUFFER AdcGroupDefinition:ADC通道信息配置,最多支持16个通道,点击'Add'或'+'增加通道个数,如图所示

AdcGroupEcucPartitionRef:未启用
配置AdcPublishedInformation
目前该信息不需要配置
设置项目路径及名称
- 点击“Setting”按钮。
- “Project Name”是配置的工程名称
- 在“Projet Path”中选择“Browse”按钮,选择保存工程路径。
- “Configuration Code Folder Name”配置文件存放的文件加名称。
- 点击“Confirm”保存设置,如图所示

保存配置并预览代码
- 点击“Save”按钮,保存配置。
- 点击“Preview Code”按钮,查看生成的代码文件列表,如图所示

- 点击相应的文件名,可以预览文件内容,如图所示

生成代码
- 点击“Generate code”按钮,生成相关配置文件,如图所示

查看生成代码
- 生成代码后,可以在项目路径下找到生成的源文件。
- 使用代码编辑器打开这些文件,进行查看或进一步编辑,如图所示

