那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ELF 1技術貼|CAN接口淺析:從原理到對測

ElfBoard ? 2024-04-26 10:24 ? 次閱讀

引言

在當今智能化、網絡化的時代,各種電子設備間的高效通信成為了技術發展的關鍵。而控制器局域網絡(Controller Area Network,簡稱CAN),作為嵌入式系統中不可或缺的通信協議,正扮演著鏈接橋梁的重要角色。本文將帶各位小伙伴深入了解CAN接口的基本原理。

CAN總線介紹

CAN總線采用廣播通信模式,意味著網絡中的每一節點都能接收傳播于總線上的所有數據報文,并非定向傳輸至特定節點。這一特性確保了信息的廣泛可達性,不過,各節點并非被動接受所有信息。實際上,CAN技術內置的硬件過濾機制使得每個節點能智能化篩選,僅對與其相關的報文作出響應,實現了有效的信息過濾與處理策略。

總線采用不歸零制編碼結合線與邏輯設計,確保了信號的穩定傳輸。在此機制下,各個模塊經由線與邏輯相連至總線,這意味著當單一節點輸出邏輯0時,即使其余節點均發出邏輯1,總線信號也會被強勢界定為邏輯0,體現了總線在信號競爭中的獨斷性。

CAN總線上的電平

CAN2.0A/B標準規定:總線空閑時,CAN_H和CAN_L上的電壓為2.5V;

在數據傳輸時,顯性電平(邏輯0):CAN_H 3.5V CAN_L 1.5V;

隱性電平(邏輯1):CAN_H 2.5V CAN_L 2.5V;

wKgZomYrC6SAAlq0AAtWUkw5vuE991.png

CAN標準定義四種不同的報文類型(數據幀、遠程幀、錯誤幀、過載幀)。報文使用逐位仲裁智能方案來控制對總線的訪問,每條報文都帶有優先級標記,在協議中規定ID小則優先級高。CAN總線拓撲圖如下圖:

wKgaomYrC7yAX3SAAA85Tuauu4s260.png

ElfBoard開發板 CAN接口硬件電路介紹

ELF 1開發板在其底板上集成了1路CAN接口,而ELF 1S開發板則通過擴展板增設了額外的1路CAN接口,這一接口經由3.81mm間距的綠色端子引出。

當前,ELF 1開發板搭載了TJA1040T型CAN收發器。關于CAN模塊原理圖如下圖所示。考慮到TJA1040T器件的輸出端RX輸出的是5V電平信號,這可能對核心板的3.3V工作電壓環境構成兼容性挑戰。為保護核心板,采取了電壓匹配措施:通過電阻R51和R54實施分壓,將RX信號平滑過渡至3.3V,隨后安全送至處理器的CAN1_RX輸入端口,從而保障了系統間通訊的穩定。

wKgZomYrC9OAJYRRAA6ZPF53Rmo802.png

為了優化外部電路設計,各位小伙伴可以參考以下的TJA1040T芯片功能框圖和引腳詳解。這些資料將加速大家對TJA1040T芯片特性的理解進程。

wKgaomYrD0eAFZ9BAAzmyQBVEk4802.pngTJA1040T芯片功能框圖

wKgZomYrD1eANerCABLSOHdZwc4972.pngTJA1040T芯片引腳說明

關于CAN接口的設計建議

(1)核心板最多可支持2路CAN;

(2)設計CAN接口時要注意收發器和核心板之間的電平匹配;

(3)終端電阻可以預留插針通過跳線帽選擇使用;

關于CAN接口PCB的設計建議

(1)CAN使用差分布線,預留120Ω端接電阻;

(2)連接端口建議預留地信號;

CAN接口對測

ELF 1S開發板提供兩路CAN接口,CAN1 集成于底板之上,而 CAN2 則集成在擴展板上。為了實現雙向 CAN 測試,需將 CAN1 與 CAN2 兩端的信號線對應相連——即高位H線相互接通,低位L線同樣相連,以確保兩者間的直接通信鏈路暢通無阻。

wKgZomYrD4uAAw5mABDt4sAs_rc906.png

開發板啟動之后,在命令行輸入以下命令,對CAN1配置波特率為125000:

root@ELF1:~# ifconfig can0 down //關閉can1 root@ELF1:~# ip link set can0 up type can bitrate 125000 triple-sampling on //設置can1波特率 flexcan 2090000.can can0:writing ctrl=0x0e312085 IPV6:ADDRCONF(NETDEV_CHANGE):can0:link becomes ready root@ELF1:~# ifconfig can0 up //開啟can1

