0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全志T507處理器如何實(shí)現(xiàn)SPI轉(zhuǎn)CAN功能

流川楓楓 ? 來(lái)源:流川楓楓 ? 作者:流川楓楓 ? 2022-04-15 10:06 ? 次閱讀

全志T507處理器本身不支持CAN功能,那有什么方法可以實(shí)現(xiàn)CAN功能呢?

我們已知FETT507-C核心板是支持SPI接口的,但底板沒(méi)有引出該接口,所以小編打算通過(guò)引腳復(fù)用方式,復(fù)用出SPI接口并做成SPI轉(zhuǎn)CAN,來(lái)實(shí)現(xiàn)CAN功能。

本文所采用的方法是通過(guò)添加MCP2515驅(qū)動(dòng)及配置,實(shí)現(xiàn)SPI轉(zhuǎn)CAN功能。

一、選擇引腳

首先確認(rèn)要使用的引腳,由于飛凌嵌入T507開(kāi)發(fā)板默認(rèn)沒(méi)有配置SPI,因此既要選用于SPI功能的引腳,也要選擇用于can模塊的中斷引腳。

SPI需要CS0、CLK、MOSI、MISO四個(gè)引腳,can模塊需要一個(gè)中斷引腳。中斷引腳可以隨便使用一個(gè)具有中斷功能的引腳。打開(kāi)硬件資料中的飛凌嵌入式T507核心板引腳復(fù)用對(duì)照表,先確認(rèn)哪些引腳可以用做SPI,我們搜索SPI可以找到兩組引腳

因?yàn)镻C3、PC4和啟動(dòng)相關(guān)這里不考慮使用SPI0,我們用SPI1,SPI1使用的引腳默認(rèn)為音頻接口使用的引腳,音頻將不能使用。所以我們的中斷引腳也從音頻使用的引腳中選擇,我們選擇PH9(用戶可根據(jù)實(shí)際情況選擇具有中斷功能的引腳)。

我們需要的引腳已經(jīng)確定了(加粗的5個(gè)引腳),現(xiàn)在進(jìn)行軟件修改

二、相關(guān)設(shè)備

首先查看設(shè)備樹(shù),本次使用到的設(shè)備樹(shù)如下:

kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi

kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi

kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-clk.dtsi

三、去掉所選引腳原有配置

從核心板引腳功能復(fù)用表格可以看到,選用的引腳原本配置的功能:

sun50iw9p1-pinctrl.dtsi搜索PH5引腳,可以看到ahub_daudio3_pins_a和ahub_daudio3_pins_b是用于音頻,在設(shè)備樹(shù)路徑使用grep"ahub_daudio3_pins_a" ./ -nr指令可以查到,在sun50iw9p1.dtsi里有調(diào)用:

打開(kāi)sun50iw9p1.dtsi,可以看到在ahub_daudio3節(jié)點(diǎn)有調(diào)用,將status設(shè)置為disabled(默認(rèn)即為disablded狀態(tài))

這個(gè)設(shè)備樹(shù)里設(shè)置的disabled,繼續(xù)查找該設(shè)備樹(shù)的上級(jí)設(shè)備樹(shù):OKT507-C-Common.dtsi。OKT507-C-Common.dtsi有做開(kāi)啟設(shè)置,需要將ahub_daudio3關(guān)掉,status= "disabled"。PH5、PH6、PH7、PH8、PH9的占用都解除了。

四、配置SPI1

4.1使能SPI1配置

搜索SPI1相關(guān)內(nèi)容,在sun50iw9p1.dtsi中可以看到

這個(gè)是對(duì)SPI1的注冊(cè),將status改為okay,這里對(duì)相關(guān)引腳和時(shí)鐘做了配置。


4.2SPI1的時(shí)鐘及引腳配置

時(shí)鐘:我們通過(guò)查看sun50iw9p1-clk.dtsi可以看到clk_pll_periph0和clk_spi1的內(nèi)容,我們使用默認(rèn)配置即可。這里不再貼圖,可自行查看

引腳:我們查看sun50iw9p1-pinctrl.dtsi可以看到spi1_pins_a、spi1_pins_b和spi1_pins_c的內(nèi)容,使用引腳為PH5、PH6、PH7、PH8。

