厦门莫格电气自动化有限公司销售
ABB IMDSI14、、SPDSI22
欢迎来电咨询!
IMDSI14、、SPDSI22
IMDSI14、、SPDSI22
您迈开询价的一小步,我还您成功的一大步。
CAN(Controller Area Network)总线是嵌入式设备***为常用的接口之一,常用于汽车以及工业自动化等嵌入式领域,因此本文就基于嵌入式Linux演示使用CAN总线进行通讯测试。
本文所演示的平台来自于Toradex Colibri iMX6DL 和Apalis iMX6D ARM嵌入式平台,这两个平台是都是基于NXPiMX6系列ARM处理器,支持双核心Cortex-A9。
2. 准备
a). ColibriiMX6DL ARM核心版配合ColibriEva Board V3.2B载板,连接调试串口到开发主机,同时配置好Ubuntu开发主机开发环境,具体操作方法可以参考这里。
b). ApalisiMX6D ARM核心板配合Ixora V1.0载板,连接调试串口到开发主机,同时配置好Ubuntu开发主机开发环境,具体操作方法可以参考这里。
c). Colibri iMX6DL和Apalis iMX6D系统使用Toradex LinuxRelease V2.6.1,***和更新方法请参考这里。
d). Colibri iMX6DL 提供了两路来自与iMX6DL芯片的CAN总线(FlexCAN)支持,不过这个不是Colibri系列兼容定义;Colibri Eva Board上面通过SPI总线基于MCP2515芯片扩展了而一路CAN总线接口,这个是整个Colibri兼容的;因此对于本文的测试系统,我们可以有三路CAN总线支持,具体的Pin定义请见如下,其他Colibri系列产品的定义情况请见这里。
./ FlexCAN定义
./ MCP2515 原理图设计如下,在JP4&JP5跳线连接情况下X2 Top连接器连接的是MCP2515 CAN总线;当断开JP4&JP5跳线时候,可以使用连接线将FlexCANRX/TX连接到X38来输出到X2 Top.
d). Colibri产品系列定义中CAN不是标准定义,因此针对Colibri系列产品使用CAN总线要根据版本情况对kernel或者device tree进行修改编译,下面针对Colibri iMX6DL V2.6.1版本进行配置,其他产品配置说明请参考这里。
./ ***对应的V2.6.1 kernel源代码,具体***和编译方法请参考这里。
./ 检查kernel config是否下面选项都已经配置,在V2.6.1版本下默认都已经配置。
--------------------------
CONFIG_CAN = y
CONFIG_CAN_RAW = y
CONFIG_CAN_BCM = y
CONFIG_CAN_DEV = y
CAN_FLEXCAN = y
CAN_MCP251X = y
--------------------------
./ 默认device tree只支持MCP2515 SPI CAN,通过如下修改device tree文件打开FlexCAN1和FlexCAN2,请注意在Toradex V2.7以上版本image中” &flexcan1”命名修改为”&can1”。
https:///simonqin09/cantest/blob/master/flexcan.patch
e). Ixora载板CAN接口通过X20输出,Apalis iMX6D 默认device tree已经支持FlexCAN1和FlexCAN2,无需做改动。
1C31116G04
1C31129G03
1C31132G01
1C31166G01
1C31189G01
1C31194G01
1C31197G01
1C31219G01
1C31227G01
1C31233G04
1C31234G01
1X00024H01
3A99132G02
3A99158G01
5X00070G04
5X00119G01
5X00121G01
1775T-PMPP-1700
LX-4032T-001AC
C73451A430D78
MVI56-MCM
MVI56-MCM
1747-L543
J***-6400 F SEM
1756-A13
1756-IB16
1756-IF16
1756-OB16E
1756-PA75
1756-TBCH
1756-TBNH
AP1210S
CSG-602R
SGSP20-35
EN61558-1 1PH 2KVA
46HD-20-10K
1756-PA75/B
140CHS11000
140CPU53414A
140CRA93100
140NOE77101
6FC5403-OAA20-OAAO
A5E00100846
CDMR-WII
TMH 071P
6***3525-1EA01-0AX0
6ES5441-4UA11
2214-30SLQTT
GJR5253100R0272 07KT98-ETH-DP AC31
CR161CC5602
GE AKR-10D-75
1746-N04I
140CPU43412A
CIMR-VB4A0002BBA
HA24PHI16
IPC5000/5600/5000V/5600C
ATV31HU40N4A
140ACI04000
140CHS11000
140CPS11100
140CRA93200
140CRP93200
FC98-NX
2094-BC04-M03S
2094-BM01-S
2711-K9A1
IRB4400
A121NBC-3015
X450-24T
DCS300-3.5E
SYS68K/CPU32XB
K***P-5C 200VAC
PM510V16 3BSE008358R1
CIO-SERB48
6RA2291-4DV62-0
6-45-2
1747-L543
1769-BA
1769-L32E
51305348-100
51403224-100
TK-PRR021
TLM-8
NO.C306GN3 SERIES B1
6ES5246-4UA31
JDK 6209-2039-1
KOMS-A2
7ML 5221-2BA14/11
A06B-6132-H002
ND312T
VLT 5002
P22B-03AG
OTP75T3B
OTP75T3M
JEPMC-CP210
CS4000
SYS68K CPU-40 B/16
SPM5D2A6D6K
KIS-8-10KN
KIS-8-10KN
FBM201
YT204001-FS
KOMS-A2 CXP544A
IMDER01
PM510V16 3BSE008358R1
TI545-1104
1747-L532E
GT1675M-STBD
PFXGP4501TAD
PFXGP4503TAD
20V4160
30V4160
5V4160
S-D4007-F
S-D4008-F
UAZ3455/3475
WR-D4004
MVI46-MNET
1756-BA1
1756-IB16
1756-IF8
1756-OB16E
1756-OF8
1756-A7
1756-IB32
1756-IF8
1756-L62
1756-OB32
1756-PA75
MVI56-MCM
HX 300
6ES7415-2XK04-0AB0
6ES7416-3XL00-0AB0
6ES7952-1KP00-0AA0
IC693CPU364
42FE35AF106
1747-L531
140CRA93200
ZX345Q
6ES5095-8FB01
0-60031-5
275806-EU
140CRA93200
IFR ATC-600A
WAGO 750-333
HX-150
LEWIS MMC-A4 PLUS M.1302.7096 R1
MDV60A0055-5A3-4-00
140CPU67160
MT-35替代MT-30