這里我們先逆推一下CAN總線的一些特點(diǎn)。
第一,CAN總線分層結(jié)構(gòu)
我們根據(jù)can總線具有的一些特性可知:CAN總線肯定具有分層結(jié)構(gòu),而且參考OSI模型(OSI參考模型介紹)是肯定的,我們可以看一下相關(guān)的文檔可知:CAN遵從OSI模型。
上面這一點(diǎn)大部分人都是熟知的。
第二、CAN總線分為哪幾層
根據(jù)《FPGA和USB3.0通信-USB3.0協(xié)議介紹》中總線、協(xié)議、接口關(guān)系可知:
CAN總線內(nèi)容整體比較簡單(相對(duì)),肯定沒有USB、PCIe協(xié)議這種復(fù)雜,也就是說CAN總線的分層結(jié)構(gòu)不會(huì)超過三層;但是相對(duì)UART這種又復(fù)雜些,分層結(jié)構(gòu)肯定大于一層。
我們大致判斷CAN總線差不多是兩層左右的分層結(jié)構(gòu),由于是總線,所以會(huì)規(guī)定物理層和數(shù)據(jù)鏈路層。從官方協(xié)議中可知:CAN結(jié)構(gòu)劃分為兩層:數(shù)據(jù)鏈路層和物理層。
為什么要介紹分層結(jié)構(gòu)
經(jīng)常看我文章的應(yīng)該知道,不管哪種協(xié)議我都會(huì)首先介紹這種結(jié)構(gòu)的分層結(jié)構(gòu),那么很多人都會(huì)疑問:裝什么B,好好介紹協(xié)議不行嗎?
從各種協(xié)議的官方而言,他們遵循OSI參考模型是為了方便自己協(xié)議的維護(hù)和擴(kuò)展,不然他們也不會(huì)傻到遵循一個(gè)參考模型(又不是強(qiáng)制規(guī)定)。對(duì)我們而言,這種分層結(jié)構(gòu)更容易理解,不管簡單協(xié)議還是復(fù)雜協(xié)議我們都可以根據(jù)前一個(gè)理解的協(xié)議去理解下一個(gè)協(xié)議(每一層的功能類似),不會(huì)讓我們初識(shí)一種接口或者協(xié)議就要抱著協(xié)議或者SPEC啃幾個(gè)月才能理解。
最后就是當(dāng)你要用這種總線或者接口時(shí)方便制作方案,比如現(xiàn)在我要用FPGA實(shí)現(xiàn)CAN通信,我們需要根據(jù)FPGA的特點(diǎn)選擇各種方案,各種方案的區(qū)別就是其他廠商在制作IC時(shí)制作了哪一層的芯片,下圖中就是我們實(shí)現(xiàn)CAN通信的整體方案:
CAN總線拓?fù)鋱D 改編自官方總線協(xié)議
這張拓?fù)鋱D其實(shí)是參考CAN總線的分層結(jié)構(gòu),主要分為數(shù)據(jù)鏈路層和物理層,這種方案主要是分局目前市場上存在的CAN相關(guān)IC(IC的設(shè)計(jì)肯定是根據(jù)CAN總線的SPEC,存在的原因也是基于此)。
FPGA實(shí)現(xiàn)方案簡介
還是這張拓?fù)鋱D,因?yàn)镃AN總線的物理層包含模擬電路部分,所以CAN收發(fā)器一般使用外掛;而CAN控制器是可以利用數(shù)字電路實(shí)現(xiàn),所以我們?cè)谠O(shè)計(jì)方案時(shí)可以根據(jù)上述特點(diǎn)實(shí)現(xiàn)我們的方案。
第一種:FPGA+CAN收發(fā)器
控制器使用數(shù)字電路實(shí)現(xiàn)即可。
第二種:FPGA+CAN控制器+CAN收發(fā)器(收發(fā)+控制可以放在一起芯片內(nèi))
這種方案最簡單。常見的芯片方案Microchip MCP25625(SPI轉(zhuǎn)CAN)
上面就是Digilent出品的PMOD CAN模塊,原理圖可以參考。
CAN總線協(xié)議
關(guān)于協(xié)議這里就不過多介紹了,分享官方文檔的中文翻譯。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603389 -
CAN總線
+關(guān)注
關(guān)注
145文章
1951瀏覽量
130760 -
接口
+關(guān)注
關(guān)注
33文章
8598瀏覽量
151157 -
總線協(xié)議
+關(guān)注
關(guān)注
0文章
115瀏覽量
14852
原文標(biāo)題:【科普】CAN總線介紹及FPGA實(shí)現(xiàn)方案簡介
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論