触觉智能RK3562开发板配置USB复合设备(上)

本文基于触觉智能RK3562核心板/开发板,为大家介绍配置USB复合设备,本章节将介绍RNDIS和UAC两种类型的USB复合设备配置。

图片

触觉智能RK3562核心板系列即将升级,新增板对板连接器封装版本,将内置无线WiFi蓝牙模组,提升集成性。

RNDIS是什么?

USB RNDIS(Remote Network Driver Interface Specification,远程网络驱动程序接口规范)是USB设备类规范中的一种,核心功能是将USB设备模拟为“虚拟以太网适配器”,让主机(电脑、手机等)通过USB接口与设备建立网络通信,如同连接物理网卡一样。它广泛用于移动设备网络共享、嵌入式设备联网、虚拟网络接口等场景。 

图片

  • 内核编译配置

在<SDK_TOP_PATH>/kernel-5.10/arch/arm64/configs/rockchip_linux_defconfig文件中,增加如下配置:

CONFIG_USB_GADGET=y
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_IPV6=y
CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_F_ECM=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPI=y

成功添加后重新编译kernel,命令如下:

cd <SDK_TOP_PATH>
./build.sh kernel

编译成功后,会生成boot.img,重新烧录内核镜像即可。

图片

执行以下命令,开启RNDIS功能:

echo usb_rndis_en > /etc/init.d/.usb_config
/usr/bin/usbdevice restart

完成后,输入以下命令可以看到开发板上多出一块网卡:

ifconfig

连接开发板的PC端也能识别出一块新的网卡:

图片

需要注意若网卡无法识别,则需先关闭PC端的防火墙:

图片

  • RNDIS功能测试

将PC和开发板新识别出的网卡手动配置于同一网段,开发板端(IP仅为举例,无限制):

ifconfig usb0 192.168.1.11

PC端:

图片

测试是否能ping通:

图片

看到有对应返回数据,说明已成功完成配置:

图片

UAC

USB UAC(USB Audio Class,USB音频类)是USB设备类规范(USB-IF定义) 中专门针对音频设备的通信协议标准,用于规范USB接口的音频输入/输出设备(如麦克风、扬声器、耳机、声卡等)与主机的通信方式。UAC通过USB虚拟标准PCM接⼝给Host设备,实现Device和Host之间⾳频互传功能。

图片

  • 内核编译配置

在<SDK_TOP_PATH>/kernel-5.10/arch/arm64/configs/rockchip_linux_defconfig文件中,增加如下配置:

CONFIG_USB_F_UAC1=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y

编译内核生成驱动镜像,命令如下:

cd <SDK_TOP_PATH>
./build.sh kernel

编译成功后,会生成boot.img,,重新烧录内核镜像即可。

图片

执行以下命令,开启UAC功能:

echo usb_uac1_en > /etc/init.d/.usb_config
/usr/bin/usbdevice restart

完成后,执行aplay -l可以识别如下声卡。

图片

连接开发板的PC端也能识别出一个新的声音设备:

图片

  • UAC功能测试

PC端:选择输出设备,选中Device设备(⼀般识别为Source/Sink,设备名与Windows版本相关) , 并打开播放器,播放⾳乐。

图片

图片


开发板也可以将音频转到card 1去播放:

root@rk3562:/# arecord -D hw:2,0 -f S16_LE -r 48000 -c 2 -B 1024 | tee recording.wav | aplay -D hw:1,0 -f S16_LE -r 48000 -c 2 -B 1024 &

开发板端执行以下命令,将UAC采样到的音频文件为test.wav

arecord -D hw:1,0 -r 48000 -c 2 -f S16_LE test.wav 

图片

开发板接上扬声器,用开发板自带的8388声卡播放test.wav,查看采样是否正常

图片

PC端:选择输入设备:

图片

开启PC端自带的录音软件开始录音:

图片

开发板端播放音频文件指定到UAC声卡,命令如下:

aplay -Dhw:1,0 ./test.wav

图片

PC端通过自带扬声设备播放录音音频,查看音频是否正常:

图片

看到音频播放 听到声音,说明已成功完成配置。

