接口定义

整机接口定义

LPA3568提供了丰富的接口,具体如下图:

../../_images/interface.png

丝印 设备节点 备注
MIC 输入声音,录制音频文件
LINE 播放音频文件
HDMI1 card0-HDMI-A-1 HDMI输出,最高支持4K@60fps
ETH0 eth0 千兆网卡
ETH1 eth1 千兆网卡
WIFI wlan0 2.4/5GHz
SPK gpio125 GPIO,输出模式,不可控
RS485 /dev/ttyS9 串口,默认波特率9600
UART1 /dev/ttyS4 串口,默认波特率9600
UART2 /dev/ttyS7 串口,默认波特率9600
CAN1 can0 CAN总线
CAN2 can1 CAN总线
VOUT 12V gpio56 GPIO,输出模式,外设供电
VOUT 5V gpio56 GPIO,输出模式,外设供电
VOUT 3V3 gpio56 GPIO,输出模式,外设供电
A/I IN1 in_voltage4_raw 模拟输入,用于接一些工业传感器
A/I IN2 in_voltage5_raw 模拟输入,用于接一些工业传感器
A/I IN3 in_voltage6_raw 模拟输入,用于接一些工业传感器
A/I IN4 in_voltage7_raw 模拟输入,用于接一些工业传感器
COM1 /dev/ttysWK2 串口RS232,默认波特率9600
COM2 /dev/ttysWK0 串口RS232,默认波特率9600
COM3 /dev/ttysWK1 串口RS232,默认波特率9600
COM4 /dev/ttysWK3 串口RS232,默认波特率9600
USB1 Type-A USB3.0 host/烧录口
USB2 Type-A USB3.0 host
USB3 Type-A USB2.0 host
USB4 Type-A USB2.0 host
SYS-CTL Debug&Key 产品手册 J14
PWR LED 电源灯
4G LED 4G灯 4G/5G 拨号
SYS LED work1 系统灯
STA LED work2 STA灯
AHD1 /dev/video0 支持1280x720@25/30HZ
AHD2 /dev/video1 支持1280x720@25/30HZ
AHD3 /dev/video2 支持1280x720@25/30HZ
AHD4 /dev/video3 支持1280x720@25/30HZ
AHD5 /dev/video8 支持1280x720@25/30HZ
AHD6 /dev/video10 支持1280x720@25/30HZ
AHD7 /dev/video11 支持1280x720@25/30HZ
AHD8 /dev/video12 支持1280x720@25/30HZ
RTC /dev/rtc0 RTC时钟

MIC 使用

使用以下命令可以录制音频文件,支持wav、mp3等格式。

录制双声道的16位小端格式的音频,采样率为48000Hz,然后保存为001.wav文件。

arecord  -Dhw:0,0 -r48000 -f S16_LE -c2 > 001.wav 

• -Dhw:0,0 指定了录音设备,0,0 是card 0 device 0,也就是第一个声卡的第一个设备。

• -r48000 指定了采样率,单位是Hz,48000表示每秒采样48000次。

• -f S16_LE 指定了采样格式,S16_LE表示有符号的16位小端格式,也就是每个采样点占用2个字节,低位在前,高位在后。

• -c2 指定了声道数,2表示双声道,也就是立体声。

• > 001.wav 指定了输出文件,>表示重定向标准输出到文件,001.wav表示文件名,wav表示文件格式。

LINE 使用

使用第一个声卡的第一个设备播放001.wav文件。

aplay -D hw:0,0 001.wav

• -D hw:0,0 指定了播放设备,hw:0,0 是card 0 device 0,也就是第一个声卡的第一个设备。

• 001.wav 指定了音频文件,wav表示文件格式,001表示文件名。

HDMI/DP 说明

xrandx命令可以查看当前HDMI连接:

neardi@3568:~$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1920x1080     60.00*+  60.00    50.00    30.00    24.00
   4096x2160     24.00
   3840x2160     30.00    25.00    24.00
   1920x1080i    60.00    50.00
   1280x720      60.00    60.00    50.00    50.00    30.00    24.00
   720x576       50.00    50.00
   720x480       59.94    59.94    59.94
DSI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1920x1080     60.00*+

完整节点:

HDMI1:/sys/devices/platform/display-subsystem/drm/card0/card0-HDMI-A-1/

ETH 说明

可以通过调试串口、ssh或者adb来查看IP地址,例如:

