嵌入式爱好者

查看: 12747|回复: 2

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

[复制链接]

48

主题

55

帖子

306

积分

扫一扫,手机访问本帖
发表于 2021-12-10 17:13:44 | 显示全部楼层 |阅读模式
全志A40i或者T3CPU中无CAN控制器,而在实际使用过程中,会用到CAN,通常会采用SPI转CAN的方式。
' o8 z" p, g+ F! M3 ?" t% S; z: z! \! B9 u
        在OKA40i-C底板上,有一路SPI,但由于电压与mcp2515的电压不匹配,所以会采用串口2的这组复用为SPI外接mcp2515模块。
) e- ~4 K$ u$ e5 r( E        根据CPU手册第三章描述,可以将PI17-19复用为SPI1,采用PH08作为中断。
3 f$ i# x$ ]2 @: `  s 3 ~; a' V, K# X9 M1 q8 l" \( c0 j
A40i/T3采用sys_config.fex或者dts 配置引脚复用功能,下面我们采用dts 进行配置。
# M9 z+ N4 y7 T. z; E2 G7 V: s5 E- T" z( y% ^
01-打开SPI1 修改sys_config.fex,将uart2的配置去掉,打开SPI1的配置。
0 }2 H: z4 R; A / E4 _2 |; F4 z, W2 l

" p+ a: D. l8 y8 g! ~: t5 Q1 P        同时将PH08注释掉: 8 ]. }: R/ z) {+ l8 W

. }; c" {! p2 D4 I- T6 x        同时修改设备树:
- T/ V/ ~5 Y' m
: L, e1 g. ?$ D3 x; x3 H * C2 o: ?0 \6 W, v- S& N& ]6 e& @
  }* l, }8 K9 R% v% ?5 a1 M2 H
02-修改defconfig 采用通过其他平台验证,且适配设备树的驱动mcp251x.c, ! C4 h4 h- o$ A. b4 `" B' I
        修改defconfig 配置文件:
/ D  @- `/ t! \Networking support ---> CAN bus subsystem support --->CAN Device Drivers --->Microchip MCP251x SPI CAN controllers选中。
# F6 ~: ^" X9 ]5 |; v+ ?        同时选中SPI配置,默认已支持,此处不再说明。 + X3 v/ l$ Q# P& n+ i0 K1 z$ `

& I/ o/ W6 n* B5 J9 `  ~03-配置iproute 文件系统:
0 j/ d+ V6 P; w: g/ nbuildroot-201611/configs/sun8iw11p1_hf_defconfig
9 W" S' ^" a9 e, n7 @; Y需要配置上BR2_PACKAGE_IPROUTE2=y. 9 h: h8 b/ P3 F0 I8 H& Y
重新编译,并打包镜像,烧录。
1 t; M5 K3 e, q8 w$ o1 d+ K
" c" e$ K6 d" ], X; [" }* K04-测试can0节点         启动之后,ifconfig 查看出现can0节点。使用以下命令进行测试:
: H3 v; p  m% Q$ bifconfig can0 down . o0 N/ Q' j' b& n  _8 p7 I
        ip link set can0 up type can bitrate 125000 triple-sampling on
# R/ y! x' Z+ `7 a        ifconfig can0 up
, r6 u2 ~# }0 R, x$ r        cansend can0 123#12345678 * {- l& F$ b5 e
        candump can0
& d% L8 o7 Y# n: ]( i3 n如果有必要请联系飞凌技术服务人员,提供patch文件。
* g; D3 p% Z9 ]6 K! f* {% e* q6 R' c$ N& R, x) N
        注意事项         在设备树中,用作中断时,因A40i/T3只能使用PH组的引脚复用为中断,在设备树中设置中断时的如下: 1 w8 u9 N( I0 c
interrupt-parent = <&pio>;
+ K$ B: U6 e: R6 r) v        interrupts = <8 0>; # Z9 B5 s4 x$ e, m) y; ^
另外,需要注意驱动中的中断触发方式。
7 p- ]) D. _9 \: J* w( \/ i& O  y
' _# S2 W% z7 {, \  U: e
, H+ U7 j2 r' A/ F5 y相关产品:                                                   8 o5 }, J4 ~  y; s+ I& o" w
0 s9 T+ G4 G9 Q+ K
8 z' J$ h' K* `7 f' x+ z) O4 z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-21 07:10

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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