S32K ADC配置详解 EB tresos

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值,提供两种方法:

  1. 根据推算

每个端口组有32个引脚,以PTA为例,从PTA0到PTA31对应了MSCR取值0到31,那么对于PTB0到PTB31就从31到63,以此类推;

  1. 根据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的转化与数据读取

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值