国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA和控制器MCP2517FD設(shè)計(jì)的CAN FD總線接口

2020-11-06 10:57:57張波濤
科學(xué)與財(cái)富 2020年23期

張波濤

摘要:CAN(Control Area Network,控制器局部網(wǎng))總線廣泛應(yīng)用于工業(yè)自動(dòng)化監(jiān)控網(wǎng)絡(luò)中,傳輸速率的應(yīng)用已經(jīng)逐漸逼近CAN總線的帶寬,急需更高速率帶寬的總線通訊方式,CAN FD(CAN with Flexible Data-Rate,帶靈活可變數(shù)據(jù)波特率的CAN總線)總線應(yīng)運(yùn)而生,可以實(shí)現(xiàn)更高速率和更長(zhǎng)有效載荷。本文提出了一種CAN FD總線接口設(shè)計(jì)技術(shù),通過靈活的FPGA(Field-Programmable Gate Array,即現(xiàn)場(chǎng)可編程門陣列)設(shè)計(jì)SP(Iserial peripheral inter-face,串行外圍設(shè)備接口)接口控制CAN FD芯片MCP2517FD,實(shí)現(xiàn)CAN FD總線接口的設(shè)計(jì),系統(tǒng)實(shí)現(xiàn)后,可以根據(jù)現(xiàn)場(chǎng)應(yīng)用提出的新要求對(duì)FPGA進(jìn)行升級(jí),增加了使用的靈活性。

關(guān)鍵詞:FPGA;CAN;FD;MCP2517FD;SPI

CAN總線屬于現(xiàn)場(chǎng)總線的范疇是一種有效支持分布式控制和實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò),最初是由德國(guó)BOSCH公司為汽車的監(jiān)測(cè)和控制而設(shè)計(jì)的,后來逐漸發(fā)展到用于其它工業(yè)領(lǐng)域。CAN總線具有低成本、極高的總線利用率、長(zhǎng)達(dá)10km的數(shù)據(jù)傳輸距離,高達(dá)1Mbps的數(shù)據(jù)傳輸速率、可根據(jù)報(bào)文ID進(jìn)行選擇,可靠的錯(cuò)誤處理機(jī)制、自動(dòng)重發(fā)被破壞的信息、節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下可自動(dòng)退出總線等特點(diǎn)。

CAN FD總線兼具CAN總線的特點(diǎn),在其基礎(chǔ)上傳輸速率帶寬由1Mbps提升至10Mbps,采用新的DLC(Data Length code)編碼方式使數(shù)據(jù)場(chǎng)長(zhǎng)度由8 個(gè)字節(jié)增加至64個(gè)字節(jié),更大程度上滿足了工業(yè)領(lǐng)域?qū)τ诟咚俾蕚鬏數(shù)男枨蟆?/p>

為了靈活的使用CAN FD總線,本文提出一種靈活的CAN FD總線接口設(shè)計(jì)技術(shù),即使用FPGA和控制器MCP2517FD實(shí)現(xiàn)CAN FD接口設(shè)計(jì)的方案,不僅能夠?qū)崿F(xiàn)CAN總線接口通訊,同時(shí)對(duì)于后期使用過程中,可以根據(jù)不同的要求進(jìn)行升級(jí),增加使用的靈活性。

1總線控制器MCP2517FD簡(jiǎn)介

為了實(shí)現(xiàn)CAN FD總線的應(yīng)用,Microchip公司在CAN總線控制器MCP2515的基礎(chǔ)上推出了MCP2517FD,它既可以滿足CAN總線的技術(shù)要求,又可以實(shí)現(xiàn)CAN FD總線的使用,帶有符合工業(yè)標(biāo)準(zhǔn)的SPI串行接口,具有體積小,易使用及低成本等特點(diǎn)。

MCP2517FD主要功能參數(shù)如下:

1.??? 支持CAN2.0B和CAN FD協(xié)議;

2.??? 仲裁域速率可達(dá)1Mbps,數(shù)據(jù)域速率可達(dá)8Mbps;