對CAN2配置波特率為125000:

root@ELF1:~# ifconfig can1 down //關閉can2 root@ELF1:~# ip link set can1 up type can bitrate 125000 triple-sampling on //設置can2波特率 flexcan 2094000.can can1:writing ctrl=0x0e312085 IPV6:ADDRCONF(NETDEV_CHANGE):can0:link becomes ready root@ELF1:~# ifconfig can1 up //開啟can2

設置CAN2接收數據:

root@ELF1:~# candump can1 & //can2以后臺方式接收數據 [1] 686

CAN1發送數據:

root@ELF1:~# cansend can0 123#1234567891234567 //can1發送數據 root@ELF1:~# can1 123 [8] 12 34 56 78 91 23 45 67 //can2接收到數據

CAN2接收到CAN1發送的數據。

至此就完成了對CAN接口的介紹,期待這篇文章能讓各位小伙伴對CAN接口有一個全面而深入的理解,推進各位嵌入式愛好者在學習的道路上不斷前進。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638606
  • 嵌入式
    +關注

    關注

    5093

    文章

    19178

    瀏覽量

    307708
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98209
收藏 人收藏

    評論

    相關推薦

    ELF 1技術|在NXP源碼基礎上適配開發板的按鍵功能

    ELF1開發板。接下來,我們將詳細闡述適配過程中關于按鍵功能實現的完整步驟。值得一提的是,ELF1開發板上預置了標識為K1、K2、K3的三個按鍵。為了啟用這些按
    的頭像 發表于 03-08 16:58 ?1008次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎上適配開發板的按鍵功能

    ElfBoard技術|如何在NXP源碼基礎上適配ELF 1開發板的UART功能

    UART即通用異步收發器,是一種支持全雙工串行通信協議的接口。在i.MX6ULL處理器平臺上,該處理器原生支持多達8路的UART接口,提供了豐富的串行通信能力。 針對ELF 1開發
    的頭像 發表于 09-25 13:56 ?2421次閱讀
    ElfBoard<b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如何在NXP源碼基礎上適配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>開發板的UART功能

    ElfBoard技術|ELF 1開發板適配攝像頭詳解

    ELF1ELF1S開發板適配的OV5640攝像頭,集成了CMOS圖像傳感器,作為一款500萬像素級別的攝像頭,不僅能夠支持最高達2592x1944分辨率的QSXGA圖像輸出,幀率可達15fps
    的頭像 發表于 12-27 10:16 ?793次閱讀
    ElfBoard<b class='flag-5'>技術</b><b class='flag-5'>貼</b>|<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>開發板適配攝像頭詳解

    基于DSP的CAN總線接口設計

    基于DSP的CAN總線接口設計 1CAN總線簡介   控制器局部網絡(CAN ControllerAreaNetwork)是德國B
    發表于 10-04 09:41 ?4796次閱讀
    基于DSP的<b class='flag-5'>CAN</b>總線<b class='flag-5'>接口</b>設計

    語音接口技術淺析

    語音接口技術淺析
    發表于 11-01 08:27 ?1次下載
    語音<b class='flag-5'>接口技術</b><b class='flag-5'>淺析</b>

    理到實例:GaN為何值得期待?

    理到實例:GaN為何值得期待?
    的頭像 發表于 12-30 17:06 ?1045次閱讀
    <b class='flag-5'>從</b>原<b class='flag-5'>理到</b>實例:GaN為何值得期待?

    關于ELF1/ELF1S開發板的音頻接口,你需要知道的都在這!

    音樂可以將平凡的畫面賦予深厚的意義,那么音頻接口就是這個支點;今天就來給大家詳細介紹一下ELF1/ELF1S開發板的音頻接口ELF1/
    的頭像 發表于 10-31 14:10 ?754次閱讀
    關于<b class='flag-5'>ELF1</b>/<b class='flag-5'>ELF1</b>S開發板的音頻<b class='flag-5'>接口</b>,你需要知道的都在這!

    淺析can技術的演變過程

    CAN技術的演變 為了了解 CAN FD 到 CAN XL 的轉變,讓我們簡單回顧一下 CAN
    發表于 11-17 11:41 ?635次閱讀
    <b class='flag-5'>淺析</b><b class='flag-5'>can</b><b class='flag-5'>技術</b>的演變過程

    ELF 1技術|LCD作為終端控制臺的方法

    ELF1/ELF1S開發板及顯示屏)(ELF1/ELF1S開發板及顯示屏)對于嵌入式愛好者來說,調試開發板是必不可少的工作。一般情況下是使用串口作為終端進行調試,如果網絡沒問題的話,
    的頭像 發表于 12-20 17:11 ?463次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|LCD作為終端控制臺的方法

    ELF 1技術|在NXP源碼基礎上適配ELF 1開發板的LED功能

    本次源碼適配工作是在NXPi.MX6ULLEVK評估板的Linux內核源碼(特定版本:Linux-imx_4.1.15)基礎上進行的。主要目標是調整功能接口引腳配置,以適應ELF1開發板。下面以
    的頭像 發表于 12-29 10:04 ?922次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎上適配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>開發板的LED功能

    解析壓敏電阻MOV:基礎原理到應用?

    解析壓敏電阻MOV:基礎原理到應用?|深圳比創達電子EMC
    的頭像 發表于 01-24 10:47 ?964次閱讀
    解析壓敏電阻MOV:<b class='flag-5'>從</b>基礎原<b class='flag-5'>理到</b>應用?

    ELF 1技術|如何支持exFAT和NTFS格式

    。接下來將給各位小伙伴介紹一下如何通過對ELF1開發板進行配置,以實現對exFAT和NTFS格式U盤以及SD卡的支持與掛載。exFAT1、內核源碼中需要添加exFAT
    的頭像 發表于 01-31 16:37 ?801次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如何支持exFAT和NTFS格式

    ELF 1技術|如何將Python3.6.9移植到開發板上

    ELF1開發板的Linux4.1.15eMMC鏡像中,默認預裝了Python2.7。為了適應更多應用場景,有些小伙伴可能需要移植其他版本的Python,下面將以Python3.6.9為例詳細介紹
    的頭像 發表于 02-22 14:06 ?476次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如何將Python3.6.9移植到開發板上

    ELF技術|如何在開發板上實現對Java的支持

    Java作為一種功能強大且廣泛應用的編程語言,具有廣泛的適應性和實用性。在ELF1開發板上集成Java支持,無疑將賦予嵌入式開發者更廣闊的選擇空間,今天就為各位小伙伴詳細解析如何在ELF1開發板上成
    的頭像 發表于 03-13 16:47 ?546次閱讀
    <b class='flag-5'>ELF</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如何在開發板上實現對Java的支持

    ElfBoard技術|在NXP源碼基礎上適配ELF 1開發板的按鍵功能

    本次源碼適配工作是在NXPi.MX6ULLEVK評估板的Linux內核源碼(特定版本:Linux-imx_4.1.15)基礎上進行的。主要目標是調整功能接口引腳配置,以適應ELF1開發板。接下來
    的頭像 發表于 07-10 09:54 ?696次閱讀
    ElfBoard<b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎上適配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>開發板的按鍵功能
    百家乐官网群b28博你| 百家乐博彩技巧视频| 蓝盾百家乐代理| 澳门博彩网| 百家乐官网计划策略| 缅甸百家乐玩家吗| 香港六合彩大全| 澳门百家乐官网赌技巧| 功夫百家乐的玩法技巧和规则| 网上博彩网址| 百家乐官网第三张规则| 太阳城娱乐场| 太阳城百家乐官网怎么出千| 百家乐霸王闲| 百家乐网上真钱娱乐| 百家乐官网技术秘籍| 同乐城百家乐现金网| 新澳博娱乐城| 百家乐官网网页游戏| 新奥博娱乐城体育投注| 百家乐官网正式版| 大发888游戏客服电话| 百家乐官网包台| 芝加哥百家乐的玩法技巧和规则| 百家乐官网资金注码| 百家乐跟路技巧| 加州百家乐官网娱乐城| 百家乐英皇娱乐网| 百家乐官网太阳城怎么样| 百家乐电投软件| 威尼斯人娱乐场积分| 网上百家乐官网赌场娱乐网规则 | 博E百百家乐官网现金网| 百家乐必胜赌| 百家乐官网投注哪个信誉好| JJ百家乐的玩法技巧和规则| 7人百家乐官网中号桌布| 免费百家乐缩水工具| 澳门百家乐官网的玩法技巧和规则 | 百家乐网站程序| 真人百家乐官网试玩游戏|