新资料丨全志A40i及全志T3开发板 对CAN的支持补充

原创 2021-12-10 10:18:00 全志A40i


飞凌嵌入式基于全志系列处理器设计的OKA40i-C开发板、OKT3-C开发板因其接口丰富、低功耗、系统集成度高等特点,深受广大用户赞誉。

小编通过对飞凌技术服务部“A40i/T3客户群问题解决库”进行检索,梳理了部分共性问题及解决思路。本文主要对OKA40i-C开发板/OKT3-C开发板CAN功能使用过程中多次遇到的问题进行讲解。


由于全志 A40i/T3 CPU 中未包含CAN控制器,而在实际使用过程中,如果用到CAN功能,通常会采用SPI转CAN的方式。在此之前飞凌已经提供了OKA40i-C开发板/OKT3-C开发板对CAN的支持方法(参考链接: 研发干货丨A40i/T3对CAN的支持 点击查询),本文就不在做赘述,仅针对用户在实际操作过程中遇到的问题提供解决思路,请跟着小编来一起看看吧。


一、中断引脚怎么如何选择?


在选择复用引脚时,需要给SPI转CAN模块选择一个中断引脚,而FETA40i-C/FETT3-C核心板并非每个引脚都具有中断功能,需要在《引脚复用对照表》中进行筛选,选择带有中断功能的GPIO

首先需要确定哪些引脚具有中断功能,表格中引脚可复用功能中具有EINT*的引脚是具有中断功能的。我们可以从这些引脚中选择一个作为SPI转CAN模块的中断引脚,选择时注意这些引脚原本是什么功能,选择一个不需要的功能引脚作为SPI转CAN模块的中断引脚,

比如下图是我们的方案中选用的PH6这个引脚。


 A40i 引脚复用对照品之PH6引脚1

A40i 引脚复用对照品之PH6引脚1


二、 哪些引脚可以用作SPI功能?


1)开发板默认SPI功能的引脚在OKA40i-C开发板/OKT3-C开发板上,默认引出了SPI0和SPI2两组引脚,可以选择这两组引脚。需要注意的是这两组信号默认为1.8V,需要硬件上做电平转换为3.3V才能用于SPI转CAN的设置。

SPI接口控制引脚


这两组引脚在fex文件里已经做了配置,只需要按照方法做其它修改即可。


2)将其它功能引脚复用为SPI功能在飞凌嵌入式《A40i/T3对CAN的支持》(点击查询)一文中详细讲解了如何将开发板上UART2功能相关的引脚复用为了SPI。

假如不想使用UART2引脚复用又不知道如何选择的话,飞凌嵌入式全志A40、全志T3 用户资料中提供了《引脚复用对照表》,从中查询哪些引脚可以复用为SPI功能,然后根据实际需求去选择要复用的引脚。

查找时请先检索需要使用的功能“关键词”,比如需要SPI功能,请检索“SPI”,找到可复用成SPI功能的引脚,当前表格中默认功能列是引脚名称,功能选择列是默认配置的功能,

例如PI16、PI17、PI18、PI19四个引脚,可以复用成SPI1,默认是UART2功能。


检索SPI

PI17、PI18、PI19四个引脚

PI17、PI18、PI19四个引脚


三、iproute配置繁琐


iproute需要在Buildroot里配置,需要编译Buildroot重新生成文件系统,过程太麻烦?

iproute是一个网络管理工具,在设置波特率时有用到。如果使用飞凌嵌入式2020.08.31及之后提供的全志A40i及全志T3开发板资料,Buildroot已经配置完成,可以忽略该步操作,不用重新编译Buildroot,只需按照方法做好其它配置就可以了!这样可以减少一些不必要的编译问题,更快速的完成相关配置!


当然,也可以单独下载源码编译,

下载链接:https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/

例:

下载iproute2-4.10.0.tar.gz

解压源码,修改Makefile文件中的交叉编译器

指定CC=arm-linux-gnueabihf-gcc-5.3.1

执行make编译,在ip文件夹中得到程序ip。


四、数据丢帧问题A


通过SPI转CAN实现的CAN功能,相对于原生CAN的性能有一定的不足,在500K波特率下外部设备单次发送多帧数据,接收数据时可能出现丢帧现象,频繁收发数据可能出现丢帧现象,为解决这一问题,需要取消CPUIdle Driver for Sunxiprocessors选项,在飞凌嵌入式提供的最新全志A40i及T3的资料源码中已经做了重新配置!


如果您使用的不是最新资料,

可以在源码中linux-3.10目录下执行makemenuconfig  ARCH=arm

将[] CPU Idle Driver for Sunxi processors的编译去掉

CPU Power Management  --->

[ ] CPU Idle Driver for Sunxi processors

取消CPUIdle Driver for Sunxiprocessors选项



本次我们的解答问题梳理先到这里了,通过以上解答,希望能对大家的开发过程提供了帮助,减少问题,提高开发效率!





相关产品 >

  • FETA40i-C核心板

    Allwinner A40i是全志开发的一款工业级处理器,A40i作为全国产工业级芯片中的佼佼者,采用更低功耗的4核ARM Cortex-A7架构,工作温度-40-85℃,是一款高性能低功耗超高性能CPU主芯片。飞凌嵌入式深度研究全志A40i芯片参数、原理图、datasheet规格书推出了以FETA40i核心板为主的一系列全国产工业级嵌入式计算机板卡,并提供了用于评估的A40i工控板、 A40i开发板。 了解详情
    FETA40i-C核心板
  • OKA40i-C开发板

    国产工业级,高清输出,丰富接口|OKA40i开发板采用底板+核心板结构,基于全志工控行业平台级处理器四核Cortex-A7 A40i设计,主频1.2GHz,集成MAli400MP2 GPU,内存1GB/2GB DDR3L,存储8GB eMMC。 全志A40i工控行业芯片平台 A40i为国产工控行业芯,全志A40i处理器代表了Allwin在智能工业控制领域的成就。飞凌嵌入式A40i系列OKA40i-C开发板是飞凌推出的一款中国芯,全国产级工业级开发板,适用于适用于基于视觉交互的工业控制产品 了解详情
    OKA40i-C开发板

推荐阅读 换一批 换一批