精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

CAN總線簡單介紹

廣東微電科技有限公司 ? 2021-12-09 15:55 ? 次閱讀

?

什么是CAN總線?

Controller Area Network,簡稱CAN或者CAN bus) 是一種功能豐富的串行總線標準,最早的CAN控制芯片在奔馳車上應用并量產,因為支持多主機,多從機的優點,所以一輛車所有控制器傳感器電子設備直接的通信只需要兩條線就夠了,大大優化了整車的布線。

隨著技術的不斷發展,CAN發布了相應的標準,國際化標準組織,公布了CAN的不同標準;

標準 涵蓋內容
ISO 11898-1 數據鏈路層
ISO 11898-2 高速CAN的物理層
ISO 11898-3 低速容錯CAN的物理層

ISO 11898-1ISO 11898-2是對應的設計標準,去搜索就可以知道這個技術點是如何進行設計的。

物理層

差分信號

這里我們介紹一下物理層,什么是物理層呢?就是CAN的電信號的傳輸過程。CAN是串行異步通訊,只有CAN_HIGHCAN_LOW兩條差分信號線,數據通過差分信號的方式進行通訊,其優點就是可以增加信號的抗干擾能力,抑制共模信號的干擾;

具體如下圖所示;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

所以,信號在變成一個字節一個字節的數字信號之前,就是按照這種差分形式的模擬信號來傳輸的。

我們可以簡單地理解一下,當CAN_HIGH減去CAN_LOW大于某個閾值的時候,可以把它當做邏輯高,反之,當小于某一個閾值時,就變成邏輯低。

下面我們再來看看CAN總線設備之間是如何連接的。

連接方式

CAN總線支持多個節點掛載在總線上,比較類似I2C總線,可以在SCLSDA上掛載多個從機,具體如下圖所示;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

不過CAN總線其實沒有主從的概念,每個設備都是一個節點(Node),節點直接可以相互通訊,相較于I2C總線,CAN總線設置了終端電阻,常見的一種閉環連接模式,相對的還有開環的連接模式。

不同的連接模式,他們的通訊速率也大不相同,這里也就是高速CAN和低速CAN的區別。

兩條電線組成一條雙絞線,并且接有120Ω的特性阻抗。ISO 11898-2,也稱為高速度CAN。它在總線的兩端均接有120Ω電阻。

使用了120Ω終端電阻(這是CAN的ISO標準里規定的),這種模式的最高通訊速率可以達到1Mbps,下面是傳輸距離和傳輸速度的關系;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

CAN總線長度與信號速率關系

高速CAN的拓撲結構具體如下所示;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

還有一種是低速CAN,或者也叫做容錯CAN,低速容錯 CAN 總線將通訊的最大帶寬從1 Mbps降低到125 Kbps,并且不再在總線的起點和終點使用兩個終端電阻,而是將電阻分布在每個節點上。具體如下圖所示;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

由于高速CAN和低速CAN的拓撲結構不同,另外終端電阻的分布也不同,所以CAN_HIGHCAN_LOW上的電平是不相同的,這里有隱性電平和顯性電平。

硬件上的連接基本上都搞清楚了,下面就是如何去實現一個具體的CAN節點。我們來簡單地介紹一下。

CAN節點

CAN節點通常分為三個部分;

MCU/CPU

CAN控制器

CAN收發器

通常一些單片機內部就集成了相應的CAN控制器外設,比如我們比較常用的單片機——STM32,所以我們常見的結構一般是這樣子的。

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

所以整體的流程是這樣的,如下:

CAN總線上通過差分信號進行數據傳輸

CAN收發器將差分信號轉換為TTL電平信號,或者將TTL電平信號轉換為差分信號;

CAN控制器將TTL電平信號接收,并傳輸給MCU;

那么,對于單片機開發者而言,需要關注的就是最終CAN控制器傳輸給MCU的數據,如何去配置CAN控制器,以及使用CAN控制進行數據的讀取和發送。