五、配置SPI轉(zhuǎn)CAN設(shè)備

5.1 添加設(shè)備

在OKT507-C-Common.dtsi中SPI0節(jié)點(diǎn)后添加SPI轉(zhuǎn)CAN相關(guān)節(jié)點(diǎn),添加內(nèi)容如下:

spi1: spi@05011000 { pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; pinctrl-1 = <&spi1_pins_c>; spi_slave_mode = <0>; status = "okay"; can0: can@0 { compatible = "microchip,mcp2515"; pinctrl-names = "default"; pinctrl-0 = <&mcp2515_int>; reg = <0>; spi-max-frequency = <1000000>; clocks = <&clk_osc8m>; interrupt-parent = <&pio>; interrupts = ; status = "okay"; }; };

其中中斷引腳配置,請(qǐng)根據(jù)實(shí)際配置的引腳進(jìn)行修改。

5.2 時(shí)鐘配置

我們?cè)谧?cè)can的時(shí)候用到了時(shí)鐘和中斷引腳,前邊關(guān)掉音頻時(shí)PH9已經(jīng)可以使用了,但是我們用到的8M時(shí)鐘clk_osc8m還沒(méi)有注冊(cè)。

打開(kāi)sun50iw9p1-clk.dtsi,添加clk_osc8m到clk_osc48m下邊

clk_osc8m: osc8m { #clock-cells = <0>; compatible = "allwinner,fixed-clock"; clock-frequency = <8000000>; clock-output-names = "osc8m"; };

如果是選擇24M晶振,也可注冊(cè)clk_osc24m,clock-frequency改為24000000

5.3 中斷引腳配置

在OKT507-C-Common.dtsi中添加,在該設(shè)備樹(shù)中搜索:pio:pinctrl@0300b000,將以下配置添加到該節(jié)點(diǎn)里邊。

mcp2515_int: can0@0 { allwinner,pins = "PH9"; allwinner,pname = "mcp2515_int"; allwinner,function = "irq"; allwinner,muxsel = <6>; allwinner,drive = <1>; allwinner,pull = <0>; };

5.4 mcp2515驅(qū)動(dòng)配置

到此,我們?cè)谠O(shè)備樹(shù)中的修改已經(jīng)完成接下來(lái),我們添加mcp2515驅(qū)動(dòng)配置,驅(qū)動(dòng)位于kernel/linux-4.9/drivers/net/can/spi/,可以看到mcp251x.c,我們可以打開(kāi)該目錄里的Makefile文件,Makefile文件中已經(jīng)配置了CONFIG_CAN_MCP251X

進(jìn)入kernel/linux-4.9目錄中,執(zhí)行如下命令:

make sun50iw9p1smp_longan_defconfig make menuconfig ARCH=arm64

進(jìn)入圖形配置界面,我們添加mcp2515的編譯,每一級(jí)目錄選如下選項(xiàng):

[*] Networking support ---> <*>CAN bus subsystem support ---> CAN Device Drivers ---> CAN SPI interfaces ---> <*> Microchip MCP251x SPI CAN controllers

前邊括號(hào)里的內(nèi)容通過(guò)空格鍵修改,“*”是編譯進(jìn)內(nèi)核,“M”是編譯成模塊,空的是不編譯。此處需要編譯進(jìn)內(nèi)核

修改完成后按Esc鍵退出,最后選yes保存配置為.config。

修改完成,按照手冊(cè)編譯源碼,生成鏡像

注:

配置menuconfig后保存為.config,使用./build.sh kernel單步編譯內(nèi)核,會(huì)使用該.config

若使用./build.sh進(jìn)行全編譯,會(huì)重新把sun50iw9p1smp_longan_defconfig加載為.config,之前的配置將不生效。因此通過(guò)menuconfig修改完后,保存的.config要做好備份,在全編譯前需要將文件,將其重命名為 sun50iw9p1smp_longan_defconfig,并替換kernel/linux-4.9/arch/arm64/configs下的同名文件

六、CAN測(cè)試

將編譯好的鏡像燒錄到核心板中,并將資料里的相關(guān)測(cè)試工具:ip、cansend和candump拷貝到T507開(kāi)發(fā)板根目錄。

