新資料丨全志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開發板

推薦閱讀 換一批 換一批