本文档详细介绍了 Alius DCU 域控制器的所有外部接口,包括引脚定义、电气特性、连接方法和软件开发接口。通过本文档,开发者可以充分利用 DCU 丰富的 I/O 资源。

接口概览

DCU 域控制器提供了多种工业标准接口,满足机器人系统的多样化连接需求:

接口类型数量连接器类型主要功能
CAN-FD23-pin 接线端子实时控制总线
RS-48523-pin 接线端子工业设备通信
EtherCAT2RJ45实时以太网控制
千兆以太网1RJ45网络连接
USB 3.02Type-A高速外设
USB 2.02Type-A外设连接
MIPI-CSI2FPC摄像头输入
MIPI-DSI1FPC显示输出
调试串口1Micro USB系统调试
电源输入12-pin 接线端子9-36V 电源

CAN-FD 接口

CAN-FD(Controller Area Network with Flexible Data-Rate)是经典 CAN 总线的升级版本,支持更高的波特率和更大的数据负载。

硬件规格

  • 协议标准:ISO 11898-1:2015(CAN 2.0A/B 和 CAN-FD)
  • 仲裁段波特率:最高 1 Mbps
  • 数据段波特率:最高 5 Mbps
  • 数据帧长度:经典 CAN 最大 8 字节,CAN-FD 最大 64 字节
  • 收发器:TJA1044GT(NXP),具备总线故障保护
  • 隔离电压:2500 Vrms(信号与系统地为电气隔离)
  • 终端电阻:120Ω,可通过软件配置启用/禁用

引脚定义

引脚名称描述颜色建议
1CANH高电平 CAN 信号黄色
2CANL低电平 CAN 信号绿色
3GND信号地(隔离地)黑色

Linux 使用方法

DCU 在 Linux 下将 CAN-FD 接口暴露为网络设备,可使用标准 SocketCAN 框架进行开发。

配置 CAN 接口

# 配置 CAN0 为 CAN-FD 模式,仲裁段 1Mbps,数据段 5Mbps
sudo ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on
sudo ip link set can0 up

# 配置 CAN1(经典 CAN 模式,1Mbps)
sudo ip link set can1 type can bitrate 1000000
sudo ip link set can1 up

发送 CAN 帧

// C 语言示例:发送 CAN-FD 帧
#include <linux/can.h>
#include <linux/can/raw.h>

int s = socket(PF_CAN, SOCK_RAW, CAN_RAW);
struct sockaddr_can addr;
struct canfd_frame frame;

// 启用 CAN-FD 帧支持
int enable_fd = 1;
setsockopt(s, SOL_CAN_RAW, CAN_RAW_FD_FRAMES, &enable_fd, sizeof(enable_fd));

frame.can_id = 0x123;  // CAN ID
frame.len = 64;         // CAN-FD 最大 64 字节
frame.flags = CANFD_BRS; // 使用比特率切换
// 填充数据...
write(s, &frame, sizeof(frame));

Python 示例

import can

# 创建 CAN 总线实例
bus = can.interface.Bus(channel='can0', bustype='socketcan')

# 发送消息
msg = can.Message(
    arbitration_id=0x123,
    data=[0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88],
    is_extended_id=False,
    is_fd=True,
    bitrate_switch=True
)
bus.send(msg)

# 接收消息
for msg in bus:
    print(f"ID: {msg.arbitration_id:X}, Data: {msg.data.hex()}")

RS-485 接口

RS-485 是一种差分信号串行通信标准,具有抗干扰能力强、传输距离远的特点,广泛应用于工业环境。

硬件规格

  • 协议标准:TIA/EIA-485-A
  • 最高波特率:12 Mbps
  • 最大电缆长度:1200 米(低速时)
  • 差分信号幅度:1.5V - 5V
  • 接收器输入阻抗:≥ 12 kΩ
  • 隔离电压:2500 Vrms
  • 终端电阻:120Ω,板载可配置

引脚定义

引脚名称描述颜色建议
1A (D+)正差分信号黄色
2B (D-)负差分信号绿色
3GND信号地黑色

Linux 使用方法

RS-485 接口在 Linux 下映射为标准串口设备(/dev/ttyS*/dev/ttyUSB*)。

配置串口参数

# 配置 RS485-0 为 115200 波特率,8 数据位,无校验,1 停止位
stty -F /dev/ttyS1 115200 cs8 -cstopb -parenb

# 启用 RS-485 方向的硬件自动切换(推荐)
echo 1 > /sys/class/tty/ttyS1/rs485/rs485_enable

Python 示例(Modbus RTU)

import serial
from pymodbus.client import ModbusSerialClient

# 创建 Modbus RTU 客户端
client = ModbusSerialClient(
    port='/dev/ttyS1',
    baudrate=115200,
    parity='N',
    stopbits=1,
    bytesize=8,
    timeout=1
)