硬件接好SPI轉(zhuǎn)CAN模塊,與PC機(jī)接好,使用USB轉(zhuǎn)CAN插在電腦

啟動(dòng)T507開(kāi)發(fā)板執(zhí)行以下程序進(jìn)行測(cè)試:

ifconfig can0 down /ip link set can0 up type can bitrate 125000 triple-sampling on ifconfig can0 up /cansend can0 123#12345678 //發(fā)送數(shù)據(jù) /candump can0 //接收數(shù)據(jù)

七、硬件修改方法

在飛凌嵌入式T507開(kāi)發(fā)板上移植使用SPI轉(zhuǎn)CAN模塊

首先要在T507開(kāi)發(fā)板上去掉C132/U18這兩個(gè)器件,之后通過(guò)飛線的方式將SPI轉(zhuǎn)CAN的模塊連接至T507開(kāi)發(fā)板,連接方式如下:

SPI轉(zhuǎn)CAN的5V主供電可以通過(guò)音頻芯片正下方的R194和R199上獲得,位置如下圖:

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19028

    瀏覽量

    228441
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2686

    瀏覽量

    462906
  • 全志
    +關(guān)注

    關(guān)注

    24

    文章

    231

    瀏覽量

    52990
  • T507
    +關(guān)注

    關(guān)注

    2

    文章

    49

    瀏覽量

    1557
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FETT507-C核心板方案 T507添加MCP2515驅(qū)動(dòng)實(shí)現(xiàn)SPI轉(zhuǎn)CAN

    T507處理器本身不支持CAN功能,那有什么方法可以實(shí)現(xiàn)
    發(fā)表于 04-27 18:23 ?3549次閱讀

    T507操作小技巧連載1-T507屏幕切換的兩種方式

    T507操作小技巧連載1-T507屏幕切換的兩種方式一、硬件操作平臺(tái)介紹FETT507-C核心板集成全
    發(fā)表于 01-14 11:26

    T507開(kāi)發(fā)板以太網(wǎng)配置方法

    本文硬件平臺(tái)采用T507四核車規(guī)級(jí)處理器設(shè)計(jì)開(kāi)發(fā)板,本文講解T507開(kāi)發(fā)板以太網(wǎng)配置方法。其它板卡設(shè)置略有不同,請(qǐng)參考使用。
    發(fā)表于 06-29 11:10 ?981次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>開(kāi)發(fā)板以太網(wǎng)配置方法

    T507實(shí)現(xiàn)SPI轉(zhuǎn)CAN 全過(guò)程的詳細(xì)講解

    T507處理器本身不支持CAN功能,那有什么方法可以實(shí)現(xiàn)
    發(fā)表于 01-19 11:38 ?1989次閱讀

    詳解T507實(shí)現(xiàn)SPI轉(zhuǎn)CAN功能

      ?T507處理器本身不支持CAN功能,那有什么方法可以
    發(fā)表于 02-10 14:53 ?1172次閱讀
    詳解<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>SPI</b><b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>CAN</b><b class='flag-5'>功能</b>

    T507核心板常見(jiàn)問(wèn)題解析

    本文硬件平臺(tái)采用T507四核車規(guī)級(jí)處理器設(shè)計(jì)核心板,本文整理在使用飛凌嵌入式T507產(chǎn)品過(guò)程種,常常碰到的幾個(gè)問(wèn)題,其它板卡設(shè)置,請(qǐng)參考
    發(fā)表于 03-18 16:41 ?987次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>核心板常見(jiàn)問(wèn)題解析

    T507平臺(tái),應(yīng)用于運(yùn)動(dòng)控制行業(yè)

    快來(lái)戳,快來(lái)戳, 天嵌科技的T507平臺(tái) 專為運(yùn)動(dòng)控制類行業(yè)打造的合適Arm 平臺(tái) T507 平臺(tái)國(guó)產(chǎn)4核A53工業(yè)級(jí)平臺(tái),支持 Liunx ,ubuntu 20.04 , 支持實(shí)
    的頭像 發(fā)表于 12-05 17:25 ?1087次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>平臺(tái),應(yīng)用于運(yùn)動(dòng)控制行業(yè)

    方案 | 基于T507核心板設(shè)計(jì)電子AI后視鏡

    電子AI后視鏡終端產(chǎn)品可借助飛凌FETT507-C核心板實(shí)現(xiàn),該核心板基于T507四核車規(guī)級(jí)處理器
    的頭像 發(fā)表于 08-31 18:37 ?1048次閱讀
    方案 | 基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>核心板設(shè)計(jì)電子AI后視鏡

    解決方案 | 基于T507核心板設(shè)計(jì)智能加油機(jī)應(yīng)用

    飛凌嵌入式FETT507-C核心板基于T507四核車規(guī)級(jí)處理器設(shè)計(jì)開(kāi)發(fā),可滿足智能加油機(jī)的所有功能
    的頭像 發(fā)表于 08-31 19:14 ?1018次閱讀
    解決方案 | 基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>核心板設(shè)計(jì)智能加油機(jī)應(yīng)用

    T3(A40I)/T5(T507)性能對(duì)比,一代更比一代強(qiáng)

    T3(A40I)/T5(T507)性能對(duì)比
    的頭像 發(fā)表于 05-27 15:47 ?7797次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T</b>3(A40I)/<b class='flag-5'>T</b>5(<b class='flag-5'>T507</b>)性能對(duì)比,一代更比一代強(qiáng)

    T507操作小技巧連載2-T507以太網(wǎng)配置方法

    本文硬件平臺(tái)采用T507四核車規(guī)級(jí)處理器設(shè)計(jì)開(kāi)發(fā)板,本文講解T507開(kāi)發(fā)板以太網(wǎng)配置方法。其它板卡設(shè)置略有不同,請(qǐng)參考使用。 一、
    的頭像 發(fā)表于 08-31 19:19 ?2481次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>操作小技巧連載2-<b class='flag-5'>T507</b>以太網(wǎng)配置方法

    T507|T507核心板價(jià)格|芯片參數(shù)配置|資料|原理圖|性能|功耗-飛凌

    T5系列是一個(gè)高性能四核CortexTM?– A53處理器,適用于新一代汽車市場(chǎng)。T507系列符合汽車AEC – Q100測(cè)試要求。
    的頭像 發(fā)表于 11-10 17:02 ?1.9w次閱讀
    <b class='flag-5'>T507</b>|<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>核心板價(jià)格|芯片參數(shù)配置|資料|原理圖|性能|功耗-飛凌

    T507-T507核心板常見(jiàn)問(wèn)題解析-飛凌嵌入式T507核心板

    本文硬件平臺(tái)采用T507四核車規(guī)級(jí)處理器設(shè)計(jì)核心板,本文整理在使用飛凌嵌入式T507產(chǎn)品過(guò)程種,常常碰到的幾個(gè)問(wèn)題,其它
    的頭像 發(fā)表于 10-28 17:54 ?1724次閱讀
    <b class='flag-5'>T507</b>-<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T507</b>核心板常見(jiàn)問(wèn)題解析-飛凌嵌入式<b class='flag-5'>T507</b>核心板

    工程師講解 | T507實(shí)現(xiàn)SPI轉(zhuǎn)CAN 全過(guò)程

    作者|牛超來(lái)源|飛凌嵌入式題圖|飛凌嵌入式FETT507-C核心板T507處理器本身不支持
    的頭像 發(fā)表于 01-14 13:56 ?1952次閱讀
    工程師講解 | <b class='flag-5'>T507</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>SPI</b><b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>CAN</b> 全過(guò)程

    基于V853處理器的智能輔助駕駛算法介紹

    V853處理器,是專為智慧視覺(jué)領(lǐng)域設(shè)計(jì)的AI處理器,配備了高效的NPU算力和豐富的外設(shè)接口,能夠提供穩(wěn)定的AI邊緣計(jì)算支持;同時(shí),基于V853
    的頭像 發(fā)表于 09-14 09:23 ?416次閱讀
    基于<b class='flag-5'>全</b><b class='flag-5'>志</b>V853<b class='flag-5'>處理器</b>的智能輔助駕駛算法介紹