Toybrick

RK3588公板串口问题,收发都没有数据

singlly

新手上路

积分
27
楼主
发表于 2024-4-10 18:36:00    查看: 790|回复: 12 | [复制链接]    打印 | 显示全部楼层
本帖最后由 singlly 于 2024-4-10 20:00 编辑

核心板:  TB-RK3588 CoreBorad_V11  2021-12-20
底板:  TB-RK3588_MainBoard_V11 2021-12-21


我现在开发需要用到两路串口, 目前使用公板底座20pin上的 UART4 和 UART6
GPIO1_A0_3V3 / MIPI_CSI0_PDN1_H / UART6_RX_M1
GPIO1_A1_3V3 / MIPI_DCPHY1_RX_PDN_H / UART6_TX_M1

GPIO1_B2_3V3 / MIPICSI1_PWREN_H / UART4_RX_M2
GPIO1_B3_3V3 / MIPI_CSI1_PDN1_H / UART4_TX_M2


配置devicetree打开两路串口后, (/dev/ttyS4, /dev/ttyS6)
连PC测试 收发都没有数据,两个串口互接 回环测试 也都没有数据.
用PC接分析仪板子串口TX发数据到PC,分析仪显示一直是3.3V高电平.我把修改回退,把几个gpio口export出来, 配成输出,gpio拉高拉低可以量出来变化

不知道问题出在哪, 麻烦帮忙看看





回复

使用道具 举报

singlly

新手上路

积分
27
沙发
 楼主| 发表于 2024-4-11 09:04:10 | 显示全部楼层
1.   测试方法是
  echo string 到串口节点, 接PC端用串口工具读取,
  echo "teststring" > /dev/ttyS4
然后PC端发送,cat 串口节点查看
  cat /dev/ttyS4

2.  
cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins

pin 32 (gpio1-0): feb90000.serial (GPIO UNCLAIMED) function uart6 group uart6m1-xfer
pin 33 (gpio1-1): feb90000.serial (GPIO UNCLAIMED) function uart6 group uart6m1-xfer

pin 42 (gpio1-10): feb70000.serial (GPIO UNCLAIMED) function uart4 group uart4m2-xfer
pin 43 (gpio1-11): feb70000.serial (GPIO UNCLAIMED) function uart4 group uart4m2-xfer

cat pinconf-pins

pin 32 (gpio1-0): input bias pull up (1 ohms), output drive strength (8 mA), input schmitt enabled
pin 33 (gpio1-1): input bias pull up (1 ohms), output drive strength (8 mA), input schmitt enabled

pin 42 (gpio1-10): input bias pull up (1 ohms), output drive strength (8 mA), input schmitt enabled
pin 43 (gpio1-11): input bias pull up (1 ohms), output drive strength (8 mA), input schmitt enabled
回复

使用道具 举报

singlly

新手上路

积分
27
板凳
 楼主| 发表于 2024-4-11 09:25:07 | 显示全部楼层
内核log里有这个打印 不知道是不是问题
[    5.270487] of_dma_request_slave_channel: dma-names property of node '/serial@feb70000' missing or empty
[    5.270511] dw-apb-uart feb70000.serial: failed to request DMA, use interrupt mode

[   15.373946] of_dma_request_slave_channel: dma-names property of node '/serial@feb90000' missing or empty
[   15.373991] dw-apb-uart feb90000.serial: failed to request DMA, use interrupt mode

回复

使用道具 举报

singlly

新手上路

积分
27
地板
 楼主| 发表于 2024-4-11 10:10:02 | 显示全部楼层
1.  配置速率115200  rk3588 通过串口 /dev/ttyS6  发送数据到PC, PC可以接收到数据,
  运行测试程序,PC可以收到5A5A5A5A5A

2. RK3588板端 运行测试程序, 接收不到数据.
root@debian:/home/toybrick/test# ./mytest
init serial:/dev/ttyS6
0
failed:
1

3. PC端定时发送字串, RK3588关闭测试程序, cat /dev/ttyS6   也没有数据出来
回复

使用道具 举报

singlly

新手上路

积分
27
5#
 楼主| 发表于 2024-4-11 10:44:09 | 显示全部楼层
用测试程序和 ts_uart都测试了 , RK3588发送到PC可以 ,  从PC发送到RK3588 接收不到
回复

使用道具 举报

singlly

新手上路

积分
27
6#
 楼主| 发表于 2024-4-11 10:58:46 | 显示全部楼层
测试程序debug 发现, 程序运行后,PC端没有发数据,甚至把串口关闭, 测试程序的读取函数仍然触发返回1,读取到1个字节, 内容是0
后面PC端再发送数据,无论发多少次都无法触发读取。
回复

使用道具 举报

singlly

新手上路

积分
27
7#
 楼主| 发表于 2024-4-11 14:37:32 | 显示全部楼层
问题已解决, 是我的USB转串口的线有问题  之前那个数据发出来没有波形

换了一个别的型号测试  收发都没有问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表