新資料丨全志A40i及全志T3開發(fā)板 對CAN的支持補(bǔ)充

原創(chuàng) 2021-12-10 10:18:00 全志A40i


飛凌嵌入式基于全志系列處理器設(shè)計的OKA40i-C開發(fā)板、OKT3-C開發(fā)板因其接口豐富、低功耗、系統(tǒng)集成度高等特點(diǎn),深受廣大用戶贊譽(yù)。

小編通過對飛凌技術(shù)服務(wù)部“A40i/T3客戶群問題解決庫”進(jìn)行檢索,梳理了部分共性問題及解決思路。本文主要對OKA40i-C開發(fā)板/OKT3-C開發(fā)板CAN功能使用過程中多次遇到的問題進(jìn)行講解。


由于全志 A40i/T3 CPU 中未包含CAN控制器,而在實際使用過程中,如果用到CAN功能,通常會采用SPI轉(zhuǎn)CAN的方式。在此之前飛凌已經(jīng)提供了OKA40i-C開發(fā)板/OKT3-C開發(fā)板對CAN的支持方法(參考鏈接: 研發(fā)干貨丨A40i/T3對CAN的支持 點(diǎn)擊查詢),本文就不在做贅述,僅針對用戶在實際操作過程中遇到的問題提供解決思路,請跟著小編來一起看看吧。


一、中斷引腳怎么如何選擇?


在選擇復(fù)用引腳時,需要給SPI轉(zhuǎn)CAN模塊選擇一個中斷引腳,而FETA40i-C/FETT3-C核心板并非每個引腳都具有中斷功能,需要在《引腳復(fù)用對照表》中進(jìn)行篩選,選擇帶有中斷功能的GPIO

首先需要確定哪些引腳具有中斷功能,表格中引腳可復(fù)用功能中具有EINT*的引腳是具有中斷功能的。我們可以從這些引腳中選擇一個作為SPI轉(zhuǎn)CAN模塊的中斷引腳,選擇時注意這些引腳原本是什么功能,選擇一個不需要的功能引腳作為SPI轉(zhuǎn)CAN模塊的中斷引腳,

比如下圖是我們的方案中選用的PH6這個引腳。


 A40i 引腳復(fù)用對照品之PH6引腳1

A40i 引腳復(fù)用對照品之PH6引腳1


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


1)開發(fā)板默認(rèn)SPI功能的引腳在OKA40i-C開發(fā)板/OKT3-C開發(fā)板上,默認(rèn)引出了SPI0和SPI2兩組引腳,可以選擇這兩組引腳。需要注意的是這兩組信號默認(rèn)為1.8V,需要硬件上做電平轉(zhuǎn)換為3.3V才能用于SPI轉(zhuǎn)CAN的設(shè)置。

SPI接口控制引腳


這兩組引腳在fex文件里已經(jīng)做了配置,只需要按照方法做其它修改即可。


2)將其它功能引腳復(fù)用為SPI功能在飛凌嵌入式《A40i/T3對CAN的支持》(點(diǎn)擊查詢)一文中詳細(xì)講解了如何將開發(fā)板上UART2功能相關(guān)的引腳復(fù)用為了SPI。

假如不想使用UART2引腳復(fù)用又不知道如何選擇的話,飛凌嵌入式全志A40、全志T3 用戶資料中提供了《引腳復(fù)用對照表》,從中查詢哪些引腳可以復(fù)用為SPI功能,然后根據(jù)實際需求去選擇要復(fù)用的引腳。

查找時請先檢索需要使用的功能“關(guān)鍵詞”,比如需要SPI功能,請檢索“SPI”,找到可復(fù)用成SPI功能的引腳,當(dāng)前表格中默認(rèn)功能列是引腳名稱,功能選擇列是默認(rèn)配置的功能,

例如PI16、PI17、PI18、PI19四個引腳,可以復(fù)用成SPI1,默認(rèn)是UART2功能。


檢索SPI

PI17、PI18、PI19四個引腳

PI17、PI18、PI19四個引腳


三、iproute配置繁瑣


iproute需要在Buildroot里配置,需要編譯Buildroot重新生成文件系統(tǒng),過程太麻煩?

iproute是一個網(wǎng)絡(luò)管理工具,在設(shè)置波特率時有用到。如果使用飛凌嵌入式2020.08.31及之后提供的全志A40i及全志T3開發(fā)板資料,Buildroot已經(jīng)配置完成,可以忽略該步操作,不用重新編譯Buildroot,只需按照方法做好其它配置就可以了!這樣可以減少一些不必要的編譯問題,更快速的完成相關(guān)配置!


當(dāng)然,也可以單獨(dú)下載源碼編譯,

下載鏈接: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

執(zhí)行make編譯,在ip文件夾中得到程序ip。


四、數(shù)據(jù)丟幀問題A


通過SPI轉(zhuǎn)CAN實現(xiàn)的CAN功能,相對于原生CAN的性能有一定的不足,在500K波特率下外部設(shè)備單次發(fā)送多幀數(shù)據(jù),接收數(shù)據(jù)時可能出現(xiàn)丟幀現(xiàn)象,頻繁收發(fā)數(shù)據(jù)可能出現(xiàn)丟幀現(xiàn)象,為解決這一問題,需要取消CPUIdle Driver for Sunxiprocessors選項,在飛凌嵌入式提供的最新全志A40i及T3的資料源碼中已經(jīng)做了重新配置!


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

可以在源碼中l(wèi)inux-3.10目錄下執(zhí)行makemenuconfig  ARCH=arm

將[] CPU Idle Driver for Sunxi processors的編譯去掉

CPU Power Management  --->

[ ] CPU Idle Driver for Sunxi processors

取消CPUIdle Driver for Sunxiprocessors選項



本次我們的解答問題梳理先到這里了,通過以上解答,希望能對大家的開發(fā)過程提供了幫助,減少問題,提高開發(fā)效率!





相關(guān)產(chǎn)品 >

  • FETA40i-C核心板

    Allwinner A40i是全志開發(fā)的一款工業(yè)級處理器,A40i作為全國產(chǎn)工業(yè)級芯片中的佼佼者,采用更低功耗的4核ARM Cortex-A7架構(gòu),工作溫度-40-85℃,是一款高性能低功耗超高性能CPU主芯片。飛凌嵌入式深度研究全志A40i芯片參數(shù)、原理圖、datasheet規(guī)格書推出了以FETA40i核心板為主的一系列全國產(chǎn)工業(yè)級嵌入式計算機(jī)板卡,并提供了用于評估的A40i工控板、 A40i開發(fā)板。 了解詳情
    FETA40i-C核心板
  • OKA40i-C開發(fā)板

    國產(chǎn)工業(yè)級,高清輸出,豐富接口|OKA40i開發(fā)板采用底板+核心板結(jié)構(gòu),基于全志工控行業(yè)平臺級處理器四核Cortex-A7 A40i設(shè)計,主頻1.2GHz,集成MAli400MP2 GPU,內(nèi)存1GB/2GB DDR3L,存儲8GB eMMC。 全志A40i工控行業(yè)芯片平臺 A40i為國產(chǎn)工控行業(yè)芯,全志A40i處理器代表了Allwin在智能工業(yè)控制領(lǐng)域的成就。飛凌嵌入式A40i系列OKA40i-C開發(fā)板是飛凌推出的一款中國芯,全國產(chǎn)級工業(yè)級開發(fā)板,適用于適用于基于視覺交互的工業(yè)控制產(chǎn)品 了解詳情
    OKA40i-C開發(fā)板

推薦閱讀 換一批 換一批