内容概要:本文围绕“考虑电能交互的冷热电区域多微网系统双层多场景协同优化配置”的Matlab代码实现展开,提出一种结合电能交互机制的双层优化模型,用于解决冷、热、电多能耦合背景下多微网系统的协同规划与运行问题。研究采用多场景分析方法应对可再生能源出力与负荷需求的不确定性,通过上层规划设备容量配置与下层优化多时段运行策略的联动,提升系统在复杂环境下的经济性、鲁棒性与能源利用效率。所提供的Matlab代码集成了建模、求解(如YALMIP+CPLEX)与结果可视化全流程,涵盖场景生成与削减、双层优化结构设计及多能流协同调度等关键技术环节,为综合能源系统优化提供了完整的算法实现与技术参考。; 适合人群:具备电力系统、综合能源系统或优化建模背景,熟悉Matlab编程与数学规划方法,正在从事相关领域科研或工程设计工作的研究生、高校研究人员及能源行业技术人员。; 使用场景及目标:①开展冷热电联供(CCHP)多微网系统的容量规划与运行优化研究;②支撑含分布式能源、储能及多能设备的综合能源系统多目标、多场景优化建模;③学习与复现双层优化、分布鲁棒优化及场景分析等先进优化方法在能源系统中的实际应用。; 阅读建议:建议结合配套文献与代码同步研读,重点理解双层模型的构建逻辑、变量耦合关系与求解技巧,关注场景生成方法与YALMIP调用细节,通过调整参数、修改目标函数等方式进行仿真实验,以深化对系统优化机理的掌握。
内容概要:本文系统研究了单相逆变器闭环控制下的PWM调制模型,基于Simulink平台构建完整的逆变电路仿真系统,涵盖主电路拓扑、闭环控制器设计、脉宽调制信号生成及输出滤波等关键环节。通过引入比例积分(PI)反馈控制策略,实现对输出电压幅值与波形的精确调节,有效抑制负载扰动带来的影响,提升系统的动态响应能力与稳态精度。仿真过程详细展示了系统建模、参数整定及性能验证的全流程,重点分析了闭环控制在改善输出正弦波质量、降低谐波畸变率方面的优势,为电力电子逆变装置的研发与优化提供了可靠的理论支撑与实践参考。; 适合人群:具备电力电子技术、自动控制原理基础知识及相关仿真经验的高校研究生、科研人员,以及从事新能源发电、不间断电源(UPS)、微电网、电动汽车等领域的工程技术人员。; 使用场景及目标:①掌握单相逆变器闭环控制系统的设计与建模方法;②深入理解PWM技术与反馈控制在逆变系统中的协同工作机制;③通过Simulink仿真平台完成系统搭建与参数调试,服务于课程设计、毕业课题、科研项目或工业产品开发中的逆变器控制算法验证。; 阅读建议:建议结合经典控制理论与电力电子变换技术同步学习,动手复现仿真模型并尝试调整PI控制器参数、载波频率等关键变量,观察其对系统稳定性与输出性能的影响,从而深化对控制机理的理解,并为进一步研究并网逆变、多电平逆变等复杂系统打下坚实基础。
代码载自:https://pan.quark.cn/s/36f2a379e44e 所讨论的核心内容涉及运用Keras所训练的`.h5`模型对实例进行检测,此任务在深度学习领域内十分普遍。`.h5`作为Keras库保存模型构造与权重的文件类型,使得训练后的模型能够被储存,并在必要时被载入以执行预测操作。在开始前,务必确认已配置好Python 3.6的环境,并安装了opencv及Keras相关库。本案例中选用的数据集是MNIST,它是一个常用于手写数字识别的标准数据集。MNIST中的图像均为28x28像素的灰度图,因此在测试个人图像时,也需将其调整为相同的图像规格。若手写数字的背景并非黑色,比如呈现白底黑字的情况,可能会对模型的识别能力产生影响,因为模型在训练阶段所适应的是黑底白字的图像。因此,在测试阶段,必须保证图像被换为黑底白字的格式。测试代码的主要步骤包括:首先,运用`load_model`函数载入`.h5`模型文件,例如使用`model = load_model(fm_cnn_BN.h5)`进行操作。其次,通过`cv2.imread`函数读取图像,再借助`cv2.cvtColor`函数将图像从RGB色彩空间换为灰度色彩空间。同时,要确保图像的尺寸与训练模型时的输入尺寸相匹配,一般设定为28x28像素。接着,利用`reshape`方法将图像数据调整至模型所要求的维度。对于MNIST数据集而言,这通常意味着将图像化为一个一维数组,其形状为`(1, 1, 28, 28)`,其中1代表批次大小,其余部分则分别表示图像的通道数、宽度和高度。然后,对数据进行标准化处理,将像素值缩放到0到1的范围内,这通常通过除以255来实现。最后,运用`predict_cl...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Industio_触觉智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值