# 读取保持寄存器
result = client.read_holding_registers(address=0, count=10, slave=1)
if result.isError():
    print("通信错误")
else:
    print(f"寄存器值: {result.registers}")

EtherCAT 接口

EtherCAT(Ethernet for Control Automation Technology)是一种高性能实时以太网协议,特别适合多轴运动控制和分布式 I/O 系统。

硬件规格

  • 协议标准:ETG 1000 系列
  • 物理层:100BASE-TX(100 Mbps 全双工)
  • 拓扑结构:菊花链(daisy chain)、线型、树型
  • 循环周期:最小 1 ms(典型应用),最小可达 100 μs
  • 同步精度:< 1 μs(分布式时钟)
  • 最大从站数:理论上 65535 个,推荐不超过 32 个

使用方法

DCU 支持作为 EtherCAT 主站运行。Alius 提供了基于 IgH EtherCAT Master 的软件栈。

安装 EtherCAT 主站软件

sudo apt install -y aliu-ethercat-master
sudo systemctl enable ethercat
sudo systemctl start ethercat

配置 EtherCAT 网络

# 编辑 EtherCAT 主站配置
sudo nano /etc/ethercat/master.conf

# 配置内容示例:
# MASTER0_DEVICE="eth1"
# DEVICE_MODULES="generic"

枚举 EtherCAT 从站

# 扫描总线上的从站设备
sudo ethercat slave

# 输出示例:
# 0  0:0  PREOP  +  Alius Joint Module v1.0
# 1  0:1  PREOP  +  Alius Joint Module v1.0
# 2  0:2  PREOP  +  Alius IMU Sensor v1.0

过程数据通信(PDO)示例

import ctypes
from aliu_ethercat import EtherCATMaster

# 创建主站实例
master = EtherCATMaster()

# 扫描并初始化从站
master.scan()
master.set_state('OPERATIONAL')

# 周期性过程数据交换
for cycle in range(1000):
    # 发送目标位置(PDO 输出)
    master.write_outputs(slave_id=0, data=[target_pos])

    # 读取实际位置(PDO 输入)
    actual_pos = master.read_inputs(slave_id=0, size=4)

    # 控制周期 1 ms
    master.wait_sync()

以太网接口

DCU 提供 1 路千兆以太网接口,用于网络连接、远程调试和数据传输。

硬件规格

  • 速率:10/100/1000 Mbps 自适应
  • 全双工支持:是
  • PoE 支持:可选(需定制)
  • PHY 芯片:Realtek RTL8211F
  • 连接器:RJ45,带指示灯

配置示例

# 配置静态 IP
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip link set eth0 up

# 配置 VLAN(可选)
sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip addr add 192.168.100.100/24 dev eth0.100

MIPI-CSI 摄像头接口

DCU 提供 2 路 MIPI-CSI 接口,可用于连接摄像头模块,实现视觉感知功能。

硬件规格

  • 标准:MIPI CSI-2 v1.3
  • 数据通道:4 lane/路
  • 最大数据速率:2.5 Gbps/lane
  • 支持分辨率:最高 4K@60fps
  • 连接器:30-pin FPC(0.5 mm 间距)

支持摄像头模块

  • Sony IMX219(树莓派 Camera v2)
  • Sony IMX477(树莓派 HQ Camera)
  • Alius Vision Module(定制摄像头模块)

使用方法

# 查看摄像头设备
v4l2-ctl --list-devices

# 捕获图像
ffmpeg -f v4l2 -i /dev/video0 -vframes 1 capture.jpg

# 使用 GStreamer 预览
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=1920,height=1080 ! autovideosink

MIPI-DSI 显示接口

DCU 提供 1 路 MIPI-DSI 接口,可用于连接 LCD 显示面板,实现本地 HMI。

硬件规格

  • 标准:MIPI DSI v1.2
  • 数据通道:4 lane
  • 最大数据速率:2.5 Gbps/lane
  • 支持分辨率:最高 4K@60fps
  • 连接器:31-pin FPC(0.3 mm 间距)

支持显示面板

  • Alius 7-inch LCD Panel(1024×600,电容触摸)
  • Alius 10.1-inch LCD Panel(1280×800,电容触摸)

USB 接口

DCU 提供 4 个 USB 主机接口(2× USB 3.0 + 2× USB 2.0),可用于连接各种外设。

使用建议

  • USB 3.0:推荐用于连接高速设备,如激光雷达、深度摄像头、NVMe 固态硬盘。
  • USB 2.0:可用于连接键盘、鼠标、WiFi 模块等低速设备。
  • 电源限制:每个端口最大输出 500 mA,连接高功耗设备时建议使用带外接电源的 USB Hub。