3.??? 有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種可供選擇,每幀包含的數(shù)據(jù)長(zhǎng)度為0~8個(gè)字節(jié)(CAN2.0B協(xié)議)或0~64個(gè)字節(jié)(CAN FD協(xié)議);

4.??? 支持遠(yuǎn)程幀;

5.??? 內(nèi)含31個(gè)FIFO,都可以通過配置作為發(fā)送或接收FIFO使用;內(nèi)含1 個(gè)發(fā)送隊(duì)列;內(nèi)含具有32位時(shí)間戳的發(fā)送事件FIFO;

6.??? 有可編程的自動(dòng)重傳機(jī)制:分別為無限次數(shù)、3次或禁用;

7.??? 內(nèi)含32個(gè)靈活的過濾器和掩蓋對(duì)象,每個(gè)對(duì)象都可以配置為過濾:標(biāo)準(zhǔn)ID+前 18個(gè)數(shù)據(jù)位或擴(kuò)展ID;

8.??? 有多達(dá)3 個(gè)中斷引腳;

9.??? 支持高達(dá)20MHz的SPI時(shí)鐘速率,支持SPI模式0,0和 1,1;

10.? 帶有CRC的SPI命令以檢測(cè)SPI接口上的噪聲,有受糾錯(cuò)編碼保護(hù)的RAM

11.? 40、20或 4MHz晶體、陶瓷諧振器或外部時(shí)鐘輸入,帶預(yù)分頻的時(shí)鐘輸出;

12.工作電壓:2.7V~5.5V;

13.使用5.5V電壓、40MHz時(shí)鐘時(shí)工作電流最大為12mA,睡眠模式下電流為10μA。

2硬件電路設(shè)計(jì)

本文設(shè)計(jì)的是CAN FD總線接口,因此硬件電路設(shè)計(jì)采用Altera公司的EP1C20F324I7N芯片產(chǎn)生控制時(shí)序邏輯;采用Altera公司的EPCS4SI8芯片作為FPGA的配置芯片;采用Microchip公司的控制器MCP2517FD實(shí)現(xiàn)CAN FD總線協(xié)議;采用NXP公司TJA1044GT芯片作為總線的收發(fā)器,將總線控制器產(chǎn)生的數(shù)字信號(hào)轉(zhuǎn)換為符合CANFD總線格式的信號(hào);FPGA和MCP2517FD總線控制器使用的時(shí)鐘為20MHz。

CAN FD總線硬件電路設(shè)計(jì)如圖1 所示。

3???? FPGA軟件設(shè)計(jì)

CAN FD總線接口的軟件設(shè)計(jì)主要分為邏輯時(shí)序控制模塊和SPI接口模塊,其中邏輯時(shí)序控制模塊主要實(shí)現(xiàn)MCP2517FD總線控制器的初始化、數(shù)據(jù)處理及輸出和響應(yīng)CAN FD總線控制指令等功能;SPI接口模塊主要實(shí)現(xiàn)FPGA與MCP2517FD的通訊。SPI指令格式見表1,除復(fù)位采用16位指令,其余讀寫均采用48位指令(即4 位命令+12位地址+32位數(shù)據(jù))。軟件各功能模塊如圖2 所示。

3.1? 邏輯時(shí)序控制模塊

注:C= 命令(4 位),A= 地址(12 位),D= 數(shù)據(jù)(1~n 字節(jié)),N= 字節(jié)數(shù)(1 字節(jié)),CRC(2 字節(jié))

3.1.1????? 總線控制器的初始化

總線控制器的初始化主要包括MCP2517FD特定寄存器的初始化和CAN FD控制器模塊寄存器的初始化,分別是對(duì)控制器和總線通訊格式進(jìn)行的初始化。具體內(nèi)容見下:

a)??? 初始化MCP2517FD特定寄存器

1)??? 復(fù)位使芯片進(jìn)入配置模塊;

2)??? 初始化時(shí)鐘、I/O口、校驗(yàn)及糾錯(cuò)碼。

b)??? 初始化CAN FD控制器模塊寄存器

1)??? 設(shè)置控制模式為配置模式;

