嵌入式爱好者

查看: 12088|回复: 2

[帮助] 飞凌嵌入式分享丨全志 A40i / T3对CAN的支持

[复制链接]

47

主题

54

帖子

300

积分

扫一扫,手机访问本帖
发表于 2021-12-10 17:13:44 | 显示全部楼层 |阅读模式
全志A40i或者T3CPU中无CAN控制器,而在实际使用过程中,会用到CAN,通常会采用SPI转CAN的方式。 ; `- E6 ]: q! Z8 r7 J3 E/ n% Y

5 h% u( h( t5 D* [7 ?/ u        在OKA40i-C底板上,有一路SPI,但由于电压与mcp2515的电压不匹配,所以会采用串口2的这组复用为SPI外接mcp2515模块。
- T+ Y+ `: i" M7 K" A" J) n        根据CPU手册第三章描述,可以将PI17-19复用为SPI1,采用PH08作为中断。 3 t# K, }' o7 e+ @( K
0 c8 c6 E5 V) e# K( E
A40i/T3采用sys_config.fex或者dts 配置引脚复用功能,下面我们采用dts 进行配置。 : v& i% d5 L" a8 B  S9 s% U3 g! u) E

2 q' f  I0 V1 t7 E* l6 Q01-打开SPI1 修改sys_config.fex,将uart2的配置去掉,打开SPI1的配置。 # A7 F0 l3 ~- h- T
$ \8 [$ o7 o0 a% T" O8 C9 v) `
+ n- ~; m+ O$ ~) t
        同时将PH08注释掉:
5 d) T' {0 y' r8 `0 G. ]
: P: l/ u* v' c4 ]5 g        同时修改设备树: 8 }2 b" m/ v( B( |
# ?& H6 `* X) y' L* |2 T
  I; N/ A0 E( ^" [1 r  r" D4 p

( D7 X4 z5 }, C% D; p9 n: S0 b02-修改defconfig 采用通过其他平台验证,且适配设备树的驱动mcp251x.c,
- N; l" d7 I9 L% v        修改defconfig 配置文件: . q" J9 r& i6 `( _7 e) X
Networking support ---> CAN bus subsystem support --->CAN Device Drivers --->Microchip MCP251x SPI CAN controllers选中。
# T' N% y7 p1 e, }: T/ a        同时选中SPI配置,默认已支持,此处不再说明。 % c% _( k9 O) b, }! }* e" Y
* H" S$ B" u9 i8 j0 G
03-配置iproute 文件系统:
6 {+ l5 F9 X  C+ I- d1 v9 lbuildroot-201611/configs/sun8iw11p1_hf_defconfig
  g* I+ M* O/ g4 @$ a1 J' G需要配置上BR2_PACKAGE_IPROUTE2=y. / y0 u5 U! M/ ~1 C
重新编译,并打包镜像,烧录。
1 f; M5 V4 G9 T3 m) m% r. F. H
04-测试can0节点         启动之后,ifconfig 查看出现can0节点。使用以下命令进行测试: , R% v2 j) S. p; q
ifconfig can0 down
/ f' Z- w% V$ e0 K4 }* C        ip link set can0 up type can bitrate 125000 triple-sampling on . c/ O/ j% U0 q1 h( r
        ifconfig can0 up , x- w% Q: `0 d1 b. }
        cansend can0 123#12345678 - \& e6 {9 @- t3 [
        candump can0 " d. l: m: B. z' [+ e, z- a6 Y
如果有必要请联系飞凌技术服务人员,提供patch文件。 3 v% J' ?7 g/ z$ M+ Y1 |
: ?  H8 L& `% X, y6 `
        注意事项         在设备树中,用作中断时,因A40i/T3只能使用PH组的引脚复用为中断,在设备树中设置中断时的如下:
0 g2 F/ r/ Y5 qinterrupt-parent = <&pio>; - h. c+ ]( F$ \  S* |8 j
        interrupts = <8 0>;
( t. w: U  Y' i* K6 n另外,需要注意驱动中的中断触发方式。
. u. }1 E. `' x1 M: X8 U
# B8 ]) }5 K' {4 X( G" w* ^. J
, t6 m; ?3 M: w6 ~2 e* v相关产品:                                                   
- |3 O7 P6 X+ F0 c) w/ [
; \3 o/ H' \6 U! i) Y3 |% J' @+ R% `1 w$ p3 N9 }& J$ d
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2026-3-7 11:08

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表