(盈鹏飞嵌入式T113-S4主板)-Tina5.0系统CAN BUS测试

SBC-T113S产品特性:

  • 采用Allwinner公司Cortex-A7双核T113-S3/S4处理器,运行最高速度为1.2GHZ;
  • 内置64-bit XuanTie C906 RISC-V协处理器(仅T113-S4支持);
  • 支持JPEG/MJPEG视频编码,最大分辨率1080p@60fps;支持多格式1080P@60fps视频解码 (H.265,H.264, MPEG-1/2/4);
  • 支持RGB666/LVDS/MIPI-DSI,分辨率最高1920x1080;
  • 支持128-256M Bytes DDR3 SDRAM,其中T113-S3内置128MB;T113-S4内置256MB;
  • 支持SPI NAND存储和启动(默认:256MB)或者EMMC启动(默认:4GB,最大32GB);
  • 支持一路USB2.0 OTG(设计为TYPE-A接口);支持二路USB2.0 HOST;
  • 支持七路RS232通信或者6路RS232和1路RS485(非隔离);
  • 支持一路CAN BUS通信(非隔离);
  • 支持一路10/100M以太网;
  • 稳定的操作系统的支持,可预装LINUX 5.4(Preempt)或者OpenWRT;
  • 经典尺寸主板,尺寸为120*100MM;

SBC-T113S产品功能评估图:

CAN 测试 

SBC-T113S主板有1路非隔离的CAN BUS,主板位号是CN13,见下图:

CN13引脚定义如下表:

脚位

定义

说明

1

RS485_A

RS485的A信号

2

RS485_B

RS485的B信号

3

CAN1_L

CAN1的CANL信号

4

CAN1_H

CAN1的CANH信号

 CAN总线设备号在Tina Linux是awlink0。可以通过如下指令查看是否已经支持CAN BUS:

Target#  ifconfig -a

awlink0   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:1

设备号与硬件的实际对应关系以及设置指令如下:

CAN接口

设备号

开启及设置指令

CN13(3CANL-4CANH)

awlink0

ifconfig awlink0 down

ip link set awlink0 type can bitrate 20000

ip link set awlink0 up

注1:CN13(3CANL-4CANH)表示CN13的3脚是CANL信号,4脚是CANH信号。

2ip link set awlink0 type can bitrate 20000是设置波特率,这个指令设置的波特率是20K,最高是100000;另外两个具有CAN总线的设备要通信,务必设置同样的波特率。

Linux系统中常用的can测试程序有cansend、candump命令,其中cansend发送数据指令;candump是接收数据指令。SBC-T113S只有一路CAN BUS,本次测试采用一个主板的CAN BUS(can0)发数据,另外一个主板的CAN BUS(can0)收数据,如果收发数据一致表示通信成功。

  • 连接硬件:把两个主板的CAN BUS信号CANH、CANL信号对应相连。
  • 初始化 CAN 网络接口 

设置CAN波特率,使用can需要先设置波特率,并开启CAN网络接口。参考下面命令分别将两块主板的数据波特率设置为20KHz,并开启can功能:(最高测试过1M)

主板1操作如下:

root@TinaLinux:/# ifconfig awlink0 down
root@TinaLinux:/# ip link set awlink0 type can bitrate 20000
root@TinaLinux:/# ip link set awlink0 up

主板2操作如下:

root@TinaLinux:/# ifconfig awlink0 down
root@TinaLinux:/# ip link set awlink0 type can bitrate 20000
root@TinaLinux:/# ip link set awlink0 up

至此,两个can都正常开启,并设置相同的波特率。

  • 接收数据

主板1的can0接收,使用candump来查看CAN的接收数据:

root@TinaLinux:/# candump awlink0&
(0000000274.962878) awlink0 123#1122334455667788
(0000000275.568764) awlink0 123#1122334455667788
(0000000276.088995) awlink0 123#1122334455667788
(0000000276.578937) awlink0 123#1122334455667788
(0000000277.069075) awlink0 123#1122334455667788
  • 发送数据 

 主板2 采用can发送数据,使用cansend发送数据:

root@TinaLinux:/# cansend awlink0 123#1122334455667788
  • 统计can0信息 

 CAN数据收发之后显示CAN设备的详情和收发统计信息,其中“clock”的值代表 can的时钟,”drop”的值代表丢包,”overrun”的值代表溢出,”error”代表总线错误。

root@TinaLinux:/# ip -details -statistics link show can0
2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mod
e DEFAULT group default qlen 10
 link/can promiscuity 0 minmtu 0 maxmtu 0 
 can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 
 bitrate 20000 sample-point 0.850 
 tq 2500 prop-seg 8 phase-seg1 8 phase-seg2 3 sjw 1
 sun8i-can: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
clock 24000000
 re-started bus-errors arbit-lost error-warn error-pass bus-off
 0 3 0 1 1 0 nu
mtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
 RX: bytes packets errors dropped overrun mcast 
 72 9 3 0 0 0 
 TX: bytes packets errors dropped carrier collsns 
 32 4 0 0 0 0 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值