既然這樣,我們就不得不去了解一下CAN總線的通信原理,如何尋址,上層協議如何規定的。

CAN協議

CAN協議和網絡協議比較類似,進行了分層的設計思想;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

按照我的理解;

物理層就是前面提到過的硬件拓撲結構,包括高速CAN和低速CAN,而CAN收發器就屬于物理層;

傳輸層則是CAN控制器所需要做的事情,包括CAN時序,同步,消息仲裁,確認,錯誤檢驗等,這個比較復雜,如果只是應用開發,我認為,簡單了解一下即可;這一層需要做的工作包括:

故障約束;

錯誤監測;

消息驗證;

信息確認;

仲裁;

信息幀;

傳輸速率和時間;

路由信息;

對象層,MCU應該是屬于這一層,我們需要對CAN消息做信息的過濾設置,CAN消息的處理等等;

應用層就是基于對象層的進一步封裝,不同的CAN標準,比如工業自動化領域的CANopen,汽車診斷ISO 14229 定義的UDS等等;

如何尋址?

CAN總線上的每個節點不需要設置節點的地址,而是通過消息的標識符(Identifier)來區別信息。因為CAN總線的消息是廣播的(就是大家都可以收到消息),比如總線上有節點A,節點B,節點C,那么節點A發消息,節點B和節點C都會收到消息;

節點B 和 節點C 會根據消息中的標識符,以及B和C中的消息過濾規則進行比較,如果不滿足規則,就不接受這條信息。

這里需要注意的是:

發送消息的時候,總線必須處于空閑狀態;

標識符越小,則消息獲取總線的優先級越高;

在這里我們已經了解如何尋址,下面就看一下消息幀了。

幀類型

CAN有4種幀類型:

數據幀:包含用于傳輸的節點數據的幀

遠程幀:請求傳輸特定標識符的幀

錯誤幀:由任何檢測到錯誤的節點發送的幀

過載幀:在數據幀或遠程幀之間插入延遲的幀

這里我們有必要重點了解一下數據幀,下面繼續介紹各種幀之間的區別。

數據幀

數據幀分為標準幀和擴展幀兩種格式;

基本幀格式:有11個標識符位

擴展幀格式:有29個標識符位

數據幀的結構具體如下所示;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

數據幀格式

簡單介紹一下數據幀的細節;

sofstart of frame,表示數據幀開始;(1 bit)

Identifier:標準格式11 bit,擴展格式29 bit包括Base Identifier(11 bit)和Extended Identifier(18 bit),該區段標識數據幀的優先級,數值越小,優先級越高;

RTR:遠程傳輸請求位,0時表示為數據幀,1表示為遠程幀,也就是說RTR=1時,消息幀的Data Field為空;(1 bit)

IDE:標識符擴展位,0時表示為標準格式,1表示為擴展格式;(1 bit)

DLC:數據長度代碼,0~8表示數據長度為0~8 Byte;(4 bit)

Data Field:數據域;(0~8 Byte)

CRC Sequence:校驗域,校驗算法,

DEL:校驗域和應答域的隱性界定符;(1 bit)

ACK:應答,確認數據是否正常接收,所謂正常接收是指不含填充錯誤、格式錯誤、 CRC 錯誤。發送節點將此位為1,接收節點正常接收數據后將此位置為0;(1 bit)

SRR:替代遠程請求位,在擴展格式中占位用,必須為1;(1 bit)

EOF:連續7個隱性位(1)表示幀結束;(7 bit)

ITM:幀間空間,Intermission (ITM),又稱Interframe Space(IFS),連續3個隱性位,但它不屬于數據幀。幀間空間是用于將數據幀和遠程幀與前面的幀分離開來的幀。數據幀和遠程幀可通過插入幀間空間將本幀與前面的任何幀(數據幀、遙控幀、錯誤幀、過載幀)分開。過載幀和錯誤幀前不能插入幀間空間。

遠程幀

