全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

瑞萨RZ/G2UL微处理器引脚复用分析方法

时间:2025-06-19 11:16

人气:

作者:admin

标签: 控制器  引脚  微处理  瑞萨 

导读:RZ/G2UL微处理器配备Cortex-A55(1.0 GHz)CPU、16位DDR3L/DDR4接口以及简单的LCD控制器。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出、USB 2.0和千兆以太网,因此特别适用于...

RZ/G2UL微处理器配备Cortex-A55(1.0 GHz)CPU、16位DDR3L/DDR4接口以及简单的LCD控制器。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出、USB 2.0和千兆以太网,因此特别适用于入门级工业网关控制器和具有简单GUI功能的嵌入式设备等应用。

fcd6f002-4a66-11f0-b715-92fbcf53809c.png

fd010284-4a66-11f0-b715-92fbcf53809c.png

G2UL共有361个引脚,分布着不同的功能。

fd2091c6-4a66-11f0-b715-92fbcf53809c.png

fd2b9026-4a66-11f0-b715-92fbcf53809c.png

对于刚接触产品的用户或者在PCB调试前期,对引脚的使用不可避免有各种疑惑和问题,比如,规格标有361个引脚,但是GPIO为什么只支持82个?单个引脚又如何确认使用的是哪个功能?

fd3d4c1c-4a66-11f0-b715-92fbcf53809c.png

为什么要有引脚复用和重定义功能?

节省资源:引脚复用和重定义功能可以允许多个功能共享相同的物理引脚,从而节省了硬件资源。

灵活性和适应性:引脚复用和重定义功能使得设计能够灵活地适应不同的需求和变化的规格。通过重新配置引脚功能,可以实现不同的连接和交互方式,提高了系统的适应性和灵活性。

减少设计复杂性:引脚的复用和重定义功能可以简化电路板布局和设计。通过减少所需的物理引脚数量,可以降低设计的复杂性和成本,并简化整体设计流程。

在PCB板功能调试中,如果某个外围端口功能异常,我们首先需要排查的是引脚功能配置是否正确。下面介绍一些常用的手段。

我们以P5_0引脚举例分析,该引脚支持4个功能,软件该如何配置?

fd5297f2-4a66-11f0-b715-92fbcf53809c.png

Linux系统中,内核都使用设备树(DTS)配置功能引脚和pinctrl软件框架进行初始化,但最终本质都是操作寄存器

P5_0配做scif2 Tx端口,如RZG2L_PORT_PINMUX,(5,0,2),为引脚配置接口,对应GPIO P5_0 Function2:

fd63d9e0-4a66-11f0-b715-92fbcf53809c.png

如果终端打印出以下信息,可以直接在.r9a07g043u11-smarc.dtb.dts.tmp文件中查找冲突,在源文件把不需要的配置屏蔽:

fd6f9c58-4a66-11f0-b715-92fbcf53809c.png

fd81e3ae-4a66-11f0-b715-92fbcf53809c.png

fd8cd200-4a66-11f0-b715-92fbcf53809c.png

对如上(5)*8详细理解,参考WIKI链接。

fdab4a14-4a66-11f0-b715-92fbcf53809c.png

另外一种方法查找手册,分析寄存器值。主要涉及PMC(端口模式控制)/PFC(端口功能控制)寄存器。

通过手册查找P5_0引脚对应的PMC和PFC寄存器偏移地址和对应的bit位信息。

fdce1c56-4a66-11f0-b715-92fbcf53809c.png

fdf36114-4a66-11f0-b715-92fbcf53809c.png

fe0533bc-4a66-11f0-b715-92fbcf53809c.png

fe1c58b2-4a66-11f0-b715-92fbcf53809c.png

查取A55寄存器基地址:

fe334c02-4a66-11f0-b715-92fbcf53809c.png

Linux系统可以使用devmem(可以在yocto工程内编译)工具读取寄存器值(寄存器地址为基地址加偏移地址):

fe490722-4a66-11f0-b715-92fbcf53809c.png

上边获取的两个值为十六进制,0x1D和0x51101,转换为二进制如下:

fe590e56-4a66-11f0-b715-92fbcf53809c.png

fe6a25e2-4a66-11f0-b715-92fbcf53809c.png

Pinctrl驱动加调试信息分析调用关系,内核节点分析。

左右滑动查看完整内容

diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
index 30140def2e28..fc9753419163 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
@@ -349,6 +349,13 @@staticintrzg2l_pinctrl_set_mux(struct pinctrl_dev *pctldev,
        dev_dbg(pctrl->dev, "port:%u pin: %u PSEL:%u
",
            RZG2L_PIN_ID_TO_PORT(pins[i]), RZG2L_PIN_ID_TO_PIN(pins[i]),
            psel_val[i]);
+        if(5 == RZG2L_PIN_ID_TO_PORT(pins[i]))
+        {
+        dev_err(pctrl->dev, "port:%u pin: %u PSEL:%u
",
+            RZG2L_PIN_ID_TO_PORT(pins[i]), RZG2L_PIN_ID_TO_PIN(pins[i]),
+            psel_val[i]);
+        dump_stack();
+        }
        rzg2l_pinctrl_set_pfc_mode(pctrl, RZG2L_PIN_ID_TO_PORT_OFFSET(data),
            RZG2L_PIN_ID_TO_PIN(pins[i]), psel_val[i]);
    }

左右滑动查看完整内容

[  0.193120] pinctrl-rzg2l11030000.pinctrl: pinctrl-rzg2l support registered
[  0.193788] pinctrl-rzg2l11030000.pinctrl: port:5pin:0PSEL:1
[  0.193819] CPU:0PID:78Comm: kworker/0:3Not tainted5.10.184-cip36-yocto-standard#1
[  0.193836] Hardware name:Renesas SMARC EVK basedonr9a07g043u11(DT)
[  0.193867] Workqueue: events deferred_probe_work_func
[  0.193885] Call trace:
[  0.193902] dump_backtrace+0x0/0x1c0
[  0.193917] show_stack+0x18/0x38
[  0.193933] dump_stack+0xf0/0x12c
[  0.193948] rzg2l_pinctrl_set_mux+0xec/0x2b0
[  0.193964] pinmux_enable_setting+0x118/0x290
[  0.193979] pinctrl_commit_state+0x94/0x178
[  0.193992] pinctrl_select_state+0x1c/0x30
[  0.194008] pinctrl_bind_pins+0xf4/0x148
[  0.194023] really_probe+0x84/0x3e8
[  0.194036] driver_probe_device+0x58/0xf0
[  0.194050] __device_attach_driver+0xb8/0xe0
[  0.194063] bus_for_each_drv+0x7c/0xd0
[  0.194077] __device_attach+0xec/0x180
[  0.194089] device_initial_probe+0x14/0x20
[  0.194103] bus_probe_device+0x9c/0xa8
[  0.194116] deferred_probe_work_func+0x88/0xc0
[  0.194132] process_one_work+0x1e8/0x380
[  0.194147] worker_thread+0x210/0x4a0
[  0.194160] kthread+0x154/0x158
[  0.194174] ret_from_fork+0x10/0x30
……

Linux系统节点信息确认:

fe7913ae-4a66-11f0-b715-92fbcf53809c.png

fe83486a-4a66-11f0-b715-92fbcf53809c.png

以上就是常用的引脚使用分析方法。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信