前言:一般我们常用到的ADC是单通道单端口采集,但是遇到特别多的ADC采集通道,MCU的ADC端口不够用的时候,这个时候就需要用到ADC的模拟外部多路复用功能了。这种功能可以有效的扩展ADC采集端口并且节省IO口资源,不过需要一个外部的扩展芯片作为支撑。本篇博客介绍一下关于瑞萨RH850U2A系列使用SmartConfigurator工具来配置复用功能的整个流程。
目录
1,RH850U2A简介
2,ADC模拟扩展
3,SmartConfigurator配置
4,代码配置
5,ADCSEL波形抓取
6,模拟采集的结果
1,RH850U2A简介
RH850/U2A基于28nm先进制程,最高搭载4个RH850 G4MH CPU核心,每个核心主频高达400MHz。更关键的是,这4个核心采用双核锁步(LockStep)结构——这意味着4个物理核心实际上以“4个主核+4个锁步核”的方式运行,核心总数等效为4+4=8个。锁步架构让两个核同时执行相同指令、实时比对结果,一旦出现偏差便立即触发安全机制,这是实现高等级功能安全的技术基础。

本博客采用的主控U2A6-292pin,内有2个主CPU核心,79ch12bit的ADC通道。其他详细的参数详见参考手册。

2,ADC模拟扩展
ADC模拟扩展,顾名思义,在 MCU ADC 引脚数量有限的情况下,通过外部模拟开关(Analog Multiplexer)扩展 ADC 可采集的模拟信号数量。MPX作为一个外部扩展芯片,本质上是就是一个逻辑电路,有三路MCU端引出的片选输入,八路外接ADC采集检测源的输入,一路接MCU的ADC检测端口,以便于实现MCU一个端口检测8路外部电压的效果。其本质上是一种ADC轮询采集。

比如MPX三个片选引脚电平的对应选择不同的ADC外部通道
| 0 | A0 |
| 1 | A1 |
| 2 | A2 |
| 3 | A3 |
| 4 | A4 |
| 5 | A5 |
| 6 | A6 |
| 7 | A7 |
3,SmartConfigurator配置
选择ADCJ2I0作为唯一的一路采集功能,注意选择的是MPX normal ADC模式

其中查看对应ADCSEL片选的端口如下所示

下图中的Mark formal seting选择的项都没有任何区别

ADC的扫描模式的选择如下所示,选择的是循环扫描模式,与软件触发。

之后生成代码
4,代码配置
以下是调用的生成的代码的接口,不过我这边是默认有一个基础的可以跑通的最小工程,所以直接调用生成的接口就行了。


5,ADCSEL波形抓取
先测试一下关于ADCSEL的三个端口有没有起到选择的作用,使用逻辑分析仪进行波形的抓取,具体表现如下,其中ADCJ2SEL0~2三个对应引脚(P2_0 P2_1 P2_2)。

6,模拟采集的结果
对应的采集的模拟数据如下,通过AP4_0来进行模拟数据的采集

完结。。。