2)??? 初始化仲裁域與數(shù)據(jù)域的傳輸速率及采樣點(diǎn);

3)??? 初始化發(fā)送請(qǐng)求、發(fā)送延遲補(bǔ)償及中斷等寄存器;

4)??? 初始化輸出FIFO和輸入FIFO及過濾器;

5)??? 設(shè)置控制模式為CAN FD模式。

3.1.2????? 數(shù)據(jù)處理及輸出

數(shù)據(jù)處理主要是將輸入的系統(tǒng)數(shù)據(jù)轉(zhuǎn)換為符合對(duì)外通訊協(xié)議的數(shù)據(jù)格式,將符合通訊協(xié)議格式的數(shù)據(jù)寫入控制器MCP2517FD的輸出FIFO中,然后通過發(fā)送請(qǐng)求寄存器控制MCP2517FD將FIFO中的數(shù)據(jù)輸出。流程圖見圖3。

3.1.3響應(yīng)總線控制指令

從MCP2517FD的輸入FIFO中讀取接收到的指令進(jìn)行判斷,若指令符合接口協(xié)議,則依據(jù)協(xié)議執(zhí)行指令,清除輸入FIFO;若指令不符合接口協(xié)議,清除輸入FIFO,不作任何處理。流程見圖4。

3.2? SPI接口模塊

FPGA和控制器MCP2517FD之間通過SPI接口進(jìn)行通訊,F(xiàn)PGA為主控器,MCP2517FD為從控器,主要有四個(gè)信號(hào):SCK-串行時(shí)鐘;CS-片選;SDO-MCP2517FD送給FPGA的數(shù)據(jù);SDI-FPGA送給MCP2517FD的數(shù)據(jù)。SPI接口選擇0,0模式傳輸,傳輸時(shí)先傳輸數(shù)據(jù)最高位,在時(shí)鐘信號(hào)的上升沿讀取數(shù)據(jù),傳輸?shù)牟ㄌ芈视蒄PGA控制實(shí)現(xiàn),滿足不大于20MHz的要求,SPI數(shù)據(jù)傳輸時(shí)序見圖5。

4結(jié)束語

本文提出了基于FPGA和控制器MCP2517FD的CAN FD總線接口的設(shè)計(jì)方案,并詳細(xì)論述了硬件電路設(shè)計(jì)和軟件設(shè)計(jì)實(shí)現(xiàn)方法,滿足了系統(tǒng)對(duì)高速率通訊的需求,目前該設(shè)計(jì)方案已在某型高度表系統(tǒng)中得以成功應(yīng)用。由于該設(shè)計(jì)方案采用模塊化設(shè)計(jì)方法,同時(shí)控制器MCP2517FD兼容CANFD和CAN2.0B總線接口,因此通過簡(jiǎn)單的修改軟件,就可以實(shí)現(xiàn)CAN總線接口。

參考文獻(xiàn):

[1]?? Microchip.ExternalCANFDControllerwith?????? SPI? Interface

[2]?? Microchip.CAN FD Module(MCP2517FD).2017.

[3]?? 張杰.CAN總線在汽車車身控制方面的設(shè)計(jì)和應(yīng)用.中國(guó)知網(wǎng).2007.

[4]?? 柯江民,孫淑霞,曹屹東.MCP2515及CAN通訊驅(qū)動(dòng)設(shè)計(jì).計(jì)算機(jī)應(yīng)用.2008.

兖州市| 玛曲县| 奉贤区| 出国| 化州市| 云和县| 新乐市| 广东省| 托里县| 太湖县| 那坡县| 津南区| 浦城县| 扶沟县| 万州区| 乌什县| 沁水县| 左权县| 永昌县| 屏边| 泰兴市| 乌兰浩特市| 丹阳市| 大宁县| 九龙城区| 于田县| 瓮安县| 临邑县| 烟台市| 哈巴河县| 安顺市| 土默特左旗| 兰西县| 盐源县| 大兴区| 迁安市| 汕尾市| 新营市| 多伦县| 伊宁市| 玉屏|