From 45ca5b07ee9f5f7d2bb8e7b0beb51d5258c08e89 Mon Sep 17 00:00:00 2001
From: anheng <12857953+aahh123456@user.noreply.gitee.com>
Date: Mon, 10 Jun 2024 14:07:48 +0800
Subject: [PATCH] updata

---
 RK3568_Linux_SDK开发文档/RK3568_Linux_SDK开发文档.md |  212 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 204 insertions(+), 8 deletions(-)

diff --git "a/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md" "b/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
index e5df926..9e6236c 100644
--- "a/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
+++ "b/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243/RK3568_Linux_SDK\345\274\200\345\217\221\346\226\207\346\241\243.md"
@@ -628,9 +628,15 @@
 
 ## 3.4 RS232和RS485
 
+### 3.4.1 硬件原理图说明
 
+![image-20240603153332281](./images/image-20240603153332281.png)
 
-### 3.4.1 内核修改支持
+![image-20240603153351475](./images/image-20240603153351475.png)
+
+![image-20240603153409087](./images/image-20240603153409087.png)
+
+### 3.4.2 内核修改支持
 
 RS232 DTS文件修改
 
@@ -668,9 +674,9 @@
 };
 ```
 
-因为RS485是半双工的,所以要么先测接收功能要么测发送功能,从原理图上可以看到,接受与发送功能的切换是GPIO4_D2来控制的,默认情况是接收功能,我们可以利用gpioset命令拉高该gpio让其工作在发送模式
+因为RS485是半双工的,所以要么先测接收功能要么测发送功能,从原理图上可以看到,接受与发送功能的切换是GPIO4_D2来控制的,默认情况是发送功能,我们可以利用gpioset命令拉高该gpio让其工作在接受模式
 
-### 3.4.2 应用程序测试
+### 3.4.3 应用程序测试
 
 RS232测试
 
@@ -726,8 +732,6 @@
 
 
 
-
-
 ## 3.5 CAN总线
 
 
@@ -764,7 +768,9 @@
 Networking support ->
     CAN bus subsystem support ->
          CAN Device Drivers  ->
-         		Platform CAN drivers with Netlink support  ->
+         		<*>Platform CAN drivers with Netlink support
+         		<*>Rockchip CAN controller
+         		<*>Rockchip CANFD controller
 ```
 
 ### 3.5.2 应用程序测试
@@ -810,6 +816,29 @@
 ![](images/CAN_result.png)
 
 
+
+**CAN单板回环测试**
+
+将板子的CAN0_H和CAN1_H连接  CAN0_L和CAN1_L连接
+
+依次输入以下命令
+
+```
+ip link set can0 down
+ip link set can0 type can bitrate 500000
+ip link set can0 up
+
+ip link set can1 down
+ip link set can1 type can bitrate 500000
+ip link set can1 up
+
+candump can0 &
+cansend can1 123#01020304050607
+```
+
+通过CAN1发送后,CAN0会打印收到的信息
+
+![image-20240608182159912](./images/image-20240608182159912.png)
 
 ## 3.6 声卡Codec
 
@@ -858,10 +887,22 @@
 
 使用amixer设置声卡
 
+通过`amixer -c 0 contents`可以查看音频硬件的当前状态和可能的设置
+
+![image-20240608192515113](./images/image-20240608192515113.png)
+
+这里的 1 和 2 对应于 `Main Mic` 和 `SPK` 在各自列表中的索引。根据需要调整命令中的索引以设置所需的选项。
+
+可以使用如下命令切换至SPK输出
+
 ```
-amixer cset name='Master Playback Volume' 'on','on'
-amixer cset name='Master Playback Volume' '30','30'
+amixer -c 0 cset numid=2 2
+
+//linux5.10
+amixer -c 0 cset numid=12 3 //HP输出
 ```
+
+![image-20240608192639436](./images/image-20240608192639436.png)
 
 使用aplay播放WAV格式音乐
 
@@ -1469,3 +1510,158 @@
    输入`gpioset 0 4=0` `gpioget 3 3`,显示Din-0的电平应为0
 
    输入`gpioset 0 4=1` `gpioget 3 3`,显示Din-0的电平应为1
