新資料丨飛凌嵌入式A40i及全志T3系列開發板 對CAN的支援補充

飛凌嵌入式

基於

全志

系列處理器設計的OK

A40i

-

C

開發板

、OK

T3

-C開發板因其介面豐富、低功耗、系統整合度高等特點,深受廣大使用者讚譽。

新資料丨飛凌嵌入式A40i及全志T3系列開發板 對CAN的支援補充

小編透過對

飛凌

技術服務部“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及全志T3系列開發板 對CAN的支援補充

新資料丨飛凌嵌入式A40i及全志T3系列開發板 對CAN的支援補充

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

1)開發板預設SPI功能的引腳在OKA40i-C開發板/OKT3-C開發板上,預設引出了SPI0和SPI2兩組引腳,可以選擇這兩組引腳。需要注意的是這兩組訊號預設為1。8V,需要硬體上做

電平

轉換為3。3V才能用於SPI轉CAN的設定。

這兩組引腳在fex檔案裡已經做了配置,只需要按照方法做其它修改即可。

2)將其它功能引腳複用為SPI功能在飛凌

嵌入式

《A40i/T3對CAN的支援》(

點選查詢

)一文中詳細講解了如何將開發板上UA

RT

2功能相關的引腳複用為了SPI。

假如不想使用UART2引腳複用又不知道如何選擇的話,飛凌嵌入式全志A40、

全志T3

使用者資料中提供了《引腳複用對照表》,從中查詢哪些引腳可以複用為SPI功能,然後根據實際需求去選擇要複用的引腳。

查詢時請先檢索需要使用的功能“關鍵詞”,比如需要SPI功能,請檢索“SPI”,找到可複用成SPI功能的引腳,當前表格中預設功能列是引腳名稱,功能選擇列是預設配置的功能,

例如PI16、PI17、PI18、PI19四個引腳,可以複用成SPI1,預設是UART2功能。

新資料丨飛凌嵌入式A40i及全志T3系列開發板 對CAN的支援補充

新資料丨飛凌嵌入式A40i及全志T3系列開發板 對CAN的支援補充

三、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 Idle Driver for Sunxi processors

新資料丨飛凌嵌入式A40i及全志T3系列開發板 對CAN的支援補充

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

舉報/反饋

頂部