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 硬件原理图说明 + -### 3.4.1 内核修改支持 + + + + +### 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 @@  + +**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会打印收到的信息 + + ## 3.6 声卡Codec @@ -858,10 +887,22 @@ 使用amixer设置声卡 +通过`amixer -c 0 contents`可以查看音频硬件的当前状态和可能的设置 + + + +这里的 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输出 ``` + + 使用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 硬件原理图说明 + + + + + +### 3.13.2 AIN 电流测试 + +首先我们需要将ADC采样程序烧录到开发板上的单片机中 + +连接J6000 TTL下载调试串口 Debug_RXD_CN连接串口的TXD Debug_TXD_CN连接串口的RXD GND相连 + + + + + + + +**打开FlyMcu.exe烧录工具,选择准备好的.hex 的单片机程序** + + + + + +**点击开始编程后就开始烧录程序,烧录成功如下图,并且可以看到单片机的LED灯在闪烁绿光** + + + + + +单片机程序烧录好后,我们需要使能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 + + + + + + + + + +按照上图连接电路后,用XCOM软件打开单片机的调试串口,配置如下图所示 + + + + + +在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采样数据 + + + +示例如下: + +示例: + +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) + + + + + +### 3.12.3 AIN 电压测试 + +准备工作和AIN电流测试一样,不再赘述 + + + +运行comport程序让rk3568输出读取电压的指令给mcu + +同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017mV~5.882mV + + -- Gitblit v1.9.1