ADC配置详解
涉及模块:MCU、PORT、ADC
MCU
ADC功能模块需要在MCU进行使能,312有两个ADC模块(ADC0和ADC1),需要用到哪些ADC资源,就在MCU对应位置进行使能。新增MCU modesettingcof时,peripheral内容为空,点击Add required elements即可添加基本的外设模块
一般来说MCU主要功能为配置时钟和模式,时钟配置比较复杂后续单独讲解
在MCU/MCU modesettingcof/McuModeSettingConf_0/MCUperipheral选项卡对ADC外设进行使能。使能时,在对应模块的peripheral clock enable 进行勾选即可,比如我们ADC0和ADC1都有使用,在此处两个ADC模块都有勾选。
PORT
我们需要在PORT模块将对应端口配置为ADC,再用于ADC功能
将PTC11配置为ADC功能
首先确定PTC11的MSCR值,提供两种方法:
- 根据推算
每个端口组有32个引脚,以PTA为例,从PTA0到PTA31对应了MSCR取值0到31,那么对于PTB0到PTB31就从31到63,以此类推;
- 根据S32DS查看
打开S32DS,打开工程右上角的pins选项,选择所需的封装格式,例如我们选择了S32K312 100脚的封装格式
点击PTC11,75即为该管教的MSCR值,同时再该界面还可以查看PTC11能配置的模式
我们在PORT界面配置一个通道,命名为ADC_CH1,portpin mode选择为ADC0_S17,direction选择为In
ADC
接下来在ADC界面进行配置,首先添加ADC硬件模块,312有两个ADC模块(ADC0和ADC1)
ADC_CH1对应的ADC通道为ADC0_S17,所以我们选择ADC0,双击进入,在general界面可配置ADC模块的转换类型,有中断和DMA两种模式,中断模式适合通道数比较少,速率不高的时候,DMA适合通道较多,速率高的时候,这里我们选择中断
中断模式:转换结果通过中断进行通知
DMA:DMA的意思为直接访问内存,不经过CPU,在一定程度上可以降低CPU负载
在Adcinterrupt添加所需中断
接下来在ADC channel新增一个channel,配置如下:
命名为ADC_channel1;
Logical ID为默认分配,一般不需要进行修改;
Physical channel name 选择S17_ChanNum41;
Physical Channel ID 选择41,即S17_ChanNum41的后缀
ADC触发模式主要分为两种:软件触发和硬件触发,硬件触发又分为普通的硬件触发和BCTU触发,关于硬件触发后续进行讲解,这里我们采样软件触发的模式
在AUTOSAR的架构中,软件触发意味着通过Adc_ReadGroup(groupID,buffer)去操作ADC,即操作对象为group而非channel,因此我们需要定义group,添加一个group
配置如下:
Adc Group Access Mode:选择single,如果选择stream则表示采样流模式;
Adc Group Conversion Mode:选择oneshot(单次触发),continious为循环触发;
Adc Group Conversion Type:选择normal
Adc Group Trigger Source:触发源选择SW,即软件触发
最后在AdcGroupDefination中添加我们配置的ADC通道,也就是说我们当前配置的通道组中含有一个ADC通道,对当前通道组进行操作即可实现ADC的转化与数据读取文章来源:https://www.toymoban.com/news/detail-467695.html
文章来源地址https://www.toymoban.com/news/detail-467695.html
到了这里,关于S32K ADC配置详解 EB tresos的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!