一般地,數據是由發送單元主動向總線上發送的,但也存在接收單元主動向發送單元請求數據的情況。遠程幀的作用就在于此,它是接收單元向發送單元請求發送數據的幀。遠程幀與數據幀的幀結構類似,如上圖X所示。遠程幀與數據幀的幀結構區別有兩點:

數據幀的RTR值為“0”,遠程幀的RTR值為“1

遠程幀沒有數據塊

遠程幀的DLC塊表示請求發送單元發送的數據長度(Byte)。當總線上具有相同標識符的數據幀和遠程幀同時發送時,由于數據幀的RTR位是顯性的,數據幀將在仲裁中贏得總線控制權。

錯誤幀

用于在接收和發送消息時檢測出錯誤時,通知錯誤的幀。錯誤幀由錯誤標志和錯誤界定符構成。錯誤幀的幀結構如圖11示。

錯誤標志:

個顯性/隱性重疊位

主動錯誤標志(6個顯性位):處于主動錯誤狀態的單元檢測出錯誤時輸出的錯誤標志

被動錯誤標志(6個隱性位):處于被動錯誤狀態的單元檢測出錯誤時輸出的錯誤標志

錯誤界定符:8個隱性位

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

過載幀

過載幀是用于接收單元通知發送單元它尚未完成接收準備的幀。在兩種情況下,節點會發送過載幀:

接收單元條件的制約,要求發送節點延緩下一個數據幀或遠程幀的傳輸;

幀間空間(Intermission)的3 bit內檢測到顯性位

每個節點最多連續發送兩條過載幀。過載幀由過載標志和過載界定符(8個隱性位)構成。數據幀的幀結構如圖12所示。

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

can_overload_frame

這里基本把幀介紹完了,但是每個節點之間的通訊,我們如何知道這一幀開始接收了,這一幀已經接收結束了呢?下面就需要了解一下消息的時序和消息同步的方法。

消息時序以及同步

位時序

在講CAN消息時序和同步之前,我們可以對照一下UART串口的傳輸協議,他有起始位和停止位,然后大家都規定使用相同的通訊速率(波特率);

其實CAN通訊也是類似的方式,它屬于異步通訊,沒有時鐘信號線,所以所有節點之間要約定好使用相同的波特率來傳輸數據。

在總線空閑一段時間后,在(起始位) 進行硬同步,同步方式是將每一位劃分成多個稱為量子的時間段(time quanta),并分配一定數量的量子到位中的四個階段完成的。

這四個階段分別為:

SYNC_SEG:同步段,1 個時間量子長度。它用于同步各種總線節點;

PROP_SEG:傳播段,1~8 時間量子長度。它用于補償網絡上的信號延遲。

PHASE_SEG_1:相位緩沖段1,1~8 時間量子長度。它用于補償邊緣相位誤差,在重新同步期間可能會延長。

PHASE_SEG_2:相位緩沖段2,2~8 時間量子長度。它用于補償邊緣相位誤差

具體如下圖所示;

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

位時序

波特率

如何計算波特率,需要知道每個量子時間的長度(time quanta),以及每一位需要多少個量子時間,

假設這里time quanta = 1us,并且1 bit = 8 tq,那么上圖中的波特率就應該是:

消息過濾器

前面有提到消息在CAN總線上是廣播式的,但并不是所有節點都會對總線上所有消息感興趣。節點通過控制器中過濾碼(Filter Code)和掩碼(Mask Code),再檢驗總線上消息的標識符,來判斷是否接收該消息(Message Filtering)。

對于掩碼,“1”表示該位與本節點相關,“0”表示該位與本節點不相關。舉例如下:

例1:僅接收消息標識符為00001567(十六進制)的幀

設置過濾碼為00001567

設置掩碼為1FFFFFFF

節點檢測消息的標識符的所有位(29位),如果標識符為00001567接收,否則舍棄。

例2:接收消息標識符為000015670000156F的幀

