主题中讨论的其他器件:DRA821、 J721EXCPXEVM
工具/软件:
尊敬的团队:
硬件设置
-**电路板**:具有 DRA821 SoC 的 J7200-EVM
-**操作系统**:Yocto 构建的 Linux 镜像(内核 6.1.80-ti-g2e423244f8c0)
-**目标**:为 GNSS 数据接收配置 UART0/UART1
-**多路复用器**:SN74CB3Q3257PWR (U41) 控制 UART/LIN 选择
目标-
我需要配置多路复用器、以便将信号路由到 UART(而不是 LIN)、从而从其中一个 UART 端口 (UART0 或 UART1) 接收 GNSS 数据。
当前状态 — 我取得的成绩
1.确定了多路复用器控制 GPIO
使用`gpioinfo`、我们发现控制线路:
gpiochip0 - 8 行:
第 4 行:“UART/LIN_MUX_SEL"未“未使用的输入高电平有效
第 6 行:“GPIO_LIN_EN"未“未使用的输入高电平有效
2.成功读取 GPIO 状态
Bash
#当前配置显示 UART 模式
Root@j7200-EVM:~# gpioget gpiochip0 4 # UART/LIN_MUX_SEL = 0(UART 模式)
0
Root@j7200-EVM:~# gpioget gpiochip0 6 # GPIO_LIN_EN = 0(LIN 禁用)
0
3.已确认可使用 libgpiod 工具
Bash
root@j7200-evm:~# which gpioget gpioset gpioinfo
/usr/bin/gpioget
/usr/bin/gpioset
/usr/bin/gpioinfo
4.当前多路复用器状态
多路复用器似乎配置为** UART 模式**:
-`UART/LIN_MUX_SEL = 0`→信号路由到 UART
-`GPIO_LIN_EN = 0`→LIN 收发器已禁用
问答环节
GPIO 控制行为
当使用`gpioset gpiochip0 4=0 6=0`时、该命令执行没有错误、但`gpioinfo`仍会将这些行显示为“未使用的输入“。 这是预期行为、还是应该显示为“output [used]“?
2. UART 设备可用性
将多路复用器配置为 UART 模式后、UART0 和 UART1 的预期设备路径应该是什么? 它们是否应该显示为`/dev/ttyS0`和`/dev/ttyS1`或不同的器件节点?
3.设备树配置
我是否应该检查或修改任何设备树设置以确保 UART0 和 UART1 已正确启用? 当前引导参数显示:
console=ttyS2115200n8 earlycon=ns16550a、mmio32,0x02800000
4.持久 GPIO 配置
是否建议使用一种方法使 GPIO 多路复用器配置在重新启动后持续存在? 应该在器件树中还是通过用户空间脚本来处理该问题?
5、硬件验证
如何验证多路复用器实际上是否正确地切换信号? 对于 J7200-EVM UART/LIN 功能、是否有任何建议的测试程序?
##到目前为止我使用过的命令
Bash
#检查 GPIO 状态
gpioinfo gpiochip0
gpioget gpiochip0 4 6.
#为 UART 模式配置
gpioset gpiochip0 4=0 6=0
#配置 LIN 模式(如果需要)
gpioset gpiochip0 4=1 6=1
#检查可用的 UART 设备
ls -la /dev/ttyS
预期的后续步骤
1.确认 UART 设备可用且可访问
2.测试与 GNSS 模块的 UART 通信
3.验证通过多路复用器的信号路由
4.必要时实施持久配置
请求指导
对于以下方面的任何见解、我将不胜感激:
- J7200-EVM 的正确 UART 器件配置
- TI EVM 上多路复用器控制的最佳实践
-需要修改设备树(如有)
-验证 UART/LIN 切换的测试程序
硬件详细信息:
- SoC:DRA821 (J7200)
-板:J7200-EVM
-多路复用器: SN74CB3Q3257PWR (U41)
- I2C GPIO 扩展器:I2C 总线 1 上的地址 0x21