neardi@3588:~$ ifconfig -a
enP2p33s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.65  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::7df7:e74d:497e:345d  prefixlen 64  scopeid 0x20<link>
        ether 62:ea:fb:ca:95:e7  txqueuelen 1000  (Ethernet)
        RX packets 2548  bytes 210938 (210.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 338  bytes 46899 (46.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 140  base 0xd000  

Wi-Fi 说明

通过如下命令查看当前Wi-Fi型号:

cat /sys/bus/sdio/devices/mmc2\:0001\:1/vendor
cat /sys/bus/sdio/devices/mmc2\:0001\:1/device 

0x02d00xaae8是AP6275S,0x024c0xb852是RTL8852,0x1ffe0x6316是FD7352S

启动热点

UART 使用

串口是一种常见的通信接口,用于与外部设备进行串行通信。LPA3568提供了多个串口,分别对应不同的设备节点。在使用串口之前,需要确保串口连接正确,以及波特率和其他参数设置一致。

RS485设备文件为/dev/ttyS9。在开发板设备上运行下列命令:

发送字符串到主机

echo "neardi RS485 test..." > /dev/ttyS9

主机中的串口终端即可接收到字符串 “neardi RS485 test…” 开发板接收数据:

接收主机发送的字符串

cat /dev/ttyS9

同样,UART1和UART2设备文件分别是/dev/ttyS4/dev/ttyS7

CAN 使用

CAN是一种总线标准,用于实现设备之间的通信。LPA3568提供了两个CAN接口,分别对应can0和can1设备。在使用CAN之前,需要确保CAN设备连接正确,以及波特率和其他参数设置一致。 默认固件包含使用 candump 和 cansend 工具进行收发报文测试即可,若没有工具可以在 github 下载。

#在收发端关闭can0设备
ip link set can0 down
#在收发端设置比特率               
ip link set can0 up type can bitrate 1000000 dbitrate 3000000 fd on
#在接收端执行candump,阻塞等待报文                        	
candump can0
#在发送端执行cansend,发送报文        	
cansend can0 123#1122334455667788

更多指令

1、 ip link set canX down 		//关闭can设备;
2、 ip link set canX up   		//开启can设备;
3、 ip -details link show canX 		//显示can设备详细信息;
4、 candump canX  			//接收can总线发来数据;
5、 ifconfig canX down 			//关闭can设备,以便配置;
6、 ip link set canX up type can bitrate 1000000 //设置can波特率
7、 conconfig canX bitrate + 波特率;
8、 canconfig canX start 		//启动can设备;
9、 canconfig canX ctrlmode loopback on //回环测试;
10、canconfig canX restart 		// 重启can设备;
11、canconfig canX stop 		//停止can设备;
12、canecho canX 			//查看can设备总线状态;
13、cansend canX --identifier=ID+数据 	//发送数据;
14、candump canX --filter=ID:mask	//使用滤波器接收ID匹配的数据

VOUT 使用

VOUT接口是一种可以为外部设备提供电源的接口,LPA3568提供了三路VOUT接口,分别输出12V、5V和3.3V的电压。 使用万用表可以测量VOUT 3.3V接口的电压和电流,应该为3.3V和不超过1A。

echo 56 > /sys/class/gpio/export; 
echo out > /sys/class/gpio/gpio56/direction;
#打开VOUT功能
echo 1 > /sys/class/gpio/gpio56/value; 
#关闭VOUT功能
echo 0 > /sys/class/gpio/gpio56/value;

A/I 使用

模拟输入是一种可以检测外部设备的电压或电流的接口,LPA3568提供了四路模拟输入,分别对应不同的设备节点。在使用模拟输入之前,需要确保外部设备连接正确,以及电压或电流的范围符合要求。

模拟输入测试,使用以下命令可以读取模拟输入的值:

电压值(V)=15/1024 * 读值;

电流值(MA)=30/1024 * 读值;

#读取A/I IN1值
cat /sys/devices/platform/fe720000.saradc/iio\:device0/in_voltage4_raw
#读取A/I IN2值
cat /sys/devices/platform/fe720000.saradc/iio\:device0/in_voltage5_raw
#读取A/I IN3值
cat /sys/devices/platform/fe720000.saradc/iio\:device0/in_voltage6_raw
#读取A/I IN4值
cat /sys/devices/platform/fe720000.saradc/iio\:device0/in_voltage7_raw

COM 使用

COM使用方法与RS485、UART1和UART2类似,只需替换设备文件即可。

SYS-CTL 说明

包含CPU、NPU的串口debug功能、POWER和UPDATE等按键。

LED 说明

完整节点:

SYS LED:cat /sys/devices/platform/leds/leds/work1/brightness
STA LED:cat /sys/devices/platform/leds/leds/work2/brightness

AHD 使用

目前只支持1280x720@25/30HZ。

参考《AHD摄像头》

RTC时钟

LPA3568使用HYM8563作为RTC时钟。

如何修改RTC时钟为’2018-11-11 12:00:00’

#关闭网络时间协议(NTP)的服务,使得RTC时钟不受网络时间的影响
timedatectl set-ntp false
#设置RTC时钟的时间为2018年11月11日12时00分00秒
timedatectl set-time '2018-11-11 12:00:00'
#将RTC时钟的时间同步到系统时钟,使得系统时钟和RTC时钟保持一致,可加在/etc/init.d/rockchip.sh中
hwclock --hctosys