設置過濾碼為00001560

設置掩碼為1FFFFFF0

節點檢測消息的標識符的高25位,最低的4位則不care。如果標識符最高25位相同則接收,否則舍棄。

例3:接收消息標識符為0000156000001567的幀

設置過濾碼為00001560

設置掩碼為1FFFFFF8

節點檢測消息的標識符的高26位,最低的3位則不care。如果標識符最高26位相同則接收,否則舍棄。

例4:接收所有消息幀幀

設置過濾碼為0

設置掩碼為0

節點接收總線上所有消息。

如何配置?

上面介紹了幀類型,那么如何基于MCU進行配置呢?這里以STM32F407為硬件平臺,使用HAL庫進行初始化,看一下都對哪些地方進行了配置。一般來說,我們需要配置CAN的波特率,消息過濾器等等,下面是簡單的配置的代碼;

CAN_HandleTypeDefhCAN;
voidMX_CAN_Init(void)
{
CAN_FilterTypeDefsFilterConfig;
/*CAN單元初始化*/
hCAN.Instance=CAN1;/*CAN外設*/

/*BTR-BRP波特率分頻器定義了時間單元的時間長度42/(1+6+7)/6=500Kbps*/
hCAN.Init.Prescaler=6;
hCAN.Init.Mode=CAN_MODE_NORMAL;/*正常工作模式*/
hCAN.Init.SyncJumpWidth=CAN_SJW_1TQ;/*BTR-SJW重新同步跳躍寬度1個時間單元*/
hCAN.Init.TimeSeg1=CAN_BS1_6TQ;/*BTR-TS1時間段1占用了6個時間單元*/
hCAN.Init.TimeSeg2=CAN_BS2_7TQ;/*BTR-TS1時間段2占用了7個時間單元*/
hCAN.Init.TimeTriggeredMode=DISABLE;/*MCR-TTCM關閉時間觸發通信模式使能*/
hCAN.Init.AutoBusOff=ENABLE;/*MCR-ABOM自動離線管理*/
hCAN.Init.AutoWakeUp=ENABLE;/*MCR-AWUM使用自動喚醒模式*/
hCAN.Init.AutoRetransmission=DISABLE;/*MCR-NART禁止報文自動重傳DISABLE-自動重傳*/
/*MCR-RFLM接收FIFO鎖定模式DISABLE-溢出時新報文會覆蓋原有報文*/
hCAN.Init.ReceiveFifoLocked=DISABLE;
/*MCR-TXFP發送FIFO優先級DISABLE-優先級取決于報文標示符*/
hCAN.Init.TransmitFifoPriority=DISABLE;
if(HAL_CAN_Init(&hCAN)!=HAL_OK)
{
//Error_Handler();
}
//初始化發送器
hCAN1_TxMessage.IDE=CAN_ID_STD;
hCAN1_TxMessage.RTR=CAN_RTR_DATA;
hCAN1_TxMessage.TransmitGlobalTime=ENABLE;

//初始化濾波器設置為0則不對消息進行過濾
hCAN1_Filter.FilterIdHigh=0;/*要過濾的ID高位*/
hCAN1_Filter.FilterIdLow=0;/*要過濾的ID低位*/
hCAN1_Filter.FilterMaskIdHigh=0;/*過濾器高16位每位必須匹配*/
hCAN1_Filter.FilterMaskIdLow=0;/*過濾器低16位每位必須匹配*/
hCAN1_Filter.FilterFIFOAssignment=CAN_FILTER_FIFO0;/*過濾器被關聯到FIFO0*/
hCAN1_Filter.FilterBank=0;
hCAN1_Filter.FilterMode=CAN_FILTERMODE_IDMASK;/*工作在標識符屏蔽位模式*/
hCAN1_Filter.FilterScale=CAN_FILTERSCALE_32BIT;/*過濾器位寬為單個32位。*/
hCAN1_Filter.FilterActivation=ENABLE;
hCAN1_Filter.SlaveStartFilterBank=0;

HAL_CAN_ConfigFilter(&hCAN,&hCAN1_Filter);

while(HAL_CAN_Start(&hCAN)!=HAL_OK)
{
printf("\nCAN_StartFailed!!");
HAL_Delay(100);
}
HAL_CAN_ActivateNotification(&hCAN,CAN_IT_RX_FIFO0_MSG_PENDING);
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

下面是CAN發送的函數,我們需要自己構建相應的消息幀格式,通常需要設置消息幀的ID格式,消息長度,具體如下;

voidCAN_TxMessage(CAN_HandleTypeDef*hcan,uint16_tID,uint8_taData[],uint8_tDLC)
{
uint32_tTx_MailBox;
/*-1-配置數據段長度----------------------------------------*/
hCAN1_TxMessage.IDE=CAN_ID_STD;
hCAN1_TxMessage.RTR=CAN_RTR_DATA;
hCAN1_TxMessage.StdId=ID;
hCAN1_TxMessage.DLC=DLC;
hCAN1_TxMessage.TransmitGlobalTime=ENABLE;
/*-2-發送aData---------------------------------------------*/
while(HAL_CAN_AddTxMessage(hcan,&hCAN1_TxMessage,aData,&Tx_MailBox)!=HAL_OK)
{
HAL_Delay(5);
}
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

上述代碼設置發送消息:

CAN_ID_STD設置為標準ID;

CAN_RTR_DATA設置消息為數據幀;

StdId為當前消息的ID;

DLC為當前消息的長度;

整體可以參考前面介紹的消息幀格式,篇幅有限,這里就先簡單的介紹一下。

總結

本文對CAN總結進行了簡單的介紹,CAN通訊的特點可以總結如下;

符合OSI開放式通信系統參考模型;

兩線式總線結構,電氣信號為差分式;

多主控制。在總線空閑時,所有的單元都可開始發送消息,最先訪問總線的單元可獲得發送權;多個單元同時開始發送時,發送高優先級 ID 消息的單元可獲得發送權;

消息報文不包含源地址或者目標地址,僅通過標識符表明消息功能和優先級;

基于固定消息格式的廣播式總線系統,短幀結構;

事件觸發型。只有當有消息要發送時,節點才向總線上廣播消息;

可以通過發送遠程幀請求其它節點發送數據;

消息數據長度 0~8 Byte;

錯誤檢測功能。所有節點均可檢測錯誤,檢測處錯誤的單元會立即通知其它所有單元;

發送消息出錯后,節點會自動重發;

故障限制。節點控制器可以判斷錯誤是暫時的數據錯誤還是持續性錯誤,當總線上發生持續數據錯誤時,控制器可將節點從總線上隔離;

通信介質可采用雙絞線、同軸電纜和光導纖維,一般使用最便宜的雙絞線;

理論上,CAN總線用單根信號線就可以通信,但還是配備了第二根導線,第二根導線與第一根導線信號為差分關系,可以有效抑制電磁干擾;

在40米線纜條件下,最高數據傳輸速率 1Mbps;

總線上可同時連接多個節點,可連接節點總數理論上是沒有限制的,但實際可連接節點數受總線上時間延遲及電氣負載的限制;

文章來源于小麥大叔,作者小麥大叔

?

研發銷售6軸、9軸電子羅盤(陀螺儀|加速計|磁力計)、傾角傳感器、姿態傳感器,慣導、數據采集盒、IoT遠程智慧監測等

產品廣泛應用于:無人機、無人船、巡檢/引導/送餐/水下機器人、AGV、云臺裝置、望遠鏡、Qiang支瞄準鏡、雷達定位、聚光太陽能、工礦/隧道無人設備等!

核心研發人員十年技術積累,專業研發團隊,軍工級品質,替代進口。

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

    關注

    6032

    文章

    44522

    瀏覽量

    633193
  • CAN總線
    +關注

    關注

    145

    文章

    1936

    瀏覽量

    130636
收藏 人收藏

    評論

    相關推薦

    CAN總線通信原理介紹 CAN總線模塊選擇指南

    于工業自動化、醫療設備、船舶系統等領域。 CAN總線通信原理介紹 1. CAN總線概述 CAN
    的頭像 發表于 11-21 10:21 ?200次閱讀

    使用CAN總線的注意事項 CAN總線與其他通信協議對比

    線性或星形拓撲。線性拓撲簡單,但對電纜長度有限制;星形拓撲可以減少電纜長度,但需要使用集線器或中繼器。 終端電阻 :在CAN總線的兩端必須安裝終端電阻,以減少信號反射,保證信號完整性。 電纜選擇 :選擇適合
    的頭像 發表于 11-21 10:16 ?167次閱讀

    CAN總線是如何通信的#CAN #常學常新

    CAN總線
    北匯信息POLELINK
    發布于 :2024年11月07日 16:34:29

    CAN總線基礎知識匯總#CAN #CANoe #汽車總線

    CAN總線
    北匯信息POLELINK
    發布于 :2024年11月04日 13:35:54

    什么是CAN時鐘?#CAN #汽車CAN總線? #CANoe

    CAN總線
    北匯信息POLELINK
    發布于 :2024年10月29日 12:23:36

    CAN總線知識】全面了解CAN總線協議

    提及總線,總是讓人聯想到那些交錯在一起的計算機電線。那么這些電線如何發揮功效呢?這還得配合總線協議的管理來使用。那么今天我們介紹的就是CAN總線
    的頭像 發表于 10-15 08:05 ?1248次閱讀
    【<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>知識】全面了解<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>協議

    can總線中斷狀態什么意思呢?

    過程中的中斷處理機制。以下是關于CAN總線中斷狀態的詳細介紹CAN總線概述 1.1 CAN
    的頭像 發表于 06-16 10:21 ?1540次閱讀

    CAN總線的特點、原理及應用

    CAN總線(Controller Area Network)是一種用于汽車和工業自動化領域的局域網技術,具有實時性、可靠性、靈活性和成本效益等優點。本文將詳細介紹CAN
    的頭像 發表于 06-16 10:19 ?3213次閱讀

    can總線的故障波形有哪些

    詳細介紹CAN總線的故障波形及其原因和解決方法。 故障波形概述 故障波形是指在CAN總線通信過程中,由于各種原因導致的數據傳輸異常。故障波形
    的頭像 發表于 06-16 10:04 ?1639次閱讀

    什么是CAN總線協議?它有哪些特性和應用?

    、實時性強、抗干擾能力強等優點,逐漸發展成為現代工業通信的重要標準之一。本文將對CAN總線協議的基本概念、特性、工作原理、應用領域等方面進行詳細介紹
    的頭像 發表于 05-27 16:32 ?1178次閱讀

    CAN總線錯誤幀及其排查方法簡單介紹#汽車CAN總線?

    CAN總線汽車電子
    北匯信息POLELINK
    發布于 :2024年03月15日 14:14:40

    什么是CAN總線通信?CAN總線工作原理

    這意味著變送器通過CAN收發器改變總線電平,并將其信息傳輸到CAN總線。接收器通過監測總線電平將總線
    發表于 02-19 14:53 ?6094次閱讀
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>工作原理

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發表于 01-31 14:09 ?2569次閱讀

    CAN總線共模電感選型

    CAN總線共模電感是應用于CAN總線通信中的一種電子元件,用于解決CAN總線通信中的共模干擾問題
    的頭像 發表于 01-05 13:42 ?3872次閱讀

    CAN總線的特點和FPGA實現

    我們根據can總線具有的一些特性可知:CAN總線肯定具有分層結構,而且參考OSI模型(OSI參考模型介紹)是肯定的,我們可以看一下相關的文檔
    的頭像 發表于 01-05 09:40 ?923次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的特點和FPGA實現