ATU103多功能通信及数据存储控制器,简称X-BOX,为无人车、自动驾驶车辆设计开发,包含T-BOX、P-BOX,DSSAD等功能,实现多功能融合设计、一体化设计,便于安装,提高可靠性,提升性价比。
ATU103 多功能通信及数据存储控制器采用芯驰X9M高性能SOC及AutoChips AC78406 MCU。集成GNSS定位模组、IMU、WiFi6通讯模组,可选单5G、双5G通讯模组;集成ESIM、国密芯片;支持2路工业千兆以太网、2路车载千兆以太网、6 路CAN、1路车速脉冲信号、1路汽车方向信号、1路MIC输入及1路音频输出等丰富的通讯扩展接口。
| 序号 | 型号 | 说明 |
|---|---|---|
| 1 | ATU103-A01 | 芯驰 X9M,LPDDR4 2GB,e.MMC 8G,单 5G,WIFI6,GNSS,IMU |
| 2 | ATU103-A02 | 芯驰 X9M,LPDDR4 2GB,e.MMC 8G,双 5G,WIFI6,GNSS,IMU |
| 3 | ATU103-B01 | 芯驰 X9M,LPDDR4 2GB,e.MMC 8G+128G,单 5G,WIFI6,GNSS,IMU |
| 4 | ATU103-B02 | 芯驰 X9M,LPDDR4 2GB,e.MMC 8G+128G,双 5G,WIFI6,GNSS,IMU |
| 序号 | 类型 | 分类 | 说明 |
|---|---|---|---|
| 1 | SOC | ARM 处理器 | 芯驰 X9M |
| 2 | MCU | MCU | AutoChips AC78406 |
| 3 | 存储 | LPDDR4 | 2GB |
| 4 | e.MMC | 8GB,程序存储,重要数据存储 | |
| 5 | e.MMC | 128GB,DSSAD 数据存储,支持容量定制 | |
| 6 | 底软 | SOC 操作系统 | Linux |
| 7 | MCU 操作系统 | BIOS |
| 序号 | 类别 | 说明 |
|---|---|---|
| 1 | 型号 | AutoChips AC78406 |
| 2 | Core | 高达 120MHz 的 ARM® Cortex-M4F 内核 |
| 3 | Flash | 1MB 的 PFlash (包括 2 个 Bank,512KB+512KB) 和 128KB 的 DFlash,PFlash 和 DFlash 都支持 ECC |
| 4 | SRAM | 124KB,支持 ECC |
| 5 | FlexRAM | 4KB |
| 6 | 外部振荡器 (OSC) | 支持 4MHz 到 30MHz 石英晶体振荡器(晶振模式),或从 XIN 端直接输入最大 50MHz 外部时钟(外灌模式) |
| 7 | 电源管理模块 (PMC) | 5 个功耗模式:正常运行、低速运行模式、停止模式 1、停止模式 2、低功耗停止模式 |
| 8 | 车规标准 | AEC-Q100 Grade 1, ISO26262 ASIL-B |
| 9 | 工作温度 | -40 ~+125°C |
ATU103多功能通信及数据存储控制器软件系统为Linux x9m_ref 4.14.61,采用MCU(AutoChips AC78406)+SOC(芯驰X9M 4核Cortex A55 ARM +2核 Cortex R5安全岛MCU处理器) 为主要控制芯片,处理器符合车规及ASIL-B功能安全等级,具有计算能力强、高带宽、低延时,高可靠等特点。包含TBOX、PBOX,DSSAD等功能。同时支持以下关键特性:
开机启动前,需确认以下事项:
上电成功后,POW 、RUN指示灯呈常亮状态(红色及绿色指示灯常亮)。
默认用户名:root
密码:无
LED1(红色):
电源正常时常亮、电源过压/欠压时闪烁、无电压时灭;
LED2(绿色):
MCU启动时慢闪,MCU收到ARM心跳正常后常亮
运行布谷鸟守护精灵,获取设备基本信息、状态信息、自检数据、报警信息和驱动信息等。
$AWApp_TOP
命令行查看软件版本:
$uname –a #查看系统版本
Linux x9m_ref 4.14.61 #1 SMP PREEMPT Thu Mar 5 02:25:30 UTC 2026 aarch64 GNU/Linux
注意:操作系统版本请勿升级(upgrade),如有更新需求请先和布谷鸟科技沟通确认,以免升级后造成异常。
可从/var/log目录下,获取完整log文件。
X9M 模组温度,热量传导到外壳,自然散热。
查看温度
/sys/class/thermal/thermal_zone0/temp
例如:
root@x9m_ref:~# cat /sys/class/thermal/thermal_zone0/temp
以太网(eth0)>wifi(wlan0)>5G(eth1)>5G(eth2)
ATU103默认上电自启动,关机时需先保存数据并退出程序,之后直接断电即可,无需使用shutdown/init/poweroff等命令。
用户可以通过将开发电脑与ATU103设备连接到同一局域网内。再通过ssh登录到设备进行开发调试。
设备的固定IP为192.168.2.211,账号root,无密码。
若使用路由器与设备组网,请使用千兆路由器。
ATU103提供ADB调试功能,设备默认上电在ADB模式。
调试接口:DEBUG口。
接线:使用专用调试线,typeC口接设备的DEBUG口,USB -A口接电脑的USB口。
ATU103 4路以太网共享千兆网口eth0, eth0的ip为192.168.2.211, 支持2路千兆工业以太网和2路千兆车载以太网。
1) 硬件连接方法
2) 设备节点映射关系
| 丝印 | 出厂配置 | 网口 | 备注 |
|---|---|---|---|
| ETH1 | 固定 IP 地址 192.168.2.211 | eth0 | 车载工业以太网 |
| ETH2 | 固定 IP 地址 192.168.2.211 | eth0 | 车载工业以太网 |
| ETH3 | 固定 IP 地址 192.168.2.211 | eth0 | 工业千兆以太网 |
| ETH4 | 固定 IP 地址 192.168.2.211 | eth0 | 工业千兆以太网 |
ip address add 192.168.2.211/24 brd 192.168.2.255 dev eth0
ip link set dev eth0 up
在/etc/init.d/sdrv_service.sh文件下添加eth0固定IP
ip address add 192.168.2.211/24 brd 192.168.2.255 dev eth0
ip link set dev eth0 up
udhcpc -i eth0
1. 测试是否可以自动获取IP
配置为DHCP时,插入网线,使用ifconfig命令查询对应网口是否可以看到IP
2. 测试是否可以ping通
方法一:可ping通网关,即可按ctrl +c退出。
方法二:可ping通www.baidu.com(联网状态),即可按ctrl +c退出。
将(sja1105p-1_cfg.bin)到以下目录:
/lib/firmware/sja1105p-1_cfg.bin
特别说明:如果千兆网口接百兆路由器,需要更新SJA1105支持百兆口的固件
ATU103 Wi-Fi支持WIFI6。
支持AP/STA模式。
ifconfig查WIFI模组的网口为wlan0.
使用前需安装好WiFi 6天线(1根)。
ps | grep wpa_supplicant
或
pidof wpa_supplicant
未运行执行以下指令
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D nl80211
wpa_cli -i wlan0 scan
wpa_cli -i wlan0 scan_results
配置文件路径vi /etc/wpa_supplicant.conf,配置内容参考如下:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
country=CN
network={
ssid="TP-LINK_C24C"
psk="xmf123456789"
key_mgmt=WPA-PSK //无密码NONE
scan_ssid=1 //ssid 为隐藏模式可以不填
frequency=5765 //此值可以不填,注意: frequency取决于扫描站点结果
}
配置文件修改后,请重新执行
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D nl80211
杀掉原进程
kill -9 pid
或者
killall wpa_supplicant。
ifconfig wlan0 up
udhcpc -i wlan0 //获取动态ip
route add default gw 192.168.2.1 wlan0 //设置网关,所连wifi路由网关
或者
udhcpc -i wlan0 default gw 192.168.2.1 wlan0 //设置动态ip并指定网关
测试结果
在/etc/下创建(修改)hostapd.conf 参考内容如下
interface=wlan0
driver=nl80211
ssid=ckapatu103
hw_mode=a
channel=36
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
country_code=CN
ieee80211n=1
ht_capab=[SHORT-GI-40][HT40+]
在/etc/下创建(修改)udhcpd.conf 参考内容如下
start 192.168.1.2
end 192.168.1.254
interface wlan0
max_leases 234
opt router 192.168.1.1
hostapd /etc/hostapd.conf -B //后台运行
ifconfig wlan0 192.168.1.1
udhcpd /etc /udhcpd.conf & //分配动态ip范围
如无iptables命令,请联系FAE.
以下举例为热点共享eth0(以太网)到wlan0.
echo 1 > /proc/sys/net/ipv4/ip_forward
# 减少 conntrack 压力
sysctl -w net.netfilter.nf_conntrack_max=262144
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=1200
# 提高网络队列
sysctl -w net.core.netdev_max_backlog=5000
# 自动 MTU 探测(防止分片影响性能)
sysctl -w net.ipv4.tcp_mtu_probing=1
#清空旧 iptables 规则
iptables -t nat -F
iptables -F
iptables -X
# 允许已建立连接(高效)
iptables -A FORWARD -i eth0 -o wlan0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许新连接
iptables -A FORWARD -i wlan0 -o eth0 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
# 默认允许转发
iptables -P FORWARD ACCEPT
# ⚠️ 用 SNAT 替代 MASQUERADE(性能关键)
iptables -t nat -A POSTROUTING -o eth0 \
-j SNAT --to-source 192.168.2.211
接入热点设备无法访问网络请检查网络优先级
如需配置热点脚本请联系FAE
ATU103支持单5G和双5G,插入Mini-SIM卡重启自动注册,支持5G唤醒,OTA升级。
ls /dev/ttyUSB*查看节点。ttyUSB0对应eth1;ttyUSB4对应eth2。
ifconfig查双模组的网口为eth1、eth2。需要ATU103-AWAPP-APPS_V0.1.2使用。
使用前需在断电情况下,接好天线、取下后面板插入Mini-SIM卡(SIM卡金属面朝向板上基座、不支持热插拔)。
5G功能出厂默认已配置完成,可直接使用连接网络。
5G模组为选配。使用前需在断电情况下,接好5G天线、取下后面板插入5G Mini-SIM卡(SIM卡金属面朝向板上基座,不支持热插拔)。
5G功能出厂默认已配置完成,可直接使用连接网络。
开机自动拨号成功后,可用ifconfig命令看到eth1节点获取到了IP,如下图:
可以通过ping baidu测试网络
$ ping -I eth1 baidu.com
使用NAV3120 GNSS模组,出厂缺省会配置好。使用前需接好GPS天线。ARM串口波特率9600bps默认配置,导远可调波特率:115200~921600 bps,导远默认波特率:460800 bps。
接口为/dev/ttyS1。
普通GPS模式,也可通过如下命令获取GPS数据(不能与example程序同时运行)
注意:根据导远的定义去配置串口用途。以下仅为示例。
更多GPS开发使用方法,可参考模块应用指南。
$ stty -F /dev/ ttyS1 460800 //设置波特率,导远默认460800
$ stty -F /dev/ttyS1 //查看波特率
$ echo -e -n "AGGNGGA,0,1,1\r\n" > /dev/ttyS1 //实例:通过串口0 打开输出定位信息,频率1Hz。具体数据需要查看导远协议
$ echo -e -n "AGGNGGA,0,0,1\r\n" > /dev/ttyS1 //实例:关闭输出定位信息
$ echo -e -n "AGVERSION\r\n" > /dev/ttyS1 //实例:查询终端硬件版本、软件版本等信息
$ echo -e -n \"AGSVCFG\r\n\" > /dev/ttyS1 //实例:保存参数
$ cat /dev/ttyS1 //输出GPS定位数据
运行结果为:
若GNRMC行,有类似“****,A,****,N,****,E,*****”消息,则表示搜到卫星,其中:
****,A - A前信息为时间,有效时为A,无效时为V;
****,N,****,E - 表示经纬度坐标
ARM与MCU核间通信的SPI接口,50MHZ。
| 接口 | 描述 | 备注 |
|---|---|---|
| /dev/spidev0.0 | ARM-MCU 通讯。模式 1:CPOL=0; CPHA=1 | Linux 标准 SPI |
ATU103共包含6路CAN,ARM 2路, MCU4路,其中2路支持CAN唤醒,全部支持CANFD。ARM CAN的仲裁波特率为1M,数据的波特率为5M,不支持波特率设置。MCU CAN仲裁波特率为500K,数据波特率为2M,支持设置波特率。6路CAN支持最大波特率为10M。
ARM的CAN节点是虚拟的节点,在RTOS上实现。
以下为CAN接口的对照关系,其中CK_CAN为cookoo_sdk.h中定义的CAN通道号。
| 线束标识 | 对应模块 | Socket CAN | Cookoo_sdk/CK_CAN |
|---|---|---|---|
| CAN1_HL | MCU | 不支持 | CK_CAN0 |
| CAN2_HL | MCU | 不支持 | CK_CAN1 |
| CAN3_HL | MCU | 不支持 | CK_CAN2 |
| CAN4_HL | MCU | 不支持 | CK_CAN3 |
| CAN5_HL | ARM | /dev/vircan5 | CK_CAN5 |
| CAN6_HL | ARM | /dev/vircan6 | CK_CAN6 |
可以使用socket CAN独立使用ARM的2路CAN(/dev/vircan5和/dev/vircan6),方法如下:
测试前连接CAN收发器。
1. 查看cansend帮助命令
cansend --help
2. can send 命令
cansend /dev/vircan5 -I 0x100 0x11 0x22 0x33 0x44
3. can 接收命令
candump /dev/vircan5
出厂的产品中,提供了CAN SDK使用方法的示例程序。布谷鸟CAN example位置:
usr/local/cookoo/examples/example-cookoo_can(对应源码为该目录下cookoo_can.cpp),运行程序请使用root权限。线束与SDK CAN通道号对应情况见CAN接口对照章节。
相关头文件、库位置:
/usr/local/cookoo/inc/、/usr/local/cookoo/lib
源码为cookoo_can.cpp,编译后程序为example-cookoo_can。
相关头文件、库位置:
/usr/local/cookoo/inc/、/usr/local/cookoo/lib
对照EG示例输入相应元素,打开成功即可接收can数据
程序中CAN_ID:0-3 对应线束CAN1-4
例:./example-cookoo_can [CAN_ID] [Bitrate] [SEND] [SEND_GOP] [SEND_CNT] [RECV] [FD] [CAN_DLC]
打开CAN1:
调试口。
| 接口 | 描述 | 备注 |
|---|---|---|
| /dev/ttyS0 | ARM-linux 打印口,115200 | RTOS 的波特率同 |
ATU103共4路IN/OUT,均与MCU直接连接。
支持信号输入输出。
可参照布谷鸟提供的example程序,由ARM与MCU通讯,对IO进行控制。
GPIO接口均位于32pin线上。颜色为紫色单线。
以下为GPIO接口对照关系,其中CK_PIN为定义在cookoo_sdk.h头文件中的GPIO通道号。
| 线束标识 | Cookoo_sdk/CK_PIN |
|---|---|
| CTL-OUT/IN1 | CK_PIN_IO1 |
| CTL-OUT/IN2 | CK_PIN_IO2 |
| CTL-OUT/IN3 | CK_PIN_IO3 |
| CTL-OUT/IN4 | CK_PIN_IO4 |
布谷鸟IO example位置:
/usr/local/cookoo/examples/
源码为cookoo_pin.cpp,编译后程序为example-cookoo_pin,运行程序请使用root权限。线束与GPIO通道号对应情况见GPIO接口说明章节。
相关头文件、库位置:
/usr/local/cookoo/inc/、/usr/local/cookoo/lib
使用移远 LUA300CM模组用作IMU模块,IMU需要RTOS,SPI接口设计在RTOS上(R5上)。开发时需要集成IMU的SDK进行开发R5 App,在R5上开发IMU应用,并且通过核间通信传到A55上。
| 序号 | SPI 相关接口 | 说明 |
|---|---|---|
| 1 | RES_SPI_SPI4 | X9-rtos 上的 spi 接口 |
| 2 | PortConf_PIN_OSPI1_SS0 | SPI4 的片选脚 |
eth0支持Gptp/ptp,需要由linuxptp工具的配置文件配置。
准备一台支持PTP/gPTP的主设备。
Linux系统;
安装linuxptp工具。如该设备已经支持linuxptp工具,可以尝试使用。
建议版本:linuxptp-4.1 。
首先要保证 Master的板子和ATU103的板子可以互相ping 通。
l Master板子设置IP命令:
sudo ifconfig eth0 192.168.1.66 netmask 255.255.255.0
l ATU103的板子设置IP命令:
ifconfig eth0 192.168.1.102 netmask 255.255.255.0
IP可以自定义。
手动设置Master设备的时间,命令如下:
sudo date -s "2024-11-15 10:10:00"
时间可以自行调整修改。
在Master板子执行:
ping 192.168.1.102
可以ping通过才可以做测试。
u -s是指源时钟,这里用的是CLOCK_REALTIME,是系统时间。-c是从时钟,eth0是网卡的name。
u -w 是在等待 ptp4l,配合使用。-m 就是把消息打印到标准输出(stdout)。这个命令的目的是让网卡和master的系统时间同步,我们是通过网卡来实现时间同步的。
sudo ./ptp4l -i eth0 -f default.cfg --step_threshold=1 -m -l 5&
sudo ./phc2sys -s CLOCK_REALTIME -c eth0 --step_threshold=1 --transportSpecific=0 -w -m -l 5&
进入到ptp工具的目录。请注意工具实际目录及配置文件的实际目录。可能需要自行安装确认。
./ptp4l -i eth0 -p /dev/ptp0 -f default.cfg --step_threshold=1 -m -l 5 &
./phc2sys -s eth0 -c CLOCK_REALTIME --step_threshold=1 --transportSpecific=0 -w -m -l 5&
sudo ./ptp4l -i eth0 -f automotive-master.cfg --step_threshold=1 -m -l 5&
sudo ./phc2sys -s CLOCK_REALTIME -c eth0 --step_threshold=1 --transportSpecific=1 -w -m -l 5&
./ptp4l -i eth0 -p /dev/ptp0 -f automotive-slave.cfg --step_threshold=1 -m -l 5 &
./phc2sys -s eth0 -c CLOCK_REALTIME --step_threshold=1 --transportSpecific=1 -w -m -l 5&
通过date 命令查看系统时间
可以调整以上的命令,-l 5修改为-l 6.以便打印日志。
这里,
master offset 94 表示从时钟与主时钟之间的偏差为 94 纳秒。
CLOCK_REALTIME phc offset -163:phc2sys 输出表示 phc(硬件时钟)的偏移为 -163 纳秒,即硬件时钟相对于系统时钟滞后 163 纳秒。
安装ntp工具,默认不启用。与PTP/gPTP互斥。
已经集成到系统;APP层使用。
主分区8G,可选配128G。路径为/run/media/mmcblk1。
| 序号 | 分区 | 大小 | 备注 |
|---|---|---|---|
| 1 | 根分区(/) | 8G | 根分区通常位于主引导磁盘上,并占用整个可用空间。根分区包含 /bin、/sbin、/etc、/lib、/usr 等目录和文件。 |
默认独立分区,根据实际业务情况分区配置。
执行mkfs.ext4 /dev/mmcblk1 回车
重启完成格式化。
用户若选配带SSD的产品,则SSD初始配置在出厂前已经完成,用户可以直接使用。
用户若自行购买SSD(M.2接口),请先联系布谷鸟科技进行指导安装确认,再参照下列方式进行配置。配置好的路径为/run/media/nvme0n1p1。
步骤一:
获取SSD名称,下例中为“nvme0n1p1”:
$ lsblk | grep nvme
nvme0n1p1 259:0 0 1.9T 0 disk /run/media/ nvme0n1p1
步骤二:
格式化硬盘:
$ mkfs.ext4 /dev/nvme0n1p1
步骤三:
修改fstab文件:
$ vi /etc/fstab
在打开的fstab文件的末尾增加一行:
/dev/nvme0n1p1 /run/media/nvme0n1p1 ext4 errors=remount-ro 0 0
保存退出,重启系统:
$ reboot
步骤四:
设置SSD权限:
$ chown -R root/run/media/nvme0n1p1
步骤五:
验证:
$ df -h
若nvme0n1p1显示挂载在/data下,则证明配置成功。
ATU103支持NFS。
vi /etc/exports
编辑内容参考如下
#/etc/exports文件格式:
#共享目录 可以访问的主机地址(权限)
/share *()
#共享目录 网段 读写,同步,无root权限
/share 192.168.1.0/24(rw,sync,no_root_squash)
./etc/init.d/nfsserver start
ATU103使用ES8388进行音频编解码。支持1路麦克风录音。需硬件V2以上版本。
从40PIN 调试线中找到标有 LMICP和 LMICN 字样的线。
LMICP接麦克风正极,LMICN接麦克风负极。RMICP接麦克风正极,RMICN接麦克风负极。
可以通过如下指令进行录音:
arecord –D hw:0,0 –d 20 –f cd –r 44100 –c 2 –t wav test.wav
ATU103支持音频输出, 1路音频输出,数字功放,可直接驱动10W喇叭。为Linux标准ASoC音频接口。
从40PIN 调试线中找到标有 SPEAK+ 和任意GND 字样的线, SPEAK+ 接喇叭正极,GND 接喇叭负极。
如播放1kz.wav格式音频文件:
aplay 1kz.wav
amixer -c 0 cset name='DACL Playback Volume' 255
参考buildsystem/yocto/meta-semidrive/recipes-core/cluster/cluster下的cluster.sh。
#! /bin/sh
### BEGIN INIT INFO
# Provides: clusterd
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop: 2 3 4 5
# Short-Description: One of the first scripts to be executed. Starts or stops
#
### END INIT INFO
# disable input
export QT_QPA_EGLFS_DISABLE_INPUT=1
DAEMON=/usr/bin/cluster
ACTION="$1"
case "$ACTION" in
start)
echo -n "Starting Cluster App"
#start-stop-daemon -S -b -q -x $DAEMON
#echo -1000 > /proc/$(pidof $DAEMON)/oom_score_adj
echo "done."
;;
stop)
echo -n "Stopping Cluster App"
start-stop-daemon -K -x $DAEMON
echo "."
;;
restart)
echo -n "Restarting Cluster App"
start-stop-daemon -K -x $DAEMON
sleep 2
start-stop-daemon -S -b -q -x $DAEMON
echo -1000 > /proc/$(pidof $DAEMON)/oom_score_adj
echo "."
;;
*)
echo "Usage $0 $1 {start/stop/restart}"
exit 1
esac
exit 0
l 设备无法开机/无法进入系统
确认电源线是否正确连接,电压是否正确,电源功率预留是否足够。
保证存储空间有足够的余量。
确认指示灯状态,可尝试ssh连接。
l 开机后,设备无网络
首先明确使用何种网络连接:以太网、5G或Wi-Fi 6。
确认网线是否连接牢固
确认网线质量,对网线的要求比较高
检查网络配置
检查是否为千兆路由器
确认Micro-SIM卡已激活、可用。物联网卡请注意是否绑过其他设备。
确认Micro-SIM卡安装正确,且能被设备检测到;
确认5G天线已连接;
通过AT命令查看卡的插拔状态,是否获取IP、信号强度、功能模式、服务小区等。
确认Wi-Fi 6天线已安装;
确认已接入Wi-Fi网络,且网络可用。
l 无GPS数据
确认天线已正确安装,天线终端推荐置于户外无遮挡处,且天气晴朗时使用;
确认定位工作模式,配置是否正确。