RK3562J開(kāi)發(fā)筆記 | MCP2518FD外部CAN-FD控制器的調試方法

發(fā)布時(shí)間:2024-12-31 15:57    發(fā)布者:秦徹呀呀呀
關(guān)鍵詞: CAN-FD控制器
SPICAN-FD”是嵌入式開(kāi)發(fā)領(lǐng)域的常用方法,它極大地促進(jìn)了不同通信接口之間的無(wú)縫連接,并顯著(zhù)降低了系統設計的復雜性。飛凌嵌入式依托瑞芯微RK3562J處理器打造的OK3562J-C開(kāi)發(fā)板因為內置了SPICAN-FD驅動(dòng),從而原生支持這一功能。該開(kāi)發(fā)板特別設計了一組SPI引腳【P8】,專(zhuān)為SPICAN-FD應用而引出,為用戶(hù)提供了極大的便利。
MCP2518FD是一款在各行業(yè)中都有著(zhù)廣泛應用的CAN-FD控制器芯片,本文就將為大家介紹如何在飛凌嵌入式RK3562J開(kāi)發(fā)板上適配MCP2518FD芯片。
1適配驅動(dòng)
RK3562J的內核中已經(jīng)具備MCP2518FD的驅動(dòng)文件,要在配置文件中將驅動(dòng)配置進(jìn)內核,在kernel下打開(kāi)圖形化配置界面make menuconfig ARCH=arm64。
(1) 按下 /鍵進(jìn)入搜索界面,輸入 mcp251 可搜索MCP2518驅動(dòng):
上圖中的CAN_MCP251XFD就是適配MCP2518FD模塊的驅動(dòng)。
(2) 選擇 2 將其打 * 編譯進(jìn)內核:
(3)選擇 save 保存配置到defconfig文件,文件路徑:
/home/forlinx/3562/OK3562-linuxsource/kernel/arch/arm64/configs/OK3562_Linux_defconfig
2適配設備樹(shù)
(1) 飛凌嵌入式RK3562J開(kāi)發(fā)板已引出一組SPI引腳:
(2) 驅動(dòng)配置完成后要配置的是設備樹(shù)文件:
OK3562-C-common.dtsi
(3) 具體的配置信息如下:
mcp2518_clk 是時(shí)鐘頻率節點(diǎn),要匹配模塊實(shí)際的晶振頻率;
模塊上有的 INT 腳是模塊的中斷腳,在適配時(shí)需要連接一個(gè)可控的GPIO引腳作為終端腳;
spi2 節點(diǎn)下添加匹配MCP2518驅動(dòng)的設備樹(shù)信息,compatible 信息不能出錯,這是匹配驅動(dòng)的重要屬性。
3編譯燒寫(xiě)
將以上的驅動(dòng)和設備樹(shù)配置好后,編譯內核燒寫(xiě)進(jìn)開(kāi)發(fā)板就可以測試了:
(1) 在源碼目錄下單獨編譯kernel:
forlinx@ubuntu:~/3562/OK3562-linux-source$ ./build.sh kernel
在源碼目錄下的kernel目錄下會(huì )生成鏡像文件 boot.img
(2) 將鏡像文件燒錄到開(kāi)發(fā)板,需要用到工具 RKDevTool ,此工具在OK3562的資料包里可以找到:
打開(kāi)燒寫(xiě)工具;
Type-C數據線(xiàn)連接PC和開(kāi)發(fā)板底部的Type-C0接口;
按住開(kāi)發(fā)板的Recovery鍵不要松開(kāi),重啟開(kāi)發(fā)板;
注意工具會(huì )識別到開(kāi)發(fā)板是否進(jìn)入燒錄狀態(tài)。
擇之前編譯好的 boot.img 鏡像文件,在boot選項前面打勾,點(diǎn)擊執行進(jìn)行燒寫(xiě),燒寫(xiě)完成會(huì )自動(dòng)重啟開(kāi)發(fā)板
4功能測試
在開(kāi)發(fā)板內搜索can節點(diǎn),使用 ifconfig -a 命令
可以看到生成的can0節點(diǎn)。接下來(lái)的功能測試,我們采用OK3562J-COK3568-C兩塊開(kāi)發(fā)板的can0進(jìn)行數據互發(fā)測試。
(1) OK3562J-C開(kāi)發(fā)板接收數據:
設置can0的波特率
ip link set can0 type can bitrate 500000
打開(kāi)can0設備,并把can0設置成服務(wù)端接收數據
ifconfig can0 up //打開(kāi)can0設備
candump can0& //can0設備設置成服務(wù)端
配置OK3568-C開(kāi)發(fā)板的can0作為客戶(hù)端,發(fā)送信息給OK3562J-C開(kāi)發(fā)板的can0
ifconfig can0 down
ip link set can0 up type can bitrate 500000
ifconfig can0 up
cansend can0 123#1122334aabbccd //發(fā)送信息
④ OK3562J-C開(kāi)發(fā)板會(huì )收到OK3568發(fā)來(lái)的消息
(注:上圖中出現的報錯是MCP2518FD驅動(dòng)的問(wèn)題,測試不會(huì )影響通信。)
(2) OK3562J-C開(kāi)發(fā)板發(fā)送數據:
設置波特率等操作同上,在配置功能時(shí)要使用 cansend 命令發(fā)送數據。
② OK3568-C依照OK3562-C的方法配置成接收數據的服務(wù)端。
ifconfig can0 down、ip link set can0 up type can bitrate 500000
ifconfig can0 up
candump can0&
可以看到,兩塊開(kāi)發(fā)板可以進(jìn)行正常的數據互發(fā)。以上是飛凌嵌入式RK3562J開(kāi)發(fā)板適配和測試MCP2518FD模塊的全部過(guò)程,希望能夠對大家的項目開(kāi)發(fā)有所幫助。

本文地址:http://selenalain.com/thread-879750-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页