国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1998|回復(fù): 0
打印 上一主題 下一主題

全志 T507添加驅(qū)動(dòng)實(shí)現(xiàn)SPI轉(zhuǎn)CAN

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-4-27 18:27:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)鍵詞: 嵌入式 , 單片機(jī) , 編程

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

我們已知FETT507-C[color=inherit !important]核心板是支持[color=inherit !important]SPI接口的,但底板沒(méi)有引出該接口,所以小編打算通過(guò)[color=inherit !important]引腳復(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功能。

https://www.forlinx.com/product/133.html


一、選擇引腳

首先確認(rèn)要使用的引腳,由于飛凌嵌入T507[color=inherit !important]開(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è)備樹如下:

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è)備樹路徑使用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è)置的disabled,繼續(xù)查找該設(shè)備樹的上級(jí)設(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)引腳和[color=inherit !important]時(shí)鐘做了配置。


4.2 SPI1的時(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è)備樹中搜索: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è)備樹中的修改已經(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í)行如下[color=inherit !important]命令


make sun50iw9p1smp_longan_defconfigmake 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)[color=inherit !important]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 onifconfig 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ò)音頻[color=inherit !important]芯片正下方的R194和R199上獲得,位置如下圖:



    END

  • 本版積分規(guī)則

    關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
    電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
    快速回復(fù) 返回頂部 返回列表
    主站蜘蛛池模板: 伊人干 | 日韩中文字幕精品视频在线 | 青青青青久久国产片免费精品 | 久久久成人网 | 久久不卡精品 | 在线天堂中文www官网 | 青青草网址 | 插吧插吧综合网 | 老司机福利精品视频 | 韩国福利影视一区二区三区 | 成年女人aaaaa毛片 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片看看 | 奶茶视频有容乃大 | 综艺在线看免费高清 | 免费观看毛片视频 | 7799国产精品久久久久99 | 黄色在线视频网站 | 欧美性色黄大片在线观看 | 麻豆porn| 最近中国日本免费观看 | 激情成人综合网 | 亚洲欧美日韩不卡 | 一个人www免费观看 一个人hd免费完整高清视频 | 久草香蕉视频在线观看 | 国产一级做a爰片久久毛片 国产一级做a爰片... | 我不卡影院在线观看 | 亚洲一区二区三区不卡视频 | 久久国产乱子伦精品免费强 | 国产欧美一区二区三区免费 | 巨黑巨粗巨硬巨大的黑吊 | 国产成人欧美一区二区三区的 | 国产高清在线精品 | 亚洲香蕉在线视频 | 日本经典在线三级视频 | 精品在线播放视频 | 手机看片国产精品 | 国产精品欧美一区二区在线看 | 欧美成人一级 | 91亚洲免费视频 | 无遮挡又黄又刺激的视频 | 老潮湿影院免费体验区 |