ATU102-V6 DSSAD自动驾驶数据存储系统采用芯驰X9M SoC、ASIL-B等级MCU,按车规标准设计,具有计算能力强、高带宽、低延时、高可靠等特点。设备连接整车CAN网络,同时连接自动驾驶域控制器,通过CAN、以太网接收、记录国标要求的数据元素。
系统支持NTP、PTP、gPTP时间同步,支持断电存储。满足汽车自动驾驶系统数据、车辆执行器数据、传感器数据、车内通信数据、图像数据等信息的采集和存储需求,适用于自动驾驶车辆量产装配,以及开发、测试、故障分析、事故状态还原等应用场景。
| 序号 | 类型 | 分类 | 说明 |
|---|---|---|---|
| 1 | SOC | ARM 处理器 | 芯驰 X9M |
| 2 | 主频 | 4*ARM Cortex A55@1.6GHz | |
| 3 | 安全认证 | AEC-Q100 Grade 2,ISO26262 ASIL-B | |
| 4 | MCU | MCU | AutoChips AC78406 |
| 5 | 主频 | ARM Cortex M4F@120MHz | |
| 6 | 安全认证 | AEC-Q100 Grade 1,ISO26262 ASIL-B | |
| 7 | 存储 | LPDDR4 | 2GB |
| 8 | e.MMC | 32GB,程序存储 | |
| 9 | e.MMC | 128GB,数据存储,支持容量定制 | |
| 10 | 扩展 SSD | 支持容量定制 | |
| 11 | 软件 | 操作系统 | Linux |
| 12 | 安全系统 | RTOS | |
| 13 | 应用层 | Android |
| 序号 | 项目 | 指标 | 备注 |
|---|---|---|---|
| 1 | 工作温度 | -40℃~+85℃ | |
| 2 | 存储温度 | -40℃~+95℃ | |
| 3 | 防护等级 | IP65 | |
| 4 | 散热方式 | 结构散热 | 被动综合方式 |
| 序号 | 信号类别 | 参数 | 范围 |
|---|---|---|---|
| 1 | 电源 | 电源输入电压范围 | DC in 9~32V |
| 2 | 静态电流 | ≤2mA | |
| 3 | CAN | 通讯速率 | 125KbPS-5MbPS 范围内 |
| 4 | 车载以太网 | 通信速率 | 1000Mbps |
| 5 | 工业以太网 | 通信速率 | 1000Mbps,兼容 100 Mbps |
| 序号 | 分类 | 说明 |
|---|---|---|
| 1 | 产品尺寸 | 190*110*36.7mm(不含连接器突出位置) |
| 2 | 产品净重 | 约 0.7kg |
| 序号 | 类型 | 分类 | 说明 |
|---|---|---|---|
| 1 | 通信接口 | 以太网 | 2 路,1000BASE-T1 |
| 2 | 2 路,1000BASE-Tx | ||
| 3 | CAN | 6 路,125Kbps-5Mbps,支持 CAN 唤醒 | |
| 4 | USB2.0 | 1 路,调试 USB2.0 OTG | |
| 5 | I/O | 中断输入 | 2 路中断输入 |
| 6 | 电源输入 | BAT | 2 路 |
| 7 | 其他 | 调试口 | 1 个,内置 Type-C |
| 序号 | 名称 | 说明 | 序号 | 名称 | 说明 |
|---|---|---|---|---|---|
| A1 | CAN4_L | M4 | BAT+ | ||
| A2 | CAN4_H | M3 | BAT+ | ||
| A3 | CAN1_H | M2 | GND_IN | ||
| A4 | CAN2_L | M1 | GND_IN | ||
| B1 | CAN3_L | L4 | ACC | ||
| B2 | CAN3_H | L3 | GND_IN | ||
| B3 | CAN1_L | L2 | P1MDIDN | 千兆工业以太网 1# | |
| B4 | CAN2_H | L1 | P1MDIDP | 千兆工业以太网 1# | |
| C1 | CAN5_L | K4 | SW_IN2 | ||
| C2 | CAN5_H | K3 | SW_IN1 | ||
| C3 | USB1_DP | K2 | P1MDICN | 千兆工业以太网 1# | |
| C4 | USB1_DM | K1 | P1MDICP | 千兆工业以太网 1# | |
| D1 | P2MDIAP | 千兆工业以太网 2# | J4 | CAN6_H | |
| D2 | P2MDIAN | 千兆工业以太网 2# | J3 | SHILD | 以太网屏蔽地 |
| D3 | GND | J2 | P1MDIBN | 千兆工业以太网 1# | |
| D4 | VBUS_5V | J1 | P1MDIBP | 千兆工业以太网 1# | |
| E1 | P2MDIBP | 千兆工业以太网 2# | H4 | CAN6_L | |
| E2 | P2MDIBN | 千兆工业以太网 2# | H3 | SHILD | 以太网屏蔽地 |
| E3 | SHILD | 以太网屏蔽地 | H2 | P1MDIAN | 千兆工业以太网 1# |
| E4 | GND | H1 | P1MDIAP | 千兆工业以太网 1# | |
| F1 | P2MDICP | 千兆工业以太网 2# | G4 | GND | |
| F2 | P2MDICN | 千兆工业以太网 2# | G3 | SHILD | 以太网屏蔽地 |
| F3 | SHILD | 以太网屏蔽地 | G2 | P2MDIDN | 千兆工业以太网 2# |
| F4 | GND | G1 | P2MDIDP | 千兆工业以太网 2# |
| 序号 | 标号 | 说明 |
|---|---|---|
| 1 | 1000T_TRX1+ | 车载千兆以太网 - 信号正 |
| 2 | 1000T_TRX1- | 车载千兆以太网 - 信号负 |
| 序号 | 类型 | 定义 | 备注 |
|---|---|---|---|
| 1 | 六轴 IMU | 选配 | |
| 2 | 国密 IC | 选配 |
ATU102 DSSAD自动驾驶数据存储系统采用杰发科AC78406+芯驰X9M (4核Cortex A55 ARM +2核 Cortex R5安全岛MCU处理器)为主要控制芯片,具有计算能力强、高带宽、低延时等特点。实现汽车自动驾驶系统数据、车辆执行器数据、传感器数据、车内通信数据、视觉感知数据等信息的采集和存储功能,适用于自动驾驶车辆量产装配,以及开发、测试、故障分析、事故状态还原等应用场景。
Linux 64位系统 kernel 4.14
GCC 7.3.0
相关工具准备如下:
为降低静电对操作人员及产品造成损伤的概率,请注意以下操作准则:
确认设备四周留出 50mm 以上的散热空间,以利于设备的散热。
注意:
设备运行时需注意远离水源和湿气。
注意:
避免灰尘在壳体堆积,造成设备散热能力下降。大热量长期积聚在设备内,会导致设备工作不稳定。
设备使用中可能的干扰源,无论是来自设备或应用系统外部,还是来自内部,都是以电容耦合、电感耦合、电磁波辐射、公共阻抗(包括接地系统)耦合的方式对设备产生影响,因此为达到抗干扰的要求,应做到:
安装场所内避免有酸性、碱性或其他腐蚀性气体。
安装设备前,请检查安装场所是否符合要求。设备必须在表 5所示的安装场所中运行。
| 安装场所 | 定义 | 具体场所要求 |
|---|---|---|
| 受控环境 | 密闭的温湿度受控环境 | 温度范围:-20℃~+70℃ |
请务必遵循下面的要求,否则会影响安全或对控制器造成损坏:
注意:拆装产品前,需获得布谷鸟授权。若在未授权情况下,用户自行拆装,产品损坏所造成的损失需用户自行承担。
本文档所涉及的 M.2 SSD 需要用户自行购买,本文档仅提供安装指导。
操作步骤:
步骤1:保证ATU102为下电状态。拔下电源线缆,待POW指示灯熄灭后,下电成功。
步骤2:拆卸ATU102上的外接线缆。
步骤3:从固定设备上拆卸ATU102。
步骤4:将ATU102底部朝上放到防静电平台上。
步骤5:拧下后面板中部的六个螺丝,取下所有螺丝,再轻轻抬起中部盖板,如下图所示。
步骤6:安装 M.2 SSD。
步骤6-1:将 M.2 SSD 的金手指端插入插槽。如下图所示。
步骤6-2:将 M.2 SSD 的另一端用螺丝拧紧。
步骤7:按照步骤5的相反顺序,盖上底部盖板,拧上底部盖板的所有螺丝。
步骤8:安装固定ATU102。
步骤9:安装ATU102上的外接线缆。
步骤10:上电ATU102。
步骤11:参考4.2.6,配置挂载SSD。
设备默认开机模式为上电自启动。
上电前先连接电源线、主接口连接线及其它按需使用的接口线/天线,最后接通电源上电。上电成功后, POW、RUN指示灯呈常亮状态。
使用ssh登录,使用root账号进行无密码登录,IP地址为192.168.1.102。
X9M 模组温度,热量传导到外壳,自然散热。
查看温度
/sys/class/thermal/thermal_zone0/temp
例如:
root@x9m_ref:~# cat /sys/class/thermal/thermal_zone0/temp
可从/var/log和/var/crash目录下,获取完整log文件。
ATU102 默认上电自启动,关机时需先保存数据并退出程序,之后直接断电即可,无需使用shutdown/init/poweroff等命令。
网口对应名称如下表所示:
| 物理接口名称 | 网口配置名称 | 备注 |
|---|---|---|
| 工业 ETH-1 | eth0 | 千兆 |
| 工业 ETH-2 | eth0 | 千兆 |
| 车载 ETH-A | eth0 | 千兆 |
| 车载 ETH-B | eth0 | 千兆 |
如需配置静态IP,可使用命令进行设置ifconfig eth0 192.168.1.103 netmask 255.255.255.0。
1.查看网络模式,通过cat /etc/network/interface
2.使用vi /etc/network/interface进入,修改网络模式后依次执行ifconfig eth0 down,ifconfig eth0 up 指令使其生效。
1. 测试是否可以自动获取IP
配置为DHCP时,网口插入网线,使用ifconfig命令查询对应网口是否可以看到IP,或在桌面右上方网络配置处查看。
2. 测试是否可以ping通
方法一:可ping通网关,即可按ctrl +c退出。
注:测试例程的网关地址为192.168.0.1,这个需查看测试环境的网关地址。
方法二:可ping通www.baidu.com(联网状态),即可按ctrl +c退出。
可参照布谷鸟提供的example程序,使用MCUCAN。
布谷鸟CAN example位置:
/usr/local/cookoo/examples/
使用说明:
源码为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/vircan5
/dev/vircan6
在Linux平台输入,can工具的使用示例:
| 接口 | 描述 | 备注 |
|---|---|---|
| /dev/spidev0.0 | ARM-MCU 通讯。模式 1:CPOL=0; CPHA=1 |
| 接口 | 描述 | 备注 |
|---|---|---|
| /dev/ttyS0 | ARM-linux 打印口,115200 | |
| /dev/ttyS2 | ARM-MCU 通讯,波特率 9600 |
| 序号 | 接口 | 描述 | 备注 |
|---|---|---|---|
| 1 | USB-2 | USB2.0*1 路 | DEBUG |
说明:使用 USB 数据线连接设备的 USB2.0 DEBUG 接口,输入adb devices 查看设备信息,adb shell 进入shell命令窗口。
调试烧录
| 序号 | 接口 | 描述 | 备注 |
|---|---|---|---|
| 1 | 烧录 | 拨码开关 |
|
| 2 | Debug | 调试口 | USB2.0 |
使用软件进行不拆壳烧录
| 序号 | 接口 | 描述 | 备注 |
|---|---|---|---|
| 1 | 烧录 | 拨码开关 |
|
| 2 | Debug | 调试口 | USB2.0 |
用户若选配带SSD的产品,其SSD初始配置已在出厂前完成,可直接使用。
用户若自行购买SSD(M.2接口),请先联系布谷鸟科技进行确认,在参照3.2安装后,再参照下列方式进行配置。
步骤一:
获取SSD名称,下例中为“nvme0n1”:
$ lsblk | grep nvme
nvme0n1 259:0 0 1.9T 0 disk /run/media/nvme0n1
步骤二:
格式化硬盘:
$ sudo mkfs.ext4 /dev/nvme0n1
步骤三:
修改fstab文件:
$ sudo vi /etc/fstab
在打开的fstab文件的末尾增加一行:
/dev/nvme0n1 /run/media/nvme0n1 ext4 errors=remount-ro 0 0
保存退出,重启系统:
$ sudo reboot
步骤四:
设置SSD权限:
$ sudo chown -R root/run/media/nvme0n1
步骤五:
验证:
$ df -h
若nvme0n1显示挂载在/data下,则证明配置成功。
内核打开nfs支持,打开nfs-kernel-server。
步骤1
配置希望共享的目录和权限,例如:
busybox vi /etc/exports
参考如下
#/etc/exports文件格式:
#共享目录 可以访问的主机地址(权限)
/share *()
#共享目录 网段 读写,同步,无root权限
/share 192.168.1.0/24(rw,sync,no_root_squash)
步骤2
. /etc/init.d/nfsserver start
用户可以通过下列入门样例了解产品的应用开发过程,同时验证环境配置的正确性。
准备一台支持PTP/gPTP的主设备。
Linux系统;
安装linuxptp工具。如该设备已经支持linuxptp工具,可以尝试使用。
建议版本:linuxptp-4.1 。
首先要保证Master的板子和ATU102的板子可以互相ping 通。
sudo ifconfig eth0 192.168.1.66 netmask 255.255.255.0
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通过才可以做测试。
-s是指源时钟,这里用的是CLOCK_REALTIME,是系统时间。-c是从时钟,eth0是网卡的name。
-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 纳秒。
默认device模式,支持adb调试;
HOST模式: echo host > /sys/kernel/debug/31220000.dwc3/mode
DEVICE模式: echo devices > /sys/kernel/debug/31220000.dwc3/mode
检查是否切换成功:cat /proc/device-tree/soc/usb3@31220000/dwc3/dr_mode
HOST需要供电,供电由MCU控制。
请确认电源线是否正确连接,确认供电电压在DC9~32V范围内,符合设备电气规格要求。
保证存储空间有足够的余量。
确认指示灯、网口灯状态,可尝试ssh连接。
如果使用有线网络,请确认网线是否连接牢固,移除USB HUB/USB TypeC烧录线连接。
ifconfig查看网卡MAC地址是否正确,IP是否获取。
如果是配置问题,可通过桌面右上方网络设置,删除原网络配置(Remove Connection Profile),自动获取新的网络配置。
布谷鸟科技通过线上技术支持体系、电话技术指导、远程支持及现场技术支持等方式向用户提供及时有效的技术支持。
如果在设备维护或故障处理过程中,遇到难以确定或难以解决的问题,通过文档的指导仍不能解决,请通过如下方式获取技术支持:
登录开发者技术支持网站:http://www.cookoo-ai.com