ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

rk3568安卓13驱动适配-串口

rk3568安卓13驱动适配-串口 本文记录工作中在rk3568安卓13的SDK中适配板载外设串口功能时具体的修改点和遇到的问题。目录前言一、串口介绍1. 数据传输方式异步与同步2. 数据帧格式3. 电平标准与转换4. 硬件连线二、驱动适配1.硬件原理2.设备树文件修改3.测试总结前言串口在嵌入式里面使用最普遍而它的原理也是最简单最基础的知识。本文介绍在rk3568安卓13 SDK中如何适配串口功能。一、串口介绍串口Serial Port是一种按位bit顺序传输数据的通信接口。它的原理并不复杂核心就是将数据的字节拆分成一个个独立的位通过一根信号线依次发送出去接收方再将这些位重新组合成字节。1. 数据传输方式异步与同步串口通信最主流的是异步串口如我们调试常用的UART。它的特点是不需要单独的时钟信号线来同步收发双方。如何保持同步收发双方必须提前约定好相同的通信速率即波特率。发送方按照这个速率一位一位地发接收方也按照这个速率一位一位地收就像两人约好相同的步频齐步走从而保证数据不会错位。2. 数据帧格式一帧完整的数据通常包含以下几部分这也是在串口调试软件中能配置的参数| 起始位 | 数据位5~8位 | 校验位可选 | 停止位1~2位 |起始位表示一帧数据的开始。数据位真正要传输的数据内容。校验位用于简单的错误检查如奇偶校验。停止位表示一帧数据的结束。3. 电平标准与转换芯片内部如RK3568的UART外设使用的通常是TTL电平如0V和3.3V。但为了长距离传输或与其他设备连接需要转换为其他标准例如RS-232使用正负电压如12V和-12V抗干扰能力强用于连接老式PC。RS-485使用差分信号适合长距离、多节点通信。调试开发板时请注意电平匹配避免损坏芯片确保你的串口模块电平与开发板一致通常为3.3V。4. 硬件连线以调试最常用的UART为例最少需要三根线即可通信TX (发送端)连接对方设备的RX。RX (接收端)连接对方设备的TX。GND (地线)必须连接为信号提供共同的参考电平。二、驱动适配1.硬件原理硬件原理图如下可以看到引脚对应关系UART4的RX-GPIO3_B1, TX- GPIO3_B2UART7的RX-GPIO3_C5, TX- GPIO3_C4;2.设备树文件修改根据官方rk3568-pinctrl.dtsi文件中如下所示kernel-5.10/arch/arm64/boot/dts/rockchip/rk3568-pinctrl.dtsi uart4 { /omit-if-no-ref/ uart4m0_xfer: uart4m0-xfer { rockchip,pins /* uart4_rxm0 */ 1 RK_PA4 2 pcfg_pull_up, /* uart4_txm0 */ 1 RK_PA6 2 pcfg_pull_up; }; /omit-if-no-ref/ uart4m0_ctsn: uart4m0-ctsn { rockchip,pins /* uart4m0_ctsn */ 1 RK_PA7 2 pcfg_pull_none; }; /omit-if-no-ref/ uart4m0_rtsn: uart4m0-rtsn { rockchip,pins /* uart4m0_rtsn */ 1 RK_PA5 2 pcfg_pull_none; }; /omit-if-no-ref/ uart4m1_xfer: uart4m1-xfer { rockchip,pins /* uart4_rxm1 */ 3 RK_PB1 4 pcfg_pull_up, /* uart4_txm1 */ 3 RK_PB2 4 pcfg_pull_up; }; };可以看出原理图中引脚对应的节点名为uart4m1_xfer因此设备树修改为kernel-5.10/arch/arm64/boot/dts/rockchip/rk3568-evb2-lp4x-v10.dtsi uart4 { pinctrl-names default; pinctrl-0 uart4m1_xfer; status okay; };3.测试第一步确认串口设备节点# 列出所有ttyS*设备及其权限rk3568_t:/ # ls /dev/ttyS* -la crw-rw---- 1 bluetooth net_bt 4, 65 2026-08-18 10:06 /dev/ttyS1 crw------- 1 root root 4, 67 2026-08-18 10:06 /dev/ttyS3 crw------- 1 root root 4, 68 2026-08-18 10:06 /dev/ttyS4 crw-rw---- 1 bluetooth net_bt 4, 71 2026-08-18 10:06 /dev/ttyS7 crw-rw---- 1 bluetooth net_bt 4, 73 2026-08-18 10:06 /dev/ttyS9执行后你会看到以上类似输出我这里是ttyS4。第二步通过命令行简单测试短接板卡上的两个串口引脚tx和rx在开发板的终端中执行cat命令来监听指定的串口准备接收数据cat /dev/ttyS4在另一个终端向同一个串口发送数据上面的终端能看到接收到的数据。echo Hello, UART! /dev/ttyS4总结本文介绍了工作中在rk3568安卓13 SDK中如何适配串口的主要包括串口的基本知识、驱动适配、环回测试。希望能为其他人提供参考。
返回列表