+
+
+
+## 3.13 AIN 电流电压测试
+
+### 3.13.1 硬件原理图说明
+
+![image-20240530141259975](./images/image-20240530141259975.png)
+
+![image-20240530135607369](./images/image-20240530135607369.png)
+
+### 3.13.2 AIN 电流测试
+
+首先我们需要将ADC采样程序烧录到开发板上的单片机中
+
+连接J6000 TTL下载调试串口 Debug_RXD_CN连接串口的TXD    Debug_TXD_CN连接串口的RXD  GND相连
+
+
+
+![image-20240530140205871](./images/image-20240530140205871.png)
+
+
+
+**打开FlyMcu.exe烧录工具,选择准备好的.hex 的单片机程序**
+
+![image-20240530140731254](./images/image-20240530140731254.png)
+
+
+
+**点击开始编程后就开始烧录程序,烧录成功如下图,并且可以看到单片机的LED灯在闪烁绿光**
+
+![image-20240530140856899](./images/image-20240530140856899.png)
+
+
+
+单片机程序烧录好后,我们需要使能RK3568的UART6,根据原理图可以看到,RK3568和MCU通信串口为UART6,所以需要在设备树中设置UART6设备节点
+
+打开`~/rk3568/sdkv1.4.0_linux5.10/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux.dts`
+
+加入URAT6节点
+
+```
+&uart6{
+        dma-names = "tx", "rx";
+        pinctrl-names = "default";
+        pinctrl-0 = <&uart6m1_xfer>;
+        status = "okay";
+};
+```
+
+
+
+重新编译设备树后烧录到开发板中启动开发板,在/dev下看看是否有ttyS6
+
+![image-20240530142151791](./images/image-20240530142151791.png)
+
+
+
+![image-20240530141055521](./images/image-20240530141055521.png)
+
+
+
+按照上图连接电路后,用XCOM软件打开单片机的调试串口,配置如下图所示
+
+![image-20240530141147705](./images/image-20240530141147705.png)
+
+
+
+在RK3568上运行comport程序,此程序可以配置串口的波特率,停止位,数据位,奇偶校验以及指定使用哪个串口设备
+
+源代码在[framwork.git - Gitblit (iot-yun.club)](http://main.iot-yun.club:8088/tree/framwork.git/master/booster)
+
+但是这个代码需要做一定的修改,因为这个程序只能让串口输出字符串数据,但是我们在测试中需要发送十六进制数据给单片机。
+
+
+
+此时就需要了解ADC串口协议,RK3568发送读指令给MCU,MCU会响应RK3568返回ADC采样数据
+
+![image-20240530142838339](./images/image-20240530142838339.png)
+
+示例如下:
+
+示例:
+
+1、读第0通道电压:
+
+AA 55 02 00 30 8C      //CRC:0x8C30
+
+AA 55 02 00 EE 0D 99 C0   //0D EE -> 3566mv, CRC:0x0C99
+
+2、读第1路通道电压:
+
+AA 55 02 01 F1 4C
+
+AA 55 02 01 06 00 47 C5    //00 06 -> 6mv 
+
+3、读第2路通道电压:
+
+AA 55 02 02 B1 4D
+
+AA 55 02 02 06 00 B7 C5 //6mv
+
+4、读第3路通道电压:
+
+AA 55 02 03 70 8D
+
+AA 55 02 03 06 00 E6 05 //6mv
+
+5、读第0路电流
+
+AA 55 01 00 30 7C 
+
+AA 55 01 00 95 01 BB 71 //01 95 -> 405 单位0.01mA,即4.05mA, CRC:0x71BB
+
+6、读第1路电流
+
+AA 55 01 01 F1 BC
+
+AA 55 01 01 95 01 EA B1
+
+7、读第2路电流
+
+AA 55 01 02 B1 BD
+
+AA 55 01 02 95 01 1A B1
+
+8、读第3路电流
+
+AA 55 01 03 70 7D
+
+AA 55 01 03 95 01 4B 71
+
+
+
+以下AIN电流测试以测试第0路电流为例
+
+在RK3568上输入`./comport -d /dev/ttyS6 -b 115200 -s 8N1N -x`
+
+在XCOM上可以看到MCU的调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为1.22mA~22.79mA(测试其他三路电流时最小电流约为0.006mA)
+
+
+
+![8e38061a45cded5d0965e8381a90f9e](./images/8e38061a45cded5d0965e8381a90f9e.png)
+
+### 3.12.3 AIN 电压测试
+
+准备工作和AIN电流测试一样,不再赘述
+
+![image-20240530144317972](./images/image-20240530144317972.png)
+
+运行comport程序让rk3568输出读取电压的指令给mcu
+
+同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017mV~5.882mV
+
+![image-20240530143956558](./images/image-20240530143956558.png)

--
Gitblit v1.9.1