国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

【GD32F303紅楓派開發(fā)板使用手冊】第三十講 CAN -CAN通信實驗

發(fā)布者:MysticSerenade最新更新時間:2024-12-11 來源: elecfans關鍵字:GD32F303  CAN通信 手機看文章 掃描二維碼
隨時隨地手機看文章

30.1實驗內(nèi)容

通過本實驗主要學習以下內(nèi)容:

  • CAN的簡介

  • GD32F303 CAN工作原理

  • 通過CAN實現(xiàn)回環(huán)收發(fā)

30.2實驗原理

30.2.1CAN概述

CAN 是Controller Area Network的縮寫,是由德國BOSCH公司開發(fā)的,已成為ISO國際標準化的串行通信協(xié)議。其主要應用場合為汽車和工業(yè)控制。CAN具有傳輸距離長,傳輸可靠、強大的糾錯機制等特點,其高性能和可靠性已被廣泛認同,現(xiàn)在已經(jīng)成為汽車、工業(yè)自動化、醫(yī)療設備等領域應用最廣泛的總線之一。

30.2.2CAN總線拓撲

CAN總線拓撲圖如下:

wKgZomaHYsiAWvRyAAItASjUeEI275.png

CAN 控制器根據(jù)兩根線上的電位差來判斷總線電平,一般將兩根線分別命名為CAN_H和CAN_L。總線電平分為顯性電平和隱性電平,二者必居其一。發(fā)送方通過使總線電平發(fā)生變化,將消息發(fā)送給接收方。 當CAN總線上的電位差為0V時,表示隱性電平,隱性電平代表邏輯“1”;當CAN總線上有電位差時(大概在2.5V左右),表示顯性電平,顯性電平代表邏輯“0”。總線空閑時,默認為隱性電平,即總線電位差為0。

wKgZomaHYtaALFZOAAEmmitVmDM170.png

關于電位差、隱性/顯性電平及邏輯電平,非常容易弄混,讀者需要熟記。

CAN總線的特點可以總結為:

  1. 多主

與USART-485這種一主多從類型總線不同,CAN總線是多主控制,即總線上沒有主機從機之分,所有設備都是處于平等的地位。

  1. 消息格式

CAN總線上的消息都以固定格式發(fā)送。當兩個以上的單元同時開始發(fā)送消息時,根據(jù)標識符(Identifier以下稱為ID)決定優(yōu)先級。ID并不是表示發(fā)送的目的地址,而是表示訪問總線的消息的優(yōu)先級。

  1. 通信速度快,通信距離遠

CAN最高可達1Mbps波特率,理論最遠距離可達10Km,當然此時通訊速率較低,只有5Kbps以下。

  1. 具有錯誤檢測、錯誤通知和錯誤恢復功能

CAN總線具有強大的錯誤檢測、通知和恢復功能。當一個單元發(fā)生錯誤時其他單元會進行報錯,正在發(fā)送的單元檢測到錯誤后,會立即強制結束當前發(fā)送,并嘗試重新發(fā)送(功能可配置),當發(fā)送錯誤的次數(shù)達到一定值后,該單元會自動從總線中退出,直到應用程序讓其重新加入總線為止。

  1. 半雙工異步通訊

CAN的總線的查分信號,決定了CAN總線實際為半雙工通訊,另外由于CAN總線沒有時鐘線,所以是異步通訊,故要求CAN總線上的所有單元的波特率都要設置一致。

30.2.3CAN幀的種類

CAN總共有如下五種類型的幀種類:

  • 數(shù)據(jù)幀

用于數(shù)據(jù)傳輸?shù)膸?,也是最常用的一種幀種類

  • 遙控幀

接收單元向具有相同ID的發(fā)送單元請求數(shù)據(jù)時所需要的幀種類

  • 錯誤幀

一種非常重要的幀種類,錯誤幀是當總線上有錯誤時,檢測到錯誤的單元向其他單元通知錯誤的幀。

  • 過載幀

用于接收單元通知其他單元其還沒有準備好的幀種類

  • 幀間隔

用于幀和幀之間分離的幀

30.2.4CAN協(xié)議的解析

介紹了CAN的一些基本指示后,可能讀者還是不太明白幀ID是什么,CAN的發(fā)送和接收是怎么實現(xiàn)的,是否就像串口一樣發(fā)送數(shù)據(jù)就可以?實際上CAN需要遵循CAN協(xié)議,這樣每個CAN單元才可以準確無誤的發(fā)送和接收數(shù)據(jù),CAN強大的錯誤檢測、錯誤通知等機制也是依托于標準CAN協(xié)議。下面以數(shù)據(jù)幀來解析下CAN的協(xié)議。


關鍵字:GD32F303  CAN通信 引用地址:【GD32F303紅楓派開發(fā)板使用手冊】第三十講 CAN -CAN通信實驗

上一篇:【GD32F303紅楓派開發(fā)板使用手冊】第十講 FWDGT-獨立看門狗實驗
下一篇:【GD32F303紅楓派開發(fā)板使用手冊】第十三講 ADC-內(nèi)部溫度傳感器和參考電壓采樣實驗

推薦閱讀最新更新時間:2025-06-30 02:59

stm32---CAN通信
can.c #include can.h /************************************************************* 函數(shù)名:CAN_Mode_Init(u8 tsjw,u8 tbs2,u8 tbs1,u16 brp,u8 mode) 功能:CAN初始化 變量: //tsjw:重新同步跳躍時間單元.范圍:CAN_SJW_1tq~ CAN_SJW_4tq //tbs2:時間段2的時間單元. 范圍:CAN_BS2_1tq~CAN_BS2_8tq; //tbs1:時間段1的時間單元. 范圍:CAN_BS1_1tq ~CAN_BS1_16tq //brp :波特率分頻器.范圍:
[單片機]
STM32F105 CAN通信過濾器配置問題
總結一些最近做項目對CAN通信的過濾器配置的理解; 這里我使用STM32F105系列的芯片,有2路CAN,我使用的是CAN2,過濾器可以設置從15開始,當然,從1開始也是沒有問題的; 當設置了CAN過濾器,表示只能接收指定ID的數(shù)據(jù),其他ID發(fā)送過來的數(shù)據(jù),不再觸發(fā)CAN中斷,可以進一步提高系統(tǒng)的穩(wěn)定性。當CAN總線上數(shù)據(jù)比較多的時候,是很有必要的。 具體配置如下: CAN_SlaveStartBank(15); // can2篩選器組從15開始 CAN_FilterInitStructure.CAN_FilterNumber=15; CAN_FilterInitStructure.CAN_FilterMode=CA
[